diff --git a/.buildkite/ftr_configs.yml b/.buildkite/ftr_configs.yml index 599289b7c6eac..d627ce8cdc3d0 100644 --- a/.buildkite/ftr_configs.yml +++ b/.buildkite/ftr_configs.yml @@ -38,12 +38,11 @@ disabled: - x-pack/test/security_solution_cypress/cases_cli_config.ts - x-pack/test/security_solution_cypress/ccs_config.ts - x-pack/test/security_solution_cypress/cli_config.ts - - x-pack/test/security_solution_cypress/cli_config_parallel.ts + - x-pack/test/security_solution_cypress/cli_config_investigations_parallel.ts - x-pack/test/security_solution_cypress/config.firefox.ts - x-pack/test/security_solution_cypress/config.ts - x-pack/test/security_solution_cypress/response_ops_cli_config.ts - x-pack/test/security_solution_cypress/upgrade_config.ts - - x-pack/test/security_solution_cypress/visual_config.ts - x-pack/test/threat_intelligence_cypress/visual_config.ts - x-pack/test/threat_intelligence_cypress/cli_config_parallel.ts - x-pack/test/threat_intelligence_cypress/config.ts @@ -79,6 +78,21 @@ disabled: # Asset Manager configs, in tech preview, will move to enabled after more stability introduced - x-pack/test/api_integration/apis/asset_manager/config.ts + # Serverless base config files + - x-pack/test_serverless/api_integration/config.base.ts + - x-pack/test_serverless/functional/config.base.ts + - x-pack/test_serverless/shared/config.base.ts + + # Serverless configs, currently only for manual tests runs, CI integration planned + - x-pack/test_serverless/api_integration/test_suites/common/config.ts + - x-pack/test_serverless/api_integration/test_suites/observability/config.ts + - x-pack/test_serverless/api_integration/test_suites/search/config.ts + - x-pack/test_serverless/api_integration/test_suites/security/config.ts + - x-pack/test_serverless/functional/test_suites/common/config.ts + - x-pack/test_serverless/functional/test_suites/observability/config.ts + - x-pack/test_serverless/functional/test_suites/search/config.ts + - x-pack/test_serverless/functional/test_suites/security/config.ts + defaultQueue: 'n2-4-spot' enabled: - test/accessibility/config.ts @@ -154,6 +168,7 @@ enabled: - x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group4/config.ts - x-pack/test/alerting_api_integration/spaces_only/tests/actions/config.ts - x-pack/test/alerting_api_integration/spaces_only/tests/action_task_params/config.ts + - x-pack/test/alerting_api_integration/observability/config.ts - x-pack/test/api_integration_basic/config.ts - x-pack/test/api_integration/config_security_basic.ts - x-pack/test/api_integration/config_security_trial.ts @@ -225,7 +240,7 @@ enabled: - x-pack/test/functional_basic/apps/ml/data_visualizer/group2/config.ts - x-pack/test/functional_basic/apps/ml/data_visualizer/group3/config.ts - x-pack/test/functional_basic/apps/transform/creation/index_pattern/config.ts - - x-pack/test/functional_basic/apps/transform/start_reset_delete/config.ts + - x-pack/test/functional_basic/apps/transform/actions/config.ts - x-pack/test/functional_basic/apps/transform/edit_clone/config.ts - x-pack/test/functional_basic/apps/transform/creation/runtime_mappings_saved_search/config.ts - x-pack/test/functional_basic/apps/transform/permissions/config.ts @@ -291,7 +306,7 @@ enabled: - x-pack/test/functional/apps/status_page/config.ts - x-pack/test/functional/apps/transform/creation/index_pattern/config.ts - x-pack/test/functional/apps/transform/creation/runtime_mappings_saved_search/config.ts - - x-pack/test/functional/apps/transform/start_reset_delete/config.ts + - x-pack/test/functional/apps/transform/actions/config.ts - x-pack/test/functional/apps/transform/edit_clone/config.ts - x-pack/test/functional/apps/transform/permissions/config.ts - x-pack/test/functional/apps/transform/feature_controls/config.ts @@ -310,6 +325,7 @@ enabled: - x-pack/test/monitoring_api_integration/config.ts - x-pack/test/observability_api_integration/basic/config.ts - x-pack/test/observability_api_integration/trial/config.ts + - x-pack/test/observability_api_integration/apis/config.ts - x-pack/test/observability_functional/with_rac_write.config.ts - x-pack/test/plugin_api_integration/config.ts - x-pack/test/plugin_functional/config.ts diff --git a/.buildkite/pipelines/on_merge_unsupported_ftrs.yml b/.buildkite/pipelines/on_merge_unsupported_ftrs.yml index 935d0ed628ff0..393f638017bed 100644 --- a/.buildkite/pipelines/on_merge_unsupported_ftrs.yml +++ b/.buildkite/pipelines/on_merge_unsupported_ftrs.yml @@ -63,6 +63,20 @@ steps: - exit_status: '*' limit: 1 + - command: .buildkite/scripts/steps/functional/security_solution_investigations.sh + label: 'Investigations - Security Solution Tests' + agents: + queue: n2-4-spot + depends_on: build + timeout_in_minutes: 120 + parallelism: 4 + retry: + automatic: + - exit_status: '-1' + limit: 3 + - exit_status: '*' + limit: 1 + - command: .buildkite/scripts/steps/functional/synthetics_plugin.sh label: 'Synthetics @elastic/synthetics Tests' agents: diff --git a/.buildkite/pipelines/pull_request/defend_workflows.yml b/.buildkite/pipelines/pull_request/defend_workflows.yml index c88679a547ede..06a4c386b472a 100644 --- a/.buildkite/pipelines/pull_request/defend_workflows.yml +++ b/.buildkite/pipelines/pull_request/defend_workflows.yml @@ -5,6 +5,7 @@ steps: queue: n2-4-spot depends_on: build timeout_in_minutes: 120 + parallelism: 2 retry: automatic: - exit_status: '-1' diff --git a/.buildkite/pipelines/pull_request/osquery_cypress.yml b/.buildkite/pipelines/pull_request/osquery_cypress.yml index 580dcd98b9bb3..15d3330f75c56 100644 --- a/.buildkite/pipelines/pull_request/osquery_cypress.yml +++ b/.buildkite/pipelines/pull_request/osquery_cypress.yml @@ -4,7 +4,8 @@ steps: agents: queue: n2-4-spot depends_on: build - timeout_in_minutes: 120 + timeout_in_minutes: 50 + parallelism: 6 retry: automatic: - exit_status: '-1' diff --git a/.buildkite/pipelines/pull_request/response_ops.yml b/.buildkite/pipelines/pull_request/response_ops.yml index ab21270bce956..2f71568f38cb5 100644 --- a/.buildkite/pipelines/pull_request/response_ops.yml +++ b/.buildkite/pipelines/pull_request/response_ops.yml @@ -5,6 +5,7 @@ steps: queue: n2-4-spot depends_on: build timeout_in_minutes: 120 + parallelism: 4 retry: automatic: - exit_status: '-1' diff --git a/.buildkite/pipelines/pull_request/security_solution.yml b/.buildkite/pipelines/pull_request/security_solution.yml index 42e782ee86f50..6002756c8889d 100644 --- a/.buildkite/pipelines/pull_request/security_solution.yml +++ b/.buildkite/pipelines/pull_request/security_solution.yml @@ -4,8 +4,8 @@ steps: agents: queue: n2-4-spot depends_on: build - timeout_in_minutes: 120 - parallelism: 4 + timeout_in_minutes: 60 + parallelism: 7 retry: automatic: - exit_status: '-1' diff --git a/.buildkite/pipelines/pull_request/security_solution_investigations.yml b/.buildkite/pipelines/pull_request/security_solution_investigations.yml new file mode 100644 index 0000000000000..7ec4efb5f2a9e --- /dev/null +++ b/.buildkite/pipelines/pull_request/security_solution_investigations.yml @@ -0,0 +1,14 @@ +steps: + - command: .buildkite/scripts/steps/functional/security_solution_investigations.sh + label: 'Investigations - Security Solution Tests' + agents: + queue: n2-4-spot + depends_on: build + timeout_in_minutes: 120 + parallelism: 4 + retry: + automatic: + - exit_status: '-1' + limit: 3 + - exit_status: '*' + limit: 1 diff --git a/.buildkite/scripts/pipelines/pull_request/pipeline.ts b/.buildkite/scripts/pipelines/pull_request/pipeline.ts index 5f39415e1e92f..fb89575ad31df 100644 --- a/.buildkite/scripts/pipelines/pull_request/pipeline.ts +++ b/.buildkite/scripts/pipelines/pull_request/pipeline.ts @@ -73,6 +73,9 @@ const uploadPipeline = (pipelineContent: string | object) => { GITHUB_PR_LABELS.includes('ci:all-cypress-suites') ) { pipeline.push(getPipeline('.buildkite/pipelines/pull_request/security_solution.yml')); + pipeline.push( + getPipeline('.buildkite/pipelines/pull_request/security_solution_investigations.yml') + ); pipeline.push(getPipeline('.buildkite/pipelines/pull_request/defend_workflows.yml')); } diff --git a/.buildkite/scripts/steps/artifacts/docker_image.sh b/.buildkite/scripts/steps/artifacts/docker_image.sh index 3d75d301ce8e7..aa75a2b1422cd 100755 --- a/.buildkite/scripts/steps/artifacts/docker_image.sh +++ b/.buildkite/scripts/steps/artifacts/docker_image.sh @@ -7,14 +7,13 @@ set -euo pipefail source .buildkite/scripts/steps/artifacts/env.sh GIT_ABBREV_COMMIT=${BUILDKITE_COMMIT:0:12} -KIBANA_IMAGE_INPUT="docker.elastic.co/kibana-ci/kibana-serverless:git-$GIT_ABBREV_COMMIT" -KIBANA_IMAGE_OUTPUT="docker.elastic.co/kibana-ci/kibana:git-$GIT_ABBREV_COMMIT" +KIBANA_IMAGE="docker.elastic.co/kibana-ci/kibana-serverless:git-$GIT_ABBREV_COMMIT" echo "--- Verify manifest does not already exist" echo "$KIBANA_DOCKER_PASSWORD" | docker login -u "$KIBANA_DOCKER_USERNAME" --password-stdin docker.elastic.co trap 'docker logout docker.elastic.co' EXIT -if docker manifest inspect $KIBANA_IMAGE_OUTPUT &> /dev/null; then +if docker manifest inspect $KIBANA_IMAGE &> /dev/null; then echo "Manifest already exists, exiting" exit 1 fi @@ -33,36 +32,36 @@ node scripts/build \ --skip-docker-contexts echo "--- Tag images" -docker rmi "$KIBANA_IMAGE_INPUT" +docker rmi "$KIBANA_IMAGE" docker load < "target/kibana-serverless-$BASE_VERSION-docker-image.tar.gz" -docker tag "$KIBANA_IMAGE_INPUT" "$KIBANA_IMAGE_OUTPUT-amd64" +docker tag "$KIBANA_IMAGE" "$KIBANA_IMAGE-amd64" -docker rmi "$KIBANA_IMAGE_INPUT" +docker rmi "$KIBANA_IMAGE" docker load < "target/kibana-serverless-$BASE_VERSION-docker-image-aarch64.tar.gz" -docker tag "$KIBANA_IMAGE_INPUT" "$KIBANA_IMAGE_OUTPUT-arm64" +docker tag "$KIBANA_IMAGE" "$KIBANA_IMAGE-arm64" echo "--- Push images" -docker image push "$KIBANA_IMAGE_OUTPUT-arm64" -docker image push "$KIBANA_IMAGE_OUTPUT-amd64" +docker image push "$KIBANA_IMAGE-arm64" +docker image push "$KIBANA_IMAGE-amd64" echo "--- Create manifest" docker manifest create \ - "$KIBANA_IMAGE_OUTPUT" \ - --amend "$KIBANA_IMAGE_OUTPUT-arm64" \ - --amend "$KIBANA_IMAGE_OUTPUT-amd64" + "$KIBANA_IMAGE" \ + --amend "$KIBANA_IMAGE-arm64" \ + --amend "$KIBANA_IMAGE-amd64" echo "--- Push manifest" -docker manifest push "$KIBANA_IMAGE_OUTPUT" +docker manifest push "$KIBANA_IMAGE" docker logout docker.elastic.co cat << EOF | buildkite-agent annotate --style "info" --context image ### Container Images - Manifest: \`$KIBANA_IMAGE_OUTPUT\` + Manifest: \`$KIBANA_IMAGE\` - AMD64: \`$KIBANA_IMAGE_OUTPUT-amd64\` + AMD64: \`$KIBANA_IMAGE-amd64\` - ARM64: \`$KIBANA_IMAGE_OUTPUT-arm64\` + ARM64: \`$KIBANA_IMAGE-arm64\` EOF echo "--- Build dependencies report" @@ -93,7 +92,7 @@ steps: IMAGE_TAG: "git-$GIT_ABBREV_COMMIT" SERVICE: kibana-controller NAMESPACE: kibana-ci - IMAGE_NAME: kibana + IMAGE_NAME: kibana-serverless COMMIT_MESSAGE: "gitops: update kibana tag to elastic/kibana@$GIT_ABBREV_COMMIT" EOF diff --git a/.buildkite/scripts/steps/checks.sh b/.buildkite/scripts/steps/checks.sh index bf30578bfebc5..12077902c1c13 100755 --- a/.buildkite/scripts/steps/checks.sh +++ b/.buildkite/scripts/steps/checks.sh @@ -6,7 +6,6 @@ export DISABLE_BOOTSTRAP_VALIDATION=false .buildkite/scripts/bootstrap.sh .buildkite/scripts/steps/checks/precommit_hook.sh -.buildkite/scripts/steps/checks/packages.sh .buildkite/scripts/steps/checks/ts_projects.sh .buildkite/scripts/steps/checks/packages.sh .buildkite/scripts/steps/checks/bazel_packages.sh @@ -22,4 +21,4 @@ export DISABLE_BOOTSTRAP_VALIDATION=false .buildkite/scripts/steps/checks/test_projects.sh .buildkite/scripts/steps/checks/test_hardening.sh .buildkite/scripts/steps/checks/ftr_configs.sh -.buildkite/scripts/steps/checks/saved_objects_compat_changes.sh \ No newline at end of file +.buildkite/scripts/steps/checks/saved_objects_compat_changes.sh diff --git a/.buildkite/scripts/steps/functional/defend_workflows.sh b/.buildkite/scripts/steps/functional/defend_workflows.sh index 814a6d0192b29..d2a06a1932b8a 100755 --- a/.buildkite/scripts/steps/functional/defend_workflows.sh +++ b/.buildkite/scripts/steps/functional/defend_workflows.sh @@ -2,16 +2,15 @@ set -euo pipefail -source .buildkite/scripts/common/util.sh - -.buildkite/scripts/bootstrap.sh -node scripts/build_kibana_platform_plugins.js +source .buildkite/scripts/steps/functional/common.sh export JOB=kibana-defend-workflows-cypress +export KIBANA_INSTALL_DIR=${KIBANA_BUILD_LOCATION} -echo "--- Defend Workflows Cypress tests" +Xvfb -screen 0 1680x946x24 :99 & -node scripts/functional_tests \ - --debug --bail \ - --config x-pack/test/defend_workflows_cypress/cli_config.ts +export DISPLAY=:99 + +echo "--- Defend Workflows Cypress tests" +yarn --cwd x-pack/plugins/security_solution cypress:dw:run diff --git a/.buildkite/scripts/steps/functional/osquery_cypress.sh b/.buildkite/scripts/steps/functional/osquery_cypress.sh index c008c3418a2cb..ecabf52e3c14d 100755 --- a/.buildkite/scripts/steps/functional/osquery_cypress.sh +++ b/.buildkite/scripts/steps/functional/osquery_cypress.sh @@ -7,11 +7,12 @@ source .buildkite/scripts/common/util.sh .buildkite/scripts/bootstrap.sh node scripts/build_kibana_platform_plugins.js +Xvfb :99 -screen 0 1600x1200x24 & + +export DISPLAY=:99 + export JOB=kibana-osquery-cypress echo "--- Osquery Cypress tests" -node scripts/functional_tests \ - --debug --bail \ - --config x-pack/test/osquery_cypress/cli_config.ts - +yarn --cwd x-pack/plugins/osquery cypress:run diff --git a/.buildkite/scripts/steps/functional/response_ops.sh b/.buildkite/scripts/steps/functional/response_ops.sh index 5604cb9774472..066a1b599fd93 100755 --- a/.buildkite/scripts/steps/functional/response_ops.sh +++ b/.buildkite/scripts/steps/functional/response_ops.sh @@ -5,10 +5,12 @@ set -euo pipefail source .buildkite/scripts/steps/functional/common.sh export JOB=kibana-security-solution-chrome +export KIBANA_INSTALL_DIR=${KIBANA_BUILD_LOCATION} + +Xvfb -screen 0 1680x946x24 :99 & + +export DISPLAY=:99 echo "--- Response Ops Cypress Tests on Security Solution" -node scripts/functional_tests \ - --debug --bail \ - --kibana-install-dir "$KIBANA_BUILD_LOCATION" \ - --config x-pack/test/security_solution_cypress/response_ops_cli_config.ts +yarn --cwd x-pack/plugins/security_solution cypress:run:respops diff --git a/.buildkite/scripts/steps/functional/response_ops_cases.sh b/.buildkite/scripts/steps/functional/response_ops_cases.sh index ee6bb2128539e..d838307af63c7 100755 --- a/.buildkite/scripts/steps/functional/response_ops_cases.sh +++ b/.buildkite/scripts/steps/functional/response_ops_cases.sh @@ -5,10 +5,12 @@ set -euo pipefail source .buildkite/scripts/steps/functional/common.sh export JOB=kibana-security-solution-chrome +export KIBANA_INSTALL_DIR=${KIBANA_BUILD_LOCATION} + +Xvfb -screen 0 1680x946x24 :99 & + +export DISPLAY=:99 echo "--- Response Ops Cases Cypress Tests on Security Solution" -node scripts/functional_tests \ - --debug --bail \ - --kibana-install-dir "$KIBANA_BUILD_LOCATION" \ - --config x-pack/test/security_solution_cypress/cases_cli_config.ts +yarn --cwd x-pack/plugins/security_solution cypress:run:cases diff --git a/.buildkite/scripts/steps/functional/security_solution.sh b/.buildkite/scripts/steps/functional/security_solution.sh index 99f605ecd6cc5..078c9af1363c6 100755 --- a/.buildkite/scripts/steps/functional/security_solution.sh +++ b/.buildkite/scripts/steps/functional/security_solution.sh @@ -5,12 +5,12 @@ set -euo pipefail source .buildkite/scripts/steps/functional/common.sh export JOB=kibana-security-solution-chrome -export CLI_NUMBER=${CLI_NUMBER:-$((BUILDKITE_PARALLEL_JOB+1))} -export CLI_COUNT=${CLI_COUNT:-$BUILDKITE_PARALLEL_JOB_COUNT} +export KIBANA_INSTALL_DIR=${KIBANA_BUILD_LOCATION} + +Xvfb :99 -screen 0 1600x1200x24 & + +export DISPLAY=:99 echo "--- Security Solution tests (Chrome)" -node scripts/functional_tests \ - --debug --bail \ - --kibana-install-dir "$KIBANA_BUILD_LOCATION" \ - --config x-pack/test/security_solution_cypress/cli_config_parallel.ts +yarn --cwd x-pack/plugins/security_solution cypress:run diff --git a/.buildkite/scripts/steps/functional/security_solution_investigations.sh b/.buildkite/scripts/steps/functional/security_solution_investigations.sh new file mode 100644 index 0000000000000..9c6138d335405 --- /dev/null +++ b/.buildkite/scripts/steps/functional/security_solution_investigations.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +set -euo pipefail + +source .buildkite/scripts/steps/functional/common.sh + +export JOB=kibana-security-solution-chrome +export KIBANA_INSTALL_DIR=${KIBANA_BUILD_LOCATION} + + +Xvfb :99 -screen 0 1600x1200x24 & + +export DISPLAY=:99 + +echo "--- Investigations Cypress Tests on Security Solution" + +yarn --cwd x-pack/plugins/security_solution cypress:investigations:run diff --git a/.buildkite/scripts/steps/storybooks/build_and_upload.ts b/.buildkite/scripts/steps/storybooks/build_and_upload.ts index 75be5696dbca6..3c47c3d99255b 100644 --- a/.buildkite/scripts/steps/storybooks/build_and_upload.ts +++ b/.buildkite/scripts/steps/storybooks/build_and_upload.ts @@ -50,6 +50,7 @@ const STORYBOOKS = [ 'language_documentation_popover', 'unified_search', 'random_sampling', + 'text_based_editor', ]; const GITHUB_CONTEXT = 'Build and Publish Storybooks'; diff --git a/.eslintrc.js b/.eslintrc.js index 8cf08f2819248..bc2816e840681 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -173,7 +173,7 @@ const DEV_PATTERNS = [ ...DEV_FILE_PATTERNS.map((file) => `{packages,src,x-pack}/**/${file}`), 'packages/kbn-interpreter/tasks/**/*', 'src/dev/**/*', - 'x-pack/{dev-tools,tasks,test,build_chromium}/**/*', + 'x-pack/{dev-tools,tasks,test,test_serverless,build_chromium}/**/*', 'x-pack/performance/**/*', 'src/setup_node_env/index.js', 'src/cli/dev.js', @@ -602,6 +602,8 @@ module.exports = { 'x-pack/test/ui_capabilities/*/tests/**/*', 'x-pack/test/performance/**/*.ts', '**/cypress.config.{js,ts}', + 'x-pack/test_serverless/**/config*.ts', + 'x-pack/test_serverless/*/test_suites/**/*', ], rules: { 'import/no-default-export': 'off', @@ -980,6 +982,7 @@ module.exports = { // front end and common typescript and javascript files only files: [ 'x-pack/plugins/ecs_data_quality_dashboard/common/**/*.{js,mjs,ts,tsx}', + 'x-pack/packages/kbn-elastic-assistant/**/*.{js,mjs,ts,tsx}', 'x-pack/packages/security-solution/**/*.{js,mjs,ts,tsx}', 'x-pack/plugins/security_solution/public/**/*.{js,mjs,ts,tsx}', 'x-pack/plugins/security_solution/common/**/*.{js,mjs,ts,tsx}', @@ -1007,6 +1010,7 @@ module.exports = { // This should be a very small set as most linter rules are useful for tests as well. files: [ 'x-pack/plugins/ecs_data_quality_dashboard/**/*.{ts,tsx}', + 'x-pack/packages/kbn-elastic-assistant/**/*.{ts,tsx}', 'x-pack/packages/security-solution/**/*.{ts,tsx}', 'x-pack/plugins/security_solution/**/*.{ts,tsx}', 'x-pack/plugins/timelines/**/*.{ts,tsx}', @@ -1014,6 +1018,7 @@ module.exports = { ], excludedFiles: [ 'x-pack/plugins/ecs_data_quality_dashboard/**/*.{test,mock,test_helper}.{ts,tsx}', + 'x-pack/packages/kbn-elastic-assistant/**/*.{test,mock,test_helper}.{ts,tsx}', 'x-pack/packages/security-solution/**/*.{test,mock,test_helper}.{ts,tsx}', 'x-pack/plugins/security_solution/**/*.{test,mock,test_helper}.{ts,tsx}', 'x-pack/plugins/timelines/**/*.{test,mock,test_helper}.{ts,tsx}', @@ -1027,6 +1032,7 @@ module.exports = { // typescript only for front and back end files: [ 'x-pack/plugins/ecs_data_quality_dashboard/**/*.{ts,tsx}', + 'x-pack/packages/kbn-elastic-assistant/**/*.{ts,tsx}', 'x-pack/packages/security-solution/**/*.{ts,tsx}', 'x-pack/plugins/security_solution/**/*.{ts,tsx}', 'x-pack/plugins/timelines/**/*.{ts,tsx}', @@ -1059,6 +1065,7 @@ module.exports = { // typescript and javascript for front and back end files: [ 'x-pack/plugins/ecs_data_quality_dashboard/**/*.{js,mjs,ts,tsx}', + 'x-pack/packages/kbn-elastic-assistant/**/*.{js,mjs,ts,tsx}', 'x-pack/packages/security-solution/**/*.{js,mjs,ts,tsx}', 'x-pack/plugins/security_solution/**/*.{js,mjs,ts,tsx}', 'x-pack/plugins/timelines/**/*.{js,mjs,ts,tsx}', diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 8dd91e1213fba..dc6e697fc2259 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -23,7 +23,7 @@ packages/kbn-alerts-as-data-utils @elastic/response-ops x-pack/test/alerting_api_integration/common/plugins/alerts_restricted @elastic/response-ops packages/kbn-alerts-ui-shared @elastic/response-ops packages/kbn-ambient-common-types @elastic/kibana-operations -packages/kbn-ambient-ftr-types @elastic/kibana-operations +packages/kbn-ambient-ftr-types @elastic/kibana-operations @elastic/appex-qa packages/kbn-ambient-storybook-types @elastic/kibana-operations packages/kbn-ambient-ui-types @elastic/kibana-operations packages/kbn-analytics @elastic/kibana-core @@ -321,6 +321,7 @@ packages/kbn-ebt-tools @elastic/kibana-core packages/kbn-ecs @elastic/kibana-core @elastic/security-threat-hunting-investigations x-pack/packages/security-solution/ecs_data_quality_dashboard @elastic/security-threat-hunting-investigations x-pack/plugins/ecs_data_quality_dashboard @elastic/security-threat-hunting-investigations +x-pack/packages/kbn-elastic-assistant @elastic/security-solution test/plugin_functional/plugins/elasticsearch_client_plugin @elastic/kibana-core x-pack/test/plugin_api_integration/plugins/elasticsearch_client @elastic/kibana-core x-pack/plugins/embeddable_enhanced @elastic/kibana-presentation @@ -331,7 +332,7 @@ x-pack/examples/embedded_lens_example @elastic/kibana-visualizations x-pack/plugins/encrypted_saved_objects @elastic/kibana-security x-pack/plugins/enterprise_search @elastic/enterprise-search-frontend packages/kbn-es @elastic/kibana-operations -packages/kbn-es-archiver @elastic/kibana-operations +packages/kbn-es-archiver @elastic/kibana-operations @elastic/appex-qa packages/kbn-es-errors @elastic/kibana-core packages/kbn-es-query @elastic/kibana-data-discovery packages/kbn-es-types @elastic/kibana-core @elastic/apm-ui @@ -342,11 +343,12 @@ packages/kbn-eslint-plugin-eslint @elastic/kibana-operations packages/kbn-eslint-plugin-imports @elastic/kibana-operations packages/kbn-eslint-plugin-telemetry @elastic/actionable-observability x-pack/test/encrypted_saved_objects_api_integration/plugins/api_consumer_plugin @elastic/kibana-security +x-pack/plugins/ess_security @elastic/security-solution src/plugins/event_annotation @elastic/kibana-visualizations x-pack/test/plugin_api_integration/plugins/event_log @elastic/response-ops x-pack/plugins/event_log @elastic/response-ops packages/kbn-expandable-flyout @elastic/security-threat-hunting-investigations -packages/kbn-expect @elastic/kibana-operations +packages/kbn-expect @elastic/kibana-operations @elastic/appex-qa x-pack/examples/exploratory_view_example @elastic/uptime x-pack/plugins/exploratory_view @elastic/uptime src/plugins/expression_error @elastic/kibana-presentation @@ -364,7 +366,7 @@ src/plugins/chart_expressions/expression_tagcloud @elastic/kibana-visualizations src/plugins/chart_expressions/expression_xy @elastic/kibana-visualizations examples/expressions_explorer @elastic/kibana-app-services src/plugins/expressions @elastic/kibana-visualizations -packages/kbn-failed-test-reporter-cli @elastic/kibana-operations +packages/kbn-failed-test-reporter-cli @elastic/kibana-operations @elastic/appex-qa x-pack/test/plugin_api_integration/plugins/feature_usage_test @elastic/kibana-security x-pack/plugins/features @elastic/kibana-core x-pack/test/functional_execution_context/plugins/alerts @elastic/kibana-core @@ -380,8 +382,8 @@ x-pack/plugins/fleet @elastic/fleet packages/kbn-flot-charts @elastic/kibana-operations x-pack/test/ui_capabilities/common/plugins/foo_plugin @elastic/kibana-security src/plugins/ftr_apis @elastic/kibana-core -packages/kbn-ftr-common-functional-services @elastic/kibana-operations -packages/kbn-ftr-screenshot-filename @elastic/kibana-operations +packages/kbn-ftr-common-functional-services @elastic/kibana-operations @elastic/appex-qa +packages/kbn-ftr-screenshot-filename @elastic/kibana-operations @elastic/appex-qa x-pack/test/functional_with_es_ssl/plugins/cases @elastic/response-ops packages/kbn-generate @elastic/kibana-operations packages/kbn-generate-csv @elastic/appex-sharedux @@ -423,7 +425,7 @@ test/interactive_setup_api_integration/plugins/test_endpoints @elastic/kibana-se packages/kbn-interpreter @elastic/kibana-visualizations packages/kbn-io-ts-utils @elastic/apm-ui packages/kbn-jest-serializers @elastic/kibana-operations -packages/kbn-journeys @elastic/kibana-operations +packages/kbn-journeys @elastic/kibana-operations @elastic/appex-qa packages/kbn-json-ast @elastic/kibana-operations test/health_gateway/plugins/status @elastic/kibana-core test/plugin_functional/plugins/kbn_sample_panel_action @elastic/kibana-app-services @@ -458,12 +460,17 @@ packages/kbn-mapbox-gl @elastic/kibana-gis x-pack/examples/third_party_maps_source_example @elastic/kibana-gis src/plugins/maps_ems @elastic/kibana-gis x-pack/plugins/maps @elastic/kibana-gis +x-pack/packages/maps/vector_tile_utils @elastic/kibana-gis x-pack/packages/ml/agg_utils @elastic/ml-ui x-pack/packages/ml/anomaly_utils @elastic/ml-ui +x-pack/packages/ml/data_frame_analytics_utils @elastic/ml-ui +x-pack/packages/ml/data_grid @elastic/ml-ui x-pack/packages/ml/date_picker @elastic/ml-ui +x-pack/packages/ml/date_utils @elastic/ml-ui x-pack/packages/ml/error_utils @elastic/ml-ui x-pack/packages/ml/is_defined @elastic/ml-ui x-pack/packages/ml/is_populated_object @elastic/ml-ui +x-pack/packages/ml/kibana_theme @elastic/ml-ui x-pack/packages/ml/local_storage @elastic/ml-ui x-pack/packages/ml/nested_property @elastic/ml-ui x-pack/packages/ml/number_utils @elastic/ml-ui @@ -471,6 +478,7 @@ x-pack/plugins/ml @elastic/ml-ui x-pack/packages/ml/query_utils @elastic/ml-ui x-pack/packages/ml/random_sampler_utils @elastic/ml-ui x-pack/packages/ml/route_utils @elastic/ml-ui +x-pack/packages/ml/runtime_field_utils @elastic/ml-ui x-pack/packages/ml/string_hash @elastic/ml-ui x-pack/packages/ml/trained_models_utils @elastic/ml-ui x-pack/packages/ml/url_state @elastic/ml-ui @@ -486,7 +494,7 @@ x-pack/packages/observability/alert_details @elastic/actionable-observability x-pack/test/cases_api_integration/common/plugins/observability @elastic/response-ops x-pack/plugins/observability_onboarding @elastic/apm-ui x-pack/plugins/observability @elastic/actionable-observability -x-pack/plugins/observability_shared @elastic/actionable-observability +x-pack/plugins/observability_shared @elastic/observability-ui x-pack/test/security_api_integration/plugins/oidc_provider @elastic/kibana-security test/common/plugins/otel_metrics @elastic/infra-monitoring-ui packages/kbn-optimizer @elastic/kibana-operations @@ -518,6 +526,7 @@ packages/kbn-repo-source-classifier @elastic/kibana-operations packages/kbn-repo-source-classifier-cli @elastic/kibana-operations packages/kbn-reporting/common @elastic/appex-sharedux x-pack/examples/reporting_example @elastic/appex-sharedux +x-pack/plugins/reporting_export_types @elastic/appex-sharedux x-pack/plugins/reporting @elastic/appex-sharedux x-pack/test/plugin_functional/plugins/resolver_test @elastic/security-solution examples/response_stream @elastic/ml-ui @@ -576,7 +585,7 @@ packages/kbn-securitysolution-utils @elastic/security-solution-platform packages/kbn-server-http-tools @elastic/kibana-core packages/kbn-server-route-repository @elastic/apm-ui x-pack/plugins/serverless @elastic/appex-sharedux -x-pack/plugins/serverless_observability @elastic/appex-sharedux +x-pack/plugins/serverless_observability @elastic/appex-sharedux @elastic/apm-ui packages/serverless/project_switcher @elastic/appex-sharedux x-pack/plugins/serverless_search @elastic/enterprise-search-frontend x-pack/plugins/serverless_security @elastic/security-solution @@ -664,11 +673,13 @@ src/plugins/telemetry_management_section @elastic/kibana-core src/plugins/telemetry @elastic/kibana-core test/plugin_functional/plugins/telemetry @elastic/kibana-core packages/kbn-telemetry-tools @elastic/kibana-core -packages/kbn-test @elastic/kibana-operations +packages/kbn-test @elastic/kibana-operations @elastic/appex-qa x-pack/test/licensing_plugin/plugins/test_feature_usage @elastic/kibana-security -packages/kbn-test-jest-helpers @elastic/kibana-operations -packages/kbn-test-subj-selector @elastic/kibana-operations +packages/kbn-test-jest-helpers @elastic/kibana-operations @elastic/appex-qa +packages/kbn-test-subj-selector @elastic/kibana-operations @elastic/appex-qa x-pack/examples/testing_embedded_lens @elastic/kibana-visualizations +packages/kbn-text-based-editor @elastic/kibana-visualizations +src/plugins/text_based_languages @elastic/kibana-visualizations x-pack/examples/third_party_lens_navigation_prompt @elastic/kibana-visualizations x-pack/examples/third_party_vis_lens_example @elastic/kibana-visualizations x-pack/plugins/threat_intelligence @elastic/protections-experience @@ -694,6 +705,7 @@ test/plugin_functional/plugins/ui_settings_plugin @elastic/kibana-core packages/kbn-ui-shared-deps-npm @elastic/kibana-operations packages/kbn-ui-shared-deps-src @elastic/kibana-operations packages/kbn-ui-theme @elastic/kibana-operations +examples/unified_field_list_examples @elastic/kibana-data-discovery src/plugins/unified_field_list @elastic/kibana-data-discovery src/plugins/unified_histogram @elastic/kibana-data-discovery src/plugins/unified_search @elastic/kibana-visualizations @@ -791,16 +803,7 @@ packages/kbn-yarn-lock-validator @elastic/kibana-operations #CC# /x-pack/plugins/reporting/ @elastic/appex-sharedux #CC# /x-pack/plugins/serverless_security/ @elastic/appex-sharedux -### Observability Plugins - -# Observability Shared App -x-pack/plugins/observability_shared @elastic/observability-ui - -# Observability App -x-pack/plugins/observability @elastic/actionable-observability - -# Observability App > Overview page -x-pack/plugins/observability/public/pages/overview @elastic/observability-ui +### Observability packages # Observability App > Alert Details x-pack/packages/observability/alert_details @elastic/actionable-observability @@ -845,13 +848,6 @@ x-pack/test/observability_functional @elastic/actionable-observability /x-pack/test/functional/services/uptime @elastic/uptime /x-pack/test/api_integration/apis/uptime @elastic/uptime /x-pack/test/api_integration/apis/synthetics @elastic/uptime -/x-pack/plugins/observability/public/components/shared/exploratory_view @elastic/uptime -/x-pack/plugins/observability/public/components/shared/field_value_suggestions @elastic/uptime -/x-pack/plugins/observability/public/components/shared/core_web_vitals @elastic/uptime -/x-pack/plugins/observability/public/components/shared/load_when_in_view @elastic/uptime -/x-pack/plugins/observability/public/components/shared/filter_value_label @elastic/uptime -/x-pack/plugins/observability/public/utils/observability_data_views @elastic/uptime -/x-pack/plugins/observability/e2e @elastic/uptime # Client Side Monitoring / Uptime (lives in APM directories but owned by Uptime) /x-pack/plugins/apm/public/application/uxApp.tsx @elastic/uptime @@ -859,7 +855,7 @@ x-pack/test/observability_functional @elastic/actionable-observability /x-pack/test/apm_api_integration/tests/csm/ @elastic/uptime # Observability onboarding tour -/x-pack/plugins/observability/public/components/shared/tour @elastic/platform-onboarding +/x-pack/plugins/observability_shared/public/components/tour @elastic/platform-onboarding /x-pack/test/functional/apps/infra/tour.ts @elastic/platform-onboarding ### END Observability Plugins @@ -953,6 +949,7 @@ x-pack/test/observability_functional @elastic/actionable-observability /x-pack/.telemetryrc.json @elastic/kibana-core /src/plugins/telemetry/schema/ @elastic/kibana-core @elastic/kibana-telemetry /x-pack/plugins/telemetry_collection_xpack/schema/ @elastic/kibana-core @elastic/kibana-telemetry +x-pack/plugins/cloud_integrations/cloud_full_story/server/config.ts @elastic/kibana-core @elastic/kibana-telemetry @shahinakmal # Kibana Localization /src/dev/i18n/ @elastic/kibana-localization @elastic/kibana-core @@ -981,6 +978,7 @@ x-pack/test/observability_functional @elastic/actionable-observability # Response Ops team /x-pack/test/alerting_api_integration/ @elastic/response-ops +/x-pack/test/alerting_api_integration/observability @elastic/actionable-observability /x-pack/test/plugin_api_integration/test_suites/task_manager/ @elastic/response-ops /x-pack/test/functional_with_es_ssl/apps/triggers_actions_ui/ @elastic/response-ops /docs/user/alerting/ @elastic/response-ops @@ -1016,10 +1014,7 @@ x-pack/test/observability_functional @elastic/actionable-observability /x-pack/plugins/security_solution/common/search_strategy/timeline @elastic/security-threat-hunting-investigations /x-pack/plugins/security_solution/common/types/timeline @elastic/security-threat-hunting-investigations -/x-pack/plugins/security_solution/cypress/e2e/timeline_templates @elastic/security-threat-hunting-investigations -/x-pack/plugins/security_solution/cypress/e2e/timeline @elastic/security-threat-hunting-investigations -/x-pack/plugins/security_solution/cypress/e2e/detection_alerts @elastic/security-threat-hunting-investigations -/x-pack/plugins/security_solution/cypress/e2e/urls @elastic/security-threat-hunting-investigations +/x-pack/plugins/security_solution/cypress/e2e/investigations @elastic/security-threat-hunting-investigations /x-pack/plugins/security_solution/public/common/components/alerts_viewer @elastic/security-threat-hunting-investigations /x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_action @elastic/security-threat-hunting-investigations @@ -1041,6 +1036,7 @@ x-pack/test/observability_functional @elastic/actionable-observability /x-pack/plugins/security_solution/common/search_strategy/security_solution/user @elastic/security-threat-hunting-explore /x-pack/plugins/security_solution/cypress/e2e/cases @elastic/security-threat-hunting-explore +/x-pack/plugins/security_solution/cypress/e2e/dashboards @elastic/security-threat-hunting-explore /x-pack/plugins/security_solution/cypress/e2e/filters @elastic/security-threat-hunting-explore /x-pack/plugins/security_solution/cypress/e2e/host_details @elastic/security-threat-hunting-explore /x-pack/plugins/security_solution/cypress/e2e/hosts @elastic/security-threat-hunting-explore @@ -1083,25 +1079,17 @@ x-pack/test/observability_functional @elastic/actionable-observability /x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/network @elastic/security-threat-hunting-explore /x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/users @elastic/security-threat-hunting-explore -## Security Solution sub teams - Detections and Response Alerts -/x-pack/plugins/security_solution/common/detection_engine/schemas/alerts @elastic/security-detections-response-alerts -/x-pack/plugins/security_solution/common/field_maps @elastic/security-detections-response-alerts - -/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui @elastic/security-detections-response-alerts -/x-pack/plugins/security_solution/public/detections/pages/alerts @elastic/security-detections-response-alerts - -/x-pack/plugins/security_solution/server/lib/detection_engine/migrations @elastic/security-detections-response-alerts -/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview @elastic/security-detections-response-alerts -/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types @elastic/security-detections-response-alerts -/x-pack/plugins/security_solution/server/lib/detection_engine/routes/index @elastic/security-detections-response-alerts -/x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals @elastic/security-detections-response-alerts +## Explore owner connectors +/x-pack/plugins/stack_connectors/public/connector_types/gen_ai @elastic/security-threat-hunting-explore +/x-pack/plugins/stack_connectors/server/connector_types/gen_ai @elastic/security-threat-hunting-explore +/x-pack/plugins/stack_connectors/common/gen_ai @elastic/security-threat-hunting-explore ## Security Solution sub teams - Detection Rule Management /x-pack/plugins/security_solution/common/detection_engine/fleet_integrations @elastic/security-detection-rule-management /x-pack/plugins/security_solution/common/detection_engine/prebuilt_rules @elastic/security-detection-rule-management /x-pack/plugins/security_solution/common/detection_engine/rule_management @elastic/security-detection-rule-management /x-pack/plugins/security_solution/common/detection_engine/rule_monitoring @elastic/security-detection-rule-management -/x-pack/plugins/security_solution/common/detection_engine/rule_schema @elastic/security-detection-rule-management @elastic/security-detections-response-alerts +/x-pack/plugins/security_solution/common/detection_engine/rule_schema @elastic/security-detection-rule-management @elastic/security-detection-engine /x-pack/plugins/security_solution/public/common/components/health_truncate_text @elastic/security-detection-rule-management /x-pack/plugins/security_solution/public/common/components/links_to_docs @elastic/security-detection-rule-management @@ -1115,7 +1103,7 @@ x-pack/test/observability_functional @elastic/actionable-observability /x-pack/plugins/security_solution/public/detections/components/callouts @elastic/security-detection-rule-management /x-pack/plugins/security_solution/public/detections/components/modals/ml_job_upgrade_modal @elastic/security-detection-rule-management /x-pack/plugins/security_solution/public/detections/components/rules @elastic/security-detection-rule-management -/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview @elastic/security-detections-response-alerts +/x-pack/plugins/security_solution/public/detections/components/rules/rule_preview @elastic/security-detection-engine /x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules @elastic/security-detection-rule-management /x-pack/plugins/security_solution/public/detections/mitre @elastic/security-detection-rule-management /x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules @elastic/security-detection-rule-management @@ -1125,49 +1113,61 @@ x-pack/test/observability_functional @elastic/actionable-observability /x-pack/plugins/security_solution/server/lib/detection_engine/prebuilt_rules @elastic/security-detection-rule-management /x-pack/plugins/security_solution/server/lib/detection_engine/rule_management @elastic/security-detection-rule-management /x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring @elastic/security-detection-rule-management -/x-pack/plugins/security_solution/server/lib/detection_engine/rule_schema @elastic/security-detection-rule-management @elastic/security-detections-response-alerts +/x-pack/plugins/security_solution/server/lib/detection_engine/rule_schema @elastic/security-detection-rule-management @elastic/security-detection-engine /x-pack/plugins/security_solution/server/utils @elastic/security-detection-rule-management -## Security Solution sub teams - Security Platform +## Security Solution sub teams - Detection Engine + +/x-pack/plugins/security_solution/common/detection_engine/schemas/alerts @elastic/security-detection-engine +/x-pack/plugins/security_solution/common/field_maps @elastic/security-detection-engine + +/x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui @elastic/security-detection-engine +/x-pack/plugins/security_solution/public/detections/pages/alerts @elastic/security-detection-engine + +/x-pack/plugins/security_solution/server/lib/detection_engine/migrations @elastic/security-detection-engine +/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview @elastic/security-detection-engine +/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types @elastic/security-detection-engine +/x-pack/plugins/security_solution/server/lib/detection_engine/routes/index @elastic/security-detection-engine +/x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals @elastic/security-detection-engine -/x-pack/plugins/security_solution/cypress/e2e/data_sources @elastic/security-solution-platform -/x-pack/plugins/security_solution/cypress/e2e/exceptions @elastic/security-solution-platform -/x-pack/plugins/security_solution/cypress/e2e/value_lists @elastic/security-solution-platform +/x-pack/plugins/security_solution/cypress/e2e/data_sources @elastic/security-detection-engine +/x-pack/plugins/security_solution/cypress/e2e/exceptions @elastic/security-detection-engine +/x-pack/plugins/security_solution/cypress/e2e/value_lists @elastic/security-detection-engine -/x-pack/plugins/security_solution/common/detection_engine/rule_exceptions @elastic/security-solution-platform +/x-pack/plugins/security_solution/common/detection_engine/rule_exceptions @elastic/security-detection-engine -/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions @elastic/security-solution-platform -/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions_ui @elastic/security-solution-platform -/x-pack/plugins/security_solution/public/common/components/exceptions @elastic/security-solution-platform -/x-pack/plugins/security_solution/public/exceptions @elastic/security-solution-platform -/x-pack/plugins/security_solution/public/detections/containers/detection_engine/lists @elastic/security-solution-platform -/x-pack/plugins/security_solution/public/common/components/sourcerer @elastic/security-solution-platform +/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions @elastic/security-detection-engine +/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions_ui @elastic/security-detection-engine +/x-pack/plugins/security_solution/public/common/components/exceptions @elastic/security-detection-engine +/x-pack/plugins/security_solution/public/exceptions @elastic/security-detection-engine +/x-pack/plugins/security_solution/public/detections/containers/detection_engine/lists @elastic/security-detection-engine +/x-pack/plugins/security_solution/public/common/components/sourcerer @elastic/security-detection-engine -/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy @elastic/security-solution-platform -/x-pack/plugins/security_solution/server/lib/detection_engine/rule_exceptions @elastic/security-solution-platform -/x-pack/plugins/security_solution/server/lib/sourcerer @elastic/security-solution-platform +/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy @elastic/security-detection-engine +/x-pack/plugins/security_solution/server/lib/detection_engine/rule_exceptions @elastic/security-detection-engine +/x-pack/plugins/security_solution/server/lib/sourcerer @elastic/security-detection-engine ## Security Threat Intelligence - Under Security Platform -/x-pack/plugins/security_solution/public/common/components/threat_match @elastic/security-solution-platform +/x-pack/plugins/security_solution/public/common/components/threat_match @elastic/security-detection-engine ## Security Solution cross teams ownership /x-pack/plugins/security_solution/cypress/fixtures @elastic/security-detections-response @elastic/security-threat-hunting /x-pack/plugins/security_solution/cypress/helpers @elastic/security-detections-response @elastic/security-threat-hunting -/x-pack/plugins/security_solution/cypress/e2e/detection_rules @elastic/security-detection-rule-management @elastic/security-detections-response-alerts +/x-pack/plugins/security_solution/cypress/e2e/detection_rules @elastic/security-detection-rule-management @elastic/security-detection-engine /x-pack/plugins/security_solution/cypress/objects @elastic/security-detections-response @elastic/security-threat-hunting /x-pack/plugins/security_solution/cypress/plugins @elastic/security-detections-response @elastic/security-threat-hunting /x-pack/plugins/security_solution/cypress/screens/common @elastic/security-detections-response @elastic/security-threat-hunting /x-pack/plugins/security_solution/cypress/support @elastic/security-detections-response @elastic/security-threat-hunting -/x-pack/plugins/security_solution/cypress/urls @elastic/security-threat-hunting-investigations @elastic/security-solution-platform +/x-pack/plugins/security_solution/cypress/urls @elastic/security-threat-hunting-investigations @elastic/security-detection-engine /x-pack/plugins/security_solution/common/ecs @elastic/security-threat-hunting-investigations -/x-pack/plugins/security_solution/common/test @elastic/security-detection-rule-management @elastic/security-detections-response-alerts +/x-pack/plugins/security_solution/common/test @elastic/security-detection-rule-management @elastic/security-detection-engine /x-pack/plugins/security_solution/public/common/components/callouts @elastic/security-detections-response /x-pack/plugins/security_solution/public/common/components/hover_actions @elastic/security-threat-hunting-explore @elastic/security-threat-hunting-investigations -/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions @elastic/security-solution-platform @elastic/security-detection-rule-management +/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions @elastic/security-detection-engine @elastic/security-detection-rule-management /x-pack/plugins/security_solution/server/routes @elastic/security-detections-response @elastic/security-threat-hunting ## Security Solution sub teams - security-defend-workflows @@ -1228,7 +1228,6 @@ x-pack/test/threat_intelligence_cypress @elastic/protections-experience /x-pack/plugins/apm/**/*.scss @elastic/observability-design /x-pack/plugins/infra/**/*.scss @elastic/observability-design /x-pack/plugins/fleet/**/*.scss @elastic/observability-design -/x-pack/plugins/observability/**/*.scss @elastic/observability-design /x-pack/plugins/monitoring/**/*.scss @elastic/observability-design # Ent. Search design diff --git a/.gitignore b/.gitignore index 4d3db591bd758..88ce8ad1822c5 100644 --- a/.gitignore +++ b/.gitignore @@ -42,6 +42,14 @@ __tmp__ /x-pack/test/*/screenshots/visual_regression_gallery.html /x-pack/test/functional/apps/*/*/reporting/reports/failure +# Ignore the same artifacts in x-pack/test_serverless +/x-pack/test_serverless/*/failure_debug +/x-pack/test_serverless/*/screenshots/diff +/x-pack/test_serverless/*/screenshots/failure +/x-pack/test_serverless/*/screenshots/session +/x-pack/test_serverless/*/screenshots/visual_regression_gallery.html +/x-pack/test_serverless/functional/apps/*/*/reporting/reports/failure + /html_docs .eslintcache /plugins/ @@ -84,6 +92,7 @@ npm-debug.log* ## @cypress/snapshot from apm plugin /snapshots.js +x-pack/plugins/apm/scripts/apm-diagnostics*.json # transpiled cypress config x-pack/plugins/fleet/cypress.config.d.ts @@ -122,3 +131,4 @@ fleet-server.yml **/.synthetics/ **/.journeys/ x-pack/test/security_api_integration/plugins/audit_log/audit.log + diff --git a/.i18nrc.json b/.i18nrc.json index d3afda75dce51..a2f4444c54d3a 100644 --- a/.i18nrc.json +++ b/.i18nrc.json @@ -76,6 +76,7 @@ "newsfeed": "src/plugins/newsfeed", "presentationUtil": "src/plugins/presentation_util", "randomSampling": "x-pack/packages/kbn-random-sampling", + "textBasedEditor": "packages/kbn-text-based-editor", "reporting": "packages/kbn-reporting/common", "savedObjects": "src/plugins/saved_objects", "savedObjectsFinder": "src/plugins/saved_objects_finder", @@ -87,6 +88,7 @@ "serverlessPackages": "packages/serverless", "coloring": "packages/kbn-coloring/src", "languageDocumentationPopover": "packages/kbn-language-documentation-popover/src", + "textBasedLanguages": "src/plugins/text_based_languages", "statusPage": "src/legacy/core_plugins/status_page", "telemetry": ["src/plugins/telemetry", "src/plugins/telemetry_management_section"], "timelion": ["src/plugins/vis_types/timelion"], diff --git a/api_docs/actions.devdocs.json b/api_docs/actions.devdocs.json index 398265dab8a48..b550c5a0a5298 100644 --- a/api_docs/actions.devdocs.json +++ b/api_docs/actions.devdocs.json @@ -3969,6 +3969,21 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "actions", + "id": "def-common.GeneralConnectorFeatureId", + "type": "string", + "tags": [], + "label": "GeneralConnectorFeatureId", + "description": [], + "signature": [ + "\"general\"" + ], + "path": "x-pack/plugins/actions/common/connector_feature_config.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "actions", "id": "def-common.IExecutionKPIResult", @@ -4306,6 +4321,59 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "actions", + "id": "def-common.GeneralFeature", + "type": "Object", + "tags": [], + "label": "GeneralFeature", + "description": [], + "path": "x-pack/plugins/actions/common/connector_feature_config.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "actions", + "id": "def-common.GeneralFeature.id", + "type": "string", + "tags": [], + "label": "id", + "description": [], + "path": "x-pack/plugins/actions/common/connector_feature_config.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "actions", + "id": "def-common.GeneralFeature.name", + "type": "Any", + "tags": [], + "label": "name", + "description": [], + "signature": [ + "any" + ], + "path": "x-pack/plugins/actions/common/connector_feature_config.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "actions", + "id": "def-common.GeneralFeature.compatibility", + "type": "Any", + "tags": [], + "label": "compatibility", + "description": [], + "signature": [ + "any" + ], + "path": "x-pack/plugins/actions/common/connector_feature_config.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "actions", "id": "def-common.MustacheInEmailRegExp", diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx index 49070dc763ad2..07ac3b25a3b8f 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-05-16 +date: 2023-06-07 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 | |-------------------|-----------|------------------------|-----------------| -| 259 | 8 | 254 | 26 | +| 264 | 10 | 259 | 26 | ## Client diff --git a/api_docs/advanced_settings.mdx b/api_docs/advanced_settings.mdx index 09b4c22df6c0c..9c6ed4937bfa5 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'advancedSettings'] --- import advancedSettingsObj from './advanced_settings.devdocs.json'; diff --git a/api_docs/aiops.devdocs.json b/api_docs/aiops.devdocs.json index b122c05b656d6..fde414ff98768 100644 --- a/api_docs/aiops.devdocs.json +++ b/api_docs/aiops.devdocs.json @@ -109,6 +109,47 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "aiops", + "id": "def-public.ExplainLogRateSpikesContent", + "type": "Function", + "tags": [], + "label": "ExplainLogRateSpikesContent", + "description": [ + "\nLazy-wrapped ExplainLogRateSpikesContentWrapperReact component" + ], + "signature": [ + "(props: React.PropsWithChildren<", + "ExplainLogRateSpikesContentWrapperProps", + ">) => JSX.Element" + ], + "path": "x-pack/plugins/aiops/public/shared_lazy_components.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "aiops", + "id": "def-public.ExplainLogRateSpikesContent.$1", + "type": "CompoundType", + "tags": [], + "label": "props", + "description": [ + "- properties specifying the data on which to run the analysis." + ], + "signature": [ + "React.PropsWithChildren<", + "ExplainLogRateSpikesContentWrapperProps", + ">" + ], + "path": "x-pack/plugins/aiops/public/shared_lazy_components.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "aiops", "id": "def-public.LogCategorization", diff --git a/api_docs/aiops.mdx b/api_docs/aiops.mdx index a447d03b40938..dd946e9f0b50d 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiops'] --- import aiopsObj from './aiops.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) for questi | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 39 | 0 | 24 | 0 | +| 41 | 0 | 24 | 1 | ## Client diff --git a/api_docs/alerting.devdocs.json b/api_docs/alerting.devdocs.json index 233ccd5783ffc..04dd30490a8f4 100644 --- a/api_docs/alerting.devdocs.json +++ b/api_docs/alerting.devdocs.json @@ -1871,6 +1871,22 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "alerting", + "id": "def-server.IRuleTypeAlerts.shouldWrite", + "type": "CompoundType", + "tags": [], + "label": "shouldWrite", + "description": [ + "\nOptional flag to opt into writing alerts as data. When not specified\ndefaults to false. We need this because we needed all previous rule\nregistry rules to register with the framework in order to install\nElasticsearch assets but we don't want to migrate them to using\nthe framework for writing alerts as data until all the pieces are ready" + ], + "signature": [ + "boolean | undefined" + ], + "path": "x-pack/plugins/alerting/server/types.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "alerting", "id": "def-server.IRuleTypeAlerts.useEcs", @@ -2005,7 +2021,15 @@ "section": "def-common.RuleTypeState", "text": "RuleTypeState" }, - ", InstanceState extends { [x: string]: unknown; } = { [x: string]: unknown; }, InstanceContext extends { [x: string]: unknown; } = { [x: string]: unknown; }, ActionGroupIds extends string = never, RecoveryActionGroupId extends string = never>(ruleType: ", + ", InstanceState extends { [x: string]: unknown; } = { [x: string]: unknown; }, InstanceContext extends { [x: string]: unknown; } = { [x: string]: unknown; }, ActionGroupIds extends string = never, RecoveryActionGroupId extends string = never, AlertData extends ", + { + "pluginId": "alerting", + "scope": "common", + "docId": "kibAlertingPluginApi", + "section": "def-common.RuleAlertData", + "text": "RuleAlertData" + }, + " = never>(ruleType: ", { "pluginId": "alerting", "scope": "server", @@ -2013,7 +2037,7 @@ "section": "def-server.RuleType", "text": "RuleType" }, - ") => void" + ") => void" ], "path": "x-pack/plugins/alerting/server/plugin.ts", "deprecated": false, @@ -2034,7 +2058,7 @@ "section": "def-server.RuleType", "text": "RuleType" }, - "" + "" ], "path": "x-pack/plugins/alerting/server/plugin.ts", "deprecated": false, @@ -2301,7 +2325,7 @@ "section": "def-server.RuleExecutorOptions", "text": "RuleExecutorOptions" }, - "" + "" ], "path": "x-pack/plugins/alerting/server/types.ts", "deprecated": false, @@ -2403,7 +2427,7 @@ "section": "def-server.RuleExecutorServices", "text": "RuleExecutorServices" }, - "" + "" ], "path": "x-pack/plugins/alerting/server/types.ts", "deprecated": false, @@ -2514,7 +2538,7 @@ "section": "def-server.RuleExecutorServices", "text": "RuleExecutorServices" }, - "" + "" ], "path": "x-pack/plugins/alerting/server/types.ts", "deprecated": false, @@ -2715,7 +2739,7 @@ "section": "def-common.DataView", "text": "DataView" }, - ">; delete: (indexPatternId: string) => Promise<{}>; find: (search: string, size?: number) => Promise<", + ">; delete: (indexPatternId: string) => Promise; find: (search: string, size?: number) => Promise<", { "pluginId": "dataViews", "scope": "common", @@ -3013,7 +3037,7 @@ "section": "def-server.RuleType", "text": "RuleType" }, - "" + "" ], "path": "x-pack/plugins/alerting/server/types.ts", "deprecated": false, @@ -3137,7 +3161,7 @@ "section": "def-common.WithoutReservedActionGroups", "text": "WithoutReservedActionGroups" }, - ">) => Promise<{ state: State; }>" + ", AlertData>) => Promise<{ state: State; }>" ], "path": "x-pack/plugins/alerting/server/types.ts", "deprecated": false, @@ -3159,7 +3183,7 @@ "section": "def-server.RuleExecutorOptions", "text": "RuleExecutorOptions" }, - "" + "" ], "path": "x-pack/plugins/alerting/server/types.ts", "deprecated": false, @@ -3715,7 +3739,7 @@ "section": "def-server.RuleExecutorOptions", "text": "RuleExecutorOptions" }, - ") => Promise<{ state: State; }>" + ") => Promise<{ state: State; }>" ], "path": "x-pack/plugins/alerting/server/types.ts", "deprecated": false, @@ -3737,7 +3761,7 @@ "section": "def-server.RuleExecutorOptions", "text": "RuleExecutorOptions" }, - "" + "" ], "path": "x-pack/plugins/alerting/server/types.ts", "deprecated": false, @@ -4113,11 +4137,27 @@ "SnoozeParams", ") => Promise; unsnooze: (options: ", "UnsnoozeParams", - ") => Promise; clearExpiredSnoozes: (options: { id: string; }) => Promise; unmuteAll: (options: { id: string; }) => Promise; muteInstance: (options: ", + ") => Promise; clearExpiredSnoozes: (options: { rule: Pick<", + { + "pluginId": "alerting", + "scope": "common", + "docId": "kibAlertingPluginApi", + "section": "def-common.SanitizedRule", + "text": "SanitizedRule" + }, + "<", + { + "pluginId": "alerting", + "scope": "common", + "docId": "kibAlertingPluginApi", + "section": "def-common.RuleTypeParams", + "text": "RuleTypeParams" + }, + ">, \"id\" | \"snoozeSchedule\">; version?: string | undefined; }) => Promise; unmuteAll: (options: { id: string; }) => Promise; muteInstance: (options: ", "MuteOptions", ") => Promise; unmuteInstance: (options: ", "MuteOptions", - ") => Promise; runSoon: (options: { id: string; }) => Promise; listAlertTypes: () => Promise Promise; runSoon: (options: { id: string; }) => Promise; listRuleTypes: () => Promise>; getSpaceId: () => string | undefined; getAlertFromRaw: (params: ", "GetAlertFromRawParams", @@ -9932,6 +9972,21 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "alerting", + "id": "def-common.RuleAlertData", + "type": "Type", + "tags": [], + "label": "RuleAlertData", + "description": [], + "signature": [ + "{ [x: string]: unknown; }" + ], + "path": "x-pack/plugins/alerting/common/rule.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "alerting", "id": "def-common.RuleAlertingOutcome", @@ -10120,7 +10175,9 @@ "section": "def-common.AggregateOptions", "text": "AggregateOptions" }, - ", \"search\" | \"filter\"> & { after?: Record | undefined; maxTags?: number | undefined; }" + ", \"search\" | \"filter\"> & { after?: ", + "AggregationsCompositeAggregateKey", + " | undefined; maxTags?: number | undefined; }" ], "path": "x-pack/plugins/alerting/common/rule_tags_aggregation.ts", "deprecated": false, diff --git a/api_docs/alerting.mdx b/api_docs/alerting.mdx index 6231dd55124e4..adc8456572712 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'alerting'] --- import alertingObj from './alerting.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-o | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 615 | 1 | 594 | 44 | +| 617 | 1 | 595 | 44 | ## Client diff --git a/api_docs/apm.devdocs.json b/api_docs/apm.devdocs.json index d03bd09b17d31..7ea41cda77da0 100644 --- a/api_docs/apm.devdocs.json +++ b/api_docs/apm.devdocs.json @@ -475,7 +475,7 @@ "label": "featureFlags", "description": [], "signature": [ - "{ agentConfigurationAvailable: boolean; configurableIndicesAvailable: boolean; infrastructureTabAvailable: boolean; infraUiAvailable: boolean; migrationToFleetAvailable: boolean; sourcemapApiAvailable: boolean; spacesAvailable: boolean; }" + "{ agentConfigurationAvailable: boolean; configurableIndicesAvailable: boolean; infrastructureTabAvailable: boolean; infraUiAvailable: boolean; migrationToFleetAvailable: boolean; sourcemapApiAvailable: boolean; spacesAvailable: boolean; schemaAvailable: boolean; storageExplorerAvailable: boolean; }" ], "path": "x-pack/plugins/apm/server/routes/typings.ts", "deprecated": false, @@ -601,7 +601,23 @@ "GetResponse", ">; delete: (deleteParams: { id: string; }) => Promise<", "WriteResponseBase", - ">; } | undefined>; }; start: () => Promise; }; ruleRegistry: { setup: ", + ">; } | undefined>; alertsLocator: ", + { + "pluginId": "share", + "scope": "common", + "docId": "kibSharePluginApi", + "section": "def-common.LocatorPublic", + "text": "LocatorPublic" + }, + "<", + { + "pluginId": "observability", + "scope": "common", + "docId": "kibObservabilityPluginApi", + "section": "def-common.AlertsLocatorParams", + "text": "AlertsLocatorParams" + }, + ">; }; start: () => Promise; }; ruleRegistry: { setup: ", { "pluginId": "ruleRegistry", "scope": "server", @@ -641,7 +657,15 @@ "section": "def-server.DataViewsServerPluginStart", "text": "DataViewsServerPluginStart" }, - ">; }; actions?: { setup: ", + ">; }; share: { setup: ", + { + "pluginId": "share", + "scope": "server", + "docId": "kibSharePluginApi", + "section": "def-server.SharePluginSetup", + "text": "SharePluginSetup" + }, + "; start: () => Promise; }; actions?: { setup: ", { "pluginId": "actions", "scope": "server", @@ -835,7 +859,7 @@ "label": "APIEndpoint", "description": [], "signature": [ - "\"POST /internal/apm/data_view/static\" | \"GET /internal/apm/data_view/title\" | \"GET /internal/apm/environments\" | \"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics\" | \"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics_by_transaction_name\" | \"POST /internal/apm/services/{serviceName}/errors/groups/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}/samples\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}/error/{errorId}\" | \"GET /internal/apm/services/{serviceName}/errors/distribution\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}/top_erroneous_transactions\" | \"POST /internal/apm/latency/overall_distribution/transactions\" | \"GET /internal/apm/services/{serviceName}/metrics/charts\" | \"GET /internal/apm/services/{serviceName}/metrics/nodes\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/charts\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/summary\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/functions_overview\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/active_instances\" | \"GET /internal/apm/observability_overview\" | \"GET /internal/apm/observability_overview/has_data\" | \"GET /internal/apm/service-map\" | \"GET /internal/apm/service-map/service/{serviceName}\" | \"GET /internal/apm/service-map/dependency\" | \"GET /internal/apm/services\" | \"POST /internal/apm/services/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/metadata/details\" | \"GET /internal/apm/services/{serviceName}/metadata/icons\" | \"GET /internal/apm/services/{serviceName}/agent\" | \"GET /internal/apm/services/{serviceName}/transaction_types\" | \"GET /internal/apm/services/{serviceName}/node/{serviceNodeName}/metadata\" | \"GET /api/apm/services/{serviceName}/annotation/search\" | \"POST /api/apm/services/{serviceName}/annotation\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/details/{serviceNodeName}\" | \"GET /internal/apm/services/{serviceName}/throughput\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/main_statistics\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/dependencies\" | \"GET /internal/apm/services/{serviceName}/dependencies/breakdown\" | \"GET /internal/apm/services/{serviceName}/anomaly_charts\" | \"GET /internal/apm/services/{serviceName}/alerts_count\" | \"GET /internal/apm/service-groups\" | \"GET /internal/apm/service-group\" | \"POST /internal/apm/service-group\" | \"DELETE /internal/apm/service-group\" | \"GET /internal/apm/service-group/services\" | \"GET /internal/apm/service-group/counts\" | \"GET /internal/apm/suggestions\" | \"GET /internal/apm/traces/{traceId}\" | \"GET /internal/apm/traces\" | \"GET /internal/apm/traces/{traceId}/root_transaction\" | \"GET /internal/apm/transactions/{transactionId}\" | \"GET /internal/apm/traces/find\" | \"POST /internal/apm/traces/aggregated_critical_path\" | \"GET /internal/apm/traces/{traceId}/transactions/{transactionId}\" | \"GET /internal/apm/traces/{traceId}/spans/{spanId}\" | \"GET /internal/apm/services/{serviceName}/transactions/groups/main_statistics\" | \"GET /internal/apm/services/{serviceName}/transactions/groups/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/latency\" | \"GET /internal/apm/services/{serviceName}/transactions/traces/samples\" | \"GET /internal/apm/services/{serviceName}/transaction/charts/breakdown\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/error_rate\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate_by_transaction_name\" | \"GET /internal/apm/rule_types/transaction_error_rate/chart_preview\" | \"GET /internal/apm/rule_types/transaction_duration/chart_preview\" | \"GET /internal/apm/rule_types/error_count/chart_preview\" | \"GET /api/apm/settings/agent-configuration\" | \"GET /api/apm/settings/agent-configuration/view\" | \"DELETE /api/apm/settings/agent-configuration\" | \"PUT /api/apm/settings/agent-configuration\" | \"POST /api/apm/settings/agent-configuration/search\" | \"GET /api/apm/settings/agent-configuration/environments\" | \"GET /api/apm/settings/agent-configuration/agent_name\" | \"GET /internal/apm/settings/anomaly-detection/jobs\" | \"POST /internal/apm/settings/anomaly-detection/jobs\" | \"GET /internal/apm/settings/anomaly-detection/environments\" | \"POST /internal/apm/settings/anomaly-detection/update_to_v3\" | \"GET /internal/apm/settings/apm-index-settings\" | \"GET /internal/apm/settings/apm-indices\" | \"POST /internal/apm/settings/apm-indices/save\" | \"GET /internal/apm/settings/custom_links/transaction\" | \"GET /internal/apm/settings/custom_links\" | \"POST /internal/apm/settings/custom_links\" | \"PUT /internal/apm/settings/custom_links/{id}\" | \"DELETE /internal/apm/settings/custom_links/{id}\" | \"GET /api/apm/sourcemaps\" | \"POST /api/apm/sourcemaps\" | \"DELETE /api/apm/sourcemaps/{id}\" | \"POST /internal/apm/sourcemaps/migrate_fleet_artifacts\" | \"GET /internal/apm/fleet/has_apm_policies\" | \"GET /internal/apm/fleet/agents\" | \"POST /api/apm/fleet/apm_server_schema\" | \"GET /internal/apm/fleet/apm_server_schema/unsupported\" | \"GET /internal/apm/fleet/migration_check\" | \"POST /internal/apm/fleet/cloud_apm_package_policy\" | \"GET /internal/apm/fleet/java_agent_versions\" | \"GET /internal/apm/dependencies/top_dependencies\" | \"GET /internal/apm/dependencies/upstream_services\" | \"GET /internal/apm/dependencies/metadata\" | \"GET /internal/apm/dependencies/charts/latency\" | \"GET /internal/apm/dependencies/charts/throughput\" | \"GET /internal/apm/dependencies/charts/error_rate\" | \"GET /internal/apm/dependencies/operations\" | \"GET /internal/apm/dependencies/charts/distribution\" | \"GET /internal/apm/dependencies/operations/spans\" | \"GET /internal/apm/correlations/field_candidates/transactions\" | \"GET /internal/apm/correlations/field_value_stats/transactions\" | \"POST /internal/apm/correlations/field_value_pairs/transactions\" | \"POST /internal/apm/correlations/significant_correlations/transactions\" | \"POST /internal/apm/correlations/p_values/transactions\" | \"GET /internal/apm/fallback_to_transactions\" | \"GET /internal/apm/has_data\" | \"GET /internal/apm/event_metadata/{processorEvent}/{id}\" | \"GET /internal/apm/agent_keys\" | \"GET /internal/apm/agent_keys/privileges\" | \"POST /internal/apm/api_key/invalidate\" | \"POST /api/apm/agent_keys\" | \"GET /internal/apm/storage_explorer\" | \"GET /internal/apm/services/{serviceName}/storage_details\" | \"GET /internal/apm/storage_chart\" | \"GET /internal/apm/storage_explorer/privileges\" | \"GET /internal/apm/storage_explorer_summary_stats\" | \"GET /internal/apm/storage_explorer/is_cross_cluster_search\" | \"GET /internal/apm/storage_explorer/get_services\" | \"GET /internal/apm/traces/{traceId}/span_links/{spanId}/parents\" | \"GET /internal/apm/traces/{traceId}/span_links/{spanId}/children\" | \"GET /internal/apm/services/{serviceName}/infrastructure_attributes\" | \"GET /internal/apm/debug-telemetry\" | \"GET /internal/apm/time_range_metadata\" | \"GET /internal/apm/settings/labs\" | \"GET /internal/apm/get_agents_per_service\" | \"GET /internal/apm/get_latest_agent_versions\" | \"GET /internal/apm/services/{serviceName}/agent_instances\" | \"GET /internal/apm/services/{serviceName}/mobile/filters\" | \"GET /internal/apm/mobile-services/{serviceName}/most_used_charts\" | \"GET /internal/apm/mobile-services/{serviceName}/transactions/charts/sessions\" | \"GET /internal/apm/mobile-services/{serviceName}/transactions/charts/http_requests\" | \"GET /internal/apm/mobile-services/{serviceName}/stats\" | \"GET /internal/apm/mobile-services/{serviceName}/location/stats\" | \"GET /internal/apm/mobile-services/{serviceName}/terms\" | \"GET /internal/apm/mobile-services/{serviceName}/main_statistics\" | \"GET /internal/apm/mobile-services/{serviceName}/detailed_statistics\"" + "\"POST /internal/apm/data_view/static\" | \"GET /internal/apm/data_view/title\" | \"GET /internal/apm/environments\" | \"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics\" | \"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics_by_transaction_name\" | \"POST /internal/apm/services/{serviceName}/errors/groups/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}/samples\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}/error/{errorId}\" | \"GET /internal/apm/services/{serviceName}/errors/distribution\" | \"GET /internal/apm/services/{serviceName}/errors/{groupId}/top_erroneous_transactions\" | \"POST /internal/apm/latency/overall_distribution/transactions\" | \"GET /internal/apm/services/{serviceName}/metrics/charts\" | \"GET /internal/apm/services/{serviceName}/metrics/nodes\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/charts\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/summary\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/functions_overview\" | \"GET /internal/apm/services/{serviceName}/metrics/serverless/active_instances\" | \"GET /internal/apm/observability_overview\" | \"GET /internal/apm/observability_overview/has_data\" | \"GET /internal/apm/service-map\" | \"GET /internal/apm/service-map/service/{serviceName}\" | \"GET /internal/apm/service-map/dependency\" | \"GET /internal/apm/services\" | \"POST /internal/apm/services/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/metadata/details\" | \"GET /internal/apm/services/{serviceName}/metadata/icons\" | \"GET /internal/apm/services/{serviceName}/agent\" | \"GET /internal/apm/services/{serviceName}/transaction_types\" | \"GET /internal/apm/services/{serviceName}/node/{serviceNodeName}/metadata\" | \"GET /api/apm/services/{serviceName}/annotation/search 2023-05-22\" | \"POST /api/apm/services/{serviceName}/annotation 2023-05-22\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/details/{serviceNodeName}\" | \"GET /internal/apm/services/{serviceName}/throughput\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/main_statistics\" | \"GET /internal/apm/services/{serviceName}/service_overview_instances/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/dependencies\" | \"GET /internal/apm/services/{serviceName}/dependencies/breakdown\" | \"GET /internal/apm/services/{serviceName}/anomaly_charts\" | \"GET /internal/apm/services/{serviceName}/alerts_count\" | \"GET /internal/apm/service-groups\" | \"GET /internal/apm/service-group\" | \"POST /internal/apm/service-group\" | \"DELETE /internal/apm/service-group\" | \"GET /internal/apm/service-group/services\" | \"GET /internal/apm/service-group/counts\" | \"GET /internal/apm/suggestions\" | \"GET /internal/apm/traces/{traceId}\" | \"GET /internal/apm/traces\" | \"GET /internal/apm/traces/{traceId}/root_transaction\" | \"GET /internal/apm/transactions/{transactionId}\" | \"GET /internal/apm/traces/find\" | \"POST /internal/apm/traces/aggregated_critical_path\" | \"GET /internal/apm/traces/{traceId}/transactions/{transactionId}\" | \"GET /internal/apm/traces/{traceId}/spans/{spanId}\" | \"GET /internal/apm/services/{serviceName}/transactions/groups/main_statistics\" | \"GET /internal/apm/services/{serviceName}/transactions/groups/detailed_statistics\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/latency\" | \"GET /internal/apm/services/{serviceName}/transactions/traces/samples\" | \"GET /internal/apm/services/{serviceName}/transaction/charts/breakdown\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/error_rate\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate\" | \"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate_by_transaction_name\" | \"GET /internal/apm/rule_types/transaction_error_rate/chart_preview\" | \"GET /internal/apm/rule_types/transaction_duration/chart_preview\" | \"GET /internal/apm/rule_types/error_count/chart_preview\" | \"GET /api/apm/settings/agent-configuration 2023-05-22\" | \"GET /api/apm/settings/agent-configuration/view 2023-05-22\" | \"DELETE /api/apm/settings/agent-configuration 2023-05-22\" | \"PUT /api/apm/settings/agent-configuration 2023-05-22\" | \"POST /api/apm/settings/agent-configuration/search 2023-05-22\" | \"GET /api/apm/settings/agent-configuration/environments 2023-05-22\" | \"GET /api/apm/settings/agent-configuration/agent_name 2023-05-22\" | \"GET /internal/apm/settings/anomaly-detection/jobs\" | \"POST /internal/apm/settings/anomaly-detection/jobs\" | \"GET /internal/apm/settings/anomaly-detection/environments\" | \"POST /internal/apm/settings/anomaly-detection/update_to_v3\" | \"GET /internal/apm/settings/apm-index-settings\" | \"GET /internal/apm/settings/apm-indices\" | \"POST /internal/apm/settings/apm-indices/save\" | \"GET /internal/apm/settings/custom_links/transaction\" | \"GET /internal/apm/settings/custom_links\" | \"POST /internal/apm/settings/custom_links\" | \"PUT /internal/apm/settings/custom_links/{id}\" | \"DELETE /internal/apm/settings/custom_links/{id}\" | \"GET /api/apm/sourcemaps 2023-05-22\" | \"POST /api/apm/sourcemaps 2023-05-22\" | \"DELETE /api/apm/sourcemaps/{id} 2023-05-22\" | \"POST /internal/apm/sourcemaps/migrate_fleet_artifacts\" | \"GET /internal/apm/fleet/has_apm_policies\" | \"GET /internal/apm/fleet/agents\" | \"POST /api/apm/fleet/apm_server_schema 2023-05-22\" | \"GET /internal/apm/fleet/apm_server_schema/unsupported\" | \"GET /internal/apm/fleet/migration_check\" | \"POST /internal/apm/fleet/cloud_apm_package_policy\" | \"GET /internal/apm/fleet/java_agent_versions\" | \"GET /internal/apm/dependencies/top_dependencies\" | \"GET /internal/apm/dependencies/upstream_services\" | \"GET /internal/apm/dependencies/metadata\" | \"GET /internal/apm/dependencies/charts/latency\" | \"GET /internal/apm/dependencies/charts/throughput\" | \"GET /internal/apm/dependencies/charts/error_rate\" | \"GET /internal/apm/dependencies/operations\" | \"GET /internal/apm/dependencies/charts/distribution\" | \"GET /internal/apm/dependencies/operations/spans\" | \"GET /internal/apm/correlations/field_candidates/transactions\" | \"GET /internal/apm/correlations/field_value_stats/transactions\" | \"POST /internal/apm/correlations/field_value_pairs/transactions\" | \"POST /internal/apm/correlations/significant_correlations/transactions\" | \"POST /internal/apm/correlations/p_values/transactions\" | \"GET /internal/apm/fallback_to_transactions\" | \"GET /internal/apm/has_data\" | \"GET /internal/apm/event_metadata/{processorEvent}/{id}\" | \"GET /internal/apm/agent_keys\" | \"GET /internal/apm/agent_keys/privileges\" | \"POST /internal/apm/api_key/invalidate\" | \"POST /api/apm/agent_keys 2023-05-22\" | \"GET /internal/apm/storage_explorer\" | \"GET /internal/apm/services/{serviceName}/storage_details\" | \"GET /internal/apm/storage_chart\" | \"GET /internal/apm/storage_explorer/privileges\" | \"GET /internal/apm/storage_explorer_summary_stats\" | \"GET /internal/apm/storage_explorer/is_cross_cluster_search\" | \"GET /internal/apm/storage_explorer/get_services\" | \"GET /internal/apm/traces/{traceId}/span_links/{spanId}/parents\" | \"GET /internal/apm/traces/{traceId}/span_links/{spanId}/children\" | \"GET /internal/apm/services/{serviceName}/infrastructure_attributes\" | \"GET /internal/apm/debug-telemetry\" | \"GET /internal/apm/time_range_metadata\" | \"GET /internal/apm/settings/labs\" | \"GET /internal/apm/get_agents_per_service\" | \"GET /internal/apm/get_latest_agent_versions\" | \"GET /internal/apm/services/{serviceName}/agent_instances\" | \"GET /internal/apm/services/{serviceName}/mobile/filters\" | \"GET /internal/apm/mobile-services/{serviceName}/most_used_charts\" | \"GET /internal/apm/mobile-services/{serviceName}/transactions/charts/sessions\" | \"GET /internal/apm/mobile-services/{serviceName}/transactions/charts/http_requests\" | \"GET /internal/apm/mobile-services/{serviceName}/stats\" | \"GET /internal/apm/mobile-services/{serviceName}/location/stats\" | \"GET /internal/apm/mobile-services/{serviceName}/terms\" | \"GET /internal/apm/mobile-services/{serviceName}/main_statistics\" | \"GET /internal/apm/mobile-services/{serviceName}/detailed_statistics\" | \"GET /internal/apm/diagnostics\"" ], "path": "x-pack/plugins/apm/server/routes/apm_routes/get_global_apm_server_route_repository.ts", "deprecated": false, @@ -897,15 +921,31 @@ "label": "APMServerRouteRepository", "description": [], "signature": [ - "{ \"GET /internal/apm/mobile-services/{serviceName}/detailed_statistics\": ", + "{ \"GET /internal/apm/diagnostics\": { endpoint: \"GET /internal/apm/diagnostics\"; params?: undefined; handler: ({}: ", { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" + "pluginId": "apm", + "scope": "server", + "docId": "kibApmPluginApi", + "section": "def-server.APMRouteHandlerResources", + "text": "APMRouteHandlerResources" }, - "<\"GET /internal/apm/mobile-services/{serviceName}/detailed_statistics\", ", + ") => Promise<{ esResponses: { existingIndexTemplates: ", + "IndicesGetIndexTemplateIndexTemplateItem", + "[]; fieldCaps: ", + "FieldCapsResponse", + "; indices: ", + "IndicesGetResponse", + "; ingestPipelines: ", + "IngestGetPipelineResponse", + "; }; apmIndexTemplates: { name: string; isNonStandard: boolean; exists: boolean; }[]; fleetPackageInfo: { isInstalled: boolean; version?: string | undefined; }; kibanaVersion: string; elasticsearchVersion: string; invalidIndices: ", + "IndiciesItem", + "[]; validIndices: ", + "IndiciesItem", + "[]; dataStreams: ", + "IndicesDataStream", + "[]; nonDataStreamIndices: string[]; indexTemplatesByIndexPattern: { indexPattern: string; indexTemplates: { priority: number | undefined; isNonStandard: boolean; templateIndexPatterns: string[]; templateName: string; }[]; }[]; }>; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/mobile-services/{serviceName}/detailed_statistics\": { endpoint: \"GET /internal/apm/mobile-services/{serviceName}/detailed_statistics\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -953,7 +993,7 @@ "StringC", "; fieldValues: ", "Type", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -961,19 +1001,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "MobileDetailedStatisticsResponse", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/mobile-services/{serviceName}/main_statistics\": ", + " & { params: { path: { serviceName: string; }; query: { kuery: string; } & { start: number; end: number; } & { offset?: string | undefined; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { field: string; fieldValues: string[]; }; }; }) => Promise<", + "MobileDetailedStatisticsResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/mobile-services/{serviceName}/main_statistics\": { endpoint: \"GET /internal/apm/mobile-services/{serviceName}/main_statistics\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -1015,7 +1057,7 @@ "TypeC", "<{ field: ", "StringC", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -1023,19 +1065,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "MobileMainStatisticsResponse", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/mobile-services/{serviceName}/terms\": ", + " & { params: { path: { serviceName: string; }; query: { kuery: string; } & { start: number; end: number; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { field: string; }; }; }) => Promise<", + "MobileMainStatisticsResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/mobile-services/{serviceName}/terms\": { endpoint: \"GET /internal/apm/mobile-services/{serviceName}/terms\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -1079,7 +1123,7 @@ "Type", "; fieldName: ", "StringC", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -1087,19 +1131,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { terms: ", - "MobileTermsByFieldResponse", - "; }, ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/mobile-services/{serviceName}/location/stats\": ", + " & { params: { path: { serviceName: string; }; query: { kuery: string; } & { start: number; end: number; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { size: number; fieldName: string; }; }; }) => Promise<{ terms: ", + "MobileTermsByFieldResponse", + "; }>; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/mobile-services/{serviceName}/location/stats\": { endpoint: \"GET /internal/apm/mobile-services/{serviceName}/location/stats\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -1145,7 +1191,7 @@ "PartialC", "<{ locationField: ", "StringC", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -1153,19 +1199,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "MobileLocationStats", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/mobile-services/{serviceName}/stats\": ", + " & { params: { path: { serviceName: string; }; query: { kuery: string; } & { start: number; end: number; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { offset?: string | undefined; } & { locationField?: string | undefined; }; }; }) => Promise<", + "MobileLocationStats", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/mobile-services/{serviceName}/stats\": { endpoint: \"GET /internal/apm/mobile-services/{serviceName}/stats\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -1211,7 +1259,7 @@ "PartialC", "<{ transactionType: ", "StringC", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -1219,19 +1267,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "MobilePeriodStats", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/mobile-services/{serviceName}/transactions/charts/http_requests\": ", + " & { params: { path: { serviceName: string; }; query: { kuery: string; } & { start: number; end: number; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { offset?: string | undefined; } & { transactionType?: string | undefined; }; }; }) => Promise<", + "MobilePeriodStats", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/mobile-services/{serviceName}/transactions/charts/http_requests\": { endpoint: \"GET /internal/apm/mobile-services/{serviceName}/transactions/charts/http_requests\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -1279,7 +1329,7 @@ "StringC", "; transactionName: ", "StringC", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -1287,19 +1337,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "HttpRequestsTimeseries", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/mobile-services/{serviceName}/transactions/charts/sessions\": ", + " & { params: { path: { serviceName: string; }; query: { kuery: string; } & { start: number; end: number; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { offset?: string | undefined; } & { transactionType?: string | undefined; transactionName?: string | undefined; }; }; }) => Promise<", + "HttpRequestsTimeseries", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/mobile-services/{serviceName}/transactions/charts/sessions\": { endpoint: \"GET /internal/apm/mobile-services/{serviceName}/transactions/charts/sessions\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -1347,7 +1399,7 @@ "StringC", "; transactionName: ", "StringC", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -1355,19 +1407,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "SessionsTimeseries", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/mobile-services/{serviceName}/most_used_charts\": ", + " & { params: { path: { serviceName: string; }; query: { kuery: string; } & { start: number; end: number; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { offset?: string | undefined; } & { transactionType?: string | undefined; transactionName?: string | undefined; }; }; }) => Promise<", + "SessionsTimeseries", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/mobile-services/{serviceName}/most_used_charts\": { endpoint: \"GET /internal/apm/mobile-services/{serviceName}/most_used_charts\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -1409,7 +1463,7 @@ "PartialC", "<{ transactionType: ", "StringC", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -1417,19 +1471,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { mostUsedCharts: { key: ", - "MobilePropertyType", - "; options: { key: string | number; docCount: number; }[] & { key: string | number; docCount: number; }[]; }[]; }, ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/mobile/filters\": ", + " & { params: { path: { serviceName: string; }; query: { kuery: string; } & { start: number; end: number; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { transactionType?: string | undefined; }; }; }) => Promise<{ mostUsedCharts: { key: ", + "MobilePropertyType", + "; options: { key: string | number; docCount: number; }[] & { key: string | number; docCount: number; }[]; }[]; }>; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/services/{serviceName}/mobile/filters\": { endpoint: \"GET /internal/apm/services/{serviceName}/mobile/filters\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -1471,7 +1527,7 @@ "PartialC", "<{ transactionType: ", "StringC", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -1479,19 +1535,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { mobileFilters: ", - "MobileFiltersResponse", - "; }, ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/agent_instances\": ", + " & { params: { path: { serviceName: string; }; query: { kuery: string; } & { start: number; end: number; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { transactionType?: string | undefined; }; }; }) => Promise<{ mobileFilters: ", + "MobileFiltersResponse", + "; }>; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/services/{serviceName}/agent_instances\": { endpoint: \"GET /internal/apm/services/{serviceName}/agent_instances\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -1533,7 +1591,7 @@ "TypeC", "<{ probability: ", "Type", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -1541,19 +1599,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { items: ", - "AgentExplorerAgentInstancesResponse", - "; }, ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/get_latest_agent_versions\": ", + " & { params: { path: { serviceName: string; }; query: { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; } & { probability: number; }; }; }) => Promise<{ items: ", + "AgentExplorerAgentInstancesResponse", + "; }>; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/get_latest_agent_versions\": { endpoint: \"GET /internal/apm/get_latest_agent_versions\"; params?: undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -1561,19 +1621,11 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", + ") => Promise<", "AgentLatestVersionsResponse", - ", ", + ">; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/get_agents_per_service\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/get_agents_per_service\", ", + "; \"GET /internal/apm/get_agents_per_service\": { endpoint: \"GET /internal/apm/get_agents_per_service\"; params?: ", "TypeC", "<{ query: ", "IntersectionC", @@ -1617,7 +1669,7 @@ "StringC", "; agentLanguage: ", "StringC", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -1625,19 +1677,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "AgentExplorerAgentsResponse", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/settings/labs\": ", + " & { params: { query: { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; } & { probability: number; } & { serviceName?: string | undefined; agentLanguage?: string | undefined; }; }; }) => Promise<", + "AgentExplorerAgentsResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/settings/labs\": { endpoint: \"GET /internal/apm/settings/labs\"; params?: undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -1645,17 +1699,9 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { labsItems: string[]; }, ", + ") => Promise<{ labsItems: string[]; }>; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/time_range_metadata\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/time_range_metadata\", ", + "; \"GET /internal/apm/time_range_metadata\": { endpoint: \"GET /internal/apm/time_range_metadata\"; params?: ", "TypeC", "<{ query: ", "IntersectionC", @@ -1677,7 +1723,7 @@ "Type", "; end: ", "Type", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -1685,19 +1731,11 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", + " & { params: { query: { useSpanName: boolean; enableServiceTransactionMetrics: boolean; enableContinuousRollups: boolean; } & { kuery: string; } & { start: number; end: number; }; }; }) => Promise<", "TimeRangeMetadata", - ", ", + ">; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/debug-telemetry\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/debug-telemetry\", undefined, ", + "; \"GET /internal/apm/debug-telemetry\": { endpoint: \"GET /internal/apm/debug-telemetry\"; params?: undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -1705,17 +1743,9 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", unknown, ", + ") => Promise; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/infrastructure_attributes\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/services/{serviceName}/infrastructure_attributes\", ", + "; \"GET /internal/apm/services/{serviceName}/infrastructure_attributes\": { endpoint: \"GET /internal/apm/services/{serviceName}/infrastructure_attributes\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -1753,7 +1783,7 @@ "section": "def-common.NonEmptyStringBrand", "text": "NonEmptyStringBrand" }, - ">]>; }>]>; }>, ", + ">]>; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -1761,17 +1791,19 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { containerIds: string[]; hostNames: string[]; podNames: string[]; }, ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/traces/{traceId}/span_links/{spanId}/children\": ", + " & { params: { path: { serviceName: string; }; query: { kuery: string; } & { start: number; end: number; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; }; }; }) => Promise<{ containerIds: string[]; hostNames: string[]; podNames: string[]; }>; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/traces/{traceId}/span_links/{spanId}/children\": { endpoint: \"GET /internal/apm/traces/{traceId}/span_links/{spanId}/children\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -1791,7 +1823,7 @@ "Type", "; end: ", "Type", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -1799,19 +1831,11 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { spanLinksDetails: ", + " & { params: { path: { traceId: string; spanId: string; }; query: { kuery: string; } & { start: number; end: number; }; }; }) => Promise<{ spanLinksDetails: ", "SpanLinkDetails", - "[]; }, ", + "[]; }>; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/traces/{traceId}/span_links/{spanId}/parents\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/traces/{traceId}/span_links/{spanId}/parents\", ", + "; \"GET /internal/apm/traces/{traceId}/span_links/{spanId}/parents\": { endpoint: \"GET /internal/apm/traces/{traceId}/span_links/{spanId}/parents\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -1875,7 +1899,7 @@ "section": "def-common.ProcessorEvent", "text": "ProcessorEvent" }, - ".span>]>; }>]>; }>, ", + ".span>]>; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -1883,19 +1907,19 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { spanLinksDetails: ", - "SpanLinkDetails", - "[]; }, ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/storage_explorer/get_services\": ", + " & { params: { path: { traceId: string; spanId: string; }; query: { kuery: string; } & { start: number; end: number; } & { processorEvent: ", { - "pluginId": "@kbn/server-route-repository", + "pluginId": "observability", "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" + "docId": "kibObservabilityPluginApi", + "section": "def-common.ProcessorEvent", + "text": "ProcessorEvent" }, - "<\"GET /internal/apm/storage_explorer/get_services\", ", + "; }; }; }) => Promise<{ spanLinksDetails: ", + "SpanLinkDetails", + "[]; }>; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/storage_explorer/get_services\": { endpoint: \"GET /internal/apm/storage_explorer/get_services\"; params?: ", "TypeC", "<{ query: ", "IntersectionC", @@ -1947,7 +1971,7 @@ "TypeC", "<{ kuery: ", "StringC", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -1955,17 +1979,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { services: { serviceName: string; }[]; }, ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/storage_explorer/is_cross_cluster_search\": ", + " & { params: { query: { indexLifecyclePhase: ", + "IndexLifecyclePhaseSelectOption", + "; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; }; }; }) => Promise<{ services: { serviceName: string; }[]; }>; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/storage_explorer/is_cross_cluster_search\": { endpoint: \"GET /internal/apm/storage_explorer/is_cross_cluster_search\"; params?: undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -1973,17 +2001,9 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { isCrossClusterSearch: boolean; }, ", + ") => Promise<{ isCrossClusterSearch: boolean; }>; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/storage_explorer_summary_stats\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/storage_explorer_summary_stats\", ", + "; \"GET /internal/apm/storage_explorer_summary_stats\": { endpoint: \"GET /internal/apm/storage_explorer_summary_stats\"; params?: ", "TypeC", "<{ query: ", "IntersectionC", @@ -2045,7 +2065,7 @@ "Type", "; end: ", "Type", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -2053,19 +2073,23 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "StorageExplorerSummaryStatisticsResponse", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/storage_explorer/privileges\": ", + " & { params: { query: { indexLifecyclePhase: ", + "IndexLifecyclePhaseSelectOption", + "; } & { probability: number; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; }; }; }) => Promise<", + "StorageExplorerSummaryStatisticsResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/storage_explorer/privileges\": { endpoint: \"GET /internal/apm/storage_explorer/privileges\"; params?: undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -2073,17 +2097,9 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { hasPrivileges: boolean; }, ", + ") => Promise<{ hasPrivileges: boolean; }>; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/storage_chart\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/storage_chart\", ", + "; \"GET /internal/apm/storage_chart\": { endpoint: \"GET /internal/apm/storage_chart\"; params?: ", "TypeC", "<{ query: ", "IntersectionC", @@ -2145,7 +2161,7 @@ "Type", "; end: ", "Type", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -2153,19 +2169,23 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { storageTimeSeries: ", - "SizeTimeseriesResponse", - "; }, ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/storage_details\": ", + " & { params: { query: { indexLifecyclePhase: ", + "IndexLifecyclePhaseSelectOption", + "; } & { probability: number; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; }; }; }) => Promise<{ storageTimeSeries: ", + "SizeTimeseriesResponse", + "; }>; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/services/{serviceName}/storage_details\": { endpoint: \"GET /internal/apm/services/{serviceName}/storage_details\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -2231,7 +2251,7 @@ "Type", "; end: ", "Type", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -2239,19 +2259,23 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "StorageDetailsResponse", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/storage_explorer\": ", + " & { params: { path: { serviceName: string; }; query: { indexLifecyclePhase: ", + "IndexLifecyclePhaseSelectOption", + "; } & { probability: number; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; }; }; }) => Promise<", + "StorageDetailsResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/storage_explorer\": { endpoint: \"GET /internal/apm/storage_explorer\"; params?: ", "TypeC", "<{ query: ", "IntersectionC", @@ -2313,7 +2337,7 @@ "Type", "; end: ", "Type", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -2321,19 +2345,23 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { serviceStatistics: ", - "StorageExplorerServiceStatisticsResponse", - "; }, ", - "APMRouteCreateOptions", - ">; \"POST /api/apm/agent_keys\": ", + " & { params: { query: { indexLifecyclePhase: ", + "IndexLifecyclePhaseSelectOption", + "; } & { probability: number; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; }; }; }) => Promise<{ serviceStatistics: ", + "StorageExplorerServiceStatisticsResponse", + "; }>; } & ", + "APMRouteCreateOptions", + "; \"POST /api/apm/agent_keys 2023-05-22\": { endpoint: \"POST /api/apm/agent_keys 2023-05-22\"; params?: ", "TypeC", "<{ body: ", "TypeC", @@ -2351,7 +2379,7 @@ "LiteralC", "<", "PrivilegeType", - ".AGENT_CONFIG>]>>; }>; }>, ", + ".AGENT_CONFIG>]>>; }>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -2359,25 +2387,19 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", + " & { params: { body: { name: string; privileges: ", + "PrivilegeType", + "[]; }; }; }) => Promise<", "CreateAgentKeyResponse", - ", ", + ">; } & ", "APMRouteCreateOptions", - ">; \"POST /internal/apm/api_key/invalidate\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"POST /internal/apm/api_key/invalidate\", ", + "; \"POST /internal/apm/api_key/invalidate\": { endpoint: \"POST /internal/apm/api_key/invalidate\"; params?: ", "TypeC", "<{ body: ", "TypeC", "<{ id: ", "StringC", - "; }>; }>, ", + "; }>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -2385,19 +2407,11 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", + " & { params: { body: { id: string; }; }; }) => Promise<", "InvalidateAgentKeyResponse", - ", ", + ">; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/agent_keys/privileges\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/agent_keys/privileges\", undefined, ", + "; \"GET /internal/apm/agent_keys/privileges\": { endpoint: \"GET /internal/apm/agent_keys/privileges\"; params?: undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -2405,19 +2419,11 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", + ") => Promise<", "AgentKeysPrivilegesResponse", - ", ", + ">; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/agent_keys\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/agent_keys\", undefined, ", + "; \"GET /internal/apm/agent_keys\": { endpoint: \"GET /internal/apm/agent_keys\"; params?: undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -2425,19 +2431,11 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", + ") => Promise<", "AgentKeysResponse", - ", ", + ">; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/event_metadata/{processorEvent}/{id}\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/event_metadata/{processorEvent}/{id}\", ", + "; \"GET /internal/apm/event_metadata/{processorEvent}/{id}\": { endpoint: \"GET /internal/apm/event_metadata/{processorEvent}/{id}\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -2485,7 +2483,7 @@ }, ".span>]>; id: ", "StringC", - "; }>; }>, ", + "; }>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -2493,17 +2491,17 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { metadata: Partial>; }, ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/has_data\": ", + " & { params: { path: { processorEvent: ", { - "pluginId": "@kbn/server-route-repository", + "pluginId": "observability", "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" + "docId": "kibObservabilityPluginApi", + "section": "def-common.ProcessorEvent", + "text": "ProcessorEvent" }, - "<\"GET /internal/apm/has_data\", undefined, ", + "; id: string; }; }; }) => Promise<{ metadata: Partial>; }>; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/has_data\": { endpoint: \"GET /internal/apm/has_data\"; params?: undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -2511,17 +2509,9 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { hasData: boolean; }, ", + ") => Promise<{ hasData: boolean; }>; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/fallback_to_transactions\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/fallback_to_transactions\", ", + "; \"GET /internal/apm/fallback_to_transactions\": { endpoint: \"GET /internal/apm/fallback_to_transactions\"; params?: ", "PartialC", "<{ query: ", "IntersectionC", @@ -2535,7 +2525,7 @@ "Type", "; end: ", "Type", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -2543,17 +2533,9 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { fallbackToTransactions: boolean; }, ", + " & { params?: { query?: ({ kuery: string; } & { start?: number | undefined; end?: number | undefined; }) | undefined; } | undefined; }) => Promise<{ fallbackToTransactions: boolean; }>; } & ", "APMRouteCreateOptions", - ">; \"POST /internal/apm/correlations/p_values/transactions\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"POST /internal/apm/correlations/p_values/transactions\", ", + "; \"POST /internal/apm/correlations/p_values/transactions\": { endpoint: \"POST /internal/apm/correlations/p_values/transactions\"; params?: ", "TypeC", "<{ body: ", "IntersectionC", @@ -2605,7 +2587,7 @@ "ArrayC", "<", "StringC", - ">; }>]>; }>, ", + ">; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -2613,19 +2595,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "PValuesResponse", - ", ", - "APMRouteCreateOptions", - ">; \"POST /internal/apm/correlations/significant_correlations/transactions\": ", + " & { params: { body: { serviceName?: string | undefined; transactionName?: string | undefined; transactionType?: string | undefined; durationMin?: number | undefined; durationMax?: number | undefined; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; } & { fieldCandidates: string[]; }; }; }) => Promise<", + "PValuesResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"POST /internal/apm/correlations/significant_correlations/transactions\": { endpoint: \"POST /internal/apm/correlations/significant_correlations/transactions\"; params?: ", "TypeC", "<{ body: ", "IntersectionC", @@ -2685,7 +2669,7 @@ "StringC", ", ", "Type", - "]>; }>>; }>]>; }>, ", + "]>; }>>; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -2693,19 +2677,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "SignificantCorrelationsResponse", - ", ", - "APMRouteCreateOptions", - ">; \"POST /internal/apm/correlations/field_value_pairs/transactions\": ", + " & { params: { body: { serviceName?: string | undefined; transactionName?: string | undefined; transactionType?: string | undefined; durationMin?: number | undefined; durationMax?: number | undefined; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; } & { fieldValuePairs: { fieldName: string; fieldValue: string | number; }[]; }; }; }) => Promise<", + "SignificantCorrelationsResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"POST /internal/apm/correlations/field_value_pairs/transactions\": { endpoint: \"POST /internal/apm/correlations/field_value_pairs/transactions\"; params?: ", "TypeC", "<{ body: ", "IntersectionC", @@ -2753,7 +2739,7 @@ "ArrayC", "<", "StringC", - ">; }>]>; }>, ", + ">; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -2761,19 +2747,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "FieldValuePairsResponse", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/correlations/field_value_stats/transactions\": ", + " & { params: { body: { serviceName?: string | undefined; transactionName?: string | undefined; transactionType?: string | undefined; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; } & { fieldCandidates: string[]; }; }; }) => Promise<", + "FieldValuePairsResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/correlations/field_value_stats/transactions\": { endpoint: \"GET /internal/apm/correlations/field_value_stats/transactions\"; params?: ", "TypeC", "<{ query: ", "IntersectionC", @@ -2827,7 +2815,7 @@ "StringC", ", ", "NumberC", - "]>; }>]>; }>, ", + "]>; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -2835,19 +2823,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "TopValuesStats", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/correlations/field_candidates/transactions\": ", + " & { params: { query: { serviceName?: string | undefined; transactionName?: string | undefined; transactionType?: string | undefined; samplerShardSize?: string | undefined; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; } & { fieldName: string; fieldValue: string | number; }; }; }) => Promise<", + "TopValuesStats", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/correlations/field_candidates/transactions\": { endpoint: \"GET /internal/apm/correlations/field_candidates/transactions\"; params?: ", "TypeC", "<{ query: ", "IntersectionC", @@ -2889,7 +2879,7 @@ "Type", "; end: ", "Type", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -2897,19 +2887,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "DurationFieldCandidatesResponse", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/dependencies/operations/spans\": ", + " & { params: { query: { serviceName?: string | undefined; transactionName?: string | undefined; transactionType?: string | undefined; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; }; }; }) => Promise<", + "DurationFieldCandidatesResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/dependencies/operations/spans\": { endpoint: \"GET /internal/apm/dependencies/operations/spans\"; params?: ", "TypeC", "<{ query: ", "IntersectionC", @@ -2955,7 +2947,7 @@ "Type", "; sampleRangeTo: ", "Type", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -2963,19 +2955,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { spans: ", - "DependencySpan", - "[]; }, ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/dependencies/charts/distribution\": ", + " & { params: { query: { start: number; end: number; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { dependencyName: string; spanName: string; } & { sampleRangeFrom?: number | undefined; sampleRangeTo?: number | undefined; }; }; }) => Promise<{ spans: ", + "DependencySpan", + "[]; }>; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/dependencies/charts/distribution\": { endpoint: \"GET /internal/apm/dependencies/charts/distribution\"; params?: ", "TypeC", "<{ query: ", "IntersectionC", @@ -3017,7 +3011,7 @@ "section": "def-common.NonEmptyStringBrand", "text": "NonEmptyStringBrand" }, - ">]>; }>]>; }>, ", + ">]>; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -3025,19 +3019,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "DependencyLatencyDistributionResponse", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/dependencies/operations\": ", + " & { params: { query: { dependencyName: string; spanName: string; percentileThreshold: number; } & { start: number; end: number; } & { kuery: string; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; }; }; }) => Promise<", + "DependencyLatencyDistributionResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/dependencies/operations\": { endpoint: \"GET /internal/apm/dependencies/operations\"; params?: ", "TypeC", "<{ query: ", "IntersectionC", @@ -3081,7 +3077,7 @@ "StringC", "; searchServiceDestinationMetrics: ", "Type", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -3089,19 +3085,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { operations: ", - "DependencyOperation", - "[]; }, ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/dependencies/charts/error_rate\": ", + " & { params: { query: { start: number; end: number; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { offset?: string | undefined; } & { dependencyName: string; searchServiceDestinationMetrics: boolean; }; }; }) => Promise<{ operations: ", + "DependencyOperation", + "[]; }>; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/dependencies/charts/error_rate\": { endpoint: \"GET /internal/apm/dependencies/charts/error_rate\"; params?: ", "TypeC", "<{ query: ", "IntersectionC", @@ -3147,7 +3145,7 @@ "PartialC", "<{ offset: ", "StringC", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -3155,17 +3153,19 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { currentTimeseries: { x: number; y: number; }[]; comparisonTimeseries: { x: number; y: number; }[] | null; }, ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/dependencies/charts/throughput\": ", + " & { params: { query: { dependencyName: string; spanName: string; searchServiceDestinationMetrics: boolean; } & { start: number; end: number; } & { kuery: string; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { offset?: string | undefined; }; }; }) => Promise<{ currentTimeseries: { x: number; y: number; }[]; comparisonTimeseries: { x: number; y: number; }[] | null; }>; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/dependencies/charts/throughput\": { endpoint: \"GET /internal/apm/dependencies/charts/throughput\"; params?: ", "TypeC", "<{ query: ", "IntersectionC", @@ -3211,7 +3211,7 @@ "PartialC", "<{ offset: ", "StringC", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -3219,19 +3219,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "ThroughputChartsForDependencyResponse", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/dependencies/charts/latency\": ", + " & { params: { query: { dependencyName: string; spanName: string; searchServiceDestinationMetrics: boolean; } & { start: number; end: number; } & { kuery: string; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { offset?: string | undefined; }; }; }) => Promise<", + "ThroughputChartsForDependencyResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/dependencies/charts/latency\": { endpoint: \"GET /internal/apm/dependencies/charts/latency\"; params?: ", "TypeC", "<{ query: ", "IntersectionC", @@ -3277,7 +3279,7 @@ "PartialC", "<{ offset: ", "StringC", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -3285,19 +3287,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "LatencyChartsDependencyResponse", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/dependencies/metadata\": ", + " & { params: { query: { dependencyName: string; spanName: string; searchServiceDestinationMetrics: boolean; } & { start: number; end: number; } & { kuery: string; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { offset?: string | undefined; }; }; }) => Promise<", + "LatencyChartsDependencyResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/dependencies/metadata\": { endpoint: \"GET /internal/apm/dependencies/metadata\"; params?: ", "TypeC", "<{ query: ", "IntersectionC", @@ -3311,7 +3315,7 @@ "Type", "; end: ", "Type", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -3319,19 +3323,11 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { metadata: ", + " & { params: { query: { dependencyName: string; } & { start: number; end: number; }; }; }) => Promise<{ metadata: ", "MetadataForDependencyResponse", - "; }, ", + "; }>; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/dependencies/upstream_services\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/dependencies/upstream_services\", ", + "; \"GET /internal/apm/dependencies/upstream_services\": { endpoint: \"GET /internal/apm/dependencies/upstream_services\"; params?: ", "IntersectionC", "<[", "TypeC", @@ -3383,7 +3379,7 @@ "TypeC", "<{ kuery: ", "StringC", - "; }>]>; }>]>, ", + "; }>]>; }>]> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -3391,19 +3387,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "UpstreamServicesForDependencyResponse", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/dependencies/top_dependencies\": ", + " & { params: { query: { dependencyName: string; } & { start: number; end: number; } & { numBuckets: number; }; } & { query?: ({ environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { offset?: string | undefined; } & { kuery: string; }) | undefined; }; }) => Promise<", + "UpstreamServicesForDependencyResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/dependencies/top_dependencies\": { endpoint: \"GET /internal/apm/dependencies/top_dependencies\"; params?: ", "IntersectionC", "<[", "TypeC", @@ -3449,7 +3447,7 @@ "PartialC", "<{ offset: ", "StringC", - "; }>; }>]>, ", + "; }>; }>]> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -3457,19 +3455,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "TopDependenciesResponse", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/fleet/java_agent_versions\": ", + " & { params: { query: { start: number; end: number; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { numBuckets: number; }; } & { query?: { offset?: string | undefined; } | undefined; }; }) => Promise<", + "TopDependenciesResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/fleet/java_agent_versions\": { endpoint: \"GET /internal/apm/fleet/java_agent_versions\"; params?: undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -3477,17 +3477,9 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { versions: string[] | undefined; }, ", + ") => Promise<{ versions: string[] | undefined; }>; } & ", "APMRouteCreateOptions", - ">; \"POST /internal/apm/fleet/cloud_apm_package_policy\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"POST /internal/apm/fleet/cloud_apm_package_policy\", undefined, ", + "; \"POST /internal/apm/fleet/cloud_apm_package_policy\": { endpoint: \"POST /internal/apm/fleet/cloud_apm_package_policy\"; params?: undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -3495,7 +3487,7 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { cloudApmPackagePolicy: ", + ") => Promise<{ cloudApmPackagePolicy: ", { "pluginId": "fleet", "scope": "common", @@ -3503,17 +3495,9 @@ "section": "def-common.PackagePolicy", "text": "PackagePolicy" }, - "; }, ", + "; }>; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/fleet/migration_check\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/fleet/migration_check\", undefined, ", + "; \"GET /internal/apm/fleet/migration_check\": { endpoint: \"GET /internal/apm/fleet/migration_check\"; params?: undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -3521,19 +3505,11 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", + ") => Promise<", "RunMigrationCheckResponse", - ", ", + ">; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/fleet/apm_server_schema/unsupported\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/fleet/apm_server_schema/unsupported\", undefined, ", + "; \"GET /internal/apm/fleet/apm_server_schema/unsupported\": { endpoint: \"GET /internal/apm/fleet/apm_server_schema/unsupported\"; params?: undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -3541,19 +3517,11 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { unsupported: ", + ") => Promise<{ unsupported: ", "UnsupportedApmServerSchema", - "; }, ", + "; }>; } & ", "APMRouteCreateOptions", - ">; \"POST /api/apm/fleet/apm_server_schema\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"POST /api/apm/fleet/apm_server_schema\", ", + "; \"POST /api/apm/fleet/apm_server_schema 2023-05-22\": { endpoint: \"POST /api/apm/fleet/apm_server_schema 2023-05-22\"; params?: ", "TypeC", "<{ body: ", "TypeC", @@ -3563,7 +3531,7 @@ "StringC", ", ", "UnknownC", - ">; }>; }>, ", + ">; }>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -3571,17 +3539,9 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", void, ", + " & { params: { body: { schema: { [x: string]: unknown; }; }; }; }) => Promise; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/fleet/agents\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/fleet/agents\", undefined, ", + "; \"GET /internal/apm/fleet/agents\": { endpoint: \"GET /internal/apm/fleet/agents\"; params?: undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -3589,19 +3549,11 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", + ") => Promise<", "FleetAgentResponse", - ", ", + ">; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/fleet/has_apm_policies\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/fleet/has_apm_policies\", undefined, ", + "; \"GET /internal/apm/fleet/has_apm_policies\": { endpoint: \"GET /internal/apm/fleet/has_apm_policies\"; params?: undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -3609,17 +3561,9 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { hasApmPolicies: boolean; }, ", + ") => Promise<{ hasApmPolicies: boolean; }>; } & ", "APMRouteCreateOptions", - ">; \"POST /internal/apm/sourcemaps/migrate_fleet_artifacts\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"POST /internal/apm/sourcemaps/migrate_fleet_artifacts\", undefined, ", + "; \"POST /internal/apm/sourcemaps/migrate_fleet_artifacts\": { endpoint: \"POST /internal/apm/sourcemaps/migrate_fleet_artifacts\"; params?: undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -3627,23 +3571,15 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", void, ", + ") => Promise; } & ", "APMRouteCreateOptions", - ">; \"DELETE /api/apm/sourcemaps/{id}\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"DELETE /api/apm/sourcemaps/{id}\", ", + "; \"DELETE /api/apm/sourcemaps/{id} 2023-05-22\": { endpoint: \"DELETE /api/apm/sourcemaps/{id} 2023-05-22\"; params?: ", "TypeC", "<{ path: ", "TypeC", "<{ id: ", "StringC", - "; }>; }>, ", + "; }>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -3651,17 +3587,9 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", void, ", + " & { params: { path: { id: string; }; }; }) => Promise; } & ", "APMRouteCreateOptions", - ">; \"POST /api/apm/sourcemaps\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"POST /api/apm/sourcemaps\", ", + "; \"POST /api/apm/sourcemaps 2023-05-22\": { endpoint: \"POST /api/apm/sourcemaps 2023-05-22\"; params?: ", "TypeC", "<{ body: ", "TypeC", @@ -3673,7 +3601,7 @@ "StringC", "; sourcemap: ", "Type", - "<{ version: number; sources: string[]; mappings: string; } & { names?: string[] | undefined; file?: string | undefined; sourceRoot?: string | undefined; sourcesContent?: (string | null)[] | undefined; }, string | Buffer, unknown>; }>; }>, ", + "<{ version: number; sources: string[]; mappings: string; } & { names?: string[] | undefined; file?: string | undefined; sourceRoot?: string | undefined; sourcesContent?: (string | null)[] | undefined; }, string | Buffer, unknown>; }>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -3681,7 +3609,7 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", + " & { params: { body: { service_name: string; service_version: string; bundle_filepath: string; sourcemap: { version: number; sources: string[]; mappings: string; } & { names?: string[] | undefined; file?: string | undefined; sourceRoot?: string | undefined; sourcesContent?: (string | null)[] | undefined; }; }; }; }) => Promise<", { "pluginId": "fleet", "scope": "server", @@ -3689,17 +3617,9 @@ "section": "def-server.Artifact", "text": "Artifact" }, - " | undefined, ", + " | undefined>; } & ", "APMRouteCreateOptions", - ">; \"GET /api/apm/sourcemaps\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /api/apm/sourcemaps\", ", + "; \"GET /api/apm/sourcemaps 2023-05-22\": { endpoint: \"GET /api/apm/sourcemaps 2023-05-22\"; params?: ", "PartialC", "<{ query: ", "PartialC", @@ -3707,7 +3627,7 @@ "Type", "; perPage: ", "Type", - "; }>; }>, ", + "; }>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -3715,25 +3635,17 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", + " & { params?: { query?: { page?: number | undefined; perPage?: number | undefined; } | undefined; } | undefined; }) => Promise<", "ListSourceMapArtifactsResponse", - " | undefined, ", + " | undefined>; } & ", "APMRouteCreateOptions", - ">; \"DELETE /internal/apm/settings/custom_links/{id}\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"DELETE /internal/apm/settings/custom_links/{id}\", ", + "; \"DELETE /internal/apm/settings/custom_links/{id}\": { endpoint: \"DELETE /internal/apm/settings/custom_links/{id}\"; params?: ", "TypeC", "<{ path: ", "TypeC", "<{ id: ", "StringC", - "; }>; }>, ", + "; }>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -3741,17 +3653,9 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { result: string; }, ", + " & { params: { path: { id: string; }; }; }) => Promise<{ result: string; }>; } & ", "APMRouteCreateOptions", - ">; \"PUT /internal/apm/settings/custom_links/{id}\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"PUT /internal/apm/settings/custom_links/{id}\", ", + "; \"PUT /internal/apm/settings/custom_links/{id}\": { endpoint: \"PUT /internal/apm/settings/custom_links/{id}\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -3789,7 +3693,7 @@ "StringC", "; }>]>; value: ", "StringC", - "; }>>; }>]>; }>, ", + "; }>>; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -3797,17 +3701,9 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", void, ", + " & { params: { path: { id: string; }; body: { label: string; url: string; } & { id?: string | undefined; filters?: { key: \"\" | \"service.name\" | \"service.environment\" | \"transaction.name\" | \"transaction.type\"; value: string; }[] | undefined; }; }; }) => Promise; } & ", "APMRouteCreateOptions", - ">; \"POST /internal/apm/settings/custom_links\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"POST /internal/apm/settings/custom_links\", ", + "; \"POST /internal/apm/settings/custom_links\": { endpoint: \"POST /internal/apm/settings/custom_links\"; params?: ", "TypeC", "<{ body: ", "IntersectionC", @@ -3841,7 +3737,7 @@ "StringC", "; }>]>; value: ", "StringC", - "; }>>; }>]>; }>, ", + "; }>>; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -3849,17 +3745,9 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", void, ", + " & { params: { body: { label: string; url: string; } & { id?: string | undefined; filters?: { key: \"\" | \"service.name\" | \"service.environment\" | \"transaction.name\" | \"transaction.type\"; value: string; }[] | undefined; }; }; }) => Promise; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/settings/custom_links\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/settings/custom_links\", ", + "; \"GET /internal/apm/settings/custom_links\": { endpoint: \"GET /internal/apm/settings/custom_links\"; params?: ", "PartialC", "<{ query: ", "PartialC", @@ -3871,7 +3759,7 @@ "StringC", "; 'transaction.type': ", "StringC", - "; }>; }>, ", + "; }>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -3879,19 +3767,11 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { customLinks: ", + " & { params?: { query?: { 'service.name'?: string | undefined; 'service.environment'?: string | undefined; 'transaction.name'?: string | undefined; 'transaction.type'?: string | undefined; } | undefined; } | undefined; }) => Promise<{ customLinks: ", "CustomLink", - "[]; }, ", + "[]; }>; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/settings/custom_links/transaction\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/settings/custom_links/transaction\", ", + "; \"GET /internal/apm/settings/custom_links/transaction\": { endpoint: \"GET /internal/apm/settings/custom_links/transaction\"; params?: ", "PartialC", "<{ query: ", "PartialC", @@ -3903,7 +3783,7 @@ "StringC", "; 'transaction.type': ", "StringC", - "; }>; }>, ", + "; }>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -3911,23 +3791,15 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", + " & { params?: { query?: { 'service.name'?: string | undefined; 'service.environment'?: string | undefined; 'transaction.name'?: string | undefined; 'transaction.type'?: string | undefined; } | undefined; } | undefined; }) => Promise<", "Transaction", - ", ", + ">; } & ", "APMRouteCreateOptions", - ">; \"POST /internal/apm/settings/apm-indices/save\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"POST /internal/apm/settings/apm-indices/save\", ", + "; \"POST /internal/apm/settings/apm-indices/save\": { endpoint: \"POST /internal/apm/settings/apm-indices/save\"; params?: ", "TypeC", "<{ body: ", "PartialC", - "; }>, ", + "; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -3935,7 +3807,7 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", + " & { params: { body: { readonly error?: string | undefined; readonly metric?: string | undefined; readonly span?: string | undefined; readonly transaction?: string | undefined; readonly onboarding?: string | undefined; }; }; }) => Promise<", { "pluginId": "@kbn/core-saved-objects-common", "scope": "common", @@ -3943,17 +3815,9 @@ "section": "def-common.SavedObject", "text": "SavedObject" }, - "<{}>, ", + "<{}>>; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/settings/apm-indices\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/settings/apm-indices\", undefined, ", + "; \"GET /internal/apm/settings/apm-indices\": { endpoint: \"GET /internal/apm/settings/apm-indices\"; params?: undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -3961,17 +3825,9 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", Readonly<{ error: string; onboarding: string; span: string; transaction: string; metric: string; }>, ", + ") => Promise>; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/settings/apm-index-settings\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/settings/apm-index-settings\", undefined, ", + "; \"GET /internal/apm/settings/apm-index-settings\": { endpoint: \"GET /internal/apm/settings/apm-index-settings\"; params?: undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -3979,19 +3835,11 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { apmIndexSettings: ", + ") => Promise<{ apmIndexSettings: ", "ApmIndexSettingsResponse", - "; }, ", + "; }>; } & ", "APMRouteCreateOptions", - ">; \"POST /internal/apm/settings/anomaly-detection/update_to_v3\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"POST /internal/apm/settings/anomaly-detection/update_to_v3\", undefined, ", + "; \"POST /internal/apm/settings/anomaly-detection/update_to_v3\": { endpoint: \"POST /internal/apm/settings/anomaly-detection/update_to_v3\"; params?: undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -3999,17 +3847,9 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { update: boolean; }, ", + ") => Promise<{ update: boolean; }>; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/settings/anomaly-detection/environments\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/settings/anomaly-detection/environments\", undefined, ", + "; \"GET /internal/apm/settings/anomaly-detection/environments\": { endpoint: \"GET /internal/apm/settings/anomaly-detection/environments\"; params?: undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -4017,17 +3857,9 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { environments: string[]; }, ", + ") => Promise<{ environments: string[]; }>; } & ", "APMRouteCreateOptions", - ">; \"POST /internal/apm/settings/anomaly-detection/jobs\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"POST /internal/apm/settings/anomaly-detection/jobs\", ", + "; \"POST /internal/apm/settings/anomaly-detection/jobs\": { endpoint: \"POST /internal/apm/settings/anomaly-detection/jobs\"; params?: ", "TypeC", "<{ body: ", "TypeC", @@ -4051,7 +3883,7 @@ "section": "def-common.NonEmptyStringBrand", "text": "NonEmptyStringBrand" }, - ">]>>; }>; }>, ", + ">]>>; }>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -4059,17 +3891,19 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { jobCreated: true; }, ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/settings/anomaly-detection/jobs\": ", + " & { params: { body: { environments: (\"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + ")[]; }; }; }) => Promise<{ jobCreated: true; }>; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/settings/anomaly-detection/jobs\": { endpoint: \"GET /internal/apm/settings/anomaly-detection/jobs\"; params?: undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -4077,25 +3911,17 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { jobs: ", + ") => Promise<{ jobs: ", "ApmMlJob", - "[]; hasLegacyJobs: boolean; }, ", + "[]; hasLegacyJobs: boolean; }>; } & ", "APMRouteCreateOptions", - ">; \"GET /api/apm/settings/agent-configuration/agent_name\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /api/apm/settings/agent-configuration/agent_name\", ", + "; \"GET /api/apm/settings/agent-configuration/agent_name 2023-05-22\": { endpoint: \"GET /api/apm/settings/agent-configuration/agent_name 2023-05-22\"; params?: ", "TypeC", "<{ query: ", "TypeC", "<{ serviceName: ", "StringC", - "; }>; }>, ", + "; }>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -4103,23 +3929,15 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { agentName: string | undefined; }, ", + " & { params: { query: { serviceName: string; }; }; }) => Promise<{ agentName: string | undefined; }>; } & ", "APMRouteCreateOptions", - ">; \"GET /api/apm/settings/agent-configuration/environments\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /api/apm/settings/agent-configuration/environments\", ", + "; \"GET /api/apm/settings/agent-configuration/environments 2023-05-22\": { endpoint: \"GET /api/apm/settings/agent-configuration/environments 2023-05-22\"; params?: ", "PartialC", "<{ query: ", "PartialC", "<{ serviceName: ", "StringC", - "; }>; }>, ", + "; }>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -4127,19 +3945,11 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { environments: ", + " & { params?: { query?: { serviceName?: string | undefined; } | undefined; } | undefined; }) => Promise<{ environments: ", "EnvironmentsResponse", - "; }, ", + "; }>; } & ", "APMRouteCreateOptions", - ">; \"POST /api/apm/settings/agent-configuration/search\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"POST /api/apm/settings/agent-configuration/search\", ", + "; \"POST /api/apm/settings/agent-configuration/search 2023-05-22\": { endpoint: \"POST /api/apm/settings/agent-configuration/search 2023-05-22\"; params?: ", "TypeC", "<{ body: ", "IntersectionC", @@ -4157,7 +3967,7 @@ "StringC", "; mark_as_applied_by_agent: ", "BooleanC", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -4165,7 +3975,7 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", + " & { params: { body: { service: { name?: string | undefined; environment?: string | undefined; }; } & { etag?: string | undefined; mark_as_applied_by_agent?: boolean | undefined; }; }; }) => Promise<", { "pluginId": "@kbn/es-types", "scope": "common", @@ -4175,17 +3985,9 @@ }, "<", "AgentConfiguration", - ", undefined, undefined> | null, ", + ", undefined, undefined> | null>; } & ", "APMRouteCreateOptions", - ">; \"PUT /api/apm/settings/agent-configuration\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"PUT /api/apm/settings/agent-configuration\", ", + "; \"PUT /api/apm/settings/agent-configuration 2023-05-22\": { endpoint: \"PUT /api/apm/settings/agent-configuration 2023-05-22\"; params?: ", "IntersectionC", "<[", "PartialC", @@ -4221,7 +4023,7 @@ "PartialC", ">]>; }>]>; }>]>, ", + ">>]>; }>]>; }>]> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -4229,17 +4031,9 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", void, ", + " & { params: { query?: { overwrite?: boolean | undefined; } | undefined; } & { body: { agent_name?: string | undefined; } & { service: { name?: string | undefined; environment?: string | undefined; }; settings: { [x: string]: string; } & { [x: string]: any; }; }; }; }) => Promise; } & ", "APMRouteCreateOptions", - ">; \"DELETE /api/apm/settings/agent-configuration\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"DELETE /api/apm/settings/agent-configuration\", ", + "; \"DELETE /api/apm/settings/agent-configuration 2023-05-22\": { endpoint: \"DELETE /api/apm/settings/agent-configuration 2023-05-22\"; params?: ", "TypeC", "<{ body: ", "TypeC", @@ -4249,7 +4043,7 @@ "StringC", "; environment: ", "StringC", - "; }>; }>; }>, ", + "; }>; }>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -4257,17 +4051,9 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { result: string; }, ", + " & { params: { body: { service: { name?: string | undefined; environment?: string | undefined; }; }; }; }) => Promise<{ result: string; }>; } & ", "APMRouteCreateOptions", - ">; \"GET /api/apm/settings/agent-configuration/view\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /api/apm/settings/agent-configuration/view\", ", + "; \"GET /api/apm/settings/agent-configuration/view 2023-05-22\": { endpoint: \"GET /api/apm/settings/agent-configuration/view 2023-05-22\"; params?: ", "PartialC", "<{ query: ", "PartialC", @@ -4275,7 +4061,7 @@ "StringC", "; environment: ", "StringC", - "; }>; }>, ", + "; }>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -4283,19 +4069,11 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", + " & { params?: { query?: { name?: string | undefined; environment?: string | undefined; } | undefined; } | undefined; }) => Promise<", "AgentConfiguration", - ", ", + ">; } & ", "APMRouteCreateOptions", - ">; \"GET /api/apm/settings/agent-configuration\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /api/apm/settings/agent-configuration\", undefined, ", + "; \"GET /api/apm/settings/agent-configuration 2023-05-22\": { endpoint: \"GET /api/apm/settings/agent-configuration 2023-05-22\"; params?: undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -4303,19 +4081,11 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { configurations: ", + ") => Promise<{ configurations: ", "AgentConfiguration", - "[]; }, ", + "[]; }>; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/rule_types/transaction_duration/chart_preview\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/rule_types/transaction_duration/chart_preview\", ", + "; \"GET /internal/apm/rule_types/transaction_duration/chart_preview\": { endpoint: \"GET /internal/apm/rule_types/transaction_duration/chart_preview\"; params?: ", "TypeC", "<{ query: ", "IntersectionC", @@ -4373,7 +4143,7 @@ "TypeC", "<{ interval: ", "StringC", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -4381,19 +4151,23 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { latencyChartPreview: ", - "TransactionDurationChartPreviewResponse", - "; }, ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/rule_types/error_count/chart_preview\": ", + " & { params: { query: { aggregationType?: ", + "AggregationType", + " | undefined; serviceName?: string | undefined; errorGroupingKey?: string | undefined; transactionType?: string | undefined; transactionName?: string | undefined; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { start: number; end: number; } & { interval: string; }; }; }) => Promise<{ latencyChartPreview: ", + "TransactionDurationChartPreviewResponse", + "; }>; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/rule_types/error_count/chart_preview\": { endpoint: \"GET /internal/apm/rule_types/error_count/chart_preview\"; params?: ", "TypeC", "<{ query: ", "IntersectionC", @@ -4451,7 +4225,7 @@ "TypeC", "<{ interval: ", "StringC", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -4459,17 +4233,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { errorCountChartPreview: { x: number; y: number; }[]; }, ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/rule_types/transaction_error_rate/chart_preview\": ", + " & { params: { query: { aggregationType?: ", + "AggregationType", + " | undefined; serviceName?: string | undefined; errorGroupingKey?: string | undefined; transactionType?: string | undefined; transactionName?: string | undefined; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { start: number; end: number; } & { interval: string; }; }; }) => Promise<{ errorCountChartPreview: { x: number; y: number; }[]; }>; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/rule_types/transaction_error_rate/chart_preview\": { endpoint: \"GET /internal/apm/rule_types/transaction_error_rate/chart_preview\"; params?: ", "TypeC", "<{ query: ", "IntersectionC", @@ -4527,7 +4305,7 @@ "TypeC", "<{ interval: ", "StringC", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -4535,19 +4313,23 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { errorRateChartPreview: ", - "TransactionErrorRateChartPreviewResponse", - "; }, ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate_by_transaction_name\": ", + " & { params: { query: { aggregationType?: ", + "AggregationType", + " | undefined; serviceName?: string | undefined; errorGroupingKey?: string | undefined; transactionType?: string | undefined; transactionName?: string | undefined; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { start: number; end: number; } & { interval: string; }; }; }) => Promise<{ errorRateChartPreview: ", + "TransactionErrorRateChartPreviewResponse", + "; }>; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate_by_transaction_name\": { endpoint: \"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate_by_transaction_name\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -4597,7 +4379,7 @@ "PartialC", "<{ offset: ", "StringC", - "; }>]>]>; }>, ", + "; }>]>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -4605,19 +4387,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "ColdstartRateResponse", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate\": ", + " & { params: { path: { serviceName: string; }; query: { transactionType: string; transactionName: string; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; } & { offset?: string | undefined; }; }; }) => Promise<", + "ColdstartRateResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate\": { endpoint: \"GET /internal/apm/services/{serviceName}/transactions/charts/coldstart_rate\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -4665,7 +4449,7 @@ "PartialC", "<{ offset: ", "StringC", - "; }>]>]>; }>, ", + "; }>]>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -4673,19 +4457,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "ColdstartRateResponse", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/transactions/charts/error_rate\": ", + " & { params: { path: { serviceName: string; }; query: { transactionType: string; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; } & { offset?: string | undefined; }; }; }) => Promise<", + "ColdstartRateResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/services/{serviceName}/transactions/charts/error_rate\": { endpoint: \"GET /internal/apm/services/{serviceName}/transactions/charts/error_rate\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -4773,7 +4559,7 @@ "LiteralC", "<", "RollupInterval", - ".None>]>; }>]>]>; }>, ", + ".None>]>; }>]>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -4781,19 +4567,29 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "FailedTransactionRateResponse", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/transaction/charts/breakdown\": ", + " & { params: { path: { serviceName: string; }; query: { transactionType: string; bucketSizeInSeconds: number; } & { transactionName?: string | undefined; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; } & { offset?: string | undefined; } & { documentType: ", + "ApmDocumentType", + ".TransactionMetric | ", + "ApmDocumentType", + ".ServiceTransactionMetric | ", + "ApmDocumentType", + ".TransactionEvent; rollupInterval: ", + "RollupInterval", + "; }; }; }) => Promise<", + "FailedTransactionRateResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/services/{serviceName}/transaction/charts/breakdown\": { endpoint: \"GET /internal/apm/services/{serviceName}/transaction/charts/breakdown\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -4839,7 +4635,7 @@ "Type", "; end: ", "Type", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -4847,19 +4643,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "TransactionBreakdownResponse", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/transactions/traces/samples\": ", + " & { params: { path: { serviceName: string; }; query: { transactionType: string; } & { transactionName?: string | undefined; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; }; }; }) => Promise<", + "TransactionBreakdownResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/services/{serviceName}/transactions/traces/samples\": { endpoint: \"GET /internal/apm/services/{serviceName}/transactions/traces/samples\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -4913,7 +4711,7 @@ "Type", "; end: ", "Type", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -4921,19 +4719,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "TransactionTraceSamplesResponse", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/transactions/charts/latency\": ", + " & { params: { path: { serviceName: string; }; query: { transactionType: string; transactionName: string; } & { transactionId?: string | undefined; traceId?: string | undefined; sampleRangeFrom?: number | undefined; sampleRangeTo?: number | undefined; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; }; }; }) => Promise<", + "TransactionTraceSamplesResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/services/{serviceName}/transactions/charts/latency\": { endpoint: \"GET /internal/apm/services/{serviceName}/transactions/charts/latency\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -5037,7 +4837,7 @@ "LiteralC", "<", "RollupInterval", - ".None>]>; }>]>; }>, ", + ".None>]>; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -5045,19 +4845,31 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "TransactionLatencyResponse", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/transactions/groups/detailed_statistics\": ", + " & { params: { path: { serviceName: string; }; query: { transactionType: string; latencyAggregationType: ", + "LatencyAggregationType", + "; bucketSizeInSeconds: number; } & { transactionName?: string | undefined; useDurationSummary?: boolean | undefined; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; } & { offset?: string | undefined; } & { documentType: ", + "ApmDocumentType", + ".TransactionMetric | ", + "ApmDocumentType", + ".ServiceTransactionMetric | ", + "ApmDocumentType", + ".TransactionEvent; rollupInterval: ", + "RollupInterval", + "; }; }; }) => Promise<", + "TransactionLatencyResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/services/{serviceName}/transactions/groups/detailed_statistics\": { endpoint: \"GET /internal/apm/services/{serviceName}/transactions/groups/detailed_statistics\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -5157,7 +4969,7 @@ "LiteralC", "<", "LatencyAggregationType", - ".p99>]>; }>]>; }>, ", + ".p99>]>; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -5165,19 +4977,29 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "ServiceTransactionGroupDetailedStatisticsResponse", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/transactions/groups/main_statistics\": ", + " & { params: { path: { serviceName: string; }; query: { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; } & { offset?: string | undefined; } & { documentType: ", + "ApmDocumentType", + ".TransactionMetric | ", + "ApmDocumentType", + ".TransactionEvent; rollupInterval: ", + "RollupInterval", + "; } & { bucketSizeInSeconds: number; useDurationSummary: boolean; } & { transactionNames: string[]; transactionType: string; latencyAggregationType: ", + "LatencyAggregationType", + "; }; }; }) => Promise<", + "ServiceTransactionGroupDetailedStatisticsResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/services/{serviceName}/transactions/groups/main_statistics\": { endpoint: \"GET /internal/apm/services/{serviceName}/transactions/groups/main_statistics\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -5265,7 +5087,7 @@ "LiteralC", "<", "RollupInterval", - ".None>]>; }>]>; }>, ", + ".None>]>; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -5273,19 +5095,29 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "ServiceTransactionGroupsResponse", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/traces/{traceId}/spans/{spanId}\": ", + " & { params: { path: { serviceName: string; }; query: { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; } & { useDurationSummary: boolean; transactionType: string; latencyAggregationType: ", + "LatencyAggregationType", + "; } & { documentType: ", + "ApmDocumentType", + ".TransactionMetric | ", + "ApmDocumentType", + ".TransactionEvent; rollupInterval: ", + "RollupInterval", + "; }; }; }) => Promise<", + "ServiceTransactionGroupsResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/traces/{traceId}/spans/{spanId}\": { endpoint: \"GET /internal/apm/traces/{traceId}/spans/{spanId}\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -5301,7 +5133,7 @@ "StringC", "; }>, ", "UndefinedC", - "]>; }>, ", + "]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -5309,21 +5141,13 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { span?: ", + " & { params: { path: { traceId: string; spanId: string; }; query: { parentTransactionId?: string | undefined; } | undefined; }; }) => Promise<{ span?: ", "Span", " | undefined; parentTransaction?: ", "Transaction", - " | undefined; }, ", + " | undefined; }>; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/traces/{traceId}/transactions/{transactionId}\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/traces/{traceId}/transactions/{transactionId}\", ", + "; \"GET /internal/apm/traces/{traceId}/transactions/{transactionId}\": { endpoint: \"GET /internal/apm/traces/{traceId}/transactions/{transactionId}\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -5331,7 +5155,7 @@ "StringC", "; transactionId: ", "StringC", - "; }>; }>, ", + "; }>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -5339,19 +5163,11 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", + " & { params: { path: { traceId: string; transactionId: string; }; }; }) => Promise<", "Transaction", - ", ", + ">; } & ", "APMRouteCreateOptions", - ">; \"POST /internal/apm/traces/aggregated_critical_path\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"POST /internal/apm/traces/aggregated_critical_path\", ", + "; \"POST /internal/apm/traces/aggregated_critical_path\": { endpoint: \"POST /internal/apm/traces/aggregated_critical_path\"; params?: ", "TypeC", "<{ body: ", "IntersectionC", @@ -5399,7 +5215,7 @@ "Type", "; end: ", "Type", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -5407,19 +5223,31 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { criticalPath: ", - "CriticalPathResponse", - " | null; }, ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/traces/find\": ", + " & { params: { body: { traceIds: string[]; serviceName: ", + "Branded", + " | null; transactionName: ", + "Branded", + " | null; } & { start: number; end: number; }; }; }) => Promise<{ criticalPath: ", + "CriticalPathResponse", + " | null; }>; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/traces/find\": { endpoint: \"GET /internal/apm/traces/find\"; params?: ", "TypeC", "<{ query: ", "IntersectionC", @@ -5463,7 +5291,7 @@ "LiteralC", "<", "TraceSearchType", - ".eql>]>; }>]>; }>, ", + ".eql>]>; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -5471,25 +5299,29 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { traceSamples: ", - "TraceSamplesResponse", - "; }, ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/transactions/{transactionId}\": ", + " & { params: { query: { start: number; end: number; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { query: string; type: ", + "TraceSearchType", + "; }; }; }) => Promise<{ traceSamples: ", + "TraceSamplesResponse", + "; }>; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/transactions/{transactionId}\": { endpoint: \"GET /internal/apm/transactions/{transactionId}\"; params?: ", "TypeC", "<{ path: ", "TypeC", "<{ transactionId: ", "StringC", - "; }>; }>, ", + "; }>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -5497,25 +5329,17 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { transaction: ", + " & { params: { path: { transactionId: string; }; }; }) => Promise<{ transaction: ", "Transaction", - "; }, ", + "; }>; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/traces/{traceId}/root_transaction\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/traces/{traceId}/root_transaction\", ", + "; \"GET /internal/apm/traces/{traceId}/root_transaction\": { endpoint: \"GET /internal/apm/traces/{traceId}/root_transaction\"; params?: ", "TypeC", "<{ path: ", "TypeC", "<{ traceId: ", "StringC", - "; }>; }>, ", + "; }>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -5523,19 +5347,11 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { transaction: ", + " & { params: { path: { traceId: string; }; }; }) => Promise<{ transaction: ", "Transaction", - "; }, ", + "; }>; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/traces\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/traces\", ", + "; \"GET /internal/apm/traces\": { endpoint: \"GET /internal/apm/traces\"; params?: ", "TypeC", "<{ query: ", "IntersectionC", @@ -5573,7 +5389,7 @@ "TypeC", "<{ probability: ", "Type", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -5581,19 +5397,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "TopTracesPrimaryStatsResponse", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/traces/{traceId}\": ", + " & { params: { query: { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; } & { probability: number; }; }; }) => Promise<", + "TopTracesPrimaryStatsResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/traces/{traceId}\": { endpoint: \"GET /internal/apm/traces/{traceId}\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -5611,7 +5429,7 @@ "TypeC", "<{ entryTransactionId: ", "StringC", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -5619,21 +5437,13 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { traceItems: ", + " & { params: { path: { traceId: string; }; query: { start: number; end: number; } & { entryTransactionId: string; }; }; }) => Promise<{ traceItems: ", "TraceItems", "; entryTransaction?: ", "Transaction", - " | undefined; }, ", + " | undefined; }>; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/suggestions\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/suggestions\", ", + "; \"GET /internal/apm/suggestions\": { endpoint: \"GET /internal/apm/suggestions\"; params?: ", "TypeC", "<{ query: ", "IntersectionC", @@ -5653,7 +5463,7 @@ "PartialC", "<{ serviceName: ", "StringC", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -5661,17 +5471,9 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { terms: string[]; }, ", + " & { params: { query: { fieldName: string; fieldValue: string; } & { start: number; end: number; } & { serviceName?: string | undefined; }; }; }) => Promise<{ terms: string[]; }>; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/service-group/counts\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/service-group/counts\", undefined, ", + "; \"GET /internal/apm/service-group/counts\": { endpoint: \"GET /internal/apm/service-group/counts\"; params?: undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -5679,17 +5481,9 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ServiceGroupCounts, ", + ") => Promise; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/service-group/services\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/service-group/services\", ", + "; \"GET /internal/apm/service-group/services\": { endpoint: \"GET /internal/apm/service-group/services\"; params?: ", "TypeC", "<{ query: ", "IntersectionC", @@ -5703,7 +5497,7 @@ "PartialC", "<{ kuery: ", "StringC", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -5711,25 +5505,17 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { items: ", + " & { params: { query: { start: number; end: number; } & { kuery?: string | undefined; }; }; }) => Promise<{ items: ", "LookupServicesResponse", - "; }, ", + "; }>; } & ", "APMRouteCreateOptions", - ">; \"DELETE /internal/apm/service-group\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"DELETE /internal/apm/service-group\", ", + "; \"DELETE /internal/apm/service-group\": { endpoint: \"DELETE /internal/apm/service-group\"; params?: ", "TypeC", "<{ query: ", "TypeC", "<{ serviceGroupId: ", "StringC", - "; }>; }>, ", + "; }>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -5737,17 +5523,9 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", void, ", + " & { params: { query: { serviceGroupId: string; }; }; }) => Promise; } & ", "APMRouteCreateOptions", - ">; \"POST /internal/apm/service-group\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"POST /internal/apm/service-group\", ", + "; \"POST /internal/apm/service-group\": { endpoint: \"POST /internal/apm/service-group\"; params?: ", "TypeC", "<{ query: ", "UnionC", @@ -5775,7 +5553,7 @@ "StringC", ", ", "UndefinedC", - "]>; }>; }>, ", + "]>; }>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -5783,25 +5561,17 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", + " & { params: { query: { serviceGroupId?: string | undefined; } | undefined; body: { groupName: string; kuery: string; description: string | undefined; color: string | undefined; }; }; }) => Promise<", "SavedServiceGroup", - ", ", + ">; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/service-group\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/service-group\", ", + "; \"GET /internal/apm/service-group\": { endpoint: \"GET /internal/apm/service-group\"; params?: ", "TypeC", "<{ query: ", "TypeC", "<{ serviceGroup: ", "StringC", - "; }>; }>, ", + "; }>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -5809,19 +5579,11 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { serviceGroup: ", + " & { params: { query: { serviceGroup: string; }; }; }) => Promise<{ serviceGroup: ", "SavedServiceGroup", - "; }, ", + "; }>; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/service-groups\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/service-groups\", undefined, ", + "; \"GET /internal/apm/service-groups\": { endpoint: \"GET /internal/apm/service-groups\"; params?: undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -5829,19 +5591,11 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { serviceGroups: ", + ") => Promise<{ serviceGroups: ", "SavedServiceGroup", - "[]; }, ", + "[]; }>; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/alerts_count\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/services/{serviceName}/alerts_count\", ", + "; \"GET /internal/apm/services/{serviceName}/alerts_count\": { endpoint: \"GET /internal/apm/services/{serviceName}/alerts_count\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -5875,7 +5629,7 @@ "section": "def-common.NonEmptyStringBrand", "text": "NonEmptyStringBrand" }, - ">]>; }>]>; }>, ", + ">]>; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -5883,17 +5637,19 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { serviceName: string; alertsCount: number; }, ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/anomaly_charts\": ", + " & { params: { path: { serviceName: string; }; query: { start: number; end: number; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; }; }; }) => Promise<{ serviceName: string; alertsCount: number; }>; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/services/{serviceName}/anomaly_charts\": { endpoint: \"GET /internal/apm/services/{serviceName}/anomaly_charts\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -5931,7 +5687,7 @@ "TypeC", "<{ transactionType: ", "StringC", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -5939,19 +5695,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { allAnomalyTimeseries: ", - "ServiceAnomalyTimeseries", - "[]; }, ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/dependencies/breakdown\": ", + " & { params: { path: { serviceName: string; }; query: { start: number; end: number; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { transactionType: string; }; }; }) => Promise<{ allAnomalyTimeseries: ", + "ServiceAnomalyTimeseries", + "[]; }>; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/services/{serviceName}/dependencies/breakdown\": { endpoint: \"GET /internal/apm/services/{serviceName}/dependencies/breakdown\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -5989,7 +5747,7 @@ "TypeC", "<{ kuery: ", "StringC", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -5997,19 +5755,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { breakdown: ", - "ServiceDependenciesBreakdownResponse", - "; }, ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/dependencies\": ", + " & { params: { path: { serviceName: string; }; query: { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { start: number; end: number; } & { kuery: string; }; }; }) => Promise<{ breakdown: ", + "ServiceDependenciesBreakdownResponse", + "; }>; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/services/{serviceName}/dependencies\": { endpoint: \"GET /internal/apm/services/{serviceName}/dependencies\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -6051,7 +5811,7 @@ "PartialC", "<{ offset: ", "StringC", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -6059,19 +5819,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { serviceDependencies: ", - "ServiceDependenciesResponse", - "; }, ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/service_overview_instances/detailed_statistics\": ", + " & { params: { path: { serviceName: string; }; query: { numBuckets: number; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { start: number; end: number; } & { offset?: string | undefined; }; }; }) => Promise<{ serviceDependencies: ", + "ServiceDependenciesResponse", + "; }>; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/services/{serviceName}/service_overview_instances/detailed_statistics\": { endpoint: \"GET /internal/apm/services/{serviceName}/service_overview_instances/detailed_statistics\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -6135,7 +5897,7 @@ "PartialC", "<{ offset: ", "StringC", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -6143,19 +5905,23 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "ServiceInstancesDetailedStatisticsResponse", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/service_overview_instances/main_statistics\": ", + " & { params: { path: { serviceName: string; }; query: { latencyAggregationType: ", + "LatencyAggregationType", + "; transactionType: string; serviceNodeIds: string[]; numBuckets: number; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; } & { offset?: string | undefined; }; }; }) => Promise<", + "ServiceInstancesDetailedStatisticsResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/services/{serviceName}/service_overview_instances/main_statistics\": { endpoint: \"GET /internal/apm/services/{serviceName}/service_overview_instances/main_statistics\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -6215,7 +5981,7 @@ "Type", "; end: ", "Type", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -6223,21 +5989,25 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { currentPeriod: ", + " & { params: { path: { serviceName: string; }; query: { latencyAggregationType: ", + "LatencyAggregationType", + "; transactionType: string; } & { offset?: string | undefined; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; }; }; }) => Promise<{ currentPeriod: ", "ServiceInstanceMainStatisticsResponse", "; previousPeriod: ", "ServiceInstanceMainStatisticsResponse", - "; }, ", + "; }>; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/throughput\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/services/{serviceName}/throughput\", ", + "; \"GET /internal/apm/services/{serviceName}/throughput\": { endpoint: \"GET /internal/apm/services/{serviceName}/throughput\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -6325,7 +6095,7 @@ "LiteralC", "<", "RollupInterval", - ".None>]>; }>]>]>; }>, ", + ".None>]>; }>]>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -6333,21 +6103,31 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { currentPeriod: ", + " & { params: { path: { serviceName: string; }; query: { transactionType: string; bucketSizeInSeconds: number; } & { transactionName?: string | undefined; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; } & { offset?: string | undefined; } & { documentType: ", + "ApmDocumentType", + ".TransactionMetric | ", + "ApmDocumentType", + ".ServiceTransactionMetric | ", + "ApmDocumentType", + ".TransactionEvent; rollupInterval: ", + "RollupInterval", + "; }; }; }) => Promise<{ currentPeriod: ", "ServiceThroughputResponse", "; previousPeriod: ", "ServiceThroughputResponse", - "; }, ", + "; }>; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/service_overview_instances/details/{serviceNodeName}\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/services/{serviceName}/service_overview_instances/details/{serviceNodeName}\", ", + "; \"GET /internal/apm/services/{serviceName}/service_overview_instances/details/{serviceNodeName}\": { endpoint: \"GET /internal/apm/services/{serviceName}/service_overview_instances/details/{serviceNodeName}\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -6361,7 +6141,7 @@ "Type", "; end: ", "Type", - "; }>; }>, ", + "; }>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -6369,21 +6149,13 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", + " & { params: { path: { serviceName: string; serviceNodeName: string; }; query: { start: number; end: number; }; }; }) => Promise<", "ServiceInstanceMetadataDetailsResponse", " & ({} | ", "ServiceInstanceContainerMetadataDetails", - "), ", + ")>; } & ", "APMRouteCreateOptions", - ">; \"POST /api/apm/services/{serviceName}/annotation\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"POST /api/apm/services/{serviceName}/annotation\", ", + "; \"POST /api/apm/services/{serviceName}/annotation 2023-05-22\": { endpoint: \"POST /api/apm/services/{serviceName}/annotation 2023-05-22\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -6413,7 +6185,7 @@ "ArrayC", "<", "StringC", - ">; }>]>; }>, ", + ">; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -6421,19 +6193,11 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { _id: string; _index: string; _source: ", + " & { params: { path: { serviceName: string; }; body: { '@timestamp': number; service: { version: string; } & { environment?: string | undefined; }; } & { message?: string | undefined; tags?: string[] | undefined; }; }; }) => Promise<{ _id: string; _index: string; _source: ", "Annotation", - "; }, ", + "; }>; } & ", "APMRouteCreateOptions", - ">; \"GET /api/apm/services/{serviceName}/annotation/search\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /api/apm/services/{serviceName}/annotation/search\", ", + "; \"GET /api/apm/services/{serviceName}/annotation/search 2023-05-22\": { endpoint: \"GET /api/apm/services/{serviceName}/annotation/search 2023-05-22\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -6467,7 +6231,7 @@ "Type", "; end: ", "Type", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -6475,19 +6239,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "ServiceAnnotationResponse", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/node/{serviceNodeName}/metadata\": ", + " & { params: { path: { serviceName: string; }; query: { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { start: number; end: number; }; }; }) => Promise<", + "ServiceAnnotationResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/services/{serviceName}/node/{serviceNodeName}/metadata\": { endpoint: \"GET /internal/apm/services/{serviceName}/node/{serviceNodeName}/metadata\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -6527,7 +6293,7 @@ "section": "def-common.NonEmptyStringBrand", "text": "NonEmptyStringBrand" }, - ">]>; }>]>; }>, ", + ">]>; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -6535,19 +6301,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "ServiceNodeMetadataResponse", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/transaction_types\": ", + " & { params: { path: { serviceName: string; serviceNodeName: string; }; query: { kuery: string; } & { start: number; end: number; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; }; }; }) => Promise<", + "ServiceNodeMetadataResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/services/{serviceName}/transaction_types\": { endpoint: \"GET /internal/apm/services/{serviceName}/transaction_types\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -6559,7 +6327,7 @@ "Type", "; end: ", "Type", - "; }>; }>, ", + "; }>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -6567,19 +6335,11 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", + " & { params: { path: { serviceName: string; }; query: { start: number; end: number; }; }; }) => Promise<", "ServiceTransactionTypesResponse", - ", ", + ">; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/agent\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/services/{serviceName}/agent\", ", + "; \"GET /internal/apm/services/{serviceName}/agent\": { endpoint: \"GET /internal/apm/services/{serviceName}/agent\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -6591,7 +6351,7 @@ "Type", "; end: ", "Type", - "; }>; }>, ", + "; }>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -6599,19 +6359,11 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", + " & { params: { path: { serviceName: string; }; query: { start: number; end: number; }; }; }) => Promise<", "ServiceAgentResponse", - ", ", + ">; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/metadata/icons\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/services/{serviceName}/metadata/icons\", ", + "; \"GET /internal/apm/services/{serviceName}/metadata/icons\": { endpoint: \"GET /internal/apm/services/{serviceName}/metadata/icons\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -6623,7 +6375,7 @@ "Type", "; end: ", "Type", - "; }>; }>, ", + "; }>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -6631,19 +6383,11 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", + " & { params: { path: { serviceName: string; }; query: { start: number; end: number; }; }; }) => Promise<", "ServiceMetadataIcons", - ", ", + ">; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/metadata/details\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/services/{serviceName}/metadata/details\", ", + "; \"GET /internal/apm/services/{serviceName}/metadata/details\": { endpoint: \"GET /internal/apm/services/{serviceName}/metadata/details\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -6655,7 +6399,7 @@ "Type", "; end: ", "Type", - "; }>; }>, ", + "; }>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -6663,19 +6407,11 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", + " & { params: { path: { serviceName: string; }; query: { start: number; end: number; }; }; }) => Promise<", "ServiceMetadataDetails", - ", ", + ">; } & ", "APMRouteCreateOptions", - ">; \"POST /internal/apm/services/detailed_statistics\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"POST /internal/apm/services/detailed_statistics\", ", + "; \"POST /internal/apm/services/detailed_statistics\": { endpoint: \"POST /internal/apm/services/detailed_statistics\"; params?: ", "TypeC", "<{ query: ", "IntersectionC", @@ -6761,7 +6497,7 @@ "TypeC", "<{ serviceNames: ", "Type", - "; }>; }>, ", + "; }>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -6769,19 +6505,29 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "ServiceTransactionDetailedStatPeriodsResponse", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/services\": ", + " & { params: { query: { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; } & { offset?: string | undefined; } & { probability: number; } & { documentType: ", + "ApmDocumentType", + ".TransactionMetric | ", + "ApmDocumentType", + ".ServiceTransactionMetric | ", + "ApmDocumentType", + ".TransactionEvent; rollupInterval: ", + "RollupInterval", + "; } & { bucketSizeInSeconds: number; }; body: { serviceNames: string[]; }; }; }) => Promise<", + "ServiceTransactionDetailedStatPeriodsResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/services\": { endpoint: \"GET /internal/apm/services\"; params?: ", "TypeC", "<{ query: ", "IntersectionC", @@ -6859,7 +6605,7 @@ "Type", "; end: ", "Type", - "; }>]>]>; }>, ", + "; }>]>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -6867,19 +6613,29 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "ServicesItemsResponse", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/service-map/dependency\": ", + " & { params: { query: { serviceGroup?: string | undefined; } & { probability: number; } & { documentType: ", + "ApmDocumentType", + ".TransactionMetric | ", + "ApmDocumentType", + ".ServiceTransactionMetric | ", + "ApmDocumentType", + ".TransactionEvent; rollupInterval: ", + "RollupInterval", + "; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; }; }; }) => Promise<", + "ServicesItemsResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/service-map/dependency\": { endpoint: \"GET /internal/apm/service-map/dependency\"; params?: ", "TypeC", "<{ query: ", "IntersectionC", @@ -6917,7 +6673,7 @@ "PartialC", "<{ offset: ", "StringC", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -6925,19 +6681,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "ServiceMapServiceDependencyInfoResponse", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/service-map/service/{serviceName}\": ", + " & { params: { query: { dependencyName: string; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { start: number; end: number; } & { offset?: string | undefined; }; }; }) => Promise<", + "ServiceMapServiceDependencyInfoResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/service-map/service/{serviceName}\": { endpoint: \"GET /internal/apm/service-map/service/{serviceName}\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -6975,7 +6733,7 @@ "PartialC", "<{ offset: ", "StringC", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -6983,19 +6741,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "ServiceMapServiceNodeInfoResponse", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/service-map\": ", + " & { params: { path: { serviceName: string; }; query: { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { start: number; end: number; } & { offset?: string | undefined; }; }; }) => Promise<", + "ServiceMapServiceNodeInfoResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/service-map\": { endpoint: \"GET /internal/apm/service-map\"; params?: ", "TypeC", "<{ query: ", "IntersectionC", @@ -7033,7 +6793,7 @@ "Type", "; end: ", "Type", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -7041,19 +6801,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "GroupResourceNodesResponse", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/observability_overview/has_data\": ", + " & { params: { query: { serviceName?: string | undefined; serviceGroup?: string | undefined; kuery?: string | undefined; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { start: number; end: number; }; }; }) => Promise<", + "GroupResourceNodesResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/observability_overview/has_data\": { endpoint: \"GET /internal/apm/observability_overview/has_data\"; params?: undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -7061,19 +6823,11 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", + ") => Promise<", "HasDataResponse", - ", ", + ">; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/observability_overview\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/observability_overview\", ", + "; \"GET /internal/apm/observability_overview\": { endpoint: \"GET /internal/apm/observability_overview\"; params?: ", "TypeC", "<{ query: ", "IntersectionC", @@ -7089,7 +6843,7 @@ "Type", "; intervalString: ", "StringC", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -7097,19 +6851,11 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", + " & { params: { query: { start: number; end: number; } & { bucketSize: number; intervalString: string; }; }; }) => Promise<", "ObservabilityOverviewResponse", - ", ", + ">; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/metrics/serverless/active_instances\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/services/{serviceName}/metrics/serverless/active_instances\", ", + "; \"GET /internal/apm/services/{serviceName}/metrics/serverless/active_instances\": { endpoint: \"GET /internal/apm/services/{serviceName}/metrics/serverless/active_instances\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -7151,7 +6897,7 @@ "PartialC", "<{ serverlessId: ", "StringC", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -7159,21 +6905,23 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { activeInstances: ", + " & { params: { path: { serviceName: string; }; query: { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; } & { serverlessId?: string | undefined; }; }; }) => Promise<{ activeInstances: ", "ActiveInstanceOverview", "[]; timeseries: ", "Coordinate", - "[]; }, ", + "[]; }>; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/metrics/serverless/functions_overview\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/services/{serviceName}/metrics/serverless/functions_overview\", ", + "; \"GET /internal/apm/services/{serviceName}/metrics/serverless/functions_overview\": { endpoint: \"GET /internal/apm/services/{serviceName}/metrics/serverless/functions_overview\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -7211,7 +6959,7 @@ "Type", "; end: ", "Type", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -7219,19 +6967,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { serverlessFunctionsOverview: ", - "ServerlessFunctionsOverviewResponse", - "; }, ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/metrics/serverless/summary\": ", + " & { params: { path: { serviceName: string; }; query: { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; }; }; }) => Promise<{ serverlessFunctionsOverview: ", + "ServerlessFunctionsOverviewResponse", + "; }>; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/services/{serviceName}/metrics/serverless/summary\": { endpoint: \"GET /internal/apm/services/{serviceName}/metrics/serverless/summary\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -7273,7 +7023,7 @@ "PartialC", "<{ serverlessId: ", "StringC", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -7281,19 +7031,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "ServerlessSummaryResponse", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/metrics/serverless/charts\": ", + " & { params: { path: { serviceName: string; }; query: { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; } & { serverlessId?: string | undefined; }; }; }) => Promise<", + "ServerlessSummaryResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/services/{serviceName}/metrics/serverless/charts\": { endpoint: \"GET /internal/apm/services/{serviceName}/metrics/serverless/charts\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -7371,7 +7123,7 @@ "TypeC", "<{ bucketSizeInSeconds: ", "Type", - "; }>]>]>; }>, ", + "; }>]>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -7379,19 +7131,27 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { charts: ", - "FetchAndTransformMetrics", - "[]; }, ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/metrics/nodes\": ", + " & { params: { path: { serviceName: string; }; query: { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; } & { serverlessId?: string | undefined; } & { documentType: ", + "ApmDocumentType", + ".TransactionMetric | ", + "ApmDocumentType", + ".TransactionEvent; rollupInterval: ", + "RollupInterval", + "; } & { bucketSizeInSeconds: number; }; }; }) => Promise<{ charts: ", + "FetchAndTransformMetrics", + "[]; }>; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/services/{serviceName}/metrics/nodes\": { endpoint: \"GET /internal/apm/services/{serviceName}/metrics/nodes\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -7429,7 +7189,7 @@ "section": "def-common.NonEmptyStringBrand", "text": "NonEmptyStringBrand" }, - ">]>; }>]>; }>, ", + ">]>; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -7437,19 +7197,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { serviceNodes: ", - "ServiceNodesResponse", - "; }, ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/metrics/charts\": ", + " & { params: { path: { serviceName: string; }; query: { kuery: string; } & { start: number; end: number; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; }; }; }) => Promise<{ serviceNodes: ", + "ServiceNodesResponse", + "; }>; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/services/{serviceName}/metrics/charts\": { endpoint: \"GET /internal/apm/services/{serviceName}/metrics/charts\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -7495,7 +7257,7 @@ "Type", "; end: ", "Type", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -7503,19 +7265,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { charts: ", - "FetchAndTransformMetrics", - "[]; }, ", - "APMRouteCreateOptions", - ">; \"POST /internal/apm/latency/overall_distribution/transactions\": ", + " & { params: { path: { serviceName: string; }; query: { agentName: string; } & { serviceNodeName?: string | undefined; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; }; }; }) => Promise<{ charts: ", + "FetchAndTransformMetrics", + "[]; }>; } & ", + "APMRouteCreateOptions", + "; \"POST /internal/apm/latency/overall_distribution/transactions\": { endpoint: \"POST /internal/apm/latency/overall_distribution/transactions\"; params?: ", "TypeC", "<{ body: ", "IntersectionC", @@ -7595,7 +7359,7 @@ "LiteralC", "<", "LatencyDistributionChartType", - ".dependencyLatency>]>; }>]>; }>, ", + ".dependencyLatency>]>; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -7603,19 +7367,23 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "OverallLatencyDistributionResponse", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/errors/{groupId}/top_erroneous_transactions\": ", + " & { params: { body: { serviceName?: string | undefined; transactionName?: string | undefined; transactionType?: string | undefined; termFilters?: { fieldName: string; fieldValue: string | number; }[] | undefined; durationMin?: number | undefined; durationMax?: number | undefined; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; } & { percentileThreshold: number; chartType: ", + "LatencyDistributionChartType", + "; }; }; }) => Promise<", + "OverallLatencyDistributionResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/services/{serviceName}/errors/{groupId}/top_erroneous_transactions\": { endpoint: \"GET /internal/apm/services/{serviceName}/errors/{groupId}/top_erroneous_transactions\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -7663,7 +7431,7 @@ "TypeC", "<{ numBuckets: ", "Type", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -7671,19 +7439,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "TopErroneousTransactionsResponse", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/errors/distribution\": ", + " & { params: { path: { serviceName: string; groupId: string; }; query: { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; } & { offset?: string | undefined; } & { numBuckets: number; }; }; }) => Promise<", + "TopErroneousTransactionsResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/services/{serviceName}/errors/distribution\": { endpoint: \"GET /internal/apm/services/{serviceName}/errors/distribution\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -7729,7 +7499,7 @@ "PartialC", "<{ offset: ", "StringC", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -7737,19 +7507,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "ErrorDistributionResponse", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/errors/{groupId}/error/{errorId}\": ", + " & { params: { path: { serviceName: string; }; query: { groupId?: string | undefined; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; } & { offset?: string | undefined; }; }; }) => Promise<", + "ErrorDistributionResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/services/{serviceName}/errors/{groupId}/error/{errorId}\": { endpoint: \"GET /internal/apm/services/{serviceName}/errors/{groupId}/error/{errorId}\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -7791,7 +7563,7 @@ "Type", "; end: ", "Type", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -7799,19 +7571,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "ErrorSampleDetailsResponse", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/errors/{groupId}/samples\": ", + " & { params: { path: { serviceName: string; groupId: string; errorId: string; }; query: { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; }; }; }) => Promise<", + "ErrorSampleDetailsResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/services/{serviceName}/errors/{groupId}/samples\": { endpoint: \"GET /internal/apm/services/{serviceName}/errors/{groupId}/samples\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -7851,7 +7625,7 @@ "Type", "; end: ", "Type", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -7859,19 +7633,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "ErrorGroupSampleIdsResponse", - ", ", - "APMRouteCreateOptions", - ">; \"POST /internal/apm/services/{serviceName}/errors/groups/detailed_statistics\": ", + " & { params: { path: { serviceName: string; groupId: string; }; query: { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; }; }; }) => Promise<", + "ErrorGroupSampleIdsResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"POST /internal/apm/services/{serviceName}/errors/groups/detailed_statistics\": { endpoint: \"POST /internal/apm/services/{serviceName}/errors/groups/detailed_statistics\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -7921,7 +7697,7 @@ "TypeC", "<{ groupIds: ", "Type", - "; }>; }>, ", + "; }>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -7929,19 +7705,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", ", - "ErrorGroupPeriodsResponse", - ", ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics_by_transaction_name\": ", + " & { params: { path: { serviceName: string; }; query: { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; } & { offset?: string | undefined; } & { numBuckets: number; }; body: { groupIds: string[]; }; }; }) => Promise<", + "ErrorGroupPeriodsResponse", + ">; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics_by_transaction_name\": { endpoint: \"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics_by_transaction_name\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -7987,7 +7765,7 @@ "Type", "; end: ", "Type", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -7995,19 +7773,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { errorGroups: ", - "ErrorGroupMainStatisticsResponse", - "; }, ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics\": ", + " & { params: { path: { serviceName: string; }; query: { transactionType: string; transactionName: string; maxNumberOfErrorGroups: number; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; }; }; }) => Promise<{ errorGroups: ", + "ErrorGroupMainStatisticsResponse", + "; }>; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics\": { endpoint: \"GET /internal/apm/services/{serviceName}/errors/groups/main_statistics\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -8055,7 +7835,7 @@ "Type", "; end: ", "Type", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -8063,19 +7843,21 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { errorGroups: ", - "ErrorGroupMainStatisticsResponse", - "; }, ", - "APMRouteCreateOptions", - ">; \"GET /internal/apm/environments\": ", + " & { params: { path: { serviceName: string; }; query: { sortField?: string | undefined; sortDirection?: \"asc\" | \"desc\" | undefined; } & { environment: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + "Branded", + "; } & { kuery: string; } & { start: number; end: number; }; }; }) => Promise<{ errorGroups: ", + "ErrorGroupMainStatisticsResponse", + "; }>; } & ", + "APMRouteCreateOptions", + "; \"GET /internal/apm/environments\": { endpoint: \"GET /internal/apm/environments\"; params?: ", "TypeC", "<{ query: ", "IntersectionC", @@ -8089,7 +7871,7 @@ "Type", "; end: ", "Type", - "; }>]>; }>, ", + "; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -8097,7 +7879,7 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { environments: (\"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", + " & { params: { query: { serviceName?: string | undefined; } & { start: number; end: number; }; }; }) => Promise<{ environments: (\"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", "Branded", ")[]; }, ", + ">)[]; }>; } & ", "APMRouteCreateOptions", - ">; \"GET /internal/apm/data_view/title\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/apm/data_view/title\", undefined, ", + "; \"GET /internal/apm/data_view/title\": { endpoint: \"GET /internal/apm/data_view/title\"; params?: undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -8125,17 +7899,9 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { apmDataViewTitle: string; }, ", + ") => Promise<{ apmDataViewTitle: string; }>; } & ", "APMRouteCreateOptions", - ">; \"POST /internal/apm/data_view/static\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"POST /internal/apm/data_view/static\", undefined, ", + "; \"POST /internal/apm/data_view/static\": { endpoint: \"POST /internal/apm/data_view/static\"; params?: undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -8143,7 +7909,7 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - ", { created: boolean; dataView: ", + ") => Promise<{ created: boolean; dataView: ", { "pluginId": "dataViews", "scope": "common", @@ -8151,9 +7917,9 @@ "section": "def-common.DataView", "text": "DataView" }, - "; } | { created: boolean; reason?: string | undefined; }, ", + "; } | { created: boolean; reason?: string | undefined; }>; } & ", "APMRouteCreateOptions", - ">; }" + "; }" ], "path": "x-pack/plugins/apm/server/routes/apm_routes/get_global_apm_server_route_repository.ts", "deprecated": false, diff --git a/api_docs/apm.mdx b/api_docs/apm.mdx index a5909d6a57f3c..d2c3cd4e284b4 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apm'] --- import apmObj from './apm.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) for ques | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 44 | 0 | 44 | 112 | +| 44 | 0 | 44 | 113 | ## Client diff --git a/api_docs/asset_manager.mdx b/api_docs/asset_manager.mdx index 99b4d2084892d..4522bc3a66263 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-05-16 +date: 2023-06-07 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 3e3e25983bedd..139c6b14cccc0 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-05-16 +date: 2023-06-07 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 5c9d1ac60ae46..298385b30478a 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-05-16 +date: 2023-06-07 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 9e6c55d3b801e..011d2220851a3 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'canvas'] --- import canvasObj from './canvas.devdocs.json'; diff --git a/api_docs/cases.devdocs.json b/api_docs/cases.devdocs.json index 4b3cd8fd8e35d..62af6bbbcc171 100644 --- a/api_docs/cases.devdocs.json +++ b/api_docs/cases.devdocs.json @@ -585,7 +585,15 @@ "section": "def-common.CaseUI", "text": "CaseUI" }, - " | undefined) => void) | undefined; onClose?: (() => void) | undefined; }" + " | undefined) => void) | undefined; onClose?: ((theCase?: ", + { + "pluginId": "cases", + "scope": "common", + "docId": "kibCasesPluginApi", + "section": "def-common.CaseUI", + "text": "CaseUI" + }, + " | undefined, isCreateCase?: boolean | undefined) => void) | undefined; onCreateCaseClicked?: (() => void) | undefined; }" ], "path": "x-pack/plugins/cases/public/client/ui/get_all_cases_selector_modal.tsx", "deprecated": false, @@ -970,7 +978,7 @@ "section": "def-common.CasesFindResponseUI", "text": "CasesFindResponseUI" }, - ">; getCasesStatus: (query: { from?: string | undefined; to?: string | undefined; owner?: string | string[] | undefined; }, signal?: AbortSignal | undefined) => Promise<{ countOpenCases: number; countInProgressCases: number; countClosedCases: number; }>; getCasesMetrics: (query: { features: string[]; } & { from?: string | undefined; to?: string | undefined; owner?: string | string[] | undefined; }, signal?: AbortSignal | undefined) => Promise<{ mttr?: number | null | undefined; }>; bulkGet: (params: { ids: string[]; }, signal?: AbortSignal | undefined) => Promise<{ cases: { id: string; description: string; title: string; owner: string; version: string; totalComments: number; status: ", + ">; getCasesStatus: (query: { from?: string | undefined; to?: string | undefined; owner?: string | string[] | undefined; }, signal?: AbortSignal | undefined) => Promise<{ countOpenCases: number; countInProgressCases: number; countClosedCases: number; }>; getCasesMetrics: (query: { features: string[]; } & { from?: string | undefined; to?: string | undefined; owner?: string | string[] | undefined; }, signal?: AbortSignal | undefined) => Promise<{ mttr?: number | null | undefined; }>; bulkGet: (params: { ids: string[]; }, signal?: AbortSignal | undefined) => Promise<{ cases: ({ description: string; status: ", { "pluginId": "@kbn/cases-components", "scope": "common", @@ -978,7 +986,159 @@ "section": "def-common.CaseStatuses", "text": "CaseStatuses" }, - "; created_at: string; created_by: { email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }; }[]; errors: { error: string; message: string; status: number | undefined; caseId: string; }[]; }>; }; }" + "; tags: string[]; title: string; connector: { id: string; } & (({ type: ", + { + "pluginId": "cases", + "scope": "common", + "docId": "kibCasesPluginApi", + "section": "def-common.ConnectorTypes", + "text": "ConnectorTypes" + }, + ".casesWebhook; fields: null; } & { name: string; }) | ({ type: ", + { + "pluginId": "cases", + "scope": "common", + "docId": "kibCasesPluginApi", + "section": "def-common.ConnectorTypes", + "text": "ConnectorTypes" + }, + ".jira; fields: { issueType: string | null; priority: string | null; parent: string | null; } | null; } & { name: string; }) | ({ type: ", + { + "pluginId": "cases", + "scope": "common", + "docId": "kibCasesPluginApi", + "section": "def-common.ConnectorTypes", + "text": "ConnectorTypes" + }, + ".none; fields: null; } & { name: string; }) | ({ type: ", + { + "pluginId": "cases", + "scope": "common", + "docId": "kibCasesPluginApi", + "section": "def-common.ConnectorTypes", + "text": "ConnectorTypes" + }, + ".resilient; fields: { incidentTypes: string[] | null; severityCode: string | null; } | null; } & { name: string; }) | ({ type: ", + { + "pluginId": "cases", + "scope": "common", + "docId": "kibCasesPluginApi", + "section": "def-common.ConnectorTypes", + "text": "ConnectorTypes" + }, + ".serviceNowITSM; fields: { impact: string | null; severity: string | null; urgency: string | null; category: string | null; subcategory: string | null; } | null; } & { name: string; }) | ({ type: ", + { + "pluginId": "cases", + "scope": "common", + "docId": "kibCasesPluginApi", + "section": "def-common.ConnectorTypes", + "text": "ConnectorTypes" + }, + ".serviceNowSIR; fields: { category: string | null; destIp: boolean | null; malwareHash: boolean | null; malwareUrl: boolean | null; priority: string | null; sourceIp: boolean | null; subcategory: string | null; } | null; } & { name: string; }) | ({ type: ", + { + "pluginId": "cases", + "scope": "common", + "docId": "kibCasesPluginApi", + "section": "def-common.ConnectorTypes", + "text": "ConnectorTypes" + }, + ".swimlane; fields: { caseId: string | null; } | null; } & { name: string; })); settings: { syncAlerts: boolean; }; owner: string; severity: ", + { + "pluginId": "cases", + "scope": "common", + "docId": "kibCasesPluginApi", + "section": "def-common.CaseSeverity", + "text": "CaseSeverity" + }, + "; assignees: { uid: string; }[]; } & { duration: number | null; closed_at: string | null; closed_by: ({ email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }) | null; created_at: string; created_by: { email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }; external_service: ({ connector_id: string; } & { connector_name: string; external_id: string; external_title: string; external_url: string; pushed_at: string; pushed_by: { email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }; }) | null; updated_at: string | null; updated_by: ({ email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }) | null; } & { id: string; totalComment: number; totalAlerts: number; version: string; } & { comments?: ((({ comment: string; type: ", + { + "pluginId": "cases", + "scope": "common", + "docId": "kibCasesPluginApi", + "section": "def-common.CommentType", + "text": "CommentType" + }, + ".user; owner: string; } & { created_at: string; created_by: { email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }; owner: string; pushed_at: string | null; pushed_by: ({ email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }) | null; updated_at: string | null; updated_by: ({ email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }) | null; }) | ({ type: ", + { + "pluginId": "cases", + "scope": "common", + "docId": "kibCasesPluginApi", + "section": "def-common.CommentType", + "text": "CommentType" + }, + ".alert; alertId: string | string[]; index: string | string[]; rule: { id: string | null; name: string | null; }; owner: string; } & { created_at: string; created_by: { email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }; owner: string; pushed_at: string | null; pushed_by: ({ email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }) | null; updated_at: string | null; updated_by: ({ email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }) | null; }) | ({ type: ", + { + "pluginId": "cases", + "scope": "common", + "docId": "kibCasesPluginApi", + "section": "def-common.CommentType", + "text": "CommentType" + }, + ".actions; comment: string; actions: { targets: { hostname: string; endpointId: string; }[]; type: string; }; owner: string; } & { created_at: string; created_by: { email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }; owner: string; pushed_at: string | null; pushed_by: ({ email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }) | null; updated_at: string | null; updated_by: ({ email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }) | null; }) | (({ externalReferenceId: string; externalReferenceStorage: { type: ", + { + "pluginId": "cases", + "scope": "common", + "docId": "kibCasesPluginApi", + "section": "def-common.ExternalReferenceStorageType", + "text": "ExternalReferenceStorageType" + }, + ".elasticSearchDoc; }; externalReferenceAttachmentTypeId: string; externalReferenceMetadata: { [x: string]: ", + { + "pluginId": "@kbn/utility-types", + "scope": "common", + "docId": "kibKbnUtilityTypesPluginApi", + "section": "def-common.JsonValue", + "text": "JsonValue" + }, + "; } | null; type: ", + { + "pluginId": "cases", + "scope": "common", + "docId": "kibCasesPluginApi", + "section": "def-common.CommentType", + "text": "CommentType" + }, + ".externalReference; owner: string; } | { externalReferenceId: string; externalReferenceStorage: { type: ", + { + "pluginId": "cases", + "scope": "common", + "docId": "kibCasesPluginApi", + "section": "def-common.ExternalReferenceStorageType", + "text": "ExternalReferenceStorageType" + }, + ".savedObject; soType: string; }; externalReferenceAttachmentTypeId: string; externalReferenceMetadata: { [x: string]: ", + { + "pluginId": "@kbn/utility-types", + "scope": "common", + "docId": "kibKbnUtilityTypesPluginApi", + "section": "def-common.JsonValue", + "text": "JsonValue" + }, + "; } | null; type: ", + { + "pluginId": "cases", + "scope": "common", + "docId": "kibCasesPluginApi", + "section": "def-common.CommentType", + "text": "CommentType" + }, + ".externalReference; owner: string; }) & { created_at: string; created_by: { email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }; owner: string; pushed_at: string | null; pushed_by: ({ email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }) | null; updated_at: string | null; updated_by: ({ email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }) | null; }) | ({ type: ", + { + "pluginId": "cases", + "scope": "common", + "docId": "kibCasesPluginApi", + "section": "def-common.CommentType", + "text": "CommentType" + }, + ".persistableState; owner: string; persistableStateAttachmentTypeId: string; persistableStateAttachmentState: { [x: string]: ", + { + "pluginId": "@kbn/utility-types", + "scope": "common", + "docId": "kibKbnUtilityTypesPluginApi", + "section": "def-common.JsonValue", + "text": "JsonValue" + }, + "; }; } & { created_at: string; created_by: { email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }; owner: string; pushed_at: string | null; pushed_by: ({ email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }) | null; updated_at: string | null; updated_by: ({ email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }) | null; })) & { id: string; version: string; })[] | undefined; })[]; errors: { error: string; message: string; status: number | undefined; caseId: string; }[]; }>; }; }" ], "path": "x-pack/plugins/cases/public/types.ts", "deprecated": false, @@ -2208,7 +2368,7 @@ "label": "CasesBulkGetResponse", "description": [], "signature": [ - "{ cases: { id: string; description: string; title: string; owner: string; version: string; totalComments: number; status: ", + "{ cases: ({ description: string; status: ", { "pluginId": "@kbn/cases-components", "scope": "common", @@ -2216,7 +2376,159 @@ "section": "def-common.CaseStatuses", "text": "CaseStatuses" }, - "; created_at: string; created_by: { email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }; }[]; errors: { error: string; message: string; status: number | undefined; caseId: string; }[]; }" + "; tags: string[]; title: string; connector: { id: string; } & (({ type: ", + { + "pluginId": "cases", + "scope": "common", + "docId": "kibCasesPluginApi", + "section": "def-common.ConnectorTypes", + "text": "ConnectorTypes" + }, + ".casesWebhook; fields: null; } & { name: string; }) | ({ type: ", + { + "pluginId": "cases", + "scope": "common", + "docId": "kibCasesPluginApi", + "section": "def-common.ConnectorTypes", + "text": "ConnectorTypes" + }, + ".jira; fields: { issueType: string | null; priority: string | null; parent: string | null; } | null; } & { name: string; }) | ({ type: ", + { + "pluginId": "cases", + "scope": "common", + "docId": "kibCasesPluginApi", + "section": "def-common.ConnectorTypes", + "text": "ConnectorTypes" + }, + ".none; fields: null; } & { name: string; }) | ({ type: ", + { + "pluginId": "cases", + "scope": "common", + "docId": "kibCasesPluginApi", + "section": "def-common.ConnectorTypes", + "text": "ConnectorTypes" + }, + ".resilient; fields: { incidentTypes: string[] | null; severityCode: string | null; } | null; } & { name: string; }) | ({ type: ", + { + "pluginId": "cases", + "scope": "common", + "docId": "kibCasesPluginApi", + "section": "def-common.ConnectorTypes", + "text": "ConnectorTypes" + }, + ".serviceNowITSM; fields: { impact: string | null; severity: string | null; urgency: string | null; category: string | null; subcategory: string | null; } | null; } & { name: string; }) | ({ type: ", + { + "pluginId": "cases", + "scope": "common", + "docId": "kibCasesPluginApi", + "section": "def-common.ConnectorTypes", + "text": "ConnectorTypes" + }, + ".serviceNowSIR; fields: { category: string | null; destIp: boolean | null; malwareHash: boolean | null; malwareUrl: boolean | null; priority: string | null; sourceIp: boolean | null; subcategory: string | null; } | null; } & { name: string; }) | ({ type: ", + { + "pluginId": "cases", + "scope": "common", + "docId": "kibCasesPluginApi", + "section": "def-common.ConnectorTypes", + "text": "ConnectorTypes" + }, + ".swimlane; fields: { caseId: string | null; } | null; } & { name: string; })); settings: { syncAlerts: boolean; }; owner: string; severity: ", + { + "pluginId": "cases", + "scope": "common", + "docId": "kibCasesPluginApi", + "section": "def-common.CaseSeverity", + "text": "CaseSeverity" + }, + "; assignees: { uid: string; }[]; } & { duration: number | null; closed_at: string | null; closed_by: ({ email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }) | null; created_at: string; created_by: { email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }; external_service: ({ connector_id: string; } & { connector_name: string; external_id: string; external_title: string; external_url: string; pushed_at: string; pushed_by: { email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }; }) | null; updated_at: string | null; updated_by: ({ email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }) | null; } & { id: string; totalComment: number; totalAlerts: number; version: string; } & { comments?: ((({ comment: string; type: ", + { + "pluginId": "cases", + "scope": "common", + "docId": "kibCasesPluginApi", + "section": "def-common.CommentType", + "text": "CommentType" + }, + ".user; owner: string; } & { created_at: string; created_by: { email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }; owner: string; pushed_at: string | null; pushed_by: ({ email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }) | null; updated_at: string | null; updated_by: ({ email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }) | null; }) | ({ type: ", + { + "pluginId": "cases", + "scope": "common", + "docId": "kibCasesPluginApi", + "section": "def-common.CommentType", + "text": "CommentType" + }, + ".alert; alertId: string | string[]; index: string | string[]; rule: { id: string | null; name: string | null; }; owner: string; } & { created_at: string; created_by: { email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }; owner: string; pushed_at: string | null; pushed_by: ({ email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }) | null; updated_at: string | null; updated_by: ({ email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }) | null; }) | ({ type: ", + { + "pluginId": "cases", + "scope": "common", + "docId": "kibCasesPluginApi", + "section": "def-common.CommentType", + "text": "CommentType" + }, + ".actions; comment: string; actions: { targets: { hostname: string; endpointId: string; }[]; type: string; }; owner: string; } & { created_at: string; created_by: { email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }; owner: string; pushed_at: string | null; pushed_by: ({ email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }) | null; updated_at: string | null; updated_by: ({ email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }) | null; }) | (({ externalReferenceId: string; externalReferenceStorage: { type: ", + { + "pluginId": "cases", + "scope": "common", + "docId": "kibCasesPluginApi", + "section": "def-common.ExternalReferenceStorageType", + "text": "ExternalReferenceStorageType" + }, + ".elasticSearchDoc; }; externalReferenceAttachmentTypeId: string; externalReferenceMetadata: { [x: string]: ", + { + "pluginId": "@kbn/utility-types", + "scope": "common", + "docId": "kibKbnUtilityTypesPluginApi", + "section": "def-common.JsonValue", + "text": "JsonValue" + }, + "; } | null; type: ", + { + "pluginId": "cases", + "scope": "common", + "docId": "kibCasesPluginApi", + "section": "def-common.CommentType", + "text": "CommentType" + }, + ".externalReference; owner: string; } | { externalReferenceId: string; externalReferenceStorage: { type: ", + { + "pluginId": "cases", + "scope": "common", + "docId": "kibCasesPluginApi", + "section": "def-common.ExternalReferenceStorageType", + "text": "ExternalReferenceStorageType" + }, + ".savedObject; soType: string; }; externalReferenceAttachmentTypeId: string; externalReferenceMetadata: { [x: string]: ", + { + "pluginId": "@kbn/utility-types", + "scope": "common", + "docId": "kibKbnUtilityTypesPluginApi", + "section": "def-common.JsonValue", + "text": "JsonValue" + }, + "; } | null; type: ", + { + "pluginId": "cases", + "scope": "common", + "docId": "kibCasesPluginApi", + "section": "def-common.CommentType", + "text": "CommentType" + }, + ".externalReference; owner: string; }) & { created_at: string; created_by: { email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }; owner: string; pushed_at: string | null; pushed_by: ({ email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }) | null; updated_at: string | null; updated_by: ({ email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }) | null; }) | ({ type: ", + { + "pluginId": "cases", + "scope": "common", + "docId": "kibCasesPluginApi", + "section": "def-common.CommentType", + "text": "CommentType" + }, + ".persistableState; owner: string; persistableStateAttachmentTypeId: string; persistableStateAttachmentState: { [x: string]: ", + { + "pluginId": "@kbn/utility-types", + "scope": "common", + "docId": "kibKbnUtilityTypesPluginApi", + "section": "def-common.JsonValue", + "text": "JsonValue" + }, + "; }; } & { created_at: string; created_by: { email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }; owner: string; pushed_at: string | null; pushed_by: ({ email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }) | null; updated_at: string | null; updated_by: ({ email: string | null | undefined; full_name: string | null | undefined; username: string | null | undefined; } & { profile_uid?: string | undefined; }) | null; })) & { id: string; version: string; })[] | undefined; })[]; errors: { error: string; message: string; status: number | undefined; caseId: string; }[]; }" ], "path": "x-pack/plugins/cases/common/api/cases/case.ts", "deprecated": false, diff --git a/api_docs/cases.mdx b/api_docs/cases.mdx index 6ab185d9c6d65..5d4ba9e911550 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cases'] --- import casesObj from './cases.devdocs.json'; diff --git a/api_docs/charts.devdocs.json b/api_docs/charts.devdocs.json index 14d6098c42f3d..0b0e5610f488f 100644 --- a/api_docs/charts.devdocs.json +++ b/api_docs/charts.devdocs.json @@ -2289,7 +2289,15 @@ "Theme", ">; readonly darkModeEnabled$: ", "Observable", - "; useDarkMode: () => boolean; useChartsTheme: () => ", + "<", + { + "pluginId": "@kbn/core-theme-browser", + "scope": "common", + "docId": "kibKbnCoreThemeBrowserPluginApi", + "section": "def-common.CoreTheme", + "text": "CoreTheme" + }, + ">; useDarkMode: () => boolean; useChartsTheme: () => ", "RecursivePartial", "<", "Theme", diff --git a/api_docs/charts.mdx b/api_docs/charts.mdx index 331cc86f21645..43d337aaf5763 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-05-16 +date: 2023-06-07 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 af99c298ca3f5..cf25aaa258c14 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-05-16 +date: 2023-06-07 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 dad5bbc03fe25..898af65cc200f 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChat'] --- import cloudChatObj from './cloud_chat.devdocs.json'; diff --git a/api_docs/cloud_data_migration.mdx b/api_docs/cloud_data_migration.mdx index ef232531b1c89..8163669ab7b1c 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDataMigration'] --- import cloudDataMigrationObj from './cloud_data_migration.devdocs.json'; diff --git a/api_docs/cloud_defend.devdocs.json b/api_docs/cloud_defend.devdocs.json index 40015d4edbbb1..88ea58e59eb72 100644 --- a/api_docs/cloud_defend.devdocs.json +++ b/api_docs/cloud_defend.devdocs.json @@ -13,44 +13,17 @@ "\nGets the cloud_defend link properties of a Cloud Defend page for navigation in the security solution." ], "signature": [ - "(cloudDefendPage: \"policies\") => CloudDefendLinkItem" - ], - "path": "x-pack/plugins/cloud_defend/public/common/navigation/security_solution_links.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + "(cloudDefendPage: \"policies\", basePath: string) => CloudDefendNavTab" + "pluginId": "cloudDefend", + "scope": "public", + "docId": "kibCloudDefendPluginApi", + "section": "def-public.CloudDefendPageId", + "text": "CloudDefendPageId" + }, + ">(cloudDefendPage: ", + "CloudDefendPage", + ") => CloudDefendLinkItem" ], "path": "x-pack/plugins/cloud_defend/public/common/navigation/security_solution_links.ts", "deprecated": false, @@ -58,32 +31,15 @@ "children": [ { "parentPluginId": "cloudDefend", - "id": "def-public.getSecuritySolutionNavTab.$1", - "type": "string", + "id": "def-public.getSecuritySolutionLink.$1", + "type": "CompoundType", "tags": [], "label": "cloudDefendPage", "description": [ "the name of the cloud defend page." ], "signature": [ - "\"policies\"" - ], - "path": "x-pack/plugins/cloud_defend/public/common/navigation/security_solution_links.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "cloudDefend", - "id": "def-public.getSecuritySolutionNavTab.$2", - "type": "string", - "tags": [], - "label": "basePath", - "description": [ - "the base path for links." - ], - "signature": [ - "string" + "CloudDefendPage" ], "path": "x-pack/plugins/cloud_defend/public/common/navigation/security_solution_links.ts", "deprecated": false, @@ -135,7 +91,15 @@ "Gets the `SpyRoute` component for navigation highlighting and breadcrumbs." ], "signature": [ - "() => React.ComponentType<{ pageName: \"cloud_defend-policies\"; state?: Record | undefined; }>" + "() => React.ComponentType<{ pageName: ", + { + "pluginId": "cloudDefend", + "scope": "public", + "docId": "kibCloudDefendPluginApi", + "section": "def-public.CloudDefendPageId", + "text": "CloudDefendPageId" + }, + "; state?: Record | undefined; }>" ], "path": "x-pack/plugins/cloud_defend/public/types.ts", "deprecated": false, @@ -176,7 +140,7 @@ "\nAll the IDs for the cloud defend pages.\nThis needs to match the cloud defend page entries in `SecurityPageName` in `x-pack/plugins/security_solution/common/constants.ts`." ], "signature": [ - "\"cloud_defend-policies\"" + "\"cloud_defend-policies\" | \"kubernetes_security-dashboard\"" ], "path": "x-pack/plugins/cloud_defend/public/common/navigation/types.ts", "deprecated": false, diff --git a/api_docs/cloud_defend.mdx b/api_docs/cloud_defend.mdx index 89a9a8e29cc4d..0780c4c5c2240 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDefend'] --- import cloudDefendObj from './cloud_defend.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/sec-cloudnative-integrations](https://github.com/orgs/elastic/ | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 15 | 0 | 4 | 1 | +| 12 | 0 | 4 | 2 | ## Client diff --git a/api_docs/cloud_experiments.mdx b/api_docs/cloud_experiments.mdx index 194287b5e0546..ac126864088fd 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudExperiments'] --- import cloudExperimentsObj from './cloud_experiments.devdocs.json'; diff --git a/api_docs/cloud_security_posture.devdocs.json b/api_docs/cloud_security_posture.devdocs.json index ca11b206b5a57..5b7a964bf9526 100644 --- a/api_docs/cloud_security_posture.devdocs.json +++ b/api_docs/cloud_security_posture.devdocs.json @@ -49,70 +49,6 @@ ], "returnComment": [], "initialIsOpen": false - }, - { - "parentPluginId": "cloudSecurityPosture", - "id": "def-public.getSecuritySolutionNavTab", - "type": "Function", - "tags": [], - "label": "getSecuritySolutionNavTab", - "description": [ - "\nGets the cloud security posture link properties of a CSP page for navigation in the old security solution navigation." - ], - "signature": [ - "(cloudSecurityPosturePage: ", - "CspPage", - ", basePath: string) => CloudSecurityPostureNavTab" - ], - "path": "x-pack/plugins/cloud_security_posture/public/common/navigation/security_solution_links.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "cloudSecurityPosture", - "id": "def-public.getSecuritySolutionNavTab.$1", - "type": "CompoundType", - "tags": [], - "label": "cloudSecurityPosturePage", - "description": [ - "the name of the cloud posture page." - ], - "signature": [ - "CspPage" - ], - "path": "x-pack/plugins/cloud_security_posture/public/common/navigation/security_solution_links.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "cloudSecurityPosture", - "id": "def-public.getSecuritySolutionNavTab.$2", - "type": "string", - "tags": [], - "label": "basePath", - "description": [ - "the base path for links." - ], - "signature": [ - "string" - ], - "path": "x-pack/plugins/cloud_security_posture/public/common/navigation/security_solution_links.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false } ], "interfaces": [ @@ -206,7 +142,7 @@ "\nAll the IDs for the cloud security posture pages.\nThis needs to match the cloud security posture page entries in `SecurityPageName` in `x-pack/plugins/security_solution/common/constants.ts`." ], "signature": [ - "\"cloud_security_posture-dashboard\" | \"cloud_security_posture-findings\" | \"cloud_security_posture-benchmarks\" | \"cloud_security_posture-benchmarks-rules\"" + "\"cloud_security_posture-dashboard\" | \"cloud_security_posture-vulnerability_dashboard\" | \"cloud_security_posture-findings\" | \"cloud_security_posture-benchmarks\" | \"cloud_security_posture-benchmarks-rules\"" ], "path": "x-pack/plugins/cloud_security_posture/public/common/navigation/types.ts", "deprecated": false, diff --git a/api_docs/cloud_security_posture.mdx b/api_docs/cloud_security_posture.mdx index 2d514d2d25d9a..a64b611c2dfc4 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudSecurityPosture'] --- import cloudSecurityPostureObj from './cloud_security_posture.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-cloud-security-posture](https://github.com/orgs/elastic | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 17 | 0 | 2 | 2 | +| 14 | 0 | 2 | 2 | ## Client diff --git a/api_docs/console.mdx b/api_docs/console.mdx index 23e7f6e9bcce6..4444b509d3a23 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-05-16 +date: 2023-06-07 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 c172799287721..f361236e3d808 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'contentManagement'] --- import contentManagementObj from './content_management.devdocs.json'; diff --git a/api_docs/controls.devdocs.json b/api_docs/controls.devdocs.json index ce95034b22ea9..b8a9070af8ed5 100644 --- a/api_docs/controls.devdocs.json +++ b/api_docs/controls.devdocs.json @@ -265,6 +265,21 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "controls", + "id": "def-public.ControlGroupContainer.fieldFilterPredicate", + "type": "Function", + "tags": [], + "label": "fieldFilterPredicate", + "description": [], + "signature": [ + "FieldFilterPredicate", + " | undefined" + ], + "path": "src/plugins/controls/public/control_group/embeddable/control_group_container.tsx", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "controls", "id": "def-public.ControlGroupContainer.Unnamed", @@ -374,6 +389,70 @@ "deprecated": false, "trackAdoption": false, "isRequired": false + }, + { + "parentPluginId": "controls", + "id": "def-public.ControlGroupContainer.Unnamed.$5", + "type": "Function", + "tags": [], + "label": "fieldFilterPredicate", + "description": [], + "signature": [ + "FieldFilterPredicate", + " | undefined" + ], + "path": "src/plugins/controls/public/control_group/embeddable/control_group_container.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [] + }, + { + "parentPluginId": "controls", + "id": "def-public.ControlGroupContainer.updateInputAndReinitialize", + "type": "Function", + "tags": [], + "label": "updateInputAndReinitialize", + "description": [], + "signature": [ + "(newInput: Partial<", + { + "pluginId": "controls", + "scope": "common", + "docId": "kibControlsPluginApi", + "section": "def-common.ControlGroupInput", + "text": "ControlGroupInput" + }, + ">) => void" + ], + "path": "src/plugins/controls/public/control_group/embeddable/control_group_container.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "controls", + "id": "def-public.ControlGroupContainer.updateInputAndReinitialize.$1", + "type": "Object", + "tags": [], + "label": "newInput", + "description": [], + "signature": [ + "Partial<", + { + "pluginId": "controls", + "scope": "common", + "docId": "kibControlsPluginApi", + "section": "def-common.ControlGroupInput", + "text": "ControlGroupInput" + }, + ">" + ], + "path": "src/plugins/controls/public/control_group/embeddable/control_group_container.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true } ], "returnComment": [] @@ -1546,6 +1625,8 @@ }, "> | undefined, settings?: ", "ControlGroupSettings", + " | undefined, fieldFilterPredicate?: ", + "FieldFilterPredicate", " | undefined) => Promise<", { "pluginId": "controls", @@ -1634,6 +1715,22 @@ "deprecated": false, "trackAdoption": false, "isRequired": false + }, + { + "parentPluginId": "controls", + "id": "def-public.ControlGroupContainerFactory.create.$4", + "type": "Function", + "tags": [], + "label": "fieldFilterPredicate", + "description": [], + "signature": [ + "FieldFilterPredicate", + " | undefined" + ], + "path": "src/plugins/controls/public/control_group/embeddable/control_group_container_factory.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false } ], "returnComment": [] @@ -1802,7 +1899,7 @@ "signature": [ "{ deselectOption: (payload: string) => void; setSearchString: (payload: string) => void; setAllowExpensiveQueries: (payload: boolean) => void; setPopoverOpen: (payload: boolean) => void; setSort: (payload: Partial<", "OptionsListSortingType", - ">) => void; selectExists: (payload: boolean) => void; selectOption: (payload: string) => void; replaceSelection: (payload: string) => void; clearSelections: (payload: unknown) => void; setExclude: (payload: boolean) => void; clearValidAndInvalidSelections: (payload: unknown) => void; setValidAndInvalidSelections: (payload: { validSelections: string[]; invalidSelections: string[]; }) => void; setLoading: (payload: boolean) => void; setField: (payload: ", + ">) => void; selectExists: (payload: boolean) => void; selectOption: (payload: string) => void; replaceSelection: (payload: string) => void; clearSelections: (payload: unknown) => void; setExclude: (payload: boolean) => void; clearValidAndInvalidSelections: (payload: unknown) => void; setValidAndInvalidSelections: (payload: { validSelections: string[]; invalidSelections: string[]; }) => void; setErrorMessage: (payload: string | undefined) => void; setLoading: (payload: boolean) => void; setField: (payload: ", { "pluginId": "dataViews", "scope": "common", @@ -1994,38 +2091,6 @@ "children": [], "returnComment": [] }, - { - "parentPluginId": "controls", - "id": "def-public.OptionsListEmbeddable.onFatalError", - "type": "Function", - "tags": [], - "label": "onFatalError", - "description": [], - "signature": [ - "(e: Error) => void" - ], - "path": "src/plugins/controls/public/options_list/embeddable/options_list_embeddable.tsx", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "controls", - "id": "def-public.OptionsListEmbeddable.onFatalError.$1", - "type": "Object", - "tags": [], - "label": "e", - "description": [], - "signature": [ - "Error" - ], - "path": "src/plugins/controls/public/options_list/embeddable/options_list_embeddable.tsx", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, { "parentPluginId": "controls", "id": "def-public.OptionsListEmbeddable.destroy", @@ -2929,7 +2994,7 @@ "section": "def-common.FieldSpec", "text": "FieldSpec" }, - " | undefined) => void; setDataViewId: (payload: string | undefined) => void; setLoading: (payload: boolean) => void; setMinMax: (payload: { min: string; max: string; }) => void; publishFilters: (payload: ", + " | undefined) => void; setDataViewId: (payload: string | undefined) => void; setErrorMessage: (payload: string | undefined) => void; setLoading: (payload: boolean) => void; setMinMax: (payload: { min: string; max: string; }) => void; publishFilters: (payload: ", { "pluginId": "@kbn/es-query", "scope": "common", @@ -4699,6 +4764,21 @@ "deprecated": false, "trackAdoption": false, "children": [ + { + "parentPluginId": "controls", + "id": "def-public.OptionsListEmbeddableInput.searchTechnique", + "type": "CompoundType", + "tags": [], + "label": "searchTechnique", + "description": [], + "signature": [ + "OptionsListSearchTechnique", + " | undefined" + ], + "path": "src/plugins/controls/common/options_list/types.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "controls", "id": "def-public.OptionsListEmbeddableInput.sort", @@ -4814,13 +4894,13 @@ }, { "parentPluginId": "controls", - "id": "def-public.OptionsListEmbeddableInput.hideSort", - "type": "CompoundType", + "id": "def-public.OptionsListEmbeddableInput.placeholder", + "type": "string", "tags": [], - "label": "hideSort", + "label": "placeholder", "description": [], "signature": [ - "boolean | undefined" + "string | undefined" ], "path": "src/plugins/controls/common/options_list/types.ts", "deprecated": false, @@ -4828,10 +4908,10 @@ }, { "parentPluginId": "controls", - "id": "def-public.OptionsListEmbeddableInput.exclude", + "id": "def-public.OptionsListEmbeddableInput.hideSort", "type": "CompoundType", "tags": [], - "label": "exclude", + "label": "hideSort", "description": [], "signature": [ "boolean | undefined" @@ -4842,13 +4922,13 @@ }, { "parentPluginId": "controls", - "id": "def-public.OptionsListEmbeddableInput.placeholder", - "type": "string", + "id": "def-public.OptionsListEmbeddableInput.exclude", + "type": "CompoundType", "tags": [], - "label": "placeholder", + "label": "exclude", "description": [], "signature": [ - "string | undefined" + "boolean | undefined" ], "path": "src/plugins/controls/common/options_list/types.ts", "deprecated": false, @@ -6489,6 +6569,21 @@ "deprecated": false, "trackAdoption": false, "children": [ + { + "parentPluginId": "controls", + "id": "def-common.OptionsListEmbeddableInput.searchTechnique", + "type": "CompoundType", + "tags": [], + "label": "searchTechnique", + "description": [], + "signature": [ + "OptionsListSearchTechnique", + " | undefined" + ], + "path": "src/plugins/controls/common/options_list/types.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "controls", "id": "def-common.OptionsListEmbeddableInput.sort", @@ -6604,13 +6699,13 @@ }, { "parentPluginId": "controls", - "id": "def-common.OptionsListEmbeddableInput.hideSort", - "type": "CompoundType", + "id": "def-common.OptionsListEmbeddableInput.placeholder", + "type": "string", "tags": [], - "label": "hideSort", + "label": "placeholder", "description": [], "signature": [ - "boolean | undefined" + "string | undefined" ], "path": "src/plugins/controls/common/options_list/types.ts", "deprecated": false, @@ -6618,10 +6713,10 @@ }, { "parentPluginId": "controls", - "id": "def-common.OptionsListEmbeddableInput.exclude", + "id": "def-common.OptionsListEmbeddableInput.hideSort", "type": "CompoundType", "tags": [], - "label": "exclude", + "label": "hideSort", "description": [], "signature": [ "boolean | undefined" @@ -6632,13 +6727,13 @@ }, { "parentPluginId": "controls", - "id": "def-common.OptionsListEmbeddableInput.placeholder", - "type": "string", + "id": "def-common.OptionsListEmbeddableInput.exclude", + "type": "CompoundType", "tags": [], - "label": "placeholder", + "label": "exclude", "description": [], "signature": [ - "string | undefined" + "boolean | undefined" ], "path": "src/plugins/controls/common/options_list/types.ts", "deprecated": false, diff --git a/api_docs/controls.mdx b/api_docs/controls.mdx index 226e2dd4461b4..20e6d201020e5 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'controls'] --- import controlsObj from './controls.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kib | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 301 | 0 | 294 | 13 | +| 306 | 0 | 299 | 15 | ## Client diff --git a/api_docs/custom_integrations.mdx b/api_docs/custom_integrations.mdx index 89a28d111b5f2..c5d181dc51c64 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'customIntegrations'] --- import customIntegrationsObj from './custom_integrations.devdocs.json'; diff --git a/api_docs/dashboard.devdocs.json b/api_docs/dashboard.devdocs.json index 477a7221a9ec3..50f0cb0ecdd8a 100644 --- a/api_docs/dashboard.devdocs.json +++ b/api_docs/dashboard.devdocs.json @@ -176,13 +176,13 @@ "children": [ { "parentPluginId": "dashboard", - "id": "def-public.DashboardCreationOptions.initialInput", - "type": "Object", + "id": "def-public.DashboardCreationOptions.getInitialInput", + "type": "Function", "tags": [], - "label": "initialInput", + "label": "getInitialInput", "description": [], "signature": [ - "Partial<", + "(() => Partial<", { "pluginId": "dashboard", "scope": "common", @@ -190,20 +190,23 @@ "section": "def-common.DashboardContainerInput", "text": "DashboardContainerInput" }, - "> | undefined" + ">) | undefined" ], "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container_factory.tsx", "deprecated": false, - "trackAdoption": false + "trackAdoption": false, + "children": [], + "returnComment": [] }, { "parentPluginId": "dashboard", - "id": "def-public.DashboardCreationOptions.incomingEmbeddable", - "type": "Object", + "id": "def-public.DashboardCreationOptions.getIncomingEmbeddable", + "type": "Function", "tags": [], - "label": "incomingEmbeddable", + "label": "getIncomingEmbeddable", "description": [], "signature": [ + "(() => ", { "pluginId": "embeddable", "scope": "public", @@ -211,11 +214,13 @@ "section": "def-public.EmbeddablePackageState", "text": "EmbeddablePackageState" }, - " | undefined" + " | undefined) | undefined" ], "path": "src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container_factory.tsx", "deprecated": false, - "trackAdoption": false + "trackAdoption": false, + "children": [], + "returnComment": [] }, { "parentPluginId": "dashboard", diff --git a/api_docs/dashboard.mdx b/api_docs/dashboard.mdx index 271abca9e8fe4..7ffd0dd75b6dd 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-05-16 +date: 2023-06-07 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 8b65fef99dc4d..36207d062d71c 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboardEnhanced'] --- import dashboardEnhancedObj from './dashboard_enhanced.devdocs.json'; diff --git a/api_docs/data.devdocs.json b/api_docs/data.devdocs.json index 403043a354a1e..c28e7e49441dc 100644 --- a/api_docs/data.devdocs.json +++ b/api_docs/data.devdocs.json @@ -8561,408 +8561,479 @@ }, { "parentPluginId": "data", - "id": "def-public.SearchSourceFields", + "id": "def-public.SavedObject", "type": "Interface", "tags": [], - "label": "SearchSourceFields", + "label": "SavedObject", "description": [ - "\nsearch source fields" + "\nDefinition of the Saved Object interface\n" ], - "path": "src/plugins/data/common/search/search_source/types.ts", + "signature": [ + { + "pluginId": "@kbn/core-saved-objects-common", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObject", + "text": "SavedObject" + }, + "" + ], + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "data", - "id": "def-public.SearchSourceFields.type", + "id": "def-public.SavedObject.id", "type": "string", "tags": [], - "label": "type", - "description": [], - "signature": [ - "string | undefined" + "label": "id", + "description": [ + "The ID of this Saved Object, guaranteed to be unique for all objects of the same `type`" ], - "path": "src/plugins/data/common/search/search_source/types.ts", + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-public.SearchSourceFields.query", - "type": "CompoundType", + "id": "def-public.SavedObject.type", + "type": "string", "tags": [], - "label": "query", + "label": "type", "description": [ - "\n{@link Query}" - ], - "signature": [ - { - "pluginId": "@kbn/es-query", - "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.Query", - "text": "Query" - }, - " | ", - { - "pluginId": "@kbn/es-query", - "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.AggregateQuery", - "text": "AggregateQuery" - }, - " | undefined" + " The type of Saved Object. Each plugin can define it's own custom Saved Object types." ], - "path": "src/plugins/data/common/search/search_source/types.ts", + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-public.SearchSourceFields.filter", - "type": "CompoundType", + "id": "def-public.SavedObject.version", + "type": "string", "tags": [], - "label": "filter", + "label": "version", "description": [ - "\n{@link Filter}" + "An opaque version number which changes on each successful write operation. Can be used for implementing optimistic concurrency control." ], "signature": [ - { - "pluginId": "@kbn/es-query", - "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.Filter", - "text": "Filter" - }, - " | ", - { - "pluginId": "@kbn/es-query", - "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.Filter", - "text": "Filter" - }, - "[] | (() => ", - { - "pluginId": "@kbn/es-query", - "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.Filter", - "text": "Filter" - }, - " | ", - { - "pluginId": "@kbn/es-query", - "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.Filter", - "text": "Filter" - }, - "[] | undefined) | undefined" + "string | undefined" ], - "path": "src/plugins/data/common/search/search_source/types.ts", + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-public.SearchSourceFields.sort", - "type": "CompoundType", + "id": "def-public.SavedObject.created_at", + "type": "string", "tags": [], - "label": "sort", + "label": "created_at", "description": [ - "\n{@link EsQuerySortValue}" - ], - "signature": [ - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.EsQuerySortValue", - "text": "EsQuerySortValue" - }, - " | ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.EsQuerySortValue", - "text": "EsQuerySortValue" - }, - "[] | undefined" + "Timestamp of the time this document had been created." ], - "path": "src/plugins/data/common/search/search_source/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-public.SearchSourceFields.highlight", - "type": "Any", - "tags": [], - "label": "highlight", - "description": [], "signature": [ - "any" + "string | undefined" ], - "path": "src/plugins/data/common/search/search_source/types.ts", + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-public.SearchSourceFields.highlightAll", - "type": "CompoundType", + "id": "def-public.SavedObject.updated_at", + "type": "string", "tags": [], - "label": "highlightAll", - "description": [], - "signature": [ - "boolean | undefined" + "label": "updated_at", + "description": [ + "Timestamp of the last time this document had been updated." ], - "path": "src/plugins/data/common/search/search_source/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-public.SearchSourceFields.trackTotalHits", - "type": "CompoundType", - "tags": [], - "label": "trackTotalHits", - "description": [], "signature": [ - "number | boolean | undefined" + "string | undefined" ], - "path": "src/plugins/data/common/search/search_source/types.ts", + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-public.SearchSourceFields.aggs", - "type": "CompoundType", + "id": "def-public.SavedObject.error", + "type": "Object", "tags": [], - "label": "aggs", + "label": "error", "description": [ - "\n{@link AggConfigs}" + "Error associated with this object, populated if an operation failed for this object." ], "signature": [ - "object | ", { - "pluginId": "data", + "pluginId": "@kbn/core-saved-objects-common", "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.AggConfigs", - "text": "AggConfigs" + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObjectError", + "text": "SavedObjectError" }, - " | (() => object) | undefined" - ], - "path": "src/plugins/data/common/search/search_source/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-public.SearchSourceFields.from", - "type": "number", - "tags": [], - "label": "from", - "description": [], - "signature": [ - "number | undefined" - ], - "path": "src/plugins/data/common/search/search_source/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-public.SearchSourceFields.size", - "type": "number", - "tags": [], - "label": "size", - "description": [], - "signature": [ - "number | undefined" - ], - "path": "src/plugins/data/common/search/search_source/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-public.SearchSourceFields.source", - "type": "CompoundType", - "tags": [], - "label": "source", - "description": [], - "signature": [ - "boolean | ", - "Fields", " | undefined" ], - "path": "src/plugins/data/common/search/search_source/types.ts", + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-public.SearchSourceFields.version", - "type": "CompoundType", + "id": "def-public.SavedObject.attributes", + "type": "Uncategorized", "tags": [], - "label": "version", - "description": [], + "label": "attributes", + "description": [ + "The data for a Saved Object is stored as an object in the `attributes` property." + ], "signature": [ - "boolean | undefined" + "T" ], - "path": "src/plugins/data/common/search/search_source/types.ts", + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-public.SearchSourceFields.fields", + "id": "def-public.SavedObject.references", "type": "Array", "tags": [], - "label": "fields", + "label": "references", "description": [ - "\nRetrieve fields via the search Fields API" + "{@inheritdoc SavedObjectReference}" ], "signature": [ { - "pluginId": "data", + "pluginId": "@kbn/core-saved-objects-common", "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchFieldValue", - "text": "SearchFieldValue" + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObjectReference", + "text": "SavedObjectReference" }, - "[] | undefined" + "[]" ], - "path": "src/plugins/data/common/search/search_source/types.ts", + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-public.SearchSourceFields.fieldsFromSource", - "type": "CompoundType", + "id": "def-public.SavedObject.migrationVersion", + "type": "Object", "tags": [ "deprecated" ], - "label": "fieldsFromSource", + "label": "migrationVersion", "description": [ - "\nRetreive fields directly from _source (legacy behavior)\n" + "\n{@inheritdoc SavedObjectsMigrationVersion}" ], "signature": [ - "Fields", + { + "pluginId": "@kbn/core-saved-objects-common", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObjectsMigrationVersion", + "text": "SavedObjectsMigrationVersion" + }, " | undefined" ], - "path": "src/plugins/data/common/search/search_source/types.ts", + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", "deprecated": true, "trackAdoption": false, - "references": [] - }, - { - "parentPluginId": "data", - "id": "def-public.SearchSourceFields.index", - "type": "Object", - "tags": [], - "label": "index", - "description": [ - "\n{@link IndexPatternService}" - ], - "signature": [ + "references": [ { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" + "plugin": "@kbn/core-saved-objects-api-browser", + "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" }, - " | undefined" - ], - "path": "src/plugins/data/common/search/search_source/types.ts", - "deprecated": false, - "trackAdoption": false + { + "plugin": "@kbn/core-saved-objects-browser-internal", + "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" + }, + { + "plugin": "@kbn/core-saved-objects-browser-internal", + "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" + }, + { + "plugin": "@kbn/core-saved-objects-browser-mocks", + "path": "packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts" + }, + { + "plugin": "@kbn/core-saved-objects-api-server-internal", + "path": "packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/utils/internal_utils.ts" + }, + { + "plugin": "@kbn/core-saved-objects-import-export-server-internal", + "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/lib/collect_saved_objects.ts" + }, + { + "plugin": "@kbn/core-saved-objects-server-internal", + "path": "packages/core/saved-objects/core-saved-objects-server-internal/src/routes/legacy_import_export/lib/import_dashboards.ts" + }, + { + "plugin": "home", + "path": "src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts" + }, + { + "plugin": "home", + "path": "src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts" + }, + { + "plugin": "home", + "path": "src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts" + }, + { + "plugin": "home", + "path": "src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts" + }, + { + "plugin": "home", + "path": "src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts" + }, + { + "plugin": "home", + "path": "src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts" + }, + { + "plugin": "home", + "path": "src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts" + }, + { + "plugin": "home", + "path": "src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts" + }, + { + "plugin": "home", + "path": "src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts" + }, + { + "plugin": "home", + "path": "src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/server/sample_data/logs.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/server/sample_data/ecommerce.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/server/sample_data/flights.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/usage/detections/rules/get_metrics.mocks.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/epm/packages/get.test.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/epm/packages/get.test.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/epm/packages/get.test.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/epm/packages/get.test.ts" + } + ] }, { "parentPluginId": "data", - "id": "def-public.SearchSourceFields.timeout", + "id": "def-public.SavedObject.coreMigrationVersion", "type": "string", "tags": [], - "label": "timeout", - "description": [], + "label": "coreMigrationVersion", + "description": [ + "A semver value that is used when upgrading objects between Kibana versions." + ], "signature": [ "string | undefined" ], - "path": "src/plugins/data/common/search/search_source/types.ts", + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-public.SearchSourceFields.terminate_after", - "type": "number", + "id": "def-public.SavedObject.typeMigrationVersion", + "type": "string", "tags": [], - "label": "terminate_after", - "description": [], + "label": "typeMigrationVersion", + "description": [ + "A semver value that is used when migrating documents between Kibana versions." + ], "signature": [ - "number | undefined" + "string | undefined" ], - "path": "src/plugins/data/common/search/search_source/types.ts", + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-public.SearchSourceFields.searchAfter", + "id": "def-public.SavedObject.namespaces", "type": "Array", "tags": [], - "label": "searchAfter", - "description": [], + "label": "namespaces", + "description": [ + "\nSpace(s) that this saved object exists in. This attribute is not used for \"global\" saved object types which are registered with\n`namespaceType: 'agnostic'`." + ], "signature": [ - "SortResults", - " | undefined" + "string[] | undefined" ], - "path": "src/plugins/data/common/search/search_source/types.ts", + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-public.SearchSourceFields.pit", - "type": "Object", + "id": "def-public.SavedObject.originId", + "type": "string", "tags": [], - "label": "pit", + "label": "originId", "description": [ - "\nAllow querying to use a point-in-time ID for paging results" + "\nThe ID of the saved object this originated from. This is set if this object's `id` was regenerated; that can happen during migration\nfrom a legacy single-namespace type, or during import. It is only set during migration or create operations. This is used during import\nto ensure that ID regeneration is deterministic, so saved objects will be overwritten if they are imported multiple times into a given\nspace." ], "signature": [ - "SearchPointInTimeReference", - " | undefined" + "string | undefined" ], - "path": "src/plugins/data/common/search/search_source/types.ts", + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-public.SearchSourceFields.parent", - "type": "Object", + "id": "def-public.SavedObject.managed", + "type": "CompoundType", "tags": [], - "label": "parent", - "description": [], + "label": "managed", + "description": [ + "\nFlag indicating if a saved object is managed by Kibana (default=false)\n\nThis can be leveraged by applications to e.g. prevent edits to a managed\nsaved object. Instead, users can be guided to create a copy first and\nmake their edits to the copy." + ], "signature": [ - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchSourceFields", - "text": "SearchSourceFields" - }, - " | undefined" + "boolean | undefined" ], - "path": "src/plugins/data/common/search/search_source/types.ts", + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", "deprecated": false, "trackAdoption": false } @@ -8971,467 +9042,593 @@ }, { "parentPluginId": "data", - "id": "def-public.ShardFailureRequest", + "id": "def-public.SearchSourceFields", "type": "Interface", "tags": [], - "label": "ShardFailureRequest", - "description": [], - "path": "src/plugins/data/public/shard_failure_modal/shard_failure_types.ts", + "label": "SearchSourceFields", + "description": [ + "\nsearch source fields" + ], + "path": "src/plugins/data/common/search/search_source/types.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "data", - "id": "def-public.ShardFailureRequest.docvalue_fields", - "type": "Array", + "id": "def-public.SearchSourceFields.type", + "type": "string", "tags": [], - "label": "docvalue_fields", + "label": "type", "description": [], "signature": [ - "string[]" + "string | undefined" ], - "path": "src/plugins/data/public/shard_failure_modal/shard_failure_types.ts", + "path": "src/plugins/data/common/search/search_source/types.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-public.ShardFailureRequest._source", - "type": "Unknown", + "id": "def-public.SearchSourceFields.query", + "type": "CompoundType", "tags": [], - "label": "_source", - "description": [], + "label": "query", + "description": [ + "\n{@link Query}" + ], "signature": [ - "unknown" + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Query", + "text": "Query" + }, + " | ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.AggregateQuery", + "text": "AggregateQuery" + }, + " | undefined" ], - "path": "src/plugins/data/public/shard_failure_modal/shard_failure_types.ts", + "path": "src/plugins/data/common/search/search_source/types.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-public.ShardFailureRequest.query", - "type": "Unknown", + "id": "def-public.SearchSourceFields.filter", + "type": "CompoundType", "tags": [], - "label": "query", - "description": [], + "label": "filter", + "description": [ + "\n{@link Filter}" + ], "signature": [ - "unknown" + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Filter", + "text": "Filter" + }, + " | ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Filter", + "text": "Filter" + }, + "[] | (() => ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Filter", + "text": "Filter" + }, + " | ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Filter", + "text": "Filter" + }, + "[] | undefined) | undefined" ], - "path": "src/plugins/data/public/shard_failure_modal/shard_failure_types.ts", + "path": "src/plugins/data/common/search/search_source/types.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-public.ShardFailureRequest.script_fields", - "type": "Unknown", + "id": "def-public.SearchSourceFields.sort", + "type": "CompoundType", "tags": [], - "label": "script_fields", + "label": "sort", + "description": [ + "\n{@link EsQuerySortValue}" + ], + "signature": [ + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.EsQuerySortValue", + "text": "EsQuerySortValue" + }, + " | ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.EsQuerySortValue", + "text": "EsQuerySortValue" + }, + "[] | undefined" + ], + "path": "src/plugins/data/common/search/search_source/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "data", + "id": "def-public.SearchSourceFields.highlight", + "type": "Any", + "tags": [], + "label": "highlight", "description": [], "signature": [ - "unknown" + "any" ], - "path": "src/plugins/data/public/shard_failure_modal/shard_failure_types.ts", + "path": "src/plugins/data/common/search/search_source/types.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-public.ShardFailureRequest.sort", - "type": "Unknown", + "id": "def-public.SearchSourceFields.highlightAll", + "type": "CompoundType", "tags": [], - "label": "sort", + "label": "highlightAll", "description": [], "signature": [ - "unknown" + "boolean | undefined" ], - "path": "src/plugins/data/public/shard_failure_modal/shard_failure_types.ts", + "path": "src/plugins/data/common/search/search_source/types.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-public.ShardFailureRequest.stored_fields", - "type": "Array", + "id": "def-public.SearchSourceFields.trackTotalHits", + "type": "CompoundType", "tags": [], - "label": "stored_fields", + "label": "trackTotalHits", "description": [], "signature": [ - "string[]" + "number | boolean | undefined" ], - "path": "src/plugins/data/public/shard_failure_modal/shard_failure_types.ts", + "path": "src/plugins/data/common/search/search_source/types.ts", "deprecated": false, "trackAdoption": false - } - ], - "initialIsOpen": false - } - ], - "enums": [ - { - "parentPluginId": "data", - "id": "def-public.BUCKET_TYPES", - "type": "Enum", - "tags": [], - "label": "BUCKET_TYPES", - "description": [], - "path": "src/plugins/data/common/search/aggs/buckets/bucket_agg_types.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-public.ES_FIELD_TYPES", - "type": "Enum", - "tags": [], - "label": "ES_FIELD_TYPES", - "description": [], - "path": "packages/kbn-field-types/src/types.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-public.KBN_FIELD_TYPES", - "type": "Enum", - "tags": [], - "label": "KBN_FIELD_TYPES", - "description": [], - "path": "packages/kbn-field-types/src/types.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-public.METRIC_TYPES", - "type": "Enum", - "tags": [], - "label": "METRIC_TYPES", - "description": [], - "path": "src/plugins/data/common/search/aggs/metrics/metric_agg_types.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-public.SortDirection", - "type": "Enum", - "tags": [], - "label": "SortDirection", - "description": [], - "path": "src/plugins/data/common/search/search_source/types.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - } - ], - "misc": [ - { - "parentPluginId": "data", - "id": "def-public.AggConfigOptions", - "type": "Type", - "tags": [], - "label": "AggConfigOptions", - "description": [], - "signature": [ - "{ type: ", + }, { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.IAggType", - "text": "IAggType" + "parentPluginId": "data", + "id": "def-public.SearchSourceFields.aggs", + "type": "CompoundType", + "tags": [], + "label": "aggs", + "description": [ + "\n{@link AggConfigs}" + ], + "signature": [ + "object | ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.AggConfigs", + "text": "AggConfigs" + }, + " | (() => object) | undefined" + ], + "path": "src/plugins/data/common/search/search_source/types.ts", + "deprecated": false, + "trackAdoption": false }, - "; id?: string | undefined; params?: {} | ", { - "pluginId": "@kbn/utility-types", - "scope": "common", - "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-common.SerializableRecord", - "text": "SerializableRecord" + "parentPluginId": "data", + "id": "def-public.SearchSourceFields.from", + "type": "number", + "tags": [], + "label": "from", + "description": [], + "signature": [ + "number | undefined" + ], + "path": "src/plugins/data/common/search/search_source/types.ts", + "deprecated": false, + "trackAdoption": false }, - " | undefined; schema?: string | undefined; enabled?: boolean | undefined; }" - ], - "path": "src/plugins/data/common/search/aggs/agg_config.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-public.AggConfigSerialized", - "type": "Type", - "tags": [], - "label": "AggConfigSerialized", - "description": [], - "signature": [ - "{ type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { - "pluginId": "@kbn/utility-types", - "scope": "common", - "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-common.SerializableRecord", - "text": "SerializableRecord" + "parentPluginId": "data", + "id": "def-public.SearchSourceFields.size", + "type": "number", + "tags": [], + "label": "size", + "description": [], + "signature": [ + "number | undefined" + ], + "path": "src/plugins/data/common/search/search_source/types.ts", + "deprecated": false, + "trackAdoption": false }, - " | undefined; schema?: string | undefined; }" - ], - "path": "src/plugins/data/common/search/aggs/agg_config.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-public.AggGroupName", - "type": "Type", - "tags": [], - "label": "AggGroupName", - "description": [], - "signature": [ - "\"none\" | \"metrics\" | \"buckets\"" - ], - "path": "src/plugins/data/common/search/aggs/agg_groups.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-public.AggParam", - "type": "Type", - "tags": [], - "label": "AggParam", - "description": [], - "signature": [ - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.BaseParamType", - "text": "BaseParamType" - }, - "<", { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.AggConfig", - "text": "AggConfig" + "parentPluginId": "data", + "id": "def-public.SearchSourceFields.source", + "type": "CompoundType", + "tags": [], + "label": "source", + "description": [], + "signature": [ + "boolean | ", + "Fields", + " | undefined" + ], + "path": "src/plugins/data/common/search/search_source/types.ts", + "deprecated": false, + "trackAdoption": false }, - ">" - ], - "path": "src/plugins/data/common/search/aggs/agg_params.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-public.AggregationRestrictions", - "type": "Type", - "tags": [], - "label": "AggregationRestrictions", - "description": [], - "signature": [ - "{ [x: string]: { agg?: string | undefined; interval?: number | undefined; fixed_interval?: string | undefined; calendar_interval?: string | undefined; delay?: string | undefined; time_zone?: string | undefined; }; }" - ], - "path": "src/plugins/data_views/common/types.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-public.AggregationRestrictions", - "type": "Type", - "tags": [], - "label": "AggregationRestrictions", - "description": [], - "signature": [ - "{ [x: string]: { agg?: string | undefined; interval?: number | undefined; fixed_interval?: string | undefined; calendar_interval?: string | undefined; delay?: string | undefined; time_zone?: string | undefined; }; }" - ], - "path": "src/plugins/data_views/common/types.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-public.AggsStart", - "type": "Type", - "tags": [], - "label": "AggsStart", - "description": [ - "\nAggsStart represents the actual external contract as AggsCommonStart\nis only used internally. The difference is that AggsStart includes the\ntypings for the registry with initialized agg types.\n" - ], - "signature": [ - "{ calculateAutoTimeExpression: (range: ", { - "pluginId": "data", - "scope": "common", - "docId": "kibDataQueryPluginApi", - "section": "def-common.TimeRange", - "text": "TimeRange" + "parentPluginId": "data", + "id": "def-public.SearchSourceFields.version", + "type": "CompoundType", + "tags": [], + "label": "version", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "src/plugins/data/common/search/search_source/types.ts", + "deprecated": false, + "trackAdoption": false }, - ") => string | undefined; createAggConfigs: (indexPattern: ", { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" + "parentPluginId": "data", + "id": "def-public.SearchSourceFields.fields", + "type": "Array", + "tags": [], + "label": "fields", + "description": [ + "\nRetrieve fields via the search Fields API" + ], + "signature": [ + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.SearchFieldValue", + "text": "SearchFieldValue" + }, + "[] | undefined" + ], + "path": "src/plugins/data/common/search/search_source/types.ts", + "deprecated": false, + "trackAdoption": false }, - ", configStates?: ", { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.CreateAggConfigParams", - "text": "CreateAggConfigParams" + "parentPluginId": "data", + "id": "def-public.SearchSourceFields.fieldsFromSource", + "type": "CompoundType", + "tags": [ + "deprecated" + ], + "label": "fieldsFromSource", + "description": [ + "\nRetreive fields directly from _source (legacy behavior)\n" + ], + "signature": [ + "Fields", + " | undefined" + ], + "path": "src/plugins/data/common/search/search_source/types.ts", + "deprecated": true, + "trackAdoption": false, + "references": [] }, - "[] | undefined, options?: Partial<", { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.AggConfigsOptions", - "text": "AggConfigsOptions" + "parentPluginId": "data", + "id": "def-public.SearchSourceFields.index", + "type": "Object", + "tags": [], + "label": "index", + "description": [ + "\n{@link IndexPatternService}" + ], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + " | undefined" + ], + "path": "src/plugins/data/common/search/search_source/types.ts", + "deprecated": false, + "trackAdoption": false }, - "> | undefined) => ", { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.AggConfigs", - "text": "AggConfigs" + "parentPluginId": "data", + "id": "def-public.SearchSourceFields.timeout", + "type": "string", + "tags": [], + "label": "timeout", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/data/common/search/search_source/types.ts", + "deprecated": false, + "trackAdoption": false }, - "; types: { get: (name: string) => ", { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.BucketAggType", - "text": "BucketAggType" + "parentPluginId": "data", + "id": "def-public.SearchSourceFields.terminate_after", + "type": "number", + "tags": [], + "label": "terminate_after", + "description": [], + "signature": [ + "number | undefined" + ], + "path": "src/plugins/data/common/search/search_source/types.ts", + "deprecated": false, + "trackAdoption": false }, - " | ", { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.MetricAggType", - "text": "MetricAggType" + "parentPluginId": "data", + "id": "def-public.SearchSourceFields.searchAfter", + "type": "Array", + "tags": [], + "label": "searchAfter", + "description": [], + "signature": [ + "SortResults", + " | undefined" + ], + "path": "src/plugins/data/common/search/search_source/types.ts", + "deprecated": false, + "trackAdoption": false }, - " | undefined; getAll: () => { buckets: ", { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.BucketAggType", - "text": "BucketAggType" + "parentPluginId": "data", + "id": "def-public.SearchSourceFields.pit", + "type": "Object", + "tags": [], + "label": "pit", + "description": [ + "\nAllow querying to use a point-in-time ID for paging results" + ], + "signature": [ + "SearchPointInTimeReference", + " | undefined" + ], + "path": "src/plugins/data/common/search/search_source/types.ts", + "deprecated": false, + "trackAdoption": false }, - "[]; metrics: ", { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.MetricAggType", - "text": "MetricAggType" + "parentPluginId": "data", + "id": "def-public.SearchSourceFields.parent", + "type": "Object", + "tags": [], + "label": "parent", + "description": [], + "signature": [ + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.SearchSourceFields", + "text": "SearchSourceFields" + }, + " | undefined" + ], + "path": "src/plugins/data/common/search/search_source/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-public.ShardFailureRequest", + "type": "Interface", + "tags": [], + "label": "ShardFailureRequest", + "description": [], + "path": "src/plugins/data/public/shard_failure_modal/shard_failure_types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-public.ShardFailureRequest.docvalue_fields", + "type": "Array", + "tags": [], + "label": "docvalue_fields", + "description": [], + "signature": [ + "string[]" + ], + "path": "src/plugins/data/public/shard_failure_modal/shard_failure_types.ts", + "deprecated": false, + "trackAdoption": false }, - "[]; }; }; }" + { + "parentPluginId": "data", + "id": "def-public.ShardFailureRequest._source", + "type": "Unknown", + "tags": [], + "label": "_source", + "description": [], + "signature": [ + "unknown" + ], + "path": "src/plugins/data/public/shard_failure_modal/shard_failure_types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "data", + "id": "def-public.ShardFailureRequest.query", + "type": "Unknown", + "tags": [], + "label": "query", + "description": [], + "signature": [ + "unknown" + ], + "path": "src/plugins/data/public/shard_failure_modal/shard_failure_types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "data", + "id": "def-public.ShardFailureRequest.script_fields", + "type": "Unknown", + "tags": [], + "label": "script_fields", + "description": [], + "signature": [ + "unknown" + ], + "path": "src/plugins/data/public/shard_failure_modal/shard_failure_types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "data", + "id": "def-public.ShardFailureRequest.sort", + "type": "Unknown", + "tags": [], + "label": "sort", + "description": [], + "signature": [ + "unknown" + ], + "path": "src/plugins/data/public/shard_failure_modal/shard_failure_types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "data", + "id": "def-public.ShardFailureRequest.stored_fields", + "type": "Array", + "tags": [], + "label": "stored_fields", + "description": [], + "signature": [ + "string[]" + ], + "path": "src/plugins/data/public/shard_failure_modal/shard_failure_types.ts", + "deprecated": false, + "trackAdoption": false + } ], - "path": "src/plugins/data/common/search/aggs/types.ts", + "initialIsOpen": false + } + ], + "enums": [ + { + "parentPluginId": "data", + "id": "def-public.BUCKET_TYPES", + "type": "Enum", + "tags": [], + "label": "BUCKET_TYPES", + "description": [], + "path": "src/plugins/data/common/search/aggs/buckets/bucket_agg_types.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false }, { "parentPluginId": "data", - "id": "def-public.APPLY_FILTER_TRIGGER", - "type": "string", + "id": "def-public.ES_FIELD_TYPES", + "type": "Enum", "tags": [], - "label": "APPLY_FILTER_TRIGGER", + "label": "ES_FIELD_TYPES", "description": [], - "signature": [ - "\"FILTER_TRIGGER\"" - ], - "path": "src/plugins/data/public/triggers/apply_filter_trigger.ts", + "path": "packages/kbn-field-types/src/types.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false }, { "parentPluginId": "data", - "id": "def-public.DataViewsContract", - "type": "Type", + "id": "def-public.KBN_FIELD_TYPES", + "type": "Enum", "tags": [], - "label": "DataViewsContract", + "label": "KBN_FIELD_TYPES", "description": [], - "signature": [ - { - "pluginId": "dataViews", - "scope": "public", - "docId": "kibDataViewsPluginApi", - "section": "def-public.DataViewsServicePublic", - "text": "DataViewsServicePublic" - } - ], - "path": "src/plugins/data_views/public/types.ts", + "path": "packages/kbn-field-types/src/types.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false }, { "parentPluginId": "data", - "id": "def-public.ES_SEARCH_STRATEGY", - "type": "string", + "id": "def-public.METRIC_TYPES", + "type": "Enum", "tags": [], - "label": "ES_SEARCH_STRATEGY", + "label": "METRIC_TYPES", "description": [], - "signature": [ - "\"es\"" - ], - "path": "src/plugins/data/common/search/strategies/es_search/types.ts", + "path": "src/plugins/data/common/search/aggs/metrics/metric_agg_types.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false }, { "parentPluginId": "data", - "id": "def-public.EsaggsExpressionFunctionDefinition", + "id": "def-public.SortDirection", + "type": "Enum", + "tags": [], + "label": "SortDirection", + "description": [], + "path": "src/plugins/data/common/search/search_source/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "misc": [ + { + "parentPluginId": "data", + "id": "def-public.AggConfigOptions", "type": "Type", "tags": [], - "label": "EsaggsExpressionFunctionDefinition", + "label": "AggConfigOptions", "description": [], "signature": [ + "{ type: ", { - "pluginId": "expressions", - "scope": "common", - "docId": "kibExpressionsPluginApi", - "section": "def-common.ExpressionFunctionDefinition", - "text": "ExpressionFunctionDefinition" - }, - "<\"esaggs\", Input, Arguments, Output, ", - { - "pluginId": "expressions", - "scope": "common", - "docId": "kibExpressionsPluginApi", - "section": "def-common.ExecutionContext", - "text": "ExecutionContext" - }, - "<", - { - "pluginId": "inspector", + "pluginId": "data", "scope": "common", - "docId": "kibInspectorPluginApi", - "section": "def-common.Adapters", - "text": "Adapters" + "docId": "kibDataSearchPluginApi", + "section": "def-common.IAggType", + "text": "IAggType" }, - ", ", + "; id?: string | undefined; params?: {} | ", { "pluginId": "@kbn/utility-types", "scope": "common", @@ -9439,105 +9636,257 @@ "section": "def-common.SerializableRecord", "text": "SerializableRecord" }, - ">>" + " | undefined; schema?: string | undefined; enabled?: boolean | undefined; }" ], - "path": "src/plugins/data/common/search/expressions/esaggs/esaggs_fn.ts", + "path": "src/plugins/data/common/search/aggs/agg_config.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false }, { "parentPluginId": "data", - "id": "def-public.EsQuerySortValue", + "id": "def-public.AggConfigSerialized", "type": "Type", "tags": [], - "label": "EsQuerySortValue", + "label": "AggConfigSerialized", "description": [], "signature": [ - "{ [x: string]: ", + "{ type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { - "pluginId": "data", + "pluginId": "@kbn/utility-types", "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SortDirection", - "text": "SortDirection" + "docId": "kibKbnUtilityTypesPluginApi", + "section": "def-common.SerializableRecord", + "text": "SerializableRecord" }, - " | ", + " | undefined; schema?: string | undefined; }" + ], + "path": "src/plugins/data/common/search/aggs/agg_config.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-public.AggGroupName", + "type": "Type", + "tags": [], + "label": "AggGroupName", + "description": [], + "signature": [ + "\"none\" | \"metrics\" | \"buckets\"" + ], + "path": "src/plugins/data/common/search/aggs/agg_groups.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-public.AggParam", + "type": "Type", + "tags": [], + "label": "AggParam", + "description": [], + "signature": [ { "pluginId": "data", "scope": "common", "docId": "kibDataSearchPluginApi", - "section": "def-common.SortDirectionNumeric", - "text": "SortDirectionNumeric" + "section": "def-common.BaseParamType", + "text": "BaseParamType" }, - " | ", + "<", { "pluginId": "data", "scope": "common", "docId": "kibDataSearchPluginApi", - "section": "def-common.SortDirectionFormat", - "text": "SortDirectionFormat" + "section": "def-common.AggConfig", + "text": "AggConfig" }, - "; }" + ">" ], - "path": "src/plugins/data/common/search/search_source/types.ts", + "path": "src/plugins/data/common/search/aggs/agg_params.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false }, { "parentPluginId": "data", - "id": "def-public.ExecutionContextSearch", + "id": "def-public.AggregationRestrictions", "type": "Type", "tags": [], - "label": "ExecutionContextSearch", + "label": "AggregationRestrictions", "description": [], "signature": [ - "{ filters?: ", + "{ [x: string]: { agg?: string | undefined; interval?: number | undefined; fixed_interval?: string | undefined; calendar_interval?: string | undefined; delay?: string | undefined; time_zone?: string | undefined; }; }" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-public.AggregationRestrictions", + "type": "Type", + "tags": [], + "label": "AggregationRestrictions", + "description": [], + "signature": [ + "{ [x: string]: { agg?: string | undefined; interval?: number | undefined; fixed_interval?: string | undefined; calendar_interval?: string | undefined; delay?: string | undefined; time_zone?: string | undefined; }; }" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-public.AggsStart", + "type": "Type", + "tags": [], + "label": "AggsStart", + "description": [ + "\nAggsStart represents the actual external contract as AggsCommonStart\nis only used internally. The difference is that AggsStart includes the\ntypings for the registry with initialized agg types.\n" + ], + "signature": [ + "{ calculateAutoTimeExpression: (range: ", { - "pluginId": "@kbn/es-query", + "pluginId": "data", "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.Filter", - "text": "Filter" + "docId": "kibDataQueryPluginApi", + "section": "def-common.TimeRange", + "text": "TimeRange" }, - "[] | undefined; query?: ", + ") => string | undefined; createAggConfigs: (indexPattern: ", { - "pluginId": "@kbn/es-query", + "pluginId": "dataViews", "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.Query", - "text": "Query" + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" }, - " | ", + ", configStates?: ", { - "pluginId": "@kbn/es-query", + "pluginId": "data", "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.Query", - "text": "Query" + "docId": "kibDataSearchPluginApi", + "section": "def-common.CreateAggConfigParams", + "text": "CreateAggConfigParams" }, - "[] | undefined; timeRange?: ", + "[] | undefined, options?: Partial<", { "pluginId": "data", "scope": "common", - "docId": "kibDataQueryPluginApi", - "section": "def-common.TimeRange", - "text": "TimeRange" + "docId": "kibDataSearchPluginApi", + "section": "def-common.AggConfigsOptions", + "text": "AggConfigsOptions" }, - " | undefined; disableShardWarnings?: boolean | undefined; }" + "> | undefined) => ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.AggConfigs", + "text": "AggConfigs" + }, + "; types: { get: (name: string) => ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.BucketAggType", + "text": "BucketAggType" + }, + " | ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.MetricAggType", + "text": "MetricAggType" + }, + " | undefined; getAll: () => { buckets: ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.BucketAggType", + "text": "BucketAggType" + }, + "[]; metrics: ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.MetricAggType", + "text": "MetricAggType" + }, + "[]; }; }; }" ], - "path": "src/plugins/data/common/search/expressions/kibana_context_type.ts", + "path": "src/plugins/data/common/search/aggs/types.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false }, { "parentPluginId": "data", - "id": "def-public.ExpressionFunctionKibana", + "id": "def-public.APPLY_FILTER_TRIGGER", + "type": "string", + "tags": [], + "label": "APPLY_FILTER_TRIGGER", + "description": [], + "signature": [ + "\"FILTER_TRIGGER\"" + ], + "path": "src/plugins/data/public/triggers/apply_filter_trigger.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-public.DataViewsContract", "type": "Type", "tags": [], - "label": "ExpressionFunctionKibana", + "label": "DataViewsContract", + "description": [], + "signature": [ + { + "pluginId": "dataViews", + "scope": "public", + "docId": "kibDataViewsPluginApi", + "section": "def-public.DataViewsServicePublic", + "text": "DataViewsServicePublic" + } + ], + "path": "src/plugins/data_views/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-public.ES_SEARCH_STRATEGY", + "type": "string", + "tags": [], + "label": "ES_SEARCH_STRATEGY", + "description": [], + "signature": [ + "\"es\"" + ], + "path": "src/plugins/data/common/search/strategies/es_search/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-public.EsaggsExpressionFunctionDefinition", + "type": "Type", + "tags": [], + "label": "EsaggsExpressionFunctionDefinition", "description": [], "signature": [ { @@ -9547,23 +9896,7 @@ "section": "def-common.ExpressionFunctionDefinition", "text": "ExpressionFunctionDefinition" }, - "<\"kibana\", ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.ExpressionValueSearchContext", - "text": "ExpressionValueSearchContext" - }, - " | null, object, ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.ExpressionValueSearchContext", - "text": "ExpressionValueSearchContext" - }, - ", ", + "<\"esaggs\", Input, Arguments, Output, ", { "pluginId": "expressions", "scope": "common", @@ -9581,29 +9914,177 @@ }, ", ", { - "pluginId": "data", + "pluginId": "@kbn/utility-types", "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.ExecutionContextSearch", - "text": "ExecutionContextSearch" + "docId": "kibKbnUtilityTypesPluginApi", + "section": "def-common.SerializableRecord", + "text": "SerializableRecord" }, ">>" ], - "path": "src/plugins/data/common/search/expressions/kibana.ts", + "path": "src/plugins/data/common/search/expressions/esaggs/esaggs_fn.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false }, { "parentPluginId": "data", - "id": "def-public.ExpressionFunctionKibanaContext", + "id": "def-public.EsQuerySortValue", "type": "Type", "tags": [], - "label": "ExpressionFunctionKibanaContext", + "label": "EsQuerySortValue", "description": [], "signature": [ + "{ [x: string]: ", { - "pluginId": "expressions", + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.SortDirection", + "text": "SortDirection" + }, + " | ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.SortDirectionNumeric", + "text": "SortDirectionNumeric" + }, + " | ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.SortDirectionFormat", + "text": "SortDirectionFormat" + }, + "; }" + ], + "path": "src/plugins/data/common/search/search_source/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-public.ExecutionContextSearch", + "type": "Type", + "tags": [], + "label": "ExecutionContextSearch", + "description": [], + "signature": [ + "{ filters?: ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Filter", + "text": "Filter" + }, + "[] | undefined; query?: ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Query", + "text": "Query" + }, + " | ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Query", + "text": "Query" + }, + "[] | undefined; timeRange?: ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataQueryPluginApi", + "section": "def-common.TimeRange", + "text": "TimeRange" + }, + " | undefined; disableShardWarnings?: boolean | undefined; }" + ], + "path": "src/plugins/data/common/search/expressions/kibana_context_type.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-public.ExpressionFunctionKibana", + "type": "Type", + "tags": [], + "label": "ExpressionFunctionKibana", + "description": [], + "signature": [ + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.ExpressionFunctionDefinition", + "text": "ExpressionFunctionDefinition" + }, + "<\"kibana\", ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.ExpressionValueSearchContext", + "text": "ExpressionValueSearchContext" + }, + " | null, object, ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.ExpressionValueSearchContext", + "text": "ExpressionValueSearchContext" + }, + ", ", + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.ExecutionContext", + "text": "ExecutionContext" + }, + "<", + { + "pluginId": "inspector", + "scope": "common", + "docId": "kibInspectorPluginApi", + "section": "def-common.Adapters", + "text": "Adapters" + }, + ", ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.ExecutionContextSearch", + "text": "ExecutionContextSearch" + }, + ">>" + ], + "path": "src/plugins/data/common/search/expressions/kibana.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-public.ExpressionFunctionKibanaContext", + "type": "Type", + "tags": [], + "label": "ExpressionFunctionKibanaContext", + "description": [], + "signature": [ + { + "pluginId": "expressions", "scope": "common", "docId": "kibExpressionsPluginApi", "section": "def-common.ExpressionFunctionDefinition", @@ -10468,1497 +10949,1065 @@ }, { "parentPluginId": "data", - "id": "def-public.SavedObject", + "id": "def-public.SerializedSearchSourceFields", "type": "Type", - "tags": [ - "deprecated" - ], - "label": "SavedObject", + "tags": [], + "label": "SerializedSearchSourceFields", "description": [], "signature": [ + "{ type?: string | undefined; query?: ", { - "pluginId": "@kbn/core-saved-objects-common", + "pluginId": "@kbn/es-query", "scope": "common", - "docId": "kibKbnCoreSavedObjectsCommonPluginApi", - "section": "def-common.SavedObject", - "text": "SavedObject" - }, - "" - ], - "path": "packages/core/saved-objects/core-saved-objects-common/src/saved_objects.ts", - "deprecated": true, - "trackAdoption": false, - "references": [ - { - "plugin": "@kbn/core-saved-objects-common", - "path": "packages/core/saved-objects/core-saved-objects-common/index.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Query", + "text": "Query" }, + " | ", { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.AggregateQuery", + "text": "AggregateQuery" }, + " | undefined; filter?: ", { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.Filter", + "text": "Filter" }, + "[] | undefined; sort?: ", { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.EsQuerySortValue", + "text": "EsQuerySortValue" }, + "[] | undefined; highlight?: ", { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" + "pluginId": "@kbn/utility-types", + "scope": "common", + "docId": "kibKbnUtilityTypesPluginApi", + "section": "def-common.SerializableRecord", + "text": "SerializableRecord" }, + " | undefined; highlightAll?: boolean | undefined; trackTotalHits?: number | boolean | undefined; aggs?: { type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" + "pluginId": "@kbn/utility-types", + "scope": "common", + "docId": "kibKbnUtilityTypesPluginApi", + "section": "def-common.SerializableRecord", + "text": "SerializableRecord" }, + " | undefined; schema?: string | undefined; }[] | undefined; from?: number | undefined; size?: number | undefined; source?: boolean | ", + "Fields", + " | undefined; version?: boolean | undefined; fields?: ", { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.SearchFieldValue", + "text": "SearchFieldValue" }, + "[] | undefined; fieldsFromSource?: ", + "Fields", + " | undefined; index?: string | ", { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewSpec", + "text": "DataViewSpec" }, + " | undefined; searchAfter?: ", + "SortResults", + " | undefined; timeout?: string | undefined; terminate_after?: number | undefined; parent?: ", { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.SerializedSearchSourceFields", + "text": "SerializedSearchSourceFields" }, + " | undefined; }" + ], + "path": "src/plugins/data/common/search/search_source/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-public.TypeMeta", + "type": "Type", + "tags": [], + "label": "TypeMeta", + "description": [ + "\nInterface for metadata about rollup indices" + ], + "signature": [ + "{ aggs?: Record | undefined; params?: { rollup_index: string; } | undefined; }" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "objects": [ + { + "parentPluginId": "data", + "id": "def-public.AggGroupLabels", + "type": "Object", + "tags": [], + "label": "AggGroupLabels", + "description": [], + "path": "src/plugins/data/common/search/aggs/agg_groups.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_views.ts" + "parentPluginId": "data", + "id": "def-public.AggGroupLabels.AggGroupNames.Buckets", + "type": "Any", + "tags": [], + "label": "[AggGroupNames.Buckets]", + "description": [], + "signature": [ + "any" + ], + "path": "src/plugins/data/common/search/aggs/agg_groups.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_views.ts" + "parentPluginId": "data", + "id": "def-public.AggGroupLabels.AggGroupNames.Metrics", + "type": "Any", + "tags": [], + "label": "[AggGroupNames.Metrics]", + "description": [], + "signature": [ + "any" + ], + "path": "src/plugins/data/common/search/aggs/agg_groups.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_views.ts" - }, + "parentPluginId": "data", + "id": "def-public.AggGroupLabels.AggGroupNames.None", + "type": "Any", + "tags": [], + "label": "[AggGroupNames.None]", + "description": [], + "signature": [ + "any" + ], + "path": "src/plugins/data/common/search/aggs/agg_groups.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-public.AggGroupNames", + "type": "Object", + "tags": [], + "label": "AggGroupNames", + "description": [], + "signature": [ + "{ readonly Buckets: \"buckets\"; readonly Metrics: \"metrics\"; readonly None: \"none\"; }" + ], + "path": "src/plugins/data/common/search/aggs/agg_groups.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-public.exporters", + "type": "Object", + "tags": [], + "label": "exporters", + "description": [], + "path": "src/plugins/data/public/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_views.ts" + "parentPluginId": "data", + "id": "def-public.exporters.datatableToCSV", + "type": "Function", + "tags": [], + "label": "datatableToCSV", + "description": [], + "signature": [ + "({ columns, rows }: ", + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.Datatable", + "text": "Datatable" + }, + ", { csvSeparator, quoteValues, formatFactory, raw, escapeFormulaValues }: CSVOptions) => string" + ], + "path": "src/plugins/data/public/index.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "data", + "id": "def-public.exporters.datatableToCSV.$1", + "type": "Object", + "tags": [], + "label": "__0", + "description": [], + "signature": [ + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.Datatable", + "text": "Datatable" + } + ], + "path": "src/plugins/data/common/exports/export_csv.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "data", + "id": "def-public.exporters.datatableToCSV.$2", + "type": "Object", + "tags": [], + "label": "__1", + "description": [], + "signature": [ + "CSVOptions" + ], + "path": "src/plugins/data/common/exports/export_csv.tsx", + "deprecated": false, + "trackAdoption": false + } + ] }, { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_views.ts" + "parentPluginId": "data", + "id": "def-public.exporters.CSV_MIME_TYPE", + "type": "string", + "tags": [], + "label": "CSV_MIME_TYPE", + "description": [], + "path": "src/plugins/data/public/index.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_views.ts" + "parentPluginId": "data", + "id": "def-public.exporters.cellHasFormulas", + "type": "Function", + "tags": [], + "label": "cellHasFormulas", + "description": [], + "signature": [ + "(val: string) => boolean" + ], + "path": "src/plugins/data/public/index.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "data", + "id": "def-public.exporters.cellHasFormulas.$1", + "type": "string", + "tags": [], + "label": "val", + "description": [], + "path": "src/plugins/data/common/exports/formula_checks.ts", + "deprecated": false, + "trackAdoption": false + } + ] }, { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_views.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/server/utils.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/server/utils.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/server/utils.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/public/saved_objects_client_wrapper.ts" - }, + "parentPluginId": "data", + "id": "def-public.exporters.tableHasFormulas", + "type": "Function", + "tags": [], + "label": "tableHasFormulas", + "description": [], + "signature": [ + "(columns: ", + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.DatatableColumn", + "text": "DatatableColumn" + }, + "[], rows: ", + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.DatatableRow", + "text": "DatatableRow" + }, + "[]) => boolean" + ], + "path": "src/plugins/data/public/index.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "data", + "id": "def-public.exporters.tableHasFormulas.$1", + "type": "Array", + "tags": [], + "label": "columns", + "description": [], + "signature": [ + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.DatatableColumn", + "text": "DatatableColumn" + }, + "[]" + ], + "path": "src/plugins/data/common/exports/formula_checks.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "data", + "id": "def-public.exporters.tableHasFormulas.$2", + "type": "Array", + "tags": [], + "label": "rows", + "description": [], + "signature": [ + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.DatatableRow", + "text": "DatatableRow" + }, + "[]" + ], + "path": "src/plugins/data/common/exports/formula_checks.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-public.indexPatterns", + "type": "Object", + "tags": [], + "label": "indexPatterns", + "description": [], + "path": "src/plugins/data/public/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { - "plugin": "dataViews", - "path": "src/plugins/data_views/public/saved_objects_client_wrapper.ts" + "parentPluginId": "data", + "id": "def-public.indexPatterns.ILLEGAL_CHARACTERS_KEY", + "type": "string", + "tags": [], + "label": "ILLEGAL_CHARACTERS_KEY", + "description": [], + "path": "src/plugins/data/public/index.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "dataViews", - "path": "src/plugins/data_views/public/saved_objects_client_wrapper.ts" + "parentPluginId": "data", + "id": "def-public.indexPatterns.CONTAINS_SPACES_KEY", + "type": "string", + "tags": [], + "label": "CONTAINS_SPACES_KEY", + "description": [], + "path": "src/plugins/data/public/index.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "dataViews", - "path": "src/plugins/data_views/public/saved_objects_client_wrapper.ts" + "parentPluginId": "data", + "id": "def-public.indexPatterns.ILLEGAL_CHARACTERS_VISIBLE", + "type": "Array", + "tags": [], + "label": "ILLEGAL_CHARACTERS_VISIBLE", + "description": [], + "signature": [ + "string[]" + ], + "path": "src/plugins/data/public/index.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_views.test.ts" + "parentPluginId": "data", + "id": "def-public.indexPatterns.ILLEGAL_CHARACTERS", + "type": "Array", + "tags": [], + "label": "ILLEGAL_CHARACTERS", + "description": [], + "signature": [ + "string[]" + ], + "path": "src/plugins/data/public/index.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_views.test.ts" + "parentPluginId": "data", + "id": "def-public.indexPatterns.isFilterable", + "type": "Function", + "tags": [], + "label": "isFilterable", + "description": [], + "signature": [ + "(field: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewField", + "text": "DataViewField" + }, + ") => boolean" + ], + "path": "src/plugins/data/public/index.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "data", + "id": "def-public.indexPatterns.isFilterable.$1", + "type": "Object", + "tags": [], + "label": "field", + "description": [], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewField", + "text": "DataViewField" + } + ], + "path": "src/plugins/data_views/common/fields/utils.ts", + "deprecated": false, + "trackAdoption": false + } + ] }, { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/public/ui_api/get_table_column_definition.tsx" + "parentPluginId": "data", + "id": "def-public.indexPatterns.isNestedField", + "type": "Function", + "tags": [], + "label": "isNestedField", + "description": [], + "signature": [ + "(field: HasSubtype) => boolean" + ], + "path": "src/plugins/data/public/index.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "data", + "id": "def-public.indexPatterns.isNestedField.$1", + "type": "Object", + "tags": [], + "label": "field", + "description": [], + "signature": [ + "{ subType?: ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.IFieldSubType", + "text": "IFieldSubType" + }, + " | undefined; }" + ], + "path": "src/plugins/data_views/common/fields/utils.ts", + "deprecated": false, + "trackAdoption": false + } + ] }, { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/public/ui_api/get_table_column_definition.tsx" + "parentPluginId": "data", + "id": "def-public.indexPatterns.isMultiField", + "type": "Function", + "tags": [], + "label": "isMultiField", + "description": [], + "signature": [ + "(field: HasSubtype) => boolean" + ], + "path": "src/plugins/data/public/index.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "data", + "id": "def-public.indexPatterns.isMultiField.$1", + "type": "Object", + "tags": [], + "label": "field", + "description": [], + "signature": [ + "{ subType?: ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.IFieldSubType", + "text": "IFieldSubType" + }, + " | undefined; }" + ], + "path": "src/plugins/data_views/common/fields/utils.ts", + "deprecated": false, + "trackAdoption": false + } + ] }, { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/public/ui_api/get_table_column_definition.tsx" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/common/types/models/epm.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/common/types/models/epm.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/common/types/models/epm.ts" - }, - { - "plugin": "canvas", - "path": "x-pack/plugins/canvas/shareable_runtime/types.ts" - }, - { - "plugin": "canvas", - "path": "x-pack/plugins/canvas/shareable_runtime/types.ts" - }, - { - "plugin": "canvas", - "path": "x-pack/plugins/canvas/public/services/kibana/workpad.ts" - }, - { - "plugin": "canvas", - "path": "x-pack/plugins/canvas/public/services/kibana/workpad.ts" - }, - { - "plugin": "canvas", - "path": "x-pack/plugins/canvas/public/components/home/hooks/use_upload_workpad.ts" - }, - { - "plugin": "canvas", - "path": "x-pack/plugins/canvas/public/components/home/hooks/use_upload_workpad.ts" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/packs/types.ts" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/packs/types.ts" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/routes/saved_queries/list/index.tsx" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/routes/saved_queries/list/index.tsx" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/assets/use_assets_status.ts" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/assets/use_assets_status.ts" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/assets/use_assets_status.ts" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/assets/use_assets_status.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/monitor_detail_flyout.tsx" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/monitor_detail_flyout.tsx" - }, - { - "plugin": "savedObjects", - "path": "src/plugins/saved_objects/public/saved_object/helpers/find_object_by_title.test.ts" - }, - { - "plugin": "savedObjects", - "path": "src/plugins/saved_objects/public/saved_object/helpers/find_object_by_title.test.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-mocks", - "path": "packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-mocks", - "path": "packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-mocks", - "path": "packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts" - }, - { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/errors.ts" - }, - { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/errors.ts" - }, - { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/lib/regenerate_ids.ts" - }, - { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/lib/regenerate_ids.ts" - }, - { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts" - }, - { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts" - }, - { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts" - }, - { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts" - }, - { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts" - }, - { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts" - }, - { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts" - }, - { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts" - }, - { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts" - }, - { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts" - }, - { - "plugin": "@kbn/core", - "path": "src/core/types/index.ts" - }, - { - "plugin": "savedObjectsTaggingOss", - "path": "src/plugins/saved_objects_tagging_oss/public/api.ts" - }, - { - "plugin": "savedObjectsTaggingOss", - "path": "src/plugins/saved_objects_tagging_oss/public/api.ts" - }, - { - "plugin": "savedObjectsTaggingOss", - "path": "src/plugins/saved_objects_tagging_oss/public/api.ts" - }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/common/types.ts" - }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/common/types.ts" - }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/public/utils.ts" - }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/public/utils.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts" - }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/public/utils.test.ts" - }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/public/utils.test.ts" - }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/public/utils.test.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/overview/api.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/overview/api.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_details/api.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_details/api.ts" + "parentPluginId": "data", + "id": "def-public.indexPatterns.getFieldSubtypeMulti", + "type": "Function", + "tags": [], + "label": "getFieldSubtypeMulti", + "description": [], + "signature": [ + "(field: HasSubtype) => ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.IFieldSubTypeMulti", + "text": "IFieldSubTypeMulti" + }, + " | undefined" + ], + "path": "src/plugins/data/public/index.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "data", + "id": "def-public.indexPatterns.getFieldSubtypeMulti.$1", + "type": "Object", + "tags": [], + "label": "field", + "description": [], + "signature": [ + "{ subType?: ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.IFieldSubType", + "text": "IFieldSubType" + }, + " | undefined; }" + ], + "path": "src/plugins/data_views/common/fields/utils.ts", + "deprecated": false, + "trackAdoption": false + } + ] }, { - "plugin": "upgradeAssistant", - "path": "x-pack/plugins/upgrade_assistant/common/types.ts" + "parentPluginId": "data", + "id": "def-public.indexPatterns.getFieldSubtypeNested", + "type": "Function", + "tags": [], + "label": "getFieldSubtypeNested", + "description": [], + "signature": [ + "(field: HasSubtype) => ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.IFieldSubTypeNested", + "text": "IFieldSubTypeNested" + }, + " | undefined" + ], + "path": "src/plugins/data/public/index.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "data", + "id": "def-public.indexPatterns.getFieldSubtypeNested.$1", + "type": "Object", + "tags": [], + "label": "field", + "description": [], + "signature": [ + "{ subType?: ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.IFieldSubType", + "text": "IFieldSubType" + }, + " | undefined; }" + ], + "path": "src/plugins/data_views/common/fields/utils.ts", + "deprecated": false, + "trackAdoption": false + } + ] }, { - "plugin": "upgradeAssistant", - "path": "x-pack/plugins/upgrade_assistant/common/types.ts" - }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/common/test_utils/index.ts" - }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/common/test_utils/index.ts" - }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/common/test_utils/index.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_view.stub.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_view.stub.ts" - }, - { - "plugin": "savedObjectsManagement", - "path": "src/plugins/saved_objects_management/server/lib/find_relationships.test.ts" - }, - { - "plugin": "savedObjectsManagement", - "path": "src/plugins/saved_objects_management/server/lib/find_relationships.test.ts" - }, - { - "plugin": "savedObjectsManagement", - "path": "src/plugins/saved_objects_management/server/lib/find_relationships.test.ts" - }, - { - "plugin": "savedObjectsManagement", - "path": "src/plugins/saved_objects_management/server/lib/find_relationships.test.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/global_params/actions.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/global_params/actions.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/global_params/api.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/global_params/api.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/global_params/api.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/global_params/index.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/global_params/index.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_list/api.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_list/api.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_list/effects.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_list/effects.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_list/effects.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_list/index.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_list/index.ts" - }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" - }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" - }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" - }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" - }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" - }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" - }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" - }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" - }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" - }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" - }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.test.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.test.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.test.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.test.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.test.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.test.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.test.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.test.ts" - }, - { - "plugin": "@kbn/core-ui-settings-server-internal", - "path": "packages/core/ui-settings/core-ui-settings-server-internal/src/saved_objects/transforms.test.ts" - }, - { - "plugin": "@kbn/core-ui-settings-server-internal", - "path": "packages/core/ui-settings/core-ui-settings-server-internal/src/saved_objects/transforms.test.ts" - }, - { - "plugin": "@kbn/core-ui-settings-server-internal", - "path": "packages/core/ui-settings/core-ui-settings-server-internal/src/saved_objects/transforms.test.ts" - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-public.SerializedSearchSourceFields", - "type": "Type", - "tags": [], - "label": "SerializedSearchSourceFields", - "description": [], - "signature": [ - "{ type?: string | undefined; query?: ", - { - "pluginId": "@kbn/es-query", - "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.Query", - "text": "Query" - }, - " | ", - { - "pluginId": "@kbn/es-query", - "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.AggregateQuery", - "text": "AggregateQuery" - }, - " | undefined; filter?: ", - { - "pluginId": "@kbn/es-query", - "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.Filter", - "text": "Filter" - }, - "[] | undefined; sort?: ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.EsQuerySortValue", - "text": "EsQuerySortValue" - }, - "[] | undefined; highlight?: ", - { - "pluginId": "@kbn/utility-types", - "scope": "common", - "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-common.SerializableRecord", - "text": "SerializableRecord" - }, - " | undefined; highlightAll?: boolean | undefined; trackTotalHits?: number | boolean | undefined; aggs?: { type: string; enabled?: boolean | undefined; id?: string | undefined; params?: {} | ", - { - "pluginId": "@kbn/utility-types", - "scope": "common", - "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-common.SerializableRecord", - "text": "SerializableRecord" - }, - " | undefined; schema?: string | undefined; }[] | undefined; from?: number | undefined; size?: number | undefined; source?: boolean | ", - "Fields", - " | undefined; version?: boolean | undefined; fields?: ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SearchFieldValue", - "text": "SearchFieldValue" - }, - "[] | undefined; fieldsFromSource?: ", - "Fields", - " | undefined; index?: string | ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewSpec", - "text": "DataViewSpec" - }, - " | undefined; searchAfter?: ", - "SortResults", - " | undefined; timeout?: string | undefined; terminate_after?: number | undefined; parent?: ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SerializedSearchSourceFields", - "text": "SerializedSearchSourceFields" - }, - " | undefined; }" - ], - "path": "src/plugins/data/common/search/search_source/types.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-public.TypeMeta", - "type": "Type", - "tags": [], - "label": "TypeMeta", - "description": [ - "\nInterface for metadata about rollup indices" - ], - "signature": [ - "{ aggs?: Record | undefined; params?: { rollup_index: string; } | undefined; }" - ], - "path": "src/plugins/data_views/common/types.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - } - ], - "objects": [ - { - "parentPluginId": "data", - "id": "def-public.AggGroupLabels", - "type": "Object", - "tags": [], - "label": "AggGroupLabels", - "description": [], - "path": "src/plugins/data/common/search/aggs/agg_groups.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + "parentPluginId": "data", + "id": "def-public.indexPatterns.validate", + "type": "Function", + "tags": [], + "label": "validate", + "description": [], + "signature": [ + "(indexPattern: string) => { ILLEGAL_CHARACTERS?: string[] | undefined; CONTAINS_SPACES?: boolean | undefined; }" + ], + "path": "src/plugins/data/public/index.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "data", + "id": "def-public.indexPatterns.validate.$1", + "type": "string", + "tags": [], + "label": "indexPattern", + "description": [], + "path": "src/plugins/data_views/common/lib/validate_data_view.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-public.search", + "type": "Object", + "tags": [], + "label": "search", + "description": [], + "path": "src/plugins/data/public/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "data", - "id": "def-public.AggGroupLabels.AggGroupNames.Buckets", - "type": "Any", - "tags": [], - "label": "[AggGroupNames.Buckets]", - "description": [], - "signature": [ - "any" - ], - "path": "src/plugins/data/common/search/aggs/agg_groups.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-public.AggGroupLabels.AggGroupNames.Metrics", - "type": "Any", + "id": "def-public.search.aggs", + "type": "Object", "tags": [], - "label": "[AggGroupNames.Metrics]", + "label": "aggs", "description": [], - "signature": [ - "any" - ], - "path": "src/plugins/data/common/search/aggs/agg_groups.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-public.AggGroupLabels.AggGroupNames.None", - "type": "Any", - "tags": [], - "label": "[AggGroupNames.None]", - "description": [], - "signature": [ - "any" - ], - "path": "src/plugins/data/common/search/aggs/agg_groups.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-public.AggGroupNames", - "type": "Object", - "tags": [], - "label": "AggGroupNames", - "description": [], - "signature": [ - "{ readonly Buckets: \"buckets\"; readonly Metrics: \"metrics\"; readonly None: \"none\"; }" - ], - "path": "src/plugins/data/common/search/aggs/agg_groups.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-public.exporters", - "type": "Object", - "tags": [], - "label": "exporters", - "description": [], - "path": "src/plugins/data/public/index.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-public.exporters.datatableToCSV", - "type": "Function", - "tags": [], - "label": "datatableToCSV", - "description": [], - "signature": [ - "({ columns, rows }: ", - { - "pluginId": "expressions", - "scope": "common", - "docId": "kibExpressionsPluginApi", - "section": "def-common.Datatable", - "text": "Datatable" - }, - ", { csvSeparator, quoteValues, formatFactory, raw, escapeFormulaValues }: CSVOptions) => string" - ], - "path": "src/plugins/data/public/index.ts", + "path": "src/plugins/data/public/index.ts", "deprecated": false, "trackAdoption": false, - "returnComment": [], "children": [ { "parentPluginId": "data", - "id": "def-public.exporters.datatableToCSV.$1", + "id": "def-public.search.aggs.CidrMask", "type": "Object", "tags": [], - "label": "__0", + "label": "CidrMask", "description": [], "signature": [ + "typeof ", { - "pluginId": "expressions", + "pluginId": "data", "scope": "common", - "docId": "kibExpressionsPluginApi", - "section": "def-common.Datatable", - "text": "Datatable" + "docId": "kibDataSearchPluginApi", + "section": "def-common.CidrMask", + "text": "CidrMask" } ], - "path": "src/plugins/data/common/exports/export_csv.tsx", + "path": "src/plugins/data/public/index.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-public.exporters.datatableToCSV.$2", - "type": "Object", + "id": "def-public.search.aggs.dateHistogramInterval", + "type": "Function", "tags": [], - "label": "__1", + "label": "dateHistogramInterval", "description": [], "signature": [ - "CSVOptions" + "(interval: string, shouldForceFixed?: boolean | undefined) => Interval" ], - "path": "src/plugins/data/common/exports/export_csv.tsx", + "path": "src/plugins/data/public/index.ts", "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "data", - "id": "def-public.exporters.CSV_MIME_TYPE", - "type": "string", - "tags": [], - "label": "CSV_MIME_TYPE", - "description": [], - "path": "src/plugins/data/public/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-public.exporters.cellHasFormulas", - "type": "Function", - "tags": [], - "label": "cellHasFormulas", - "description": [], - "signature": [ - "(val: string) => boolean" - ], - "path": "src/plugins/data/public/index.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "data", + "id": "def-public.search.aggs.dateHistogramInterval.$1", + "type": "string", + "tags": [], + "label": "interval", + "description": [], + "path": "src/plugins/data/common/search/aggs/utils/date_interval_utils/date_histogram_interval.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "data", + "id": "def-public.search.aggs.dateHistogramInterval.$2", + "type": "CompoundType", + "tags": [], + "label": "shouldForceFixed", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "src/plugins/data/common/search/aggs/utils/date_interval_utils/date_histogram_interval.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, { "parentPluginId": "data", - "id": "def-public.exporters.cellHasFormulas.$1", - "type": "string", + "id": "def-public.search.aggs.intervalOptions", + "type": "Array", "tags": [], - "label": "val", + "label": "intervalOptions", "description": [], - "path": "src/plugins/data/common/exports/formula_checks.ts", + "signature": [ + "({ display: any; val: string; enabled(agg: ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.IBucketAggConfig", + "text": "IBucketAggConfig" + }, + "): boolean; } | { display: any; val: string; })[]" + ], + "path": "src/plugins/data/public/index.ts", "deprecated": false, "trackAdoption": false - } - ] - }, - { - "parentPluginId": "data", - "id": "def-public.exporters.tableHasFormulas", - "type": "Function", - "tags": [], - "label": "tableHasFormulas", - "description": [], - "signature": [ - "(columns: ", - { - "pluginId": "expressions", - "scope": "common", - "docId": "kibExpressionsPluginApi", - "section": "def-common.DatatableColumn", - "text": "DatatableColumn" }, - "[], rows: ", { - "pluginId": "expressions", - "scope": "common", - "docId": "kibExpressionsPluginApi", - "section": "def-common.DatatableRow", - "text": "DatatableRow" + "parentPluginId": "data", + "id": "def-public.search.aggs.InvalidEsCalendarIntervalError", + "type": "Object", + "tags": [], + "label": "InvalidEsCalendarIntervalError", + "description": [], + "signature": [ + "typeof ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.InvalidEsCalendarIntervalError", + "text": "InvalidEsCalendarIntervalError" + } + ], + "path": "src/plugins/data/public/index.ts", + "deprecated": false, + "trackAdoption": false }, - "[]) => boolean" - ], - "path": "src/plugins/data/public/index.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ { "parentPluginId": "data", - "id": "def-public.exporters.tableHasFormulas.$1", - "type": "Array", + "id": "def-public.search.aggs.InvalidEsIntervalFormatError", + "type": "Object", "tags": [], - "label": "columns", + "label": "InvalidEsIntervalFormatError", "description": [], "signature": [ + "typeof ", { - "pluginId": "expressions", + "pluginId": "data", "scope": "common", - "docId": "kibExpressionsPluginApi", - "section": "def-common.DatatableColumn", - "text": "DatatableColumn" - }, - "[]" + "docId": "kibDataSearchPluginApi", + "section": "def-common.InvalidEsIntervalFormatError", + "text": "InvalidEsIntervalFormatError" + } ], - "path": "src/plugins/data/common/exports/formula_checks.ts", + "path": "src/plugins/data/public/index.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-public.exporters.tableHasFormulas.$2", - "type": "Array", + "id": "def-public.search.aggs.IpAddress", + "type": "Object", "tags": [], - "label": "rows", + "label": "IpAddress", "description": [], "signature": [ + "typeof ", { - "pluginId": "expressions", + "pluginId": "data", "scope": "common", - "docId": "kibExpressionsPluginApi", - "section": "def-common.DatatableRow", - "text": "DatatableRow" - }, - "[]" + "docId": "kibDataSearchPluginApi", + "section": "def-common.IpAddress", + "text": "IpAddress" + } ], - "path": "src/plugins/data/common/exports/formula_checks.ts", + "path": "src/plugins/data/public/index.ts", "deprecated": false, "trackAdoption": false - } - ] - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-public.indexPatterns", - "type": "Object", - "tags": [], - "label": "indexPatterns", - "description": [], - "path": "src/plugins/data/public/index.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-public.indexPatterns.ILLEGAL_CHARACTERS_KEY", - "type": "string", - "tags": [], - "label": "ILLEGAL_CHARACTERS_KEY", - "description": [], - "path": "src/plugins/data/public/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-public.indexPatterns.CONTAINS_SPACES_KEY", - "type": "string", - "tags": [], - "label": "CONTAINS_SPACES_KEY", - "description": [], - "path": "src/plugins/data/public/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-public.indexPatterns.ILLEGAL_CHARACTERS_VISIBLE", - "type": "Array", - "tags": [], - "label": "ILLEGAL_CHARACTERS_VISIBLE", - "description": [], - "signature": [ - "string[]" - ], - "path": "src/plugins/data/public/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-public.indexPatterns.ILLEGAL_CHARACTERS", - "type": "Array", - "tags": [], - "label": "ILLEGAL_CHARACTERS", - "description": [], - "signature": [ - "string[]" - ], - "path": "src/plugins/data/public/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-public.indexPatterns.isFilterable", - "type": "Function", - "tags": [], - "label": "isFilterable", - "description": [], - "signature": [ - "(field: ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewField", - "text": "DataViewField" }, - ") => boolean" - ], - "path": "src/plugins/data/public/index.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ { "parentPluginId": "data", - "id": "def-public.indexPatterns.isFilterable.$1", - "type": "Object", + "id": "def-public.search.aggs.isDateHistogramBucketAggConfig", + "type": "Function", "tags": [], - "label": "field", + "label": "isDateHistogramBucketAggConfig", "description": [], "signature": [ + "(agg: any) => agg is ", { - "pluginId": "dataViews", + "pluginId": "data", "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewField", - "text": "DataViewField" + "docId": "kibDataSearchPluginApi", + "section": "def-common.IBucketDateHistogramAggConfig", + "text": "IBucketDateHistogramAggConfig" } ], - "path": "src/plugins/data_views/common/fields/utils.ts", + "path": "src/plugins/data/public/index.ts", "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "data", - "id": "def-public.indexPatterns.isNestedField", - "type": "Function", - "tags": [], - "label": "isNestedField", - "description": [], - "signature": [ - "(field: HasSubtype) => boolean" - ], - "path": "src/plugins/data/public/index.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "data", + "id": "def-public.search.aggs.isDateHistogramBucketAggConfig.$1", + "type": "Any", + "tags": [], + "label": "agg", + "description": [], + "signature": [ + "any" + ], + "path": "src/plugins/data/common/search/aggs/buckets/date_histogram.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, { "parentPluginId": "data", - "id": "def-public.indexPatterns.isNestedField.$1", - "type": "Object", + "id": "def-public.search.aggs.isNumberType", + "type": "Function", "tags": [], - "label": "field", + "label": "isNumberType", "description": [], "signature": [ - "{ subType?: ", + "(agg: ", { - "pluginId": "@kbn/es-query", + "pluginId": "data", "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.IFieldSubType", - "text": "IFieldSubType" + "docId": "kibDataSearchPluginApi", + "section": "def-common.AggConfig", + "text": "AggConfig" }, - " | undefined; }" + ") => boolean" ], - "path": "src/plugins/data_views/common/fields/utils.ts", + "path": "src/plugins/data/public/index.ts", "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "data", - "id": "def-public.indexPatterns.isMultiField", - "type": "Function", - "tags": [], - "label": "isMultiField", - "description": [], - "signature": [ - "(field: HasSubtype) => boolean" - ], - "path": "src/plugins/data/public/index.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "data", + "id": "def-public.search.aggs.isNumberType.$1", + "type": "Object", + "tags": [], + "label": "agg", + "description": [], + "signature": [ + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.AggConfig", + "text": "AggConfig" + } + ], + "path": "src/plugins/data/common/search/aggs/buckets/migrate_include_exclude_format.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, { "parentPluginId": "data", - "id": "def-public.indexPatterns.isMultiField.$1", - "type": "Object", + "id": "def-public.search.aggs.isStringType", + "type": "Function", "tags": [], - "label": "field", + "label": "isStringType", "description": [], "signature": [ - "{ subType?: ", + "(agg: ", { - "pluginId": "@kbn/es-query", + "pluginId": "data", "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.IFieldSubType", - "text": "IFieldSubType" + "docId": "kibDataSearchPluginApi", + "section": "def-common.AggConfig", + "text": "AggConfig" }, - " | undefined; }" + ") => boolean" ], - "path": "src/plugins/data_views/common/fields/utils.ts", + "path": "src/plugins/data/public/index.ts", "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "data", - "id": "def-public.indexPatterns.getFieldSubtypeMulti", - "type": "Function", - "tags": [], - "label": "getFieldSubtypeMulti", - "description": [], - "signature": [ - "(field: HasSubtype) => ", - { - "pluginId": "@kbn/es-query", - "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.IFieldSubTypeMulti", - "text": "IFieldSubTypeMulti" - }, - " | undefined" - ], - "path": "src/plugins/data/public/index.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "data", - "id": "def-public.indexPatterns.getFieldSubtypeMulti.$1", - "type": "Object", - "tags": [], - "label": "field", - "description": [], - "signature": [ - "{ subType?: ", + "trackAdoption": false, + "returnComment": [], + "children": [ { - "pluginId": "@kbn/es-query", - "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.IFieldSubType", - "text": "IFieldSubType" - }, - " | undefined; }" - ], - "path": "src/plugins/data_views/common/fields/utils.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "data", - "id": "def-public.indexPatterns.getFieldSubtypeNested", - "type": "Function", - "tags": [], - "label": "getFieldSubtypeNested", - "description": [], - "signature": [ - "(field: HasSubtype) => ", - { - "pluginId": "@kbn/es-query", - "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.IFieldSubTypeNested", - "text": "IFieldSubTypeNested" + "parentPluginId": "data", + "id": "def-public.search.aggs.isStringType.$1", + "type": "Object", + "tags": [], + "label": "agg", + "description": [], + "signature": [ + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.AggConfig", + "text": "AggConfig" + } + ], + "path": "src/plugins/data/common/search/aggs/buckets/migrate_include_exclude_format.ts", + "deprecated": false, + "trackAdoption": false + } + ] }, - " | undefined" - ], - "path": "src/plugins/data/public/index.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ { "parentPluginId": "data", - "id": "def-public.indexPatterns.getFieldSubtypeNested.$1", - "type": "Object", + "id": "def-public.search.aggs.isType", + "type": "Function", "tags": [], - "label": "field", + "label": "isType", "description": [], "signature": [ - "{ subType?: ", + "(...types: string[]) => (agg: ", { - "pluginId": "@kbn/es-query", + "pluginId": "data", "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.IFieldSubType", - "text": "IFieldSubType" + "docId": "kibDataSearchPluginApi", + "section": "def-common.AggConfig", + "text": "AggConfig" }, - " | undefined; }" + ") => boolean" ], - "path": "src/plugins/data_views/common/fields/utils.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "data", - "id": "def-public.indexPatterns.validate", - "type": "Function", - "tags": [], - "label": "validate", - "description": [], - "signature": [ - "(indexPattern: string) => { ILLEGAL_CHARACTERS?: string[] | undefined; CONTAINS_SPACES?: boolean | undefined; }" - ], - "path": "src/plugins/data/public/index.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "data", - "id": "def-public.indexPatterns.validate.$1", - "type": "string", - "tags": [], - "label": "indexPattern", - "description": [], - "path": "src/plugins/data_views/common/lib/validate_data_view.ts", + "path": "src/plugins/data/public/index.ts", "deprecated": false, - "trackAdoption": false - } - ] - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-public.search", - "type": "Object", - "tags": [], - "label": "search", - "description": [], - "path": "src/plugins/data/public/index.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-public.search.aggs", - "type": "Object", - "tags": [], - "label": "aggs", - "description": [], - "path": "src/plugins/data/public/index.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "data", + "id": "def-public.search.aggs.isType.$1", + "type": "Array", + "tags": [], + "label": "types", + "description": [], + "signature": [ + "string[]" + ], + "path": "src/plugins/data/common/search/aggs/buckets/migrate_include_exclude_format.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, { "parentPluginId": "data", - "id": "def-public.search.aggs.CidrMask", - "type": "Object", + "id": "def-public.search.aggs.isValidEsInterval", + "type": "Function", "tags": [], - "label": "CidrMask", + "label": "isValidEsInterval", "description": [], "signature": [ - "typeof ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.CidrMask", - "text": "CidrMask" - } + "(interval: string) => boolean" ], "path": "src/plugins/data/public/index.ts", "deprecated": false, - "trackAdoption": false + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "data", + "id": "def-public.search.aggs.isValidEsInterval.$1", + "type": "string", + "tags": [], + "label": "interval", + "description": [], + "path": "src/plugins/data/common/search/aggs/utils/date_interval_utils/is_valid_es_interval.ts", + "deprecated": false, + "trackAdoption": false + } + ] }, { "parentPluginId": "data", - "id": "def-public.search.aggs.dateHistogramInterval", + "id": "def-public.search.aggs.isValidInterval", "type": "Function", "tags": [], - "label": "dateHistogramInterval", + "label": "isValidInterval", "description": [], "signature": [ - "(interval: string, shouldForceFixed?: boolean | undefined) => Interval" + "(value: string, baseInterval?: string | undefined) => boolean" ], "path": "src/plugins/data/public/index.ts", "deprecated": false, @@ -11967,26 +12016,26 @@ "children": [ { "parentPluginId": "data", - "id": "def-public.search.aggs.dateHistogramInterval.$1", + "id": "def-public.search.aggs.isValidInterval.$1", "type": "string", "tags": [], - "label": "interval", + "label": "value", "description": [], - "path": "src/plugins/data/common/search/aggs/utils/date_interval_utils/date_histogram_interval.ts", + "path": "src/plugins/data/common/search/aggs/utils/date_interval_utils/is_valid_interval.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-public.search.aggs.dateHistogramInterval.$2", - "type": "CompoundType", + "id": "def-public.search.aggs.isValidInterval.$2", + "type": "string", "tags": [], - "label": "shouldForceFixed", + "label": "baseInterval", "description": [], "signature": [ - "boolean | undefined" + "string | undefined" ], - "path": "src/plugins/data/common/search/aggs/utils/date_interval_utils/date_histogram_interval.ts", + "path": "src/plugins/data/common/search/aggs/utils/date_interval_utils/is_valid_interval.ts", "deprecated": false, "trackAdoption": false } @@ -11994,21 +12043,13 @@ }, { "parentPluginId": "data", - "id": "def-public.search.aggs.intervalOptions", - "type": "Array", + "id": "def-public.search.aggs.parentPipelineType", + "type": "Any", "tags": [], - "label": "intervalOptions", + "label": "parentPipelineType", "description": [], "signature": [ - "({ display: any; val: string; enabled(agg: ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.IBucketAggConfig", - "text": "IBucketAggConfig" - }, - "): boolean; } | { display: any; val: string; })[]" + "any" ], "path": "src/plugins/data/public/index.ts", "deprecated": false, @@ -12016,83 +12057,21 @@ }, { "parentPluginId": "data", - "id": "def-public.search.aggs.InvalidEsCalendarIntervalError", - "type": "Object", + "id": "def-public.search.aggs.parseEsInterval", + "type": "Function", "tags": [], - "label": "InvalidEsCalendarIntervalError", + "label": "parseEsInterval", "description": [], "signature": [ - "typeof ", + "(interval: string) => { value: number; unit: ", { - "pluginId": "data", + "pluginId": "@kbn/datemath", "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.InvalidEsCalendarIntervalError", - "text": "InvalidEsCalendarIntervalError" - } - ], - "path": "src/plugins/data/public/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-public.search.aggs.InvalidEsIntervalFormatError", - "type": "Object", - "tags": [], - "label": "InvalidEsIntervalFormatError", - "description": [], - "signature": [ - "typeof ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.InvalidEsIntervalFormatError", - "text": "InvalidEsIntervalFormatError" - } - ], - "path": "src/plugins/data/public/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-public.search.aggs.IpAddress", - "type": "Object", - "tags": [], - "label": "IpAddress", - "description": [], - "signature": [ - "typeof ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.IpAddress", - "text": "IpAddress" - } - ], - "path": "src/plugins/data/public/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-public.search.aggs.isDateHistogramBucketAggConfig", - "type": "Function", - "tags": [], - "label": "isDateHistogramBucketAggConfig", - "description": [], - "signature": [ - "(agg: any) => agg is ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.IBucketDateHistogramAggConfig", - "text": "IBucketDateHistogramAggConfig" - } + "docId": "kibKbnDatemathPluginApi", + "section": "def-common.Unit", + "text": "Unit" + }, + "; type: \"fixed\" | \"calendar\"; }" ], "path": "src/plugins/data/public/index.ts", "deprecated": false, @@ -12101,15 +12080,12 @@ "children": [ { "parentPluginId": "data", - "id": "def-public.search.aggs.isDateHistogramBucketAggConfig.$1", - "type": "Any", + "id": "def-public.search.aggs.parseEsInterval.$1", + "type": "string", "tags": [], - "label": "agg", + "label": "interval", "description": [], - "signature": [ - "any" - ], - "path": "src/plugins/data/common/search/aggs/buckets/date_histogram.ts", + "path": "src/plugins/data/common/search/aggs/utils/date_interval_utils/parse_es_interval.ts", "deprecated": false, "trackAdoption": false } @@ -12117,21 +12093,13 @@ }, { "parentPluginId": "data", - "id": "def-public.search.aggs.isNumberType", + "id": "def-public.search.aggs.parseInterval", "type": "Function", "tags": [], - "label": "isNumberType", + "label": "parseInterval", "description": [], "signature": [ - "(agg: ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.AggConfig", - "text": "AggConfig" - }, - ") => boolean" + "(interval: string) => moment.Duration | null" ], "path": "src/plugins/data/public/index.ts", "deprecated": false, @@ -12140,21 +12108,12 @@ "children": [ { "parentPluginId": "data", - "id": "def-public.search.aggs.isNumberType.$1", - "type": "Object", + "id": "def-public.search.aggs.parseInterval.$1", + "type": "string", "tags": [], - "label": "agg", + "label": "interval", "description": [], - "signature": [ - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.AggConfig", - "text": "AggConfig" - } - ], - "path": "src/plugins/data/common/search/aggs/buckets/migrate_include_exclude_format.ts", + "path": "src/plugins/data/common/search/aggs/utils/date_interval_utils/parse_interval.ts", "deprecated": false, "trackAdoption": false } @@ -12162,21 +12121,13 @@ }, { "parentPluginId": "data", - "id": "def-public.search.aggs.isStringType", + "id": "def-public.search.aggs.propFilter", "type": "Function", "tags": [], - "label": "isStringType", + "label": "propFilter", "description": [], "signature": [ - "(agg: ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.AggConfig", - "text": "AggConfig" - }, - ") => boolean" + "

(prop: P) => (list: T[], filters?: string | string[] | FilterFunc) => T[]" ], "path": "src/plugins/data/public/index.ts", "deprecated": false, @@ -12185,21 +12136,15 @@ "children": [ { "parentPluginId": "data", - "id": "def-public.search.aggs.isStringType.$1", - "type": "Object", + "id": "def-public.search.aggs.propFilter.$1", + "type": "Uncategorized", "tags": [], - "label": "agg", + "label": "prop", "description": [], "signature": [ - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.AggConfig", - "text": "AggConfig" - } + "P" ], - "path": "src/plugins/data/common/search/aggs/buckets/migrate_include_exclude_format.ts", + "path": "src/plugins/data/common/search/aggs/utils/prop_filter.ts", "deprecated": false, "trackAdoption": false } @@ -12207,80 +12152,49 @@ }, { "parentPluginId": "data", - "id": "def-public.search.aggs.isType", - "type": "Function", + "id": "def-public.search.aggs.siblingPipelineType", + "type": "Any", "tags": [], - "label": "isType", + "label": "siblingPipelineType", "description": [], "signature": [ - "(...types: string[]) => (agg: ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.AggConfig", - "text": "AggConfig" - }, - ") => boolean" + "any" ], "path": "src/plugins/data/public/index.ts", "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "data", - "id": "def-public.search.aggs.isType.$1", - "type": "Array", - "tags": [], - "label": "types", - "description": [], - "signature": [ - "string[]" - ], - "path": "src/plugins/data/common/search/aggs/buckets/migrate_include_exclude_format.ts", - "deprecated": false, - "trackAdoption": false - } - ] + "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-public.search.aggs.isValidEsInterval", - "type": "Function", + "id": "def-public.search.aggs.termsAggFilter", + "type": "Array", "tags": [], - "label": "isValidEsInterval", + "label": "termsAggFilter", "description": [], "signature": [ - "(interval: string) => boolean" + "string[]" ], "path": "src/plugins/data/public/index.ts", "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "data", - "id": "def-public.search.aggs.isValidEsInterval.$1", - "type": "string", - "tags": [], - "label": "interval", - "description": [], - "path": "src/plugins/data/common/search/aggs/utils/date_interval_utils/is_valid_es_interval.ts", - "deprecated": false, - "trackAdoption": false - } - ] + "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-public.search.aggs.isValidInterval", + "id": "def-public.search.aggs.toAbsoluteDates", "type": "Function", "tags": [], - "label": "isValidInterval", + "label": "toAbsoluteDates", "description": [], "signature": [ - "(value: string, baseInterval?: string | undefined) => boolean" + "(range: ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.TimeRange", + "text": "TimeRange" + }, + ") => { from: Date; to: Date; } | undefined" ], "path": "src/plugins/data/public/index.ts", "deprecated": false, @@ -12289,26 +12203,15 @@ "children": [ { "parentPluginId": "data", - "id": "def-public.search.aggs.isValidInterval.$1", - "type": "string", - "tags": [], - "label": "value", - "description": [], - "path": "src/plugins/data/common/search/aggs/utils/date_interval_utils/is_valid_interval.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-public.search.aggs.isValidInterval.$2", - "type": "string", + "id": "def-public.search.aggs.toAbsoluteDates.$1", + "type": "Object", "tags": [], - "label": "baseInterval", + "label": "range", "description": [], "signature": [ - "string | undefined" + "{ from: string; to: string; mode?: \"absolute\" | \"relative\" | undefined; }" ], - "path": "src/plugins/data/common/search/aggs/utils/date_interval_utils/is_valid_interval.ts", + "path": "src/plugins/data/common/search/aggs/utils/date_interval_utils/to_absolute_dates.ts", "deprecated": false, "trackAdoption": false } @@ -12316,13 +12219,13 @@ }, { "parentPluginId": "data", - "id": "def-public.search.aggs.parentPipelineType", - "type": "Any", + "id": "def-public.search.aggs.boundsDescendingRaw", + "type": "Array", "tags": [], - "label": "parentPipelineType", + "label": "boundsDescendingRaw", "description": [], "signature": [ - "any" + "({ bound: number; interval: moment.Duration; boundLabel: any; intervalLabel: any; } | { bound: moment.Duration; interval: moment.Duration; boundLabel: any; intervalLabel: any; })[]" ], "path": "src/plugins/data/public/index.ts", "deprecated": false, @@ -12330,21 +12233,13 @@ }, { "parentPluginId": "data", - "id": "def-public.search.aggs.parseEsInterval", + "id": "def-public.search.aggs.calcAutoIntervalLessThan", "type": "Function", "tags": [], - "label": "parseEsInterval", + "label": "calcAutoIntervalLessThan", "description": [], "signature": [ - "(interval: string) => { value: number; unit: ", - { - "pluginId": "@kbn/datemath", - "scope": "common", - "docId": "kibKbnDatemathPluginApi", - "section": "def-common.Unit", - "text": "Unit" - }, - "; type: \"fixed\" | \"calendar\"; }" + "(maxBucketCount: number, duration: number) => moment.Duration" ], "path": "src/plugins/data/public/index.ts", "deprecated": false, @@ -12353,180 +12248,12 @@ "children": [ { "parentPluginId": "data", - "id": "def-public.search.aggs.parseEsInterval.$1", - "type": "string", + "id": "def-public.search.aggs.calcAutoIntervalLessThan.$1", + "type": "number", "tags": [], - "label": "interval", + "label": "maxBucketCount", "description": [], - "path": "src/plugins/data/common/search/aggs/utils/date_interval_utils/parse_es_interval.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "data", - "id": "def-public.search.aggs.parseInterval", - "type": "Function", - "tags": [], - "label": "parseInterval", - "description": [], - "signature": [ - "(interval: string) => moment.Duration | null" - ], - "path": "src/plugins/data/public/index.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "data", - "id": "def-public.search.aggs.parseInterval.$1", - "type": "string", - "tags": [], - "label": "interval", - "description": [], - "path": "src/plugins/data/common/search/aggs/utils/date_interval_utils/parse_interval.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "data", - "id": "def-public.search.aggs.propFilter", - "type": "Function", - "tags": [], - "label": "propFilter", - "description": [], - "signature": [ - "

(prop: P) => (list: T[], filters?: string | string[] | FilterFunc) => T[]" - ], - "path": "src/plugins/data/public/index.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "data", - "id": "def-public.search.aggs.propFilter.$1", - "type": "Uncategorized", - "tags": [], - "label": "prop", - "description": [], - "signature": [ - "P" - ], - "path": "src/plugins/data/common/search/aggs/utils/prop_filter.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "data", - "id": "def-public.search.aggs.siblingPipelineType", - "type": "Any", - "tags": [], - "label": "siblingPipelineType", - "description": [], - "signature": [ - "any" - ], - "path": "src/plugins/data/public/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-public.search.aggs.termsAggFilter", - "type": "Array", - "tags": [], - "label": "termsAggFilter", - "description": [], - "signature": [ - "string[]" - ], - "path": "src/plugins/data/public/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-public.search.aggs.toAbsoluteDates", - "type": "Function", - "tags": [], - "label": "toAbsoluteDates", - "description": [], - "signature": [ - "(range: ", - { - "pluginId": "@kbn/es-query", - "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.TimeRange", - "text": "TimeRange" - }, - ") => { from: Date; to: Date; } | undefined" - ], - "path": "src/plugins/data/public/index.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "data", - "id": "def-public.search.aggs.toAbsoluteDates.$1", - "type": "Object", - "tags": [], - "label": "range", - "description": [], - "signature": [ - "{ from: string; to: string; mode?: \"absolute\" | \"relative\" | undefined; }" - ], - "path": "src/plugins/data/common/search/aggs/utils/date_interval_utils/to_absolute_dates.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "data", - "id": "def-public.search.aggs.boundsDescendingRaw", - "type": "Array", - "tags": [], - "label": "boundsDescendingRaw", - "description": [], - "signature": [ - "({ bound: number; interval: moment.Duration; boundLabel: any; intervalLabel: any; } | { bound: moment.Duration; interval: moment.Duration; boundLabel: any; intervalLabel: any; })[]" - ], - "path": "src/plugins/data/public/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-public.search.aggs.calcAutoIntervalLessThan", - "type": "Function", - "tags": [], - "label": "calcAutoIntervalLessThan", - "description": [], - "signature": [ - "(maxBucketCount: number, duration: number) => moment.Duration" - ], - "path": "src/plugins/data/public/index.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "data", - "id": "def-public.search.aggs.calcAutoIntervalLessThan.$1", - "type": "number", - "tags": [], - "label": "maxBucketCount", - "description": [], - "path": "src/plugins/data/common/search/aggs/buckets/lib/time_buckets/calc_auto_interval.ts", + "path": "src/plugins/data/common/search/aggs/buckets/lib/time_buckets/calc_auto_interval.ts", "deprecated": false, "trackAdoption": false }, @@ -13763,7 +13490,7 @@ }, { "plugin": "unifiedFieldList", - "path": "src/plugins/unified_field_list/common/utils/field_existing_utils.ts" + "path": "src/plugins/unified_field_list/public/services/field_existing/field_existing_utils.ts" }, { "plugin": "unifiedFieldList", @@ -13781,18 +13508,6 @@ "plugin": "lens", "path": "x-pack/plugins/lens/public/app_plugin/lens_top_nav.tsx" }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/server/rest_api_routes/update_data_view.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/server/rest_api_routes/update_data_view.ts" - }, - { - "plugin": "triggersActionsUi", - "path": "x-pack/plugins/triggers_actions_ui/public/common/lib/data_apis.ts" - }, { "plugin": "aiops", "path": "x-pack/plugins/aiops/public/components/log_categorization/log_categorization_page.tsx" @@ -13801,6 +13516,14 @@ "plugin": "aiops", "path": "x-pack/plugins/aiops/public/components/log_categorization/log_categorization_for_flyout.tsx" }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/server/rest_api_routes/update_data_view.ts" + }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/server/rest_api_routes/update_data_view.ts" + }, { "plugin": "ml", "path": "x-pack/plugins/ml/server/models/data_frame_analytics/index_patterns.ts" @@ -13837,6 +13560,10 @@ "plugin": "apm", "path": "x-pack/plugins/apm/server/routes/data_view/create_static_data_view.ts" }, + { + "plugin": "triggersActionsUi", + "path": "x-pack/plugins/triggers_actions_ui/public/common/lib/data_apis.ts" + }, { "plugin": "exploratoryView", "path": "x-pack/plugins/exploratory_view/public/utils/observability_data_views/observability_data_views.ts" @@ -14005,18 +13732,6 @@ "plugin": "enterpriseSearch", "path": "x-pack/plugins/enterprise_search/public/applications/analytics/components/analytics_collection_view/analytics_collection_explore_table_formulas.ts" }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/state_management/datasource.sagas.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/state_management/persistence.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/state_management/persistence.ts" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/containers/sourcerer/create_sourcerer_data_view.ts" @@ -14029,10 +13744,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/detections/components/rules/eql_query_bar/validators.ts" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/detections/components/rules/step_define_rule/index.tsx" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/index.tsx" @@ -14041,6 +13752,18 @@ "plugin": "timelines", "path": "x-pack/plugins/timelines/server/search_strategy/index_fields/index.ts" }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/public/state_management/datasource.sagas.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/public/state_management/persistence.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/public/state_management/persistence.ts" + }, { "plugin": "stackAlerts", "path": "x-pack/plugins/stack_alerts/public/rule_types/geo_containment/query_builder/expressions/boundary_index_expression.tsx" @@ -14205,14 +13928,6 @@ "plugin": "inputControlVis", "path": "src/plugins/input_control_vis/public/control/range_control_factory.ts" }, - { - "plugin": "unifiedFieldList", - "path": "src/plugins/unified_field_list/server/routes/field_stats.ts" - }, - { - "plugin": "unifiedFieldList", - "path": "src/plugins/unified_field_list/server/routes/field_stats.ts" - }, { "plugin": "visDefaultEditor", "path": "src/plugins/vis_default_editor/public/components/controls/field.tsx" @@ -14285,10 +14000,6 @@ "plugin": "dataViews", "path": "src/plugins/data_views/common/data_views/data_views.ts" }, - { - "plugin": "discover", - "path": "src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts" - }, { "plugin": "infra", "path": "x-pack/plugins/infra/public/pages/metrics/hosts/hooks/use_data_view.test.ts" @@ -17367,7 +17078,7 @@ "\nDeletes an index pattern from .kibana index." ], "signature": [ - "(indexPatternId: string) => Promise<{}>" + "(indexPatternId: string) => Promise" ], "path": "src/plugins/data_views/common/data_views/data_views.ts", "deprecated": false, @@ -18235,7 +17946,7 @@ "TransportRequestOptions", " | undefined): Promise<", "CountResponse", - ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", + ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchApplication]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", "default", "; child: (opts: ", "ClientOptions", @@ -18481,29 +18192,29 @@ "ExplainResponse", ">; }; features: ", "default", - "; fieldCaps: { (this: That, params: ", + "; fieldCaps: { (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithOutMeta", " | undefined): Promise<", "FieldCapsResponse", - ">; (this: That, params: ", + ">; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithMeta", " | undefined): Promise<", "TransportResult", "<", "FieldCapsResponse", - ", unknown>>; (this: That, params: ", + ", unknown>>; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptions", " | undefined): Promise<", "FieldCapsResponse", @@ -18609,7 +18320,33 @@ "TransportRequestOptions", " | undefined): Promise; }; graph: ", "default", - "; ilm: ", + "; healthReport: { (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "HealthReportResponse", + ">; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "HealthReportResponse", + ", unknown>>; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "HealthReportResponse", + ">; }; ilm: ", "default", "; index: { (this: That, params: ", "IndexRequest", @@ -19055,7 +18792,9 @@ "TransportRequestOptions", " | undefined): Promise<", "ScrollResponse", - ">; }; searchMvt: { (this: That, params: ", + ">; }; searchApplication: ", + "default", + "; searchMvt: { (this: That, params: ", "SearchMvtRequest", " | ", "SearchMvtRequest", @@ -21373,7 +21112,7 @@ }, { "plugin": "unifiedFieldList", - "path": "src/plugins/unified_field_list/common/utils/field_existing_utils.ts" + "path": "src/plugins/unified_field_list/public/services/field_existing/field_existing_utils.ts" }, { "plugin": "unifiedFieldList", @@ -21392,24 +21131,20 @@ "path": "x-pack/plugins/lens/public/app_plugin/lens_top_nav.tsx" }, { - "plugin": "dataViews", - "path": "src/plugins/data_views/server/rest_api_routes/update_data_view.ts" + "plugin": "aiops", + "path": "x-pack/plugins/aiops/public/components/log_categorization/log_categorization_page.tsx" }, { - "plugin": "dataViews", - "path": "src/plugins/data_views/server/rest_api_routes/update_data_view.ts" - }, - { - "plugin": "triggersActionsUi", - "path": "x-pack/plugins/triggers_actions_ui/public/common/lib/data_apis.ts" + "plugin": "aiops", + "path": "x-pack/plugins/aiops/public/components/log_categorization/log_categorization_for_flyout.tsx" }, { - "plugin": "aiops", - "path": "x-pack/plugins/aiops/public/components/log_categorization/log_categorization_page.tsx" + "plugin": "dataViews", + "path": "src/plugins/data_views/server/rest_api_routes/update_data_view.ts" }, { - "plugin": "aiops", - "path": "x-pack/plugins/aiops/public/components/log_categorization/log_categorization_for_flyout.tsx" + "plugin": "dataViews", + "path": "src/plugins/data_views/server/rest_api_routes/update_data_view.ts" }, { "plugin": "ml", @@ -21447,6 +21182,10 @@ "plugin": "apm", "path": "x-pack/plugins/apm/server/routes/data_view/create_static_data_view.ts" }, + { + "plugin": "triggersActionsUi", + "path": "x-pack/plugins/triggers_actions_ui/public/common/lib/data_apis.ts" + }, { "plugin": "exploratoryView", "path": "x-pack/plugins/exploratory_view/public/utils/observability_data_views/observability_data_views.ts" @@ -21615,18 +21354,6 @@ "plugin": "enterpriseSearch", "path": "x-pack/plugins/enterprise_search/public/applications/analytics/components/analytics_collection_view/analytics_collection_explore_table_formulas.ts" }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/state_management/datasource.sagas.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/state_management/persistence.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/state_management/persistence.ts" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/containers/sourcerer/create_sourcerer_data_view.ts" @@ -21639,10 +21366,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/detections/components/rules/eql_query_bar/validators.ts" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/detections/components/rules/step_define_rule/index.tsx" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/index.tsx" @@ -21652,28 +21375,24 @@ "path": "x-pack/plugins/timelines/server/search_strategy/index_fields/index.ts" }, { - "plugin": "stackAlerts", - "path": "x-pack/plugins/stack_alerts/public/rule_types/geo_containment/query_builder/expressions/boundary_index_expression.tsx" - }, - { - "plugin": "stackAlerts", - "path": "x-pack/plugins/stack_alerts/public/rule_types/geo_containment/query_builder/expressions/entity_index_expression.tsx" + "plugin": "graph", + "path": "x-pack/plugins/graph/public/state_management/datasource.sagas.ts" }, { - "plugin": "stackAlerts", - "path": "x-pack/plugins/stack_alerts/public/rule_types/geo_containment/query_builder/index.tsx" + "plugin": "graph", + "path": "x-pack/plugins/graph/public/state_management/persistence.ts" }, { - "plugin": "stackAlerts", - "path": "x-pack/plugins/stack_alerts/public/rule_types/geo_containment/query_builder/index.tsx" + "plugin": "graph", + "path": "x-pack/plugins/graph/public/state_management/persistence.ts" }, { "plugin": "stackAlerts", - "path": "x-pack/plugins/stack_alerts/public/rule_types/geo_containment/query_builder/index.tsx" + "path": "x-pack/plugins/stack_alerts/public/rule_types/geo_containment/query_builder/expressions/boundary_index_expression.tsx" }, { "plugin": "stackAlerts", - "path": "x-pack/plugins/stack_alerts/public/rule_types/geo_containment/query_builder/index.tsx" + "path": "x-pack/plugins/stack_alerts/public/rule_types/geo_containment/query_builder/expressions/entity_index_expression.tsx" }, { "plugin": "stackAlerts", @@ -21685,4046 +21404,834 @@ }, { "plugin": "stackAlerts", - "path": "x-pack/plugins/stack_alerts/public/rule_types/components/data_view_select_popover.tsx" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/legacy_uptime/components/overview/filter_group/filter_group.tsx" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/legacy_uptime/components/overview/alerts/monitor_expressions/filters_expression_select.tsx" - }, - { - "plugin": "transform", - "path": "x-pack/plugins/transform/public/app/sections/create_transform/components/step_define/common/filter_agg/components/filter_term_form.tsx" - }, - { - "plugin": "transform", - "path": "x-pack/plugins/transform/public/app/hooks/use_search_items/common.ts" - }, - { - "plugin": "transform", - "path": "x-pack/plugins/transform/public/app/services/es_index_service.ts" - }, - { - "plugin": "transform", - "path": "x-pack/plugins/transform/server/routes/api/transforms.ts" - }, - { - "plugin": "upgradeAssistant", - "path": "x-pack/plugins/upgrade_assistant/public/application/components/es_deprecation_logs/fix_deprecation_logs/external_links.tsx" - }, - { - "plugin": "ux", - "path": "x-pack/plugins/ux/public/components/app/rum_dashboard/local_uifilters/use_data_view.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/state_management/datasource.test.ts" - }, - { - "plugin": "infra", - "path": "x-pack/plugins/infra/common/dependency_mocks/index_patterns.ts" - }, - { - "plugin": "infra", - "path": "x-pack/plugins/infra/common/dependency_mocks/index_patterns.ts" - }, - { - "plugin": "infra", - "path": "x-pack/plugins/infra/common/dependency_mocks/index_patterns.ts" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.test.ts" - }, - { - "plugin": "enterpriseSearch", - "path": "x-pack/plugins/enterprise_search/public/applications/analytics/utils/find_or_create_data_view.test.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/services/new_job_capabilities/remove_nested_field_children.test.ts" - }, - { - "plugin": "exploratoryView", - "path": "x-pack/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/sample_attribute.ts" - }, - { - "plugin": "exploratoryView", - "path": "x-pack/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/sample_attribute_kpi.ts" - }, - { - "plugin": "exploratoryView", - "path": "x-pack/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/sample_attribute_with_reference_lines.ts" - }, - { - "plugin": "exploratoryView", - "path": "x-pack/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/test_formula_metric_attribute.ts" - }, - { - "plugin": "exploratoryView", - "path": "x-pack/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/lens_attributes/single_metric_attributes.test.ts" - }, - { - "plugin": "exploratoryView", - "path": "x-pack/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/lens_attributes/single_metric_attributes.test.ts" - }, - { - "plugin": "exploratoryView", - "path": "x-pack/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/mobile_test_attribute.ts" - }, - { - "plugin": "exploratoryView", - "path": "x-pack/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/sample_attribute_cwv.ts" - }, - { - "plugin": "transform", - "path": "x-pack/plugins/transform/public/app/sections/create_transform/components/step_define/common/common.test.ts" - }, - { - "plugin": "controls", - "path": "src/plugins/controls/public/services/data_views/data_views.story.ts" - }, - { - "plugin": "dataViewManagement", - "path": "src/plugins/data_view_management/public/components/edit_index_pattern/edit_index_pattern.tsx" - }, - { - "plugin": "dataViewManagement", - "path": "src/plugins/data_view_management/public/components/edit_index_pattern/edit_index_pattern.tsx" - }, - { - "plugin": "dataViewManagement", - "path": "src/plugins/data_view_management/public/components/field_editor/components/scripting_help/test_script.tsx" - }, - { - "plugin": "dataViewManagement", - "path": "src/plugins/data_view_management/public/components/field_editor/field_editor.tsx" - }, - { - "plugin": "dataViewManagement", - "path": "src/plugins/data_view_management/public/components/edit_index_pattern/create_edit_field/create_edit_field.tsx" - }, - { - "plugin": "inputControlVis", - "path": "src/plugins/input_control_vis/public/control/list_control_factory.ts" - }, - { - "plugin": "inputControlVis", - "path": "src/plugins/input_control_vis/public/control/range_control_factory.ts" - }, - { - "plugin": "unifiedFieldList", - "path": "src/plugins/unified_field_list/server/routes/field_stats.ts" - }, - { - "plugin": "unifiedFieldList", - "path": "src/plugins/unified_field_list/server/routes/field_stats.ts" - }, - { - "plugin": "visDefaultEditor", - "path": "src/plugins/vis_default_editor/public/components/controls/field.tsx" - }, - { - "plugin": "visDefaultEditor", - "path": "src/plugins/vis_default_editor/public/components/controls/field.tsx" - }, - { - "plugin": "visDefaultEditor", - "path": "src/plugins/vis_default_editor/public/components/agg_select.tsx" - }, - { - "plugin": "inputControlVis", - "path": "src/plugins/input_control_vis/public/test_utils/get_index_pattern_mock.ts" - }, - { - "plugin": "presentationUtil", - "path": "src/plugins/presentation_util/public/services/data_views/data_views.story.ts" - }, - { - "plugin": "visTypeTimelion", - "path": "src/plugins/vis_types/timelion/public/helpers/arg_value_suggestions.ts" - }, - { - "plugin": "visTypeTimelion", - "path": "src/plugins/vis_types/timelion/public/helpers/arg_value_suggestions.ts" - }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.test.ts" - }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.test.ts" - }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/public/application/components/lib/convert_series_to_datatable.ts" - }, - { - "plugin": "visTypeVega", - "path": "src/plugins/vis_types/vega/public/data_model/search_api.ts" - }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/public/application/components/lib/convert_series_to_datatable.test.ts" - }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/public/convert_to_lens/lib/datasource/datasource_info.test.ts" - }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/public/convert_to_lens/lib/datasource/datasource_info.test.ts" - }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/public/convert_to_lens/lib/datasource/datasource_info.test.ts" - }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/server/lib/search_strategies/lib/cached_index_pattern_fetcher.test.ts" - }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/server/lib/search_strategies/lib/cached_index_pattern_fetcher.test.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_views.ts" - }, - { - "plugin": "discover", - "path": "src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts" - }, - { - "plugin": "infra", - "path": "x-pack/plugins/infra/public/pages/metrics/hosts/hooks/use_data_view.test.ts" - } - ] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.fieldFormatMap", - "type": "Object", - "tags": [], - "label": "fieldFormatMap", - "description": [ - "\nMap of field formats by field name" - ], - "signature": [ - "{ [x: string]: ", - { - "pluginId": "fieldFormats", - "scope": "common", - "docId": "kibFieldFormatsPluginApi", - "section": "def-common.SerializedFieldFormat", - "text": "SerializedFieldFormat" - }, - "<{}, ", - { - "pluginId": "@kbn/utility-types", - "scope": "common", - "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-common.SerializableRecord", - "text": "SerializableRecord" - }, - ">; }" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.typeMeta", - "type": "Object", - "tags": [], - "label": "typeMeta", - "description": [ - "\nOnly used by rollup indices, used by rollup specific endpoint to load field list." - ], - "signature": [ - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.TypeMeta", - "text": "TypeMeta" - }, - " | undefined" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.fields", - "type": "CompoundType", - "tags": [], - "label": "fields", - "description": [ - "\nField list, in extended array format" - ], - "signature": [ - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.IIndexPatternFieldList", - "text": "IIndexPatternFieldList" - }, - " & { toSpec: () => ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewFieldMap", - "text": "DataViewFieldMap" - }, - "; }" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.timeFieldName", - "type": "string", - "tags": [], - "label": "timeFieldName", - "description": [ - "\nTimestamp field name" - ], - "signature": [ - "string | undefined" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.type", - "type": "string", - "tags": [], - "label": "type", - "description": [ - "\nType is used to identify rollup index patterns." - ], - "signature": [ - "string | undefined" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.flattenHit", - "type": "Function", - "tags": [ - "deprecated" - ], - "label": "flattenHit", - "description": [], - "signature": [ - "(hit: Record, deep?: boolean | undefined) => Record" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": true, - "trackAdoption": false, - "references": [ - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_view.ts" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx" - }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx" - } - ], - "returnComment": [], - "children": [ - { - "parentPluginId": "data", - "id": "def-common.DataView.flattenHit.$1", - "type": "Object", - "tags": [], - "label": "hit", - "description": [], - "signature": [ - "{ [x: string]: unknown[]; }" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.flattenHit.$2", - "type": "CompoundType", - "tags": [], - "label": "deep", - "description": [], - "signature": [ - "boolean | undefined" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.metaFields", - "type": "Array", - "tags": [], - "label": "metaFields", - "description": [ - "\nList of meta fields by name" - ], - "signature": [ - "string[]" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.version", - "type": "string", - "tags": [], - "label": "version", - "description": [ - "\nSavedObject version" - ], - "signature": [ - "string | undefined" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.sourceFilters", - "type": "Array", - "tags": [], - "label": "sourceFilters", - "description": [ - "\nArray of filters - hides fields in discover" - ], - "signature": [ - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.SourceFilter", - "text": "SourceFilter" - }, - "[] | undefined" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.namespaces", - "type": "Array", - "tags": [], - "label": "namespaces", - "description": [ - "\nArray of namespace ids" - ], - "signature": [ - "string[]" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.allowNoIndex", - "type": "boolean", - "tags": [], - "label": "allowNoIndex", - "description": [ - "\nPrevents errors when index pattern exists before indices" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.name", - "type": "string", - "tags": [], - "label": "name", - "description": [ - "\nName of the data view. Human readable name used to differentiate data view." - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.matchedIndices", - "type": "Array", - "tags": [], - "label": "matchedIndices", - "description": [], - "signature": [ - "string[]" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.Unnamed", - "type": "Function", - "tags": [], - "label": "Constructor", - "description": [ - "\nconstructor" - ], - "signature": [ - "any" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-common.DataView.Unnamed.$1", - "type": "Object", - "tags": [], - "label": "config", - "description": [ - "- config data and dependencies" - ], - "signature": [ - "DataViewDeps" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.getName", - "type": "Function", - "tags": [], - "label": "getName", - "description": [ - "\nGet name of Data View" - ], - "signature": [ - "() => string" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.getIndexPattern", - "type": "Function", - "tags": [], - "label": "getIndexPattern", - "description": [ - "\nGet index pattern" - ], - "signature": [ - "() => string" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [ - "index pattern string" - ] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.setIndexPattern", - "type": "Function", - "tags": [], - "label": "setIndexPattern", - "description": [ - "\nSet index pattern" - ], - "signature": [ - "(indexPattern: string) => void" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-common.DataView.setIndexPattern.$1", - "type": "string", - "tags": [], - "label": "indexPattern", - "description": [], - "signature": [ - "string" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.getOriginalSavedObjectBody", - "type": "Function", - "tags": [], - "label": "getOriginalSavedObjectBody", - "description": [ - "\nGet last saved saved object fields" - ], - "signature": [ - "() => { fieldAttrs?: string | undefined; title?: string | undefined; timeFieldName?: string | undefined; fields?: string | undefined; sourceFilters?: string | undefined; fieldFormatMap?: string | undefined; typeMeta?: string | undefined; type?: string | undefined; }" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.resetOriginalSavedObjectBody", - "type": "Function", - "tags": [], - "label": "resetOriginalSavedObjectBody", - "description": [ - "\nReset last saved saved object fields. Used after saving." - ], - "signature": [ - "() => void" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.getFieldAttrs", - "type": "Function", - "tags": [], - "label": "getFieldAttrs", - "description": [ - "\nReturns field attributes map" - ], - "signature": [ - "() => { [x: string]: ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.FieldAttrSet", - "text": "FieldAttrSet" - }, - "; }" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.getComputedFields", - "type": "Function", - "tags": [], - "label": "getComputedFields", - "description": [ - "\nReturns scripted fields" - ], - "signature": [ - "() => { storedFields: string[]; scriptFields: Record; docvalueFields: { field: string; format: string; }[]; runtimeFields: ", - "MappingRuntimeFields", - "; }" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.isPersisted", - "type": "Function", - "tags": [], - "label": "isPersisted", - "description": [], - "signature": [ - "() => boolean" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.toSpec", - "type": "Function", - "tags": [], - "label": "toSpec", - "description": [ - "\nCreates static representation of the data view." - ], - "signature": [ - "(includeFields?: boolean) => ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewSpec", - "text": "DataViewSpec" - } - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-common.DataView.toSpec.$1", - "type": "boolean", - "tags": [], - "label": "includeFields", - "description": [ - "Whether or not to include the `fields` list as part of this spec. If not included, the list\nwill be fetched from Elasticsearch when instantiating a new Data View with this spec." - ], - "signature": [ - "boolean" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.getSourceFiltering", - "type": "Function", - "tags": [], - "label": "getSourceFiltering", - "description": [ - "\nGet the source filtering configuration for that index." - ], - "signature": [ - "() => { excludes: string[]; }" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.removeScriptedField", - "type": "Function", - "tags": [ - "deprecated" - ], - "label": "removeScriptedField", - "description": [ - "\nRemoves scripted field from field list." - ], - "signature": [ - "(fieldName: string) => void" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": true, - "trackAdoption": false, - "references": [ - { - "plugin": "dataViewManagement", - "path": "src/plugins/data_view_management/public/components/edit_index_pattern/scripted_fields_table/scripted_fields_table.tsx" - }, - { - "plugin": "dataViewManagement", - "path": "src/plugins/data_view_management/public/components/field_editor/field_editor.tsx" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_view.test.ts" - } - ], - "children": [ - { - "parentPluginId": "data", - "id": "def-common.DataView.removeScriptedField.$1", - "type": "string", - "tags": [], - "label": "fieldName", - "description": [ - "name of scripted field to remove" - ], - "signature": [ - "string" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.getNonScriptedFields", - "type": "Function", - "tags": [ - "deprecated" - ], - "label": "getNonScriptedFields", - "description": [ - "\n" - ], - "signature": [ - "() => ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewField", - "text": "DataViewField" - }, - "[]" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": true, - "trackAdoption": false, - "references": [ - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/server/lib/search_strategies/strategies/abstract_search_strategy.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/services/persistence/deserialize.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/state_management/datasource.test.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/services/persistence/deserialize.test.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/services/persistence/deserialize.test.ts" - }, - { - "plugin": "dataViewManagement", - "path": "src/plugins/data_view_management/public/components/edit_index_pattern/source_filters_table/components/table/table.tsx" - }, - { - "plugin": "dataViewManagement", - "path": "src/plugins/data_view_management/public/components/edit_index_pattern/edit_index_pattern.tsx" - }, - { - "plugin": "dataViewManagement", - "path": "src/plugins/data_view_management/public/components/edit_index_pattern/edit_index_pattern.tsx" - }, - { - "plugin": "dataViewManagement", - "path": "src/plugins/data_view_management/public/components/edit_index_pattern/edit_index_pattern.tsx" - }, - { - "plugin": "dataViewManagement", - "path": "src/plugins/data_view_management/public/components/edit_index_pattern/edit_index_pattern.tsx" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_view.test.ts" - }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/public/application/lib/fetch_fields.ts" - } - ], - "children": [], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.getScriptedFields", - "type": "Function", - "tags": [ - "deprecated" - ], - "label": "getScriptedFields", - "description": [ - "\n" - ], - "signature": [ - "() => ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewField", - "text": "DataViewField" - }, - "[]" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": true, - "trackAdoption": false, - "references": [ - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_view.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_view.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_views.ts" - }, - { - "plugin": "dataViewManagement", - "path": "src/plugins/data_view_management/public/components/edit_index_pattern/scripted_fields_table/scripted_fields_table.tsx" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_view.test.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_view.test.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_view.test.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_view.test.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_view.test.ts" - } - ], - "children": [], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.isTSDBMode", - "type": "Function", - "tags": [], - "label": "isTSDBMode", - "description": [ - "\nreturns true if dataview contains TSDB fields" - ], - "signature": [ - "() => boolean" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.isTimeBased", - "type": "Function", - "tags": [], - "label": "isTimeBased", - "description": [ - "\nDoes the data view have a timestamp field?" - ], - "signature": [ - "() => this is ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.TimeBasedDataView", - "text": "TimeBasedDataView" - } - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.isTimeNanosBased", - "type": "Function", - "tags": [], - "label": "isTimeNanosBased", - "description": [ - "\nDoes the data view have a timestamp field and is it a date nanos field?" - ], - "signature": [ - "() => this is ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.TimeBasedDataView", - "text": "TimeBasedDataView" - } - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.getTimeField", - "type": "Function", - "tags": [], - "label": "getTimeField", - "description": [ - "\nGet timestamp field as DataViewField or return undefined" - ], - "signature": [ - "() => ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewField", - "text": "DataViewField" - }, - " | undefined" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.getFieldByName", - "type": "Function", - "tags": [], - "label": "getFieldByName", - "description": [ - "\nGet field by name." - ], - "signature": [ - "(name: string) => ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewField", - "text": "DataViewField" - }, - " | undefined" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-common.DataView.getFieldByName.$1", - "type": "string", - "tags": [], - "label": "name", - "description": [ - "field name" - ], - "signature": [ - "string" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.getAggregationRestrictions", - "type": "Function", - "tags": [], - "label": "getAggregationRestrictions", - "description": [ - "\nGet aggregation restrictions. Rollup fields can only perform a subset of aggregations." - ], - "signature": [ - "() => Record | undefined" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.getAsSavedObjectBody", - "type": "Function", - "tags": [], - "label": "getAsSavedObjectBody", - "description": [ - "\nReturns index pattern as saved object body for saving" - ], - "signature": [ - "() => ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewAttributes", - "text": "DataViewAttributes" - } - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.getFormatterForField", - "type": "Function", - "tags": [], - "label": "getFormatterForField", - "description": [ - "\nProvide a field, get its formatter" - ], - "signature": [ - "(field: ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.FieldSpec", - "text": "FieldSpec" - }, - " | ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewField", - "text": "DataViewField" - }, - ") => ", - { - "pluginId": "fieldFormats", - "scope": "common", - "docId": "kibFieldFormatsPluginApi", - "section": "def-common.FieldFormat", - "text": "FieldFormat" - } - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-common.DataView.getFormatterForField.$1", - "type": "CompoundType", - "tags": [], - "label": "field", - "description": [ - "field to get formatter for" - ], - "signature": [ - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.FieldSpec", - "text": "FieldSpec" - }, - " | ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewField", - "text": "DataViewField" - } - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.addRuntimeField", - "type": "Function", - "tags": [], - "label": "addRuntimeField", - "description": [ - "\nAdd a runtime field - Appended to existing mapped field or a new field is\ncreated as appropriate." - ], - "signature": [ - "(name: string, runtimeField: ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.RuntimeField", - "text": "RuntimeField" - }, - ") => ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewField", - "text": "DataViewField" - }, - "[]" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-common.DataView.addRuntimeField.$1", - "type": "string", - "tags": [], - "label": "name", - "description": [ - "Field name" - ], - "signature": [ - "string" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.addRuntimeField.$2", - "type": "Object", - "tags": [], - "label": "runtimeField", - "description": [ - "Runtime field definition" - ], - "signature": [ - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.RuntimeField", - "text": "RuntimeField" - } - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.hasRuntimeField", - "type": "Function", - "tags": [], - "label": "hasRuntimeField", - "description": [ - "\nChecks if runtime field exists" - ], - "signature": [ - "(name: string) => boolean" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-common.DataView.hasRuntimeField.$1", - "type": "string", - "tags": [], - "label": "name", - "description": [ - "field name" - ], - "signature": [ - "string" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.getRuntimeField", - "type": "Function", - "tags": [], - "label": "getRuntimeField", - "description": [ - "\nReturns runtime field if exists" - ], - "signature": [ - "(name: string) => ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.RuntimeField", - "text": "RuntimeField" - }, - " | null" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-common.DataView.getRuntimeField.$1", - "type": "string", - "tags": [], - "label": "name", - "description": [ - "Runtime field name" - ], - "signature": [ - "string" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.getAllRuntimeFields", - "type": "Function", - "tags": [], - "label": "getAllRuntimeFields", - "description": [ - "\nGet all runtime field definitions.\nNOTE: this does not strip out runtime fields that match mapped field names" - ], - "signature": [ - "() => Record" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [ - "map of runtime field definitions by field name" - ] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.getFieldsByRuntimeFieldName", - "type": "Function", - "tags": [], - "label": "getFieldsByRuntimeFieldName", - "description": [ - "\nReturns data view fields backed by runtime fields." - ], - "signature": [ - "(name: string) => Record | undefined" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-common.DataView.getFieldsByRuntimeFieldName.$1", - "type": "string", - "tags": [], - "label": "name", - "description": [ - "runtime field name" - ], - "signature": [ - "string" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [ - "map of DataViewFields (that are runtime fields) by field name" - ] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.replaceAllRuntimeFields", - "type": "Function", - "tags": [], - "label": "replaceAllRuntimeFields", - "description": [ - "\nReplaces all existing runtime fields with new fields." - ], - "signature": [ - "(newFields: Record) => void" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-common.DataView.replaceAllRuntimeFields.$1", - "type": "Object", - "tags": [], - "label": "newFields", - "description": [ - "Map of runtime field definitions by field name" - ], - "signature": [ - "Record" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.removeRuntimeField", - "type": "Function", - "tags": [], - "label": "removeRuntimeField", - "description": [ - "\nRemove a runtime field - removed from mapped field or removed unmapped\nfield as appropriate. Doesn't clear associated field attributes." - ], - "signature": [ - "(name: string) => void" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-common.DataView.removeRuntimeField.$1", - "type": "string", - "tags": [], - "label": "name", - "description": [ - "- Field name to remove" - ], - "signature": [ - "string" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.getRuntimeMappings", - "type": "Function", - "tags": [], - "label": "getRuntimeMappings", - "description": [ - "\nReturn the \"runtime_mappings\" section of the ES search query." - ], - "signature": [ - "() => ", - "MappingRuntimeFields" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.getFormatterForFieldNoDefault", - "type": "Function", - "tags": [], - "label": "getFormatterForFieldNoDefault", - "description": [ - "\nGet formatter for a given field name. Return undefined if none exists." - ], - "signature": [ - "(fieldname: string) => ", - { - "pluginId": "fieldFormats", - "scope": "common", - "docId": "kibFieldFormatsPluginApi", - "section": "def-common.FieldFormat", - "text": "FieldFormat" - }, - " | undefined" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-common.DataView.getFormatterForFieldNoDefault.$1", - "type": "string", - "tags": [], - "label": "fieldname", - "description": [ - "name of field to get formatter for" - ], - "signature": [ - "string" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.setFieldAttrs", - "type": "Function", - "tags": [], - "label": "setFieldAttrs", - "description": [ - "\nSet field attribute" - ], - "signature": [ - "(fieldName: string, attrName: K, value: ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.FieldAttrSet", - "text": "FieldAttrSet" - }, - "[K]) => void" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-common.DataView.setFieldAttrs.$1", - "type": "string", - "tags": [], - "label": "fieldName", - "description": [ - "name of field to set attribute on" - ], - "signature": [ - "string" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.setFieldAttrs.$2", - "type": "Uncategorized", - "tags": [], - "label": "attrName", - "description": [ - "name of attribute to set" - ], - "signature": [ - "K" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.setFieldAttrs.$3", - "type": "Uncategorized", - "tags": [], - "label": "value", - "description": [ - "value of attribute" - ], - "signature": [ - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.FieldAttrSet", - "text": "FieldAttrSet" - }, - "[K]" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.setFieldCustomLabel", - "type": "Function", - "tags": [], - "label": "setFieldCustomLabel", - "description": [ - "\nSet field custom label" - ], - "signature": [ - "(fieldName: string, customLabel: string | null | undefined) => void" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-common.DataView.setFieldCustomLabel.$1", - "type": "string", - "tags": [], - "label": "fieldName", - "description": [ - "name of field to set custom label on" - ], - "signature": [ - "string" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.setFieldCustomLabel.$2", - "type": "CompoundType", - "tags": [], - "label": "customLabel", - "description": [ - "custom label value. If undefined, custom label is removed" - ], - "signature": [ - "string | null | undefined" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - } - ], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.setFieldCount", - "type": "Function", - "tags": [], - "label": "setFieldCount", - "description": [ - "\nSet field count" - ], - "signature": [ - "(fieldName: string, count: number | null | undefined) => void" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-common.DataView.setFieldCount.$1", - "type": "string", - "tags": [], - "label": "fieldName", - "description": [ - "name of field to set count on" - ], - "signature": [ - "string" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.setFieldCount.$2", - "type": "CompoundType", - "tags": [], - "label": "count", - "description": [ - "count value. If undefined, count is removed" - ], - "signature": [ - "number | null | undefined" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - } - ], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.setFieldFormat", - "type": "Function", - "tags": [], - "label": "setFieldFormat", - "description": [ - "\nSet field formatter" - ], - "signature": [ - "(fieldName: string, format: ", - { - "pluginId": "fieldFormats", - "scope": "common", - "docId": "kibFieldFormatsPluginApi", - "section": "def-common.SerializedFieldFormat", - "text": "SerializedFieldFormat" - }, - "<{}, ", - { - "pluginId": "@kbn/utility-types", - "scope": "common", - "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-common.SerializableRecord", - "text": "SerializableRecord" - }, - ">) => void" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-common.DataView.setFieldFormat.$1", - "type": "string", - "tags": [], - "label": "fieldName", - "description": [ - "name of field to set format on" - ], - "signature": [ - "string" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.setFieldFormat.$2", - "type": "Object", - "tags": [], - "label": "format", - "description": [ - "field format in serialized form" - ], - "signature": [ - { - "pluginId": "fieldFormats", - "scope": "common", - "docId": "kibFieldFormatsPluginApi", - "section": "def-common.SerializedFieldFormat", - "text": "SerializedFieldFormat" - }, - "<{}, ", - { - "pluginId": "@kbn/utility-types", - "scope": "common", - "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-common.SerializableRecord", - "text": "SerializableRecord" - }, - ">" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataView.deleteFieldFormat", - "type": "Function", - "tags": [], - "label": "deleteFieldFormat", - "description": [ - "\nRemove field format from the field format map." - ], - "signature": [ - "(fieldName: string) => void" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-common.DataView.deleteFieldFormat.$1", - "type": "string", - "tags": [], - "label": "fieldName", - "description": [ - "field name associated with the format for removal" - ], - "signature": [ - "string" - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField", - "type": "Class", - "tags": [], - "label": "DataViewField", - "description": [ - "\nData view field class" - ], - "signature": [ - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewField", - "text": "DataViewField" - }, - " implements ", - { - "pluginId": "@kbn/es-query", - "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.DataViewFieldBase", - "text": "DataViewFieldBase" - } - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-common.DataViewField.spec", - "type": "CompoundType", - "tags": [], - "label": "spec", - "description": [], - "signature": [ - { - "pluginId": "@kbn/es-query", - "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.DataViewFieldBase", - "text": "DataViewFieldBase" - }, - " & { count?: number | undefined; conflictDescriptions?: Record | undefined; format?: ", - { - "pluginId": "fieldFormats", - "scope": "common", - "docId": "kibFieldFormatsPluginApi", - "section": "def-common.SerializedFieldFormat", - "text": "SerializedFieldFormat" - }, - "<{}, ", - { - "pluginId": "@kbn/utility-types", - "scope": "common", - "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-common.SerializableRecord", - "text": "SerializableRecord" - }, - "> | undefined; esTypes?: string[] | undefined; searchable: boolean; aggregatable: boolean; readFromDocValues?: boolean | undefined; indexed?: boolean | undefined; customLabel?: string | undefined; runtimeField?: ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.RuntimeFieldSpec", - "text": "RuntimeFieldSpec" - }, - " | undefined; fixedInterval?: string[] | undefined; timeZone?: string[] | undefined; timeSeriesDimension?: boolean | undefined; timeSeriesMetric?: \"histogram\" | \"summary\" | \"gauge\" | \"counter\" | undefined; shortDotsEnable?: boolean | undefined; isMapped?: boolean | undefined; parentName?: string | undefined; }" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.Unnamed", - "type": "Function", - "tags": [ - "constructor" - ], - "label": "Constructor", - "description": [ - "\nDataView constructor" - ], - "signature": [ - "any" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-common.DataViewField.Unnamed.$1", - "type": "CompoundType", - "tags": [], - "label": "spec", - "description": [ - "Configuration for the field" - ], - "signature": [ - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.FieldSpec", - "text": "FieldSpec" - } - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.count", - "type": "number", - "tags": [], - "label": "count", - "description": [ - "\nCount is used for field popularity in discover." - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.count", - "type": "number", - "tags": [], - "label": "count", - "description": [ - "\nSet count, which is used for field popularity in discover." - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.runtimeField", - "type": "CompoundType", - "tags": [], - "label": "runtimeField", - "description": [ - "\nReturns runtime field definition or undefined if field is not runtime field." - ], - "signature": [ - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.RuntimeFieldSpec", - "text": "RuntimeFieldSpec" - }, - " | undefined" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.runtimeField", - "type": "CompoundType", - "tags": [], - "label": "runtimeField", - "description": [ - "\nSets runtime field definition or unsets if undefined is provided." - ], - "signature": [ - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.RuntimeFieldSpec", - "text": "RuntimeFieldSpec" - }, - " | undefined" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.script", - "type": "string", - "tags": [], - "label": "script", - "description": [ - "\nScript field code" - ], - "signature": [ - "string | undefined" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.script", - "type": "string", - "tags": [], - "label": "script", - "description": [ - "\nSets scripted field painless code" - ], - "signature": [ - "string | undefined" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.lang", - "type": "string", - "tags": [], - "label": "lang", - "description": [ - "\nScript field language" - ], - "signature": [ - "string | undefined" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.lang", - "type": "string", - "tags": [], - "label": "lang", - "description": [ - "\nSets scripted field langauge." - ], - "signature": [ - "string | undefined" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.customLabel", - "type": "string", - "tags": [], - "label": "customLabel", - "description": [ - "\nReturns custom label if set, otherwise undefined." - ], - "signature": [ - "string | undefined" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.customLabel", - "type": "string", - "tags": [], - "label": "customLabel", - "description": [ - "\nSets custom label for field, or unsets if passed undefined." - ], - "signature": [ - "string | undefined" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.conflictDescriptions", - "type": "Object", - "tags": [], - "label": "conflictDescriptions", - "description": [ - "\nDescription of field type conflicts across different indices in the same index pattern." - ], - "signature": [ - "Record | undefined" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.conflictDescriptions", - "type": "Object", - "tags": [], - "label": "conflictDescriptions", - "description": [ - "\nSets conflict descriptions for field." - ], - "signature": [ - "Record | undefined" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.name", - "type": "string", - "tags": [], - "label": "name", - "description": [ - "\nGet field name" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.displayName", - "type": "string", - "tags": [], - "label": "displayName", - "description": [ - "\nGets display name, calcualted based on name, custom label and shortDotsEnable." - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.type", - "type": "string", - "tags": [], - "label": "type", - "description": [ - "\nGets field type" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.esTypes", - "type": "Array", - "tags": [], - "label": "esTypes", - "description": [ - "\nGets ES types as string array" - ], - "signature": [ - "string[] | undefined" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.scripted", - "type": "boolean", - "tags": [], - "label": "scripted", - "description": [ - "\nReturns true if scripted field" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.searchable", - "type": "boolean", - "tags": [], - "label": "searchable", - "description": [ - "\nReturns true if field is searchable" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.aggregatable", - "type": "boolean", - "tags": [], - "label": "aggregatable", - "description": [ - "\nReturns true if field is aggregatable" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.timeSeriesDimension", - "type": "boolean", - "tags": [], - "label": "timeSeriesDimension", - "description": [ - "\nreturns true if field is a TSDB dimension field" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.timeSeriesMetric", - "type": "CompoundType", - "tags": [], - "label": "timeSeriesMetric", - "description": [ - "\nreturns type of TSDB metric or undefined" - ], - "signature": [ - "\"histogram\" | \"summary\" | \"gauge\" | \"counter\" | undefined" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.fixedInterval", - "type": "Array", - "tags": [], - "label": "fixedInterval", - "description": [ - "\nreturns list of alloeed fixed intervals" - ], - "signature": [ - "string[] | undefined" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.isRolledUpField", - "type": "CompoundType", - "tags": [], - "label": "isRolledUpField", - "description": [ - "\nreturns true if the field is of rolled up type" - ], - "signature": [ - "boolean | undefined" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.timeZone", - "type": "Array", - "tags": [], - "label": "timeZone", - "description": [ - "\nreturn list of allowed time zones" - ], - "signature": [ - "string[] | undefined" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.readFromDocValues", - "type": "boolean", - "tags": [], - "label": "readFromDocValues", - "description": [ - "\nReturns true if field is available via doc values" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.subType", - "type": "CompoundType", - "tags": [], - "label": "subType", - "description": [ - "\nReturns field subtype, multi, nested, or undefined if neither" - ], - "signature": [ - { - "pluginId": "@kbn/es-query", - "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.IFieldSubType", - "text": "IFieldSubType" - }, - " | undefined" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.isMapped", - "type": "CompoundType", - "tags": [], - "label": "isMapped", - "description": [ - "\nIs the field part of the index mapping?" - ], - "signature": [ - "boolean | undefined" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.isRuntimeField", - "type": "boolean", - "tags": [], - "label": "isRuntimeField", - "description": [ - "\nReturns true if runtime field defined on data view" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.sortable", - "type": "boolean", - "tags": [], - "label": "sortable", - "description": [ - "\nReturns true if field is sortable" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.filterable", - "type": "boolean", - "tags": [], - "label": "filterable", - "description": [ - "\nReturns true if field is filterable" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.visualizable", - "type": "boolean", - "tags": [], - "label": "visualizable", - "description": [ - "\nReturns true if field is visualizable" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.isSubtypeNested", - "type": "Function", - "tags": [], - "label": "isSubtypeNested", - "description": [ - "\nReturns true if field is subtype nested" - ], - "signature": [ - "() => boolean" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.isSubtypeMulti", - "type": "Function", - "tags": [], - "label": "isSubtypeMulti", - "description": [ - "\nReturns true if field is subtype multi" - ], - "signature": [ - "() => boolean" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.getSubtypeNested", - "type": "Function", - "tags": [], - "label": "getSubtypeNested", - "description": [ - "\nReturns subtype nested data if exists" - ], - "signature": [ - "() => ", + "path": "x-pack/plugins/stack_alerts/public/rule_types/geo_containment/query_builder/index.tsx" + }, { - "pluginId": "@kbn/es-query", - "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.IFieldSubTypeNested", - "text": "IFieldSubTypeNested" + "plugin": "stackAlerts", + "path": "x-pack/plugins/stack_alerts/public/rule_types/geo_containment/query_builder/index.tsx" }, - " | undefined" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.getSubtypeMulti", - "type": "Function", - "tags": [], - "label": "getSubtypeMulti", - "description": [ - "\nReturns subtype multi data if exists" - ], - "signature": [ - "() => ", { - "pluginId": "@kbn/es-query", - "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.IFieldSubTypeMulti", - "text": "IFieldSubTypeMulti" + "plugin": "stackAlerts", + "path": "x-pack/plugins/stack_alerts/public/rule_types/geo_containment/query_builder/index.tsx" }, - " | undefined" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.deleteCount", - "type": "Function", - "tags": [], - "label": "deleteCount", - "description": [ - "\nDeletes count value. Popularity as used by discover" - ], - "signature": [ - "() => void" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.toJSON", - "type": "Function", - "tags": [], - "label": "toJSON", - "description": [ - "\nJSON version of field" - ], - "signature": [ - "() => { count: number; script: string | undefined; lang: string | undefined; conflictDescriptions: Record | undefined; name: string; type: string; esTypes: string[] | undefined; scripted: boolean; searchable: boolean; aggregatable: boolean; readFromDocValues: boolean; subType: ", { - "pluginId": "@kbn/es-query", - "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.IFieldSubType", - "text": "IFieldSubType" + "plugin": "stackAlerts", + "path": "x-pack/plugins/stack_alerts/public/rule_types/geo_containment/query_builder/index.tsx" }, - " | undefined; customLabel: string | undefined; }" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.toSpec", - "type": "Function", - "tags": [], - "label": "toSpec", - "description": [ - "\nGet field in serialized form - fieldspec." - ], - "signature": [ - "(config?: ", { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.ToSpecConfig", - "text": "ToSpecConfig" + "plugin": "stackAlerts", + "path": "x-pack/plugins/stack_alerts/public/rule_types/components/data_view_select_popover.tsx" }, - ") => ", { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.FieldSpec", - "text": "FieldSpec" - } - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + "plugin": "synthetics", + "path": "x-pack/plugins/synthetics/public/legacy_uptime/components/overview/filter_group/filter_group.tsx" + }, { - "parentPluginId": "data", - "id": "def-common.DataViewField.toSpec.$1", - "type": "Object", - "tags": [], - "label": "config", - "description": [ - "provide a method to get a field formatter" - ], - "signature": [ - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.ToSpecConfig", - "text": "ToSpecConfig" - } - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [ - "field in serialized form - field spec" - ] - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewField.isRuntimeCompositeSubField", - "type": "Function", - "tags": [], - "label": "isRuntimeCompositeSubField", - "description": [ - "\nReturns true if composite runtime field" - ], - "signature": [ - "() => boolean" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewSavedObjectConflictError", - "type": "Class", - "tags": [], - "label": "DataViewSavedObjectConflictError", - "description": [ - "\nError thrown when saved object has been changed when attempting to save." - ], - "signature": [ - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewSavedObjectConflictError", - "text": "DataViewSavedObjectConflictError" - }, - " extends Error" - ], - "path": "src/plugins/data_views/common/errors/data_view_saved_object_conflict.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-common.DataViewSavedObjectConflictError.Unnamed", - "type": "Function", - "tags": [], - "label": "Constructor", - "description": [ - "\nconstructor" - ], - "signature": [ - "any" - ], - "path": "src/plugins/data_views/common/errors/data_view_saved_object_conflict.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + "plugin": "synthetics", + "path": "x-pack/plugins/synthetics/public/legacy_uptime/components/overview/alerts/monitor_expressions/filters_expression_select.tsx" + }, + { + "plugin": "transform", + "path": "x-pack/plugins/transform/public/app/sections/create_transform/components/step_define/common/filter_agg/components/filter_term_form.tsx" + }, + { + "plugin": "transform", + "path": "x-pack/plugins/transform/public/app/hooks/use_search_items/common.ts" + }, + { + "plugin": "transform", + "path": "x-pack/plugins/transform/public/app/services/es_index_service.ts" + }, + { + "plugin": "transform", + "path": "x-pack/plugins/transform/server/routes/api/transforms.ts" + }, + { + "plugin": "upgradeAssistant", + "path": "x-pack/plugins/upgrade_assistant/public/application/components/es_deprecation_logs/fix_deprecation_logs/external_links.tsx" + }, + { + "plugin": "ux", + "path": "x-pack/plugins/ux/public/components/app/rum_dashboard/local_uifilters/use_data_view.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/public/state_management/datasource.test.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/common/dependency_mocks/index_patterns.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/common/dependency_mocks/index_patterns.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/common/dependency_mocks/index_patterns.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/classes/tooltips/es_tooltip_property.test.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/public/applications/analytics/utils/find_or_create_data_view.test.ts" + }, { - "parentPluginId": "data", - "id": "def-common.DataViewSavedObjectConflictError.Unnamed.$1", - "type": "string", - "tags": [], - "label": "savedObjectId", - "description": [ - "saved object id with conflict" - ], - "signature": [ - "string" - ], - "path": "src/plugins/data_views/common/errors/data_view_saved_object_conflict.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewsService", - "type": "Class", - "tags": [], - "label": "DataViewsService", - "description": [ - "\nData views service, providing CRUD operations for data views." - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-common.DataViewsService.getCanSave", - "type": "Function", - "tags": [], - "label": "getCanSave", - "description": [ - "\nCan the user save data views?" - ], - "signature": [ - "() => Promise" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewsService.Unnamed", - "type": "Function", - "tags": [], - "label": "Constructor", - "description": [ - "\nDataViewsService constructor" - ], - "signature": [ - "any" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + "plugin": "ml", + "path": "x-pack/plugins/ml/public/application/services/new_job_capabilities/remove_nested_field_children.test.ts" + }, { - "parentPluginId": "data", - "id": "def-common.DataViewsService.Unnamed.$1", - "type": "Object", - "tags": [], - "label": "deps", - "description": [ - "Service dependencies" - ], - "signature": [ - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewsServiceDeps", - "text": "DataViewsServiceDeps" - } - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewsService.getIds", - "type": "Function", - "tags": [], - "label": "getIds", - "description": [ - "\nGets list of index pattern ids." - ], - "signature": [ - "(refresh?: boolean) => Promise" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + "plugin": "exploratoryView", + "path": "x-pack/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/sample_attribute.ts" + }, { - "parentPluginId": "data", - "id": "def-common.DataViewsService.getIds.$1", - "type": "boolean", - "tags": [], - "label": "refresh", - "description": [ - "Force refresh of index pattern list" - ], - "signature": [ - "boolean" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewsService.getTitles", - "type": "Function", - "tags": [], - "label": "getTitles", - "description": [ - "\nGets list of index pattern titles." - ], - "signature": [ - "(refresh?: boolean) => Promise" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + "plugin": "exploratoryView", + "path": "x-pack/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/sample_attribute_kpi.ts" + }, { - "parentPluginId": "data", - "id": "def-common.DataViewsService.getTitles.$1", - "type": "boolean", - "tags": [], - "label": "refresh", - "description": [ - "Force refresh of index pattern list" - ], - "signature": [ - "boolean" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewsService.find", - "type": "Function", - "tags": [], - "label": "find", - "description": [ - "\nFind and load index patterns by title." - ], - "signature": [ - "(search: string, size?: number) => Promise<", + "plugin": "exploratoryView", + "path": "x-pack/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/sample_attribute_with_reference_lines.ts" + }, { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" + "plugin": "exploratoryView", + "path": "x-pack/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/test_formula_metric_attribute.ts" + }, + { + "plugin": "exploratoryView", + "path": "x-pack/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/lens_attributes/single_metric_attributes.test.ts" + }, + { + "plugin": "exploratoryView", + "path": "x-pack/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/lens_attributes/single_metric_attributes.test.ts" + }, + { + "plugin": "exploratoryView", + "path": "x-pack/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/mobile_test_attribute.ts" + }, + { + "plugin": "exploratoryView", + "path": "x-pack/plugins/exploratory_view/public/components/shared/exploratory_view/configurations/test_data/sample_attribute_cwv.ts" + }, + { + "plugin": "transform", + "path": "x-pack/plugins/transform/public/app/sections/create_transform/components/step_define/common/common.test.ts" + }, + { + "plugin": "controls", + "path": "src/plugins/controls/public/services/data_views/data_views.story.ts" + }, + { + "plugin": "dataViewManagement", + "path": "src/plugins/data_view_management/public/components/edit_index_pattern/edit_index_pattern.tsx" + }, + { + "plugin": "dataViewManagement", + "path": "src/plugins/data_view_management/public/components/edit_index_pattern/edit_index_pattern.tsx" + }, + { + "plugin": "dataViewManagement", + "path": "src/plugins/data_view_management/public/components/field_editor/components/scripting_help/test_script.tsx" + }, + { + "plugin": "dataViewManagement", + "path": "src/plugins/data_view_management/public/components/field_editor/field_editor.tsx" + }, + { + "plugin": "dataViewManagement", + "path": "src/plugins/data_view_management/public/components/edit_index_pattern/create_edit_field/create_edit_field.tsx" + }, + { + "plugin": "inputControlVis", + "path": "src/plugins/input_control_vis/public/control/list_control_factory.ts" + }, + { + "plugin": "inputControlVis", + "path": "src/plugins/input_control_vis/public/control/range_control_factory.ts" + }, + { + "plugin": "visDefaultEditor", + "path": "src/plugins/vis_default_editor/public/components/controls/field.tsx" }, - "[]>" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ { - "parentPluginId": "data", - "id": "def-common.DataViewsService.find.$1", - "type": "string", - "tags": [], - "label": "search", - "description": [ - "Search string" - ], - "signature": [ - "string" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true + "plugin": "visDefaultEditor", + "path": "src/plugins/vis_default_editor/public/components/controls/field.tsx" }, { - "parentPluginId": "data", - "id": "def-common.DataViewsService.find.$2", - "type": "number", - "tags": [], - "label": "size", - "description": [ - "Number of data views to return" - ], - "signature": [ - "number" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [ - "DataView[]" - ] - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewsService.getIdsWithTitle", - "type": "Function", - "tags": [], - "label": "getIdsWithTitle", - "description": [ - "\nGets list of index pattern ids with titles." - ], - "signature": [ - "(refresh?: boolean) => Promise<", + "plugin": "visDefaultEditor", + "path": "src/plugins/vis_default_editor/public/components/agg_select.tsx" + }, { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewListItem", - "text": "DataViewListItem" + "plugin": "inputControlVis", + "path": "src/plugins/input_control_vis/public/test_utils/get_index_pattern_mock.ts" }, - "[]>" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ { - "parentPluginId": "data", - "id": "def-common.DataViewsService.getIdsWithTitle.$1", - "type": "boolean", - "tags": [], - "label": "refresh", - "description": [ - "Force refresh of index pattern list" - ], - "signature": [ - "boolean" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewsService.clearCache", - "type": "Function", - "tags": [], - "label": "clearCache", - "description": [ - "\nClear index pattern saved objects cache." - ], - "signature": [ - "() => void" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewsService.clearInstanceCache", - "type": "Function", - "tags": [], - "label": "clearInstanceCache", - "description": [ - "\nClear index pattern instance cache" - ], - "signature": [ - "(id?: string | undefined) => void" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + "plugin": "presentationUtil", + "path": "src/plugins/presentation_util/public/services/data_views/data_views.story.ts" + }, { - "parentPluginId": "data", - "id": "def-common.DataViewsService.clearInstanceCache.$1", - "type": "string", - "tags": [], - "label": "id", - "description": [], - "signature": [ - "string | undefined" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - } - ], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewsService.getCache", - "type": "Function", - "tags": [], - "label": "getCache", - "description": [ - "\nGet cache, contains data view saved objects." - ], - "signature": [ - "() => Promise<", + "plugin": "visTypeTimelion", + "path": "src/plugins/vis_types/timelion/public/helpers/arg_value_suggestions.ts" + }, { - "pluginId": "@kbn/core-saved-objects-common", - "scope": "common", - "docId": "kibKbnCoreSavedObjectsCommonPluginApi", - "section": "def-common.SavedObject", - "text": "SavedObject" + "plugin": "visTypeTimelion", + "path": "src/plugins/vis_types/timelion/public/helpers/arg_value_suggestions.ts" }, - "<", { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewSavedObjectAttrs", - "text": "DataViewSavedObjectAttrs" + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.test.ts" }, - ">[] | null | undefined>" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewsService.getDefault", - "type": "Function", - "tags": [], - "label": "getDefault", - "description": [ - "\nGet default index pattern" - ], - "signature": [ - "(displayErrors?: boolean) => Promise<", { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.test.ts" }, - " | null>" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ { - "parentPluginId": "data", - "id": "def-common.DataViewsService.getDefault.$1", - "type": "boolean", - "tags": [], - "label": "displayErrors", - "description": [ - "- If set false, API consumer is responsible for displaying and handling errors." - ], - "signature": [ - "boolean" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewsService.getDefaultId", - "type": "Function", - "tags": [], - "label": "getDefaultId", - "description": [ - "\nGet default index pattern id" - ], - "signature": [ - "() => Promise" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewsService.setDefault", - "type": "Function", - "tags": [], - "label": "setDefault", - "description": [ - "\nOptionally set default index pattern, unless force = true" - ], - "signature": [ - "(id: string | null, force?: boolean) => Promise" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/public/application/components/lib/convert_series_to_datatable.ts" + }, { - "parentPluginId": "data", - "id": "def-common.DataViewsService.setDefault.$1", - "type": "CompoundType", - "tags": [], - "label": "id", - "description": [ - "data view id" - ], - "signature": [ - "string | null" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false + "plugin": "visTypeVega", + "path": "src/plugins/vis_types/vega/public/data_model/search_api.ts" }, { - "parentPluginId": "data", - "id": "def-common.DataViewsService.setDefault.$2", - "type": "boolean", - "tags": [], - "label": "force", - "description": [ - "set default data view even if there's an existing default" - ], - "signature": [ - "boolean" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/public/application/components/lib/convert_series_to_datatable.test.ts" + }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/public/convert_to_lens/lib/datasource/datasource_info.test.ts" + }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/public/convert_to_lens/lib/datasource/datasource_info.test.ts" + }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/public/convert_to_lens/lib/datasource/datasource_info.test.ts" + }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/server/lib/search_strategies/lib/cached_index_pattern_fetcher.test.ts" + }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/server/lib/search_strategies/lib/cached_index_pattern_fetcher.test.ts" + }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/common/data_views/data_views.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/public/pages/metrics/hosts/hooks/use_data_view.test.ts" } - ], - "returnComment": [] + ] }, { "parentPluginId": "data", - "id": "def-common.DataViewsService.hasUserDataView", - "type": "Function", + "id": "def-common.DataView.fieldFormatMap", + "type": "Object", "tags": [], - "label": "hasUserDataView", + "label": "fieldFormatMap", "description": [ - "\nChecks if current user has a user created index pattern ignoring fleet's server default index patterns." + "\nMap of field formats by field name" ], "signature": [ - "() => Promise" + "{ [x: string]: ", + { + "pluginId": "fieldFormats", + "scope": "common", + "docId": "kibFieldFormatsPluginApi", + "section": "def-common.SerializedFieldFormat", + "text": "SerializedFieldFormat" + }, + "<{}, ", + { + "pluginId": "@kbn/utility-types", + "scope": "common", + "docId": "kibKbnUtilityTypesPluginApi", + "section": "def-common.SerializableRecord", + "text": "SerializableRecord" + }, + ">; }" ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", + "path": "src/plugins/data_views/common/data_views/data_view.ts", "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] + "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-common.DataViewsService.getFieldsForWildcard", - "type": "Function", + "id": "def-common.DataView.typeMeta", + "type": "Object", "tags": [], - "label": "getFieldsForWildcard", + "label": "typeMeta", "description": [ - "\nGet field list by providing { pattern }." + "\nOnly used by rollup indices, used by rollup specific endpoint to load field list." ], "signature": [ - "(options: ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.GetFieldsOptions", - "text": "GetFieldsOptions" - }, - ") => Promise<", { "pluginId": "dataViews", "scope": "common", "docId": "kibDataViewsPluginApi", - "section": "def-common.FieldSpec", - "text": "FieldSpec" + "section": "def-common.TypeMeta", + "text": "TypeMeta" }, - "[]>" + " | undefined" ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", + "path": "src/plugins/data_views/common/data_views/data_view.ts", "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-common.DataViewsService.getFieldsForWildcard.$1", - "type": "Object", - "tags": [], - "label": "options", - "description": [ - "options for getting field list" - ], - "signature": [ - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.GetFieldsOptions", - "text": "GetFieldsOptions" - } - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [ - "FieldSpec[]" - ] + "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-common.DataViewsService.getFieldsForIndexPattern", - "type": "Function", + "id": "def-common.DataView.fields", + "type": "CompoundType", "tags": [], - "label": "getFieldsForIndexPattern", + "label": "fields", "description": [ - "\nGet field list by providing an index patttern (or spec)." + "\nField list, in extended array format" ], "signature": [ - "(indexPattern: ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" - }, - " | ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewSpec", - "text": "DataViewSpec" - }, - ", options?: Omit<", { "pluginId": "dataViews", "scope": "common", "docId": "kibDataViewsPluginApi", - "section": "def-common.GetFieldsOptions", - "text": "GetFieldsOptions" + "section": "def-common.IIndexPatternFieldList", + "text": "IIndexPatternFieldList" }, - ", \"allowNoIndex\"> | undefined) => Promise<", + " & { toSpec: () => ", { "pluginId": "dataViews", "scope": "common", "docId": "kibDataViewsPluginApi", - "section": "def-common.FieldSpec", - "text": "FieldSpec" + "section": "def-common.DataViewFieldMap", + "text": "DataViewFieldMap" }, - "[]>" + "; }" ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", + "path": "src/plugins/data_views/common/data_views/data_view.ts", "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-common.DataViewsService.getFieldsForIndexPattern.$1", - "type": "CompoundType", - "tags": [], - "label": "indexPattern", - "description": [], - "signature": [ - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" - }, - " | ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewSpec", - "text": "DataViewSpec" - } - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewsService.getFieldsForIndexPattern.$2", - "type": "Object", - "tags": [], - "label": "options", - "description": [ - "options for getting field list" - ], - "signature": [ - "Omit<", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.GetFieldsOptions", - "text": "GetFieldsOptions" - }, - ", \"allowNoIndex\"> | undefined" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - } + "trackAdoption": false + }, + { + "parentPluginId": "data", + "id": "def-common.DataView.timeFieldName", + "type": "string", + "tags": [], + "label": "timeFieldName", + "description": [ + "\nTimestamp field name" ], - "returnComment": [ - "FieldSpec[]" - ] + "signature": [ + "string | undefined" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-common.DataViewsService.refreshFields", - "type": "Function", + "id": "def-common.DataView.type", + "type": "string", "tags": [], - "label": "refreshFields", + "label": "type", "description": [ - "\nRefresh field list for a given data view." + "\nType is used to identify rollup index patterns." ], "signature": [ - "(dataView: ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" - }, - ", displayErrors?: boolean) => Promise" + "string | undefined" ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", + "path": "src/plugins/data_views/common/data_views/data_view.ts", "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "data", + "id": "def-common.DataView.flattenHit", + "type": "Function", + "tags": [ + "deprecated" + ], + "label": "flattenHit", + "description": [], + "signature": [ + "(hit: Record, deep?: boolean | undefined) => Record" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": true, "trackAdoption": false, + "references": [ + { + "plugin": "dataViews", + "path": "src/plugins/data_views/common/data_views/data_view.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx" + } + ], + "returnComment": [], "children": [ { "parentPluginId": "data", - "id": "def-common.DataViewsService.refreshFields.$1", + "id": "def-common.DataView.flattenHit.$1", "type": "Object", "tags": [], - "label": "dataView", + "label": "hit", "description": [], "signature": [ - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" - } + "{ [x: string]: unknown[]; }" ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", + "path": "src/plugins/data_views/common/data_views/data_view.ts", "deprecated": false, - "trackAdoption": false, - "isRequired": true + "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-common.DataViewsService.refreshFields.$2", - "type": "boolean", + "id": "def-common.DataView.flattenHit.$2", + "type": "CompoundType", "tags": [], - "label": "displayErrors", - "description": [ - "- If set false, API consumer is responsible for displaying and handling errors." - ], + "label": "deep", + "description": [], "signature": [ - "boolean" + "boolean | undefined" ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", + "path": "src/plugins/data_views/common/data_views/data_view.ts", "deprecated": false, - "trackAdoption": false, - "isRequired": true + "trackAdoption": false } + ] + }, + { + "parentPluginId": "data", + "id": "def-common.DataView.metaFields", + "type": "Array", + "tags": [], + "label": "metaFields", + "description": [ + "\nList of meta fields by name" ], - "returnComment": [] + "signature": [ + "string[]" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-common.DataViewsService.fieldArrayToMap", - "type": "Function", + "id": "def-common.DataView.version", + "type": "string", "tags": [], - "label": "fieldArrayToMap", + "label": "version", "description": [ - "\nConverts field array to map." + "\nSavedObject version" + ], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "data", + "id": "def-common.DataView.sourceFilters", + "type": "Array", + "tags": [], + "label": "sourceFilters", + "description": [ + "\nArray of filters - hides fields in discover" ], "signature": [ - "(fields: ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.FieldSpec", - "text": "FieldSpec" - }, - "[], fieldAttrs?: ", { "pluginId": "dataViews", "scope": "common", "docId": "kibDataViewsPluginApi", - "section": "def-common.FieldAttrs", - "text": "FieldAttrs" + "section": "def-common.SourceFilter", + "text": "SourceFilter" }, - " | undefined) => ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewFieldMap", - "text": "DataViewFieldMap" - } + "[] | undefined" ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", + "path": "src/plugins/data_views/common/data_views/data_view.ts", "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-common.DataViewsService.fieldArrayToMap.$1", - "type": "Array", - "tags": [], - "label": "fields", - "description": [ - ": FieldSpec[]" - ], - "signature": [ - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.FieldSpec", - "text": "FieldSpec" - }, - "[]" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, + "trackAdoption": false + }, + { + "parentPluginId": "data", + "id": "def-common.DataView.namespaces", + "type": "Array", + "tags": [], + "label": "namespaces", + "description": [ + "\nArray of namespace ids" + ], + "signature": [ + "string[]" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "data", + "id": "def-common.DataView.allowNoIndex", + "type": "boolean", + "tags": [], + "label": "allowNoIndex", + "description": [ + "\nPrevents errors when index pattern exists before indices" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "data", + "id": "def-common.DataView.name", + "type": "string", + "tags": [], + "label": "name", + "description": [ + "\nName of the data view. Human readable name used to differentiate data view." + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "data", + "id": "def-common.DataView.matchedIndices", + "type": "Array", + "tags": [], + "label": "matchedIndices", + "description": [], + "signature": [ + "string[]" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "data", + "id": "def-common.DataView.Unnamed", + "type": "Function", + "tags": [], + "label": "Constructor", + "description": [ + "\nconstructor" + ], + "signature": [ + "any" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "data", - "id": "def-common.DataViewsService.fieldArrayToMap.$2", + "id": "def-common.DataView.Unnamed.$1", "type": "Object", "tags": [], - "label": "fieldAttrs", + "label": "config", "description": [ - ": FieldAttrs" + "- config data and dependencies" ], "signature": [ - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.FieldAttrs", - "text": "FieldAttrs" - }, - " | undefined" + "DataViewDeps" ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", + "path": "src/plugins/data_views/common/data_views/data_view.ts", "deprecated": false, "trackAdoption": false, - "isRequired": false + "isRequired": true } ], + "returnComment": [] + }, + { + "parentPluginId": "data", + "id": "def-common.DataView.getName", + "type": "Function", + "tags": [], + "label": "getName", + "description": [ + "\nGet name of Data View" + ], + "signature": [ + "() => string" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "data", + "id": "def-common.DataView.getIndexPattern", + "type": "Function", + "tags": [], + "label": "getIndexPattern", + "description": [ + "\nGet index pattern" + ], + "signature": [ + "() => string" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], "returnComment": [ - "Record" + "index pattern string" ] }, { "parentPluginId": "data", - "id": "def-common.DataViewsService.savedObjectToSpec", + "id": "def-common.DataView.setIndexPattern", "type": "Function", "tags": [], - "label": "savedObjectToSpec", + "label": "setIndexPattern", "description": [ - "\nConverts data view saved object to data view spec." + "\nSet index pattern" ], "signature": [ - "(savedObject: ", - { - "pluginId": "@kbn/core-saved-objects-common", - "scope": "common", - "docId": "kibKbnCoreSavedObjectsCommonPluginApi", - "section": "def-common.SavedObject", - "text": "SavedObject" - }, - "<", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewAttributes", - "text": "DataViewAttributes" - }, - ">) => ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewSpec", - "text": "DataViewSpec" - } + "(indexPattern: string) => void" ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", + "path": "src/plugins/data_views/common/data_views/data_view.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "data", - "id": "def-common.DataViewsService.savedObjectToSpec.$1", - "type": "Object", + "id": "def-common.DataView.setIndexPattern.$1", + "type": "string", "tags": [], - "label": "savedObject", + "label": "indexPattern", "description": [], "signature": [ - { - "pluginId": "@kbn/core-saved-objects-common", - "scope": "common", - "docId": "kibKbnCoreSavedObjectsCommonPluginApi", - "section": "def-common.SavedObject", - "text": "SavedObject" - }, - "<", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewAttributes", - "text": "DataViewAttributes" - }, - ">" + "string" ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", + "path": "src/plugins/data_views/common/data_views/data_view.ts", "deprecated": false, "trackAdoption": false, "isRequired": true } ], - "returnComment": [ - "DataViewSpec" - ] + "returnComment": [] }, { "parentPluginId": "data", - "id": "def-common.DataViewsService.get", + "id": "def-common.DataView.getOriginalSavedObjectBody", "type": "Function", "tags": [], - "label": "get", + "label": "getOriginalSavedObjectBody", "description": [ - "\nGet an index pattern by id, cache optimized." + "\nGet last saved saved object fields" ], "signature": [ - "(id: string, displayErrors?: boolean, refreshFields?: boolean) => Promise<", + "() => { fieldAttrs?: string | undefined; title?: string | undefined; timeFieldName?: string | undefined; fields?: string | undefined; sourceFilters?: string | undefined; fieldFormatMap?: string | undefined; typeMeta?: string | undefined; type?: string | undefined; }" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "data", + "id": "def-common.DataView.resetOriginalSavedObjectBody", + "type": "Function", + "tags": [], + "label": "resetOriginalSavedObjectBody", + "description": [ + "\nReset last saved saved object fields. Used after saving." + ], + "signature": [ + "() => void" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "data", + "id": "def-common.DataView.getFieldAttrs", + "type": "Function", + "tags": [], + "label": "getFieldAttrs", + "description": [ + "\nReturns field attributes map" + ], + "signature": [ + "() => { [x: string]: ", { "pluginId": "dataViews", "scope": "common", "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" + "section": "def-common.FieldAttrSet", + "text": "FieldAttrSet" }, - ">" + "; }" ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", + "path": "src/plugins/data_views/common/data_views/data_view.ts", "deprecated": false, "trackAdoption": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-common.DataViewsService.get.$1", - "type": "string", - "tags": [], - "label": "id", - "description": [], - "signature": [ - "string" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewsService.get.$2", - "type": "boolean", - "tags": [], - "label": "displayErrors", - "description": [ - "- If set false, API consumer is responsible for displaying and handling errors." - ], - "signature": [ - "boolean" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewsService.get.$3", - "type": "boolean", - "tags": [], - "label": "refreshFields", - "description": [ - "- If set true, will fetch fields from the index pattern" - ], - "signature": [ - "boolean" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "data", + "id": "def-common.DataView.getComputedFields", + "type": "Function", + "tags": [], + "label": "getComputedFields", + "description": [ + "\nReturns scripted fields" + ], + "signature": [ + "() => { storedFields: string[]; scriptFields: Record; docvalueFields: { field: string; format: string; }[]; runtimeFields: ", + "MappingRuntimeFields", + "; }" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "data", + "id": "def-common.DataView.isPersisted", + "type": "Function", + "tags": [], + "label": "isPersisted", + "description": [], + "signature": [ + "() => boolean" ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], "returnComment": [] }, { "parentPluginId": "data", - "id": "def-common.DataViewsService.create", + "id": "def-common.DataView.toSpec", "type": "Function", "tags": [], - "label": "create", + "label": "toSpec", "description": [ - "\nCreate data view instance." + "\nCreates static representation of the data view." ], "signature": [ - "(spec: ", + "(includeFields?: boolean) => ", { "pluginId": "dataViews", "scope": "common", "docId": "kibDataViewsPluginApi", "section": "def-common.DataViewSpec", "text": "DataViewSpec" - }, - ", skipFetchFields?: boolean, displayErrors?: boolean) => Promise<", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" - }, - ">" + } ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", + "path": "src/plugins/data_views/common/data_views/data_view.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "data", - "id": "def-common.DataViewsService.create.$1", - "type": "Object", - "tags": [], - "label": "spec", - "description": [ - "data view spec" - ], - "signature": [ - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewSpec", - "text": "DataViewSpec" - } - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewsService.create.$2", - "type": "boolean", - "tags": [], - "label": "skipFetchFields", - "description": [ - "if true, will not fetch fields" - ], - "signature": [ - "boolean" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewsService.create.$3", + "id": "def-common.DataView.toSpec.$1", "type": "boolean", "tags": [], - "label": "displayErrors", + "label": "includeFields", "description": [ - "- If set false, API consumer is responsible for displaying and handling errors." + "Whether or not to include the `fields` list as part of this spec. If not included, the list\nwill be fetched from Elasticsearch when instantiating a new Data View with this spec." ], "signature": [ "boolean" ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", + "path": "src/plugins/data_views/common/data_views/data_view.ts", "deprecated": false, "trackAdoption": false, "isRequired": true } ], - "returnComment": [ - "DataView" - ] + "returnComment": [] }, { "parentPluginId": "data", - "id": "def-common.DataViewsService.createAndSave", + "id": "def-common.DataView.getSourceFiltering", "type": "Function", "tags": [], - "label": "createAndSave", + "label": "getSourceFiltering", "description": [ - "\nCreate a new data view and save it right away." + "\nGet the source filtering configuration for that index." ], "signature": [ - "(spec: ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewSpec", - "text": "DataViewSpec" - }, - ", override?: boolean, skipFetchFields?: boolean, displayErrors?: boolean) => Promise<", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" - }, - ">" + "() => { excludes: string[]; }" ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", + "path": "src/plugins/data_views/common/data_views/data_view.ts", "deprecated": false, "trackAdoption": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-common.DataViewsService.createAndSave.$1", - "type": "Object", - "tags": [], - "label": "spec", - "description": [ - "data view spec" - ], - "signature": [ - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewSpec", - "text": "DataViewSpec" - } - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewsService.createAndSave.$2", - "type": "boolean", - "tags": [], - "label": "override", - "description": [ - "Overwrite if existing index pattern exists." - ], - "signature": [ - "boolean" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewsService.createAndSave.$3", - "type": "boolean", - "tags": [], - "label": "skipFetchFields", - "description": [ - "Whether to skip field refresh step." - ], - "signature": [ - "boolean" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewsService.createAndSave.$4", - "type": "boolean", - "tags": [], - "label": "displayErrors", - "description": [ - "- If set false, API consumer is responsible for displaying and handling errors." - ], - "signature": [ - "boolean" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], + "children": [], "returnComment": [] }, { "parentPluginId": "data", - "id": "def-common.DataViewsService.createSavedObject", + "id": "def-common.DataView.removeScriptedField", "type": "Function", - "tags": [], - "label": "createSavedObject", + "tags": [ + "deprecated" + ], + "label": "removeScriptedField", "description": [ - "\nSave a new data view." + "\nRemoves scripted field from field list." ], "signature": [ - "(dataView: ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" - }, - ", override?: boolean, displayErrors?: boolean) => Promise<", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" - }, - ">" + "(fieldName: string) => void" ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": true, "trackAdoption": false, - "children": [ + "references": [ { - "parentPluginId": "data", - "id": "def-common.DataViewsService.createSavedObject.$1", - "type": "Object", - "tags": [], - "label": "dataView", - "description": [ - "data view instance" - ], - "signature": [ - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" - } - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true + "plugin": "dataViewManagement", + "path": "src/plugins/data_view_management/public/components/edit_index_pattern/scripted_fields_table/scripted_fields_table.tsx" }, { - "parentPluginId": "data", - "id": "def-common.DataViewsService.createSavedObject.$2", - "type": "boolean", - "tags": [], - "label": "override", - "description": [ - "Overwrite if existing index pattern exists" - ], - "signature": [ - "boolean" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true + "plugin": "dataViewManagement", + "path": "src/plugins/data_view_management/public/components/field_editor/field_editor.tsx" }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/common/data_views/data_view.test.ts" + } + ], + "children": [ { "parentPluginId": "data", - "id": "def-common.DataViewsService.createSavedObject.$3", - "type": "boolean", + "id": "def-common.DataView.removeScriptedField.$1", + "type": "string", "tags": [], - "label": "displayErrors", + "label": "fieldName", "description": [ - "- If set false, API consumer is responsible for displaying and handling errors." + "name of scripted field to remove" ], "signature": [ - "boolean" + "string" ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", + "path": "src/plugins/data_views/common/data_views/data_view.ts", "deprecated": false, "trackAdoption": false, "isRequired": true @@ -25734,1786 +22241,2046 @@ }, { "parentPluginId": "data", - "id": "def-common.DataViewsService.updateSavedObject", + "id": "def-common.DataView.getNonScriptedFields", "type": "Function", - "tags": [], - "label": "updateSavedObject", + "tags": [ + "deprecated" + ], + "label": "getNonScriptedFields", "description": [ - "\nSave existing data view. Will attempt to merge differences if there are conflicts." + "\n" ], "signature": [ - "(indexPattern: ", + "() => ", { "pluginId": "dataViews", "scope": "common", "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" + "section": "def-common.DataViewField", + "text": "DataViewField" }, - ", saveAttempts?: number, ignoreErrors?: boolean, displayErrors?: boolean) => Promise ", { "pluginId": "dataViews", "scope": "common", "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" + "section": "def-common.DataViewField", + "text": "DataViewField" }, - ">" + "[]" ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": true, "trackAdoption": false, - "children": [ + "references": [ { - "parentPluginId": "data", - "id": "def-common.DataViewsService.updateSavedObject.$1", - "type": "Object", - "tags": [], - "label": "indexPattern", - "description": [], - "signature": [ - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" - } - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true + "plugin": "dataViews", + "path": "src/plugins/data_views/common/data_views/data_view.ts" }, { - "parentPluginId": "data", - "id": "def-common.DataViewsService.updateSavedObject.$2", - "type": "number", - "tags": [], - "label": "saveAttempts", - "description": [], - "signature": [ - "number" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true + "plugin": "dataViews", + "path": "src/plugins/data_views/common/data_views/data_view.ts" }, { - "parentPluginId": "data", - "id": "def-common.DataViewsService.updateSavedObject.$3", - "type": "boolean", - "tags": [], - "label": "ignoreErrors", - "description": [], - "signature": [ - "boolean" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true + "plugin": "dataViews", + "path": "src/plugins/data_views/common/data_views/data_views.ts" }, { - "parentPluginId": "data", - "id": "def-common.DataViewsService.updateSavedObject.$4", - "type": "boolean", - "tags": [], - "label": "displayErrors", - "description": [ - "- If set false, API consumer is responsible for displaying and handling errors." - ], - "signature": [ - "boolean" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true + "plugin": "dataViewManagement", + "path": "src/plugins/data_view_management/public/components/edit_index_pattern/scripted_fields_table/scripted_fields_table.tsx" + }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/common/data_views/data_view.test.ts" + }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/common/data_views/data_view.test.ts" + }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/common/data_views/data_view.test.ts" + }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/common/data_views/data_view.test.ts" + }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/common/data_views/data_view.test.ts" } ], + "children": [], "returnComment": [] }, { "parentPluginId": "data", - "id": "def-common.DataViewsService.delete", + "id": "def-common.DataView.isTSDBMode", "type": "Function", "tags": [], - "label": "delete", + "label": "isTSDBMode", + "description": [ + "\nreturns true if dataview contains TSDB fields" + ], + "signature": [ + "() => boolean" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "data", + "id": "def-common.DataView.isTimeBased", + "type": "Function", + "tags": [], + "label": "isTimeBased", + "description": [ + "\nDoes the data view have a timestamp field?" + ], + "signature": [ + "() => this is ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.TimeBasedDataView", + "text": "TimeBasedDataView" + } + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "data", + "id": "def-common.DataView.isTimeNanosBased", + "type": "Function", + "tags": [], + "label": "isTimeNanosBased", "description": [ - "\nDeletes an index pattern from .kibana index." + "\nDoes the data view have a timestamp field and is it a date nanos field?" ], "signature": [ - "(indexPatternId: string) => Promise<{}>" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + "() => this is ", { - "parentPluginId": "data", - "id": "def-common.DataViewsService.delete.$1", - "type": "string", - "tags": [], - "label": "indexPatternId", - "description": [ - ": Id of kibana Index Pattern to delete" - ], - "signature": [ - "string" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.TimeBasedDataView", + "text": "TimeBasedDataView" } ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], "returnComment": [] }, { "parentPluginId": "data", - "id": "def-common.DataViewsService.getDefaultDataView", + "id": "def-common.DataView.getTimeField", "type": "Function", "tags": [], - "label": "getDefaultDataView", + "label": "getTimeField", "description": [ - "\nReturns the default data view as an object.\nIf no default is found, or it is missing\nanother data view is selected as default and returned.\nIf no possible data view found to become a default returns null.\n" + "\nGet timestamp field as DataViewField or return undefined" ], "signature": [ - "(options?: { displayErrors?: boolean | undefined; refreshFields?: boolean | undefined; }) => Promise<", + "() => ", { "pluginId": "dataViews", "scope": "common", "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" + "section": "def-common.DataViewField", + "text": "DataViewField" }, - " | null>" + " | undefined" ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", + "path": "src/plugins/data_views/common/data_views/data_view.ts", "deprecated": false, "trackAdoption": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-common.DataViewsService.getDefaultDataView.$1", - "type": "Object", - "tags": [], - "label": "options", - "description": [], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-common.DataViewsService.getDefaultDataView.$1.displayErrors", - "type": "CompoundType", - "tags": [], - "label": "displayErrors", - "description": [], - "signature": [ - "boolean | undefined" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewsService.getDefaultDataView.$1.refreshFields", - "type": "CompoundType", - "tags": [], - "label": "refreshFields", - "description": [], - "signature": [ - "boolean | undefined" - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false - } - ] - } - ], - "returnComment": [ - "default data view" - ] - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-common.DuplicateDataViewError", - "type": "Class", - "tags": [], - "label": "DuplicateDataViewError", - "description": [ - "\nError thrown when attempting to create duplicate index pattern based on title." - ], - "signature": [ - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DuplicateDataViewError", - "text": "DuplicateDataViewError" + "children": [], + "returnComment": [] }, - " extends Error" - ], - "path": "src/plugins/data_views/common/errors/duplicate_index_pattern.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ { "parentPluginId": "data", - "id": "def-common.DuplicateDataViewError.Unnamed", + "id": "def-common.DataView.getFieldByName", "type": "Function", "tags": [], - "label": "Constructor", + "label": "getFieldByName", "description": [ - "\nconstructor" + "\nGet field by name." ], "signature": [ - "any" + "(name: string) => ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewField", + "text": "DataViewField" + }, + " | undefined" ], - "path": "src/plugins/data_views/common/errors/duplicate_index_pattern.ts", + "path": "src/plugins/data_views/common/data_views/data_view.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "data", - "id": "def-common.DuplicateDataViewError.Unnamed.$1", + "id": "def-common.DataView.getFieldByName.$1", "type": "string", "tags": [], - "label": "message", + "label": "name", "description": [ - "- Error message" + "field name" ], "signature": [ "string" ], - "path": "src/plugins/data_views/common/errors/duplicate_index_pattern.ts", + "path": "src/plugins/data_views/common/data_views/data_view.ts", "deprecated": false, "trackAdoption": false, "isRequired": true } ], "returnComment": [] - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-common.KbnFieldType", - "type": "Class", - "tags": [], - "label": "KbnFieldType", - "description": [], - "path": "packages/kbn-field-types/src/kbn_field_type.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-common.KbnFieldType.name", - "type": "string", - "tags": [], - "label": "name", - "description": [], - "path": "packages/kbn-field-types/src/kbn_field_type.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.KbnFieldType.sortable", - "type": "boolean", - "tags": [], - "label": "sortable", - "description": [], - "path": "packages/kbn-field-types/src/kbn_field_type.ts", - "deprecated": false, - "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-common.KbnFieldType.filterable", - "type": "boolean", + "id": "def-common.DataView.getAggregationRestrictions", + "type": "Function", "tags": [], - "label": "filterable", - "description": [], - "path": "packages/kbn-field-types/src/kbn_field_type.ts", + "label": "getAggregationRestrictions", + "description": [ + "\nGet aggregation restrictions. Rollup fields can only perform a subset of aggregations." + ], + "signature": [ + "() => Record | undefined" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", "deprecated": false, - "trackAdoption": false + "trackAdoption": false, + "children": [], + "returnComment": [] }, { "parentPluginId": "data", - "id": "def-common.KbnFieldType.esTypes", - "type": "Object", + "id": "def-common.DataView.getAsSavedObjectBody", + "type": "Function", "tags": [], - "label": "esTypes", - "description": [], + "label": "getAsSavedObjectBody", + "description": [ + "\nReturns index pattern as saved object body for saving" + ], "signature": [ - "readonly ", + "() => ", { - "pluginId": "@kbn/field-types", + "pluginId": "dataViews", "scope": "common", - "docId": "kibKbnFieldTypesPluginApi", - "section": "def-common.ES_FIELD_TYPES", - "text": "ES_FIELD_TYPES" - }, - "[]" + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewAttributes", + "text": "DataViewAttributes" + } ], - "path": "packages/kbn-field-types/src/kbn_field_type.ts", + "path": "src/plugins/data_views/common/data_views/data_view.ts", "deprecated": false, - "trackAdoption": false + "trackAdoption": false, + "children": [], + "returnComment": [] }, { "parentPluginId": "data", - "id": "def-common.KbnFieldType.Unnamed", + "id": "def-common.DataView.getFormatterForField", "type": "Function", "tags": [], - "label": "Constructor", - "description": [], + "label": "getFormatterForField", + "description": [ + "\nProvide a field, get its formatter" + ], "signature": [ - "any" + "(field: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.FieldSpec", + "text": "FieldSpec" + }, + " | ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewField", + "text": "DataViewField" + }, + ") => ", + { + "pluginId": "fieldFormats", + "scope": "common", + "docId": "kibFieldFormatsPluginApi", + "section": "def-common.FieldFormat", + "text": "FieldFormat" + } ], - "path": "packages/kbn-field-types/src/kbn_field_type.ts", + "path": "src/plugins/data_views/common/data_views/data_view.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "data", - "id": "def-common.KbnFieldType.Unnamed.$1", - "type": "Object", + "id": "def-common.DataView.getFormatterForField.$1", + "type": "CompoundType", "tags": [], - "label": "options", - "description": [], + "label": "field", + "description": [ + "field to get formatter for" + ], "signature": [ - "Partial<", { - "pluginId": "@kbn/field-types", + "pluginId": "dataViews", "scope": "common", - "docId": "kibKbnFieldTypesPluginApi", - "section": "def-common.KbnFieldTypeOptions", - "text": "KbnFieldTypeOptions" + "docId": "kibDataViewsPluginApi", + "section": "def-common.FieldSpec", + "text": "FieldSpec" }, - ">" + " | ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewField", + "text": "DataViewField" + } ], - "path": "packages/kbn-field-types/src/kbn_field_type.ts", + "path": "src/plugins/data_views/common/data_views/data_view.ts", "deprecated": false, "trackAdoption": false, "isRequired": true } ], "returnComment": [] - } - ], - "initialIsOpen": false - } - ], - "functions": [ - { - "parentPluginId": "data", - "id": "def-common.cellHasFormulas", - "type": "Function", - "tags": [], - "label": "cellHasFormulas", - "description": [], - "signature": [ - "(val: string) => boolean" - ], - "path": "src/plugins/data/common/exports/formula_checks.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + }, { "parentPluginId": "data", - "id": "def-common.cellHasFormulas.$1", - "type": "string", + "id": "def-common.DataView.addRuntimeField", + "type": "Function", "tags": [], - "label": "val", - "description": [], + "label": "addRuntimeField", + "description": [ + "\nAdd a runtime field - Appended to existing mapped field or a new field is\ncreated as appropriate." + ], "signature": [ - "string" + "(name: string, runtimeField: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.RuntimeField", + "text": "RuntimeField" + }, + ") => ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewField", + "text": "DataViewField" + }, + "[]" ], - "path": "src/plugins/data/common/exports/formula_checks.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-common.createEscapeValue", - "type": "Function", - "tags": [], - "label": "createEscapeValue", - "description": [ - "\nCreate a function that will escape CSV values like \"=\", \"@\" and \"+\" with a\n\"'\". This will also place CSV values in \"\" if contain non-alphanumeric chars.\n\nFor example:\n\nGiven: =1+1\nReturns: \"'=1+1\"\n\nSee OWASP: https://www.owasp.org/index.php/CSV_Injection." - ], - "signature": [ - "({\n separator,\n quoteValues,\n escapeFormulaValues,\n}: { separator: string; quoteValues: boolean; escapeFormulaValues: boolean; }) => (val: RawValue) => string" - ], - "path": "src/plugins/data/common/exports/escape_value.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-common.createEscapeValue.$1", - "type": "Object", - "tags": [], - "label": "{\n separator,\n quoteValues,\n escapeFormulaValues,\n}", - "description": [], - "path": "src/plugins/data/common/exports/escape_value.ts", + "path": "src/plugins/data_views/common/data_views/data_view.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "data", - "id": "def-common.createEscapeValue.$1.separator", + "id": "def-common.DataView.addRuntimeField.$1", "type": "string", "tags": [], - "label": "separator", - "description": [], - "path": "src/plugins/data/common/exports/escape_value.ts", + "label": "name", + "description": [ + "Field name" + ], + "signature": [ + "string" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", "deprecated": false, - "trackAdoption": false + "trackAdoption": false, + "isRequired": true }, { "parentPluginId": "data", - "id": "def-common.createEscapeValue.$1.quoteValues", - "type": "boolean", + "id": "def-common.DataView.addRuntimeField.$2", + "type": "Object", "tags": [], - "label": "quoteValues", - "description": [], - "path": "src/plugins/data/common/exports/escape_value.ts", + "label": "runtimeField", + "description": [ + "Runtime field definition" + ], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.RuntimeField", + "text": "RuntimeField" + } + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", "deprecated": false, - "trackAdoption": false - }, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "data", + "id": "def-common.DataView.hasRuntimeField", + "type": "Function", + "tags": [], + "label": "hasRuntimeField", + "description": [ + "\nChecks if runtime field exists" + ], + "signature": [ + "(name: string) => boolean" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "data", - "id": "def-common.createEscapeValue.$1.escapeFormulaValues", - "type": "boolean", + "id": "def-common.DataView.hasRuntimeField.$1", + "type": "string", "tags": [], - "label": "escapeFormulaValues", - "description": [], - "path": "src/plugins/data/common/exports/escape_value.ts", + "label": "name", + "description": [ + "field name" + ], + "signature": [ + "string" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", "deprecated": false, - "trackAdoption": false + "trackAdoption": false, + "isRequired": true } - ] - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-common.datatableToCSV", - "type": "Function", - "tags": [], - "label": "datatableToCSV", - "description": [], - "signature": [ - "({ columns, rows }: ", + ], + "returnComment": [] + }, { - "pluginId": "expressions", - "scope": "common", - "docId": "kibExpressionsPluginApi", - "section": "def-common.Datatable", - "text": "Datatable" + "parentPluginId": "data", + "id": "def-common.DataView.getRuntimeField", + "type": "Function", + "tags": [], + "label": "getRuntimeField", + "description": [ + "\nReturns runtime field if exists" + ], + "signature": [ + "(name: string) => ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.RuntimeField", + "text": "RuntimeField" + }, + " | null" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.DataView.getRuntimeField.$1", + "type": "string", + "tags": [], + "label": "name", + "description": [ + "Runtime field name" + ], + "signature": [ + "string" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] }, - ", { csvSeparator, quoteValues, formatFactory, raw, escapeFormulaValues }: CSVOptions) => string" - ], - "path": "src/plugins/data/common/exports/export_csv.tsx", - "deprecated": false, - "trackAdoption": false, - "children": [ { "parentPluginId": "data", - "id": "def-common.datatableToCSV.$1", - "type": "Object", + "id": "def-common.DataView.getAllRuntimeFields", + "type": "Function", "tags": [], - "label": "{ columns, rows }", - "description": [], + "label": "getAllRuntimeFields", + "description": [ + "\nGet all runtime field definitions.\nNOTE: this does not strip out runtime fields that match mapped field names" + ], "signature": [ + "() => Record" ], - "path": "src/plugins/data/common/exports/export_csv.tsx", + "path": "src/plugins/data_views/common/data_views/data_view.ts", "deprecated": false, "trackAdoption": false, - "isRequired": true + "children": [], + "returnComment": [ + "map of runtime field definitions by field name" + ] }, { "parentPluginId": "data", - "id": "def-common.datatableToCSV.$2", - "type": "Object", + "id": "def-common.DataView.getFieldsByRuntimeFieldName", + "type": "Function", "tags": [], - "label": "{ csvSeparator, quoteValues, formatFactory, raw, escapeFormulaValues }", - "description": [], + "label": "getFieldsByRuntimeFieldName", + "description": [ + "\nReturns data view fields backed by runtime fields." + ], "signature": [ - "CSVOptions" + "(name: string) => Record | undefined" ], - "path": "src/plugins/data/common/exports/export_csv.tsx", + "path": "src/plugins/data_views/common/data_views/data_view.ts", "deprecated": false, "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-common.fieldList", - "type": "Function", - "tags": [], - "label": "fieldList", - "description": [], - "signature": [ - "(specs?: ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.FieldSpec", - "text": "FieldSpec" + "children": [ + { + "parentPluginId": "data", + "id": "def-common.DataView.getFieldsByRuntimeFieldName.$1", + "type": "string", + "tags": [], + "label": "name", + "description": [ + "runtime field name" + ], + "signature": [ + "string" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [ + "map of DataViewFields (that are runtime fields) by field name" + ] }, - "[], shortDotsEnable?: boolean) => ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.IIndexPatternFieldList", - "text": "IIndexPatternFieldList" - } - ], - "path": "src/plugins/data_views/common/fields/field_list.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ { "parentPluginId": "data", - "id": "def-common.fieldList.$1", - "type": "Array", + "id": "def-common.DataView.replaceAllRuntimeFields", + "type": "Function", "tags": [], - "label": "specs", - "description": [], + "label": "replaceAllRuntimeFields", + "description": [ + "\nReplaces all existing runtime fields with new fields." + ], "signature": [ + "(newFields: Record) => void" ], - "path": "src/plugins/data_views/common/fields/field_list.ts", + "path": "src/plugins/data_views/common/data_views/data_view.ts", "deprecated": false, "trackAdoption": false, - "isRequired": true + "children": [ + { + "parentPluginId": "data", + "id": "def-common.DataView.replaceAllRuntimeFields.$1", + "type": "Object", + "tags": [], + "label": "newFields", + "description": [ + "Map of runtime field definitions by field name" + ], + "signature": [ + "Record" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] }, { "parentPluginId": "data", - "id": "def-common.fieldList.$2", - "type": "boolean", + "id": "def-common.DataView.removeRuntimeField", + "type": "Function", "tags": [], - "label": "shortDotsEnable", - "description": [], + "label": "removeRuntimeField", + "description": [ + "\nRemove a runtime field - removed from mapped field or removed unmapped\nfield as appropriate. Doesn't clear associated field attributes." + ], "signature": [ - "boolean" + "(name: string) => void" ], - "path": "src/plugins/data_views/common/fields/field_list.ts", + "path": "src/plugins/data_views/common/data_views/data_view.ts", "deprecated": false, "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-common.getEsQueryConfig", - "type": "Function", - "tags": [], - "label": "getEsQueryConfig", - "description": [], - "signature": [ - "(config: KibanaConfig) => ", - { - "pluginId": "@kbn/es-query", - "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.EsQueryConfig", - "text": "EsQueryConfig" - } - ], - "path": "src/plugins/data/common/es_query/get_es_query_config.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + "children": [ + { + "parentPluginId": "data", + "id": "def-common.DataView.removeRuntimeField.$1", + "type": "string", + "tags": [], + "label": "name", + "description": [ + "- Field name to remove" + ], + "signature": [ + "string" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, { "parentPluginId": "data", - "id": "def-common.getEsQueryConfig.$1", - "type": "Object", + "id": "def-common.DataView.getRuntimeMappings", + "type": "Function", "tags": [], - "label": "config", - "description": [], + "label": "getRuntimeMappings", + "description": [ + "\nReturn the \"runtime_mappings\" section of the ES search query." + ], "signature": [ - "KibanaConfig" + "() => ", + "MappingRuntimeFields" ], - "path": "src/plugins/data/common/es_query/get_es_query_config.ts", + "path": "src/plugins/data_views/common/data_views/data_view.ts", "deprecated": false, "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-common.getFieldSubtypeMulti", - "type": "Function", - "tags": [], - "label": "getFieldSubtypeMulti", - "description": [], - "signature": [ - "(field: HasSubtype) => ", - { - "pluginId": "@kbn/es-query", - "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.IFieldSubTypeMulti", - "text": "IFieldSubTypeMulti" + "children": [], + "returnComment": [] }, - " | undefined" - ], - "path": "src/plugins/data_views/common/fields/utils.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ { "parentPluginId": "data", - "id": "def-common.getFieldSubtypeMulti.$1", - "type": "Object", + "id": "def-common.DataView.getFormatterForFieldNoDefault", + "type": "Function", "tags": [], - "label": "field", - "description": [], + "label": "getFormatterForFieldNoDefault", + "description": [ + "\nGet formatter for a given field name. Return undefined if none exists." + ], "signature": [ - "{ subType?: ", + "(fieldname: string) => ", { - "pluginId": "@kbn/es-query", + "pluginId": "fieldFormats", "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.IFieldSubType", - "text": "IFieldSubType" + "docId": "kibFieldFormatsPluginApi", + "section": "def-common.FieldFormat", + "text": "FieldFormat" }, - " | undefined; }" + " | undefined" ], - "path": "src/plugins/data_views/common/fields/utils.ts", + "path": "src/plugins/data_views/common/data_views/data_view.ts", "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-common.getFieldSubtypeNested", - "type": "Function", - "tags": [], - "label": "getFieldSubtypeNested", - "description": [], - "signature": [ - "(field: HasSubtype) => ", - { - "pluginId": "@kbn/es-query", - "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.IFieldSubTypeNested", - "text": "IFieldSubTypeNested" + "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.DataView.getFormatterForFieldNoDefault.$1", + "type": "string", + "tags": [], + "label": "fieldname", + "description": [ + "name of field to get formatter for" + ], + "signature": [ + "string" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] }, - " | undefined" - ], - "path": "src/plugins/data_views/common/fields/utils.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ { "parentPluginId": "data", - "id": "def-common.getFieldSubtypeNested.$1", - "type": "Object", + "id": "def-common.DataView.setFieldAttrs", + "type": "Function", "tags": [], - "label": "field", - "description": [], + "label": "setFieldAttrs", + "description": [ + "\nSet field attribute" + ], "signature": [ - "{ subType?: ", + "(fieldName: string, attrName: K, value: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.FieldAttrSet", + "text": "FieldAttrSet" + }, + "[K]) => void" ], - "path": "src/plugins/data_views/common/fields/utils.ts", + "path": "src/plugins/data_views/common/data_views/data_view.ts", "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-common.getIndexPatternLoadMeta", - "type": "Function", - "tags": [], - "label": "getIndexPatternLoadMeta", - "description": [], - "signature": [ - "() => Omit<", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.IndexPatternLoadExpressionFunctionDefinition", - "text": "IndexPatternLoadExpressionFunctionDefinition" + "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.DataView.setFieldAttrs.$1", + "type": "string", + "tags": [], + "label": "fieldName", + "description": [ + "name of field to set attribute on" + ], + "signature": [ + "string" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "data", + "id": "def-common.DataView.setFieldAttrs.$2", + "type": "Uncategorized", + "tags": [], + "label": "attrName", + "description": [ + "name of attribute to set" + ], + "signature": [ + "K" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "data", + "id": "def-common.DataView.setFieldAttrs.$3", + "type": "Uncategorized", + "tags": [], + "label": "value", + "description": [ + "value of attribute" + ], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.FieldAttrSet", + "text": "FieldAttrSet" + }, + "[K]" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] }, - ", \"fn\">" - ], - "path": "src/plugins/data_views/common/expressions/load_index_pattern.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-common.isFilterable", - "type": "Function", - "tags": [], - "label": "isFilterable", - "description": [], - "signature": [ - "(field: ", { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewField", - "text": "DataViewField" + "parentPluginId": "data", + "id": "def-common.DataView.setFieldCustomLabel", + "type": "Function", + "tags": [], + "label": "setFieldCustomLabel", + "description": [ + "\nSet field custom label" + ], + "signature": [ + "(fieldName: string, customLabel: string | null | undefined) => void" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.DataView.setFieldCustomLabel.$1", + "type": "string", + "tags": [], + "label": "fieldName", + "description": [ + "name of field to set custom label on" + ], + "signature": [ + "string" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "data", + "id": "def-common.DataView.setFieldCustomLabel.$2", + "type": "CompoundType", + "tags": [], + "label": "customLabel", + "description": [ + "custom label value. If undefined, custom label is removed" + ], + "signature": [ + "string | null | undefined" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [] }, - ") => boolean" - ], - "path": "src/plugins/data_views/common/fields/utils.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ { "parentPluginId": "data", - "id": "def-common.isFilterable.$1", - "type": "Object", + "id": "def-common.DataView.setFieldCount", + "type": "Function", "tags": [], - "label": "field", - "description": [], + "label": "setFieldCount", + "description": [ + "\nSet field count" + ], "signature": [ - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewField", - "text": "DataViewField" - } + "(fieldName: string, count: number | null | undefined) => void" ], - "path": "src/plugins/data_views/common/fields/utils.ts", + "path": "src/plugins/data_views/common/data_views/data_view.ts", "deprecated": false, "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-common.isMultiField", - "type": "Function", - "tags": [], - "label": "isMultiField", - "description": [], - "signature": [ - "(field: HasSubtype) => boolean" - ], - "path": "src/plugins/data_views/common/fields/utils.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ + "children": [ + { + "parentPluginId": "data", + "id": "def-common.DataView.setFieldCount.$1", + "type": "string", + "tags": [], + "label": "fieldName", + "description": [ + "name of field to set count on" + ], + "signature": [ + "string" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "data", + "id": "def-common.DataView.setFieldCount.$2", + "type": "CompoundType", + "tags": [], + "label": "count", + "description": [ + "count value. If undefined, count is removed" + ], + "signature": [ + "number | null | undefined" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [] + }, { "parentPluginId": "data", - "id": "def-common.isMultiField.$1", - "type": "Object", + "id": "def-common.DataView.setFieldFormat", + "type": "Function", "tags": [], - "label": "field", - "description": [], + "label": "setFieldFormat", + "description": [ + "\nSet field formatter" + ], "signature": [ - "{ subType?: ", + "(fieldName: string, format: ", { - "pluginId": "@kbn/es-query", + "pluginId": "fieldFormats", "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.IFieldSubType", - "text": "IFieldSubType" + "docId": "kibFieldFormatsPluginApi", + "section": "def-common.SerializedFieldFormat", + "text": "SerializedFieldFormat" }, - " | undefined; }" + "<{}, ", + { + "pluginId": "@kbn/utility-types", + "scope": "common", + "docId": "kibKbnUtilityTypesPluginApi", + "section": "def-common.SerializableRecord", + "text": "SerializableRecord" + }, + ">) => void" ], - "path": "src/plugins/data_views/common/fields/utils.ts", + "path": "src/plugins/data_views/common/data_views/data_view.ts", "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-common.isNestedField", - "type": "Function", - "tags": [], - "label": "isNestedField", - "description": [], - "signature": [ - "(field: HasSubtype) => boolean" - ], - "path": "src/plugins/data_views/common/fields/utils.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ + "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.DataView.setFieldFormat.$1", + "type": "string", + "tags": [], + "label": "fieldName", + "description": [ + "name of field to set format on" + ], + "signature": [ + "string" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "data", + "id": "def-common.DataView.setFieldFormat.$2", + "type": "Object", + "tags": [], + "label": "format", + "description": [ + "field format in serialized form" + ], + "signature": [ + { + "pluginId": "fieldFormats", + "scope": "common", + "docId": "kibFieldFormatsPluginApi", + "section": "def-common.SerializedFieldFormat", + "text": "SerializedFieldFormat" + }, + "<{}, ", + { + "pluginId": "@kbn/utility-types", + "scope": "common", + "docId": "kibKbnUtilityTypesPluginApi", + "section": "def-common.SerializableRecord", + "text": "SerializableRecord" + }, + ">" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, { "parentPluginId": "data", - "id": "def-common.isNestedField.$1", - "type": "Object", + "id": "def-common.DataView.deleteFieldFormat", + "type": "Function", "tags": [], - "label": "field", - "description": [], + "label": "deleteFieldFormat", + "description": [ + "\nRemove field format from the field format map." + ], "signature": [ - "{ subType?: ", + "(fieldName: string) => void" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { - "pluginId": "@kbn/es-query", - "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.IFieldSubType", - "text": "IFieldSubType" - }, - " | undefined; }" + "parentPluginId": "data", + "id": "def-common.DataView.deleteFieldFormat.$1", + "type": "string", + "tags": [], + "label": "fieldName", + "description": [ + "field name associated with the format for removal" + ], + "signature": [ + "string" + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } ], - "path": "src/plugins/data_views/common/fields/utils.ts", - "deprecated": false, - "trackAdoption": false + "returnComment": [] } ], "initialIsOpen": false }, { "parentPluginId": "data", - "id": "def-common.tableHasFormulas", - "type": "Function", + "id": "def-common.DataViewField", + "type": "Class", "tags": [], - "label": "tableHasFormulas", - "description": [], + "label": "DataViewField", + "description": [ + "\nData view field class" + ], "signature": [ - "(columns: ", { - "pluginId": "expressions", + "pluginId": "dataViews", "scope": "common", - "docId": "kibExpressionsPluginApi", - "section": "def-common.DatatableColumn", - "text": "DatatableColumn" + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewField", + "text": "DataViewField" }, - "[], rows: ", + " implements ", { - "pluginId": "expressions", + "pluginId": "@kbn/es-query", "scope": "common", - "docId": "kibExpressionsPluginApi", - "section": "def-common.DatatableRow", - "text": "DatatableRow" - }, - "[]) => boolean" + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.DataViewFieldBase", + "text": "DataViewFieldBase" + } ], - "path": "src/plugins/data/common/exports/formula_checks.ts", + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "data", - "id": "def-common.tableHasFormulas.$1", - "type": "Array", + "id": "def-common.DataViewField.spec", + "type": "CompoundType", "tags": [], - "label": "columns", + "label": "spec", "description": [], "signature": [ { - "pluginId": "expressions", + "pluginId": "@kbn/es-query", "scope": "common", - "docId": "kibExpressionsPluginApi", - "section": "def-common.DatatableColumn", - "text": "DatatableColumn" + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.DataViewFieldBase", + "text": "DataViewFieldBase" }, - "[]" + " & { count?: number | undefined; conflictDescriptions?: Record | undefined; format?: ", + { + "pluginId": "fieldFormats", + "scope": "common", + "docId": "kibFieldFormatsPluginApi", + "section": "def-common.SerializedFieldFormat", + "text": "SerializedFieldFormat" + }, + "<{}, ", + { + "pluginId": "@kbn/utility-types", + "scope": "common", + "docId": "kibKbnUtilityTypesPluginApi", + "section": "def-common.SerializableRecord", + "text": "SerializableRecord" + }, + "> | undefined; esTypes?: string[] | undefined; searchable: boolean; aggregatable: boolean; readFromDocValues?: boolean | undefined; indexed?: boolean | undefined; customLabel?: string | undefined; runtimeField?: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.RuntimeFieldSpec", + "text": "RuntimeFieldSpec" + }, + " | undefined; fixedInterval?: string[] | undefined; timeZone?: string[] | undefined; timeSeriesDimension?: boolean | undefined; timeSeriesMetric?: \"histogram\" | \"summary\" | \"gauge\" | \"counter\" | undefined; shortDotsEnable?: boolean | undefined; isMapped?: boolean | undefined; parentName?: string | undefined; }" ], - "path": "src/plugins/data/common/exports/formula_checks.ts", + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, - "trackAdoption": false, - "isRequired": true + "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-common.tableHasFormulas.$2", - "type": "Array", - "tags": [], - "label": "rows", - "description": [], + "id": "def-common.DataViewField.Unnamed", + "type": "Function", + "tags": [ + "constructor" + ], + "label": "Constructor", + "description": [ + "\nDataView constructor" + ], "signature": [ - { - "pluginId": "expressions", - "scope": "common", - "docId": "kibExpressionsPluginApi", - "section": "def-common.DatatableRow", - "text": "DatatableRow" - }, - "[]" + "any" ], - "path": "src/plugins/data/common/exports/formula_checks.ts", + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - } - ], - "interfaces": [ - { - "parentPluginId": "data", - "id": "def-common.DataViewAttributes", - "type": "Interface", - "tags": [], - "label": "DataViewAttributes", - "description": [ - "\nInterface for the data view saved object" - ], - "path": "src/plugins/data_views/common/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + "children": [ + { + "parentPluginId": "data", + "id": "def-common.DataViewField.Unnamed.$1", + "type": "CompoundType", + "tags": [], + "label": "spec", + "description": [ + "Configuration for the field" + ], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.FieldSpec", + "text": "FieldSpec" + } + ], + "path": "src/plugins/data_views/common/fields/data_view_field.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, { "parentPluginId": "data", - "id": "def-common.DataViewAttributes.fields", - "type": "string", + "id": "def-common.DataViewField.count", + "type": "number", "tags": [], - "label": "fields", + "label": "count", "description": [ - "\nFields as a serialized array of field specs" + "\nCount is used for field popularity in discover." ], - "path": "src/plugins/data_views/common/types.ts", + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-common.DataViewAttributes.title", - "type": "string", + "id": "def-common.DataViewField.count", + "type": "number", "tags": [], - "label": "title", + "label": "count", "description": [ - "\nData view title" + "\nSet count, which is used for field popularity in discover." ], - "path": "src/plugins/data_views/common/types.ts", + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-common.DataViewAttributes.type", + "id": "def-common.DataViewField.runtimeField", + "type": "CompoundType", + "tags": [], + "label": "runtimeField", + "description": [ + "\nReturns runtime field definition or undefined if field is not runtime field." + ], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.RuntimeFieldSpec", + "text": "RuntimeFieldSpec" + }, + " | undefined" + ], + "path": "src/plugins/data_views/common/fields/data_view_field.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "data", + "id": "def-common.DataViewField.runtimeField", + "type": "CompoundType", + "tags": [], + "label": "runtimeField", + "description": [ + "\nSets runtime field definition or unsets if undefined is provided." + ], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.RuntimeFieldSpec", + "text": "RuntimeFieldSpec" + }, + " | undefined" + ], + "path": "src/plugins/data_views/common/fields/data_view_field.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "data", + "id": "def-common.DataViewField.script", "type": "string", "tags": [], - "label": "type", + "label": "script", "description": [ - "\nData view type, default or rollup" + "\nScript field code" ], "signature": [ "string | undefined" ], - "path": "src/plugins/data_views/common/types.ts", + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-common.DataViewAttributes.typeMeta", + "id": "def-common.DataViewField.script", "type": "string", "tags": [], - "label": "typeMeta", + "label": "script", "description": [ - "\nType metadata information, serialized. Only used by rollup data views." + "\nSets scripted field painless code" ], "signature": [ "string | undefined" ], - "path": "src/plugins/data_views/common/types.ts", + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-common.DataViewAttributes.timeFieldName", + "id": "def-common.DataViewField.lang", "type": "string", "tags": [], - "label": "timeFieldName", + "label": "lang", "description": [ - "\nTime field name" + "\nScript field language" ], "signature": [ "string | undefined" ], - "path": "src/plugins/data_views/common/types.ts", + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-common.DataViewAttributes.sourceFilters", + "id": "def-common.DataViewField.lang", "type": "string", "tags": [], - "label": "sourceFilters", + "label": "lang", "description": [ - "\nSerialized array of filters. Used by discover to hide fields." + "\nSets scripted field langauge." ], "signature": [ "string | undefined" ], - "path": "src/plugins/data_views/common/types.ts", + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-common.DataViewAttributes.fieldFormatMap", + "id": "def-common.DataViewField.customLabel", "type": "string", "tags": [], - "label": "fieldFormatMap", + "label": "customLabel", "description": [ - "\nSerialized map of field formats by field name" + "\nReturns custom label if set, otherwise undefined." ], "signature": [ "string | undefined" ], - "path": "src/plugins/data_views/common/types.ts", + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-common.DataViewAttributes.fieldAttrs", + "id": "def-common.DataViewField.customLabel", "type": "string", "tags": [], - "label": "fieldAttrs", + "label": "customLabel", "description": [ - "\nSerialized map of field attributes, currently field count and name" + "\nSets custom label for field, or unsets if passed undefined." ], "signature": [ "string | undefined" ], - "path": "src/plugins/data_views/common/types.ts", + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-common.DataViewAttributes.runtimeFieldMap", - "type": "string", + "id": "def-common.DataViewField.conflictDescriptions", + "type": "Object", "tags": [], - "label": "runtimeFieldMap", + "label": "conflictDescriptions", "description": [ - "\nSerialized map of runtime field definitions, by field name" + "\nDescription of field type conflicts across different indices in the same index pattern." ], "signature": [ - "string | undefined" + "Record | undefined" ], - "path": "src/plugins/data_views/common/types.ts", + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-common.DataViewAttributes.allowNoIndex", - "type": "CompoundType", + "id": "def-common.DataViewField.conflictDescriptions", + "type": "Object", "tags": [], - "label": "allowNoIndex", + "label": "conflictDescriptions", "description": [ - "\nPrevents errors when index pattern exists before indices" + "\nSets conflict descriptions for field." ], "signature": [ - "boolean | undefined" + "Record | undefined" ], - "path": "src/plugins/data_views/common/types.ts", + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-common.DataViewAttributes.name", + "id": "def-common.DataViewField.name", "type": "string", "tags": [], "label": "name", "description": [ - "\nName of the data view. Human readable name used to differentiate data view." + "\nGet field name" ], - "signature": [ - "string | undefined" + "path": "src/plugins/data_views/common/fields/data_view_field.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "data", + "id": "def-common.DataViewField.displayName", + "type": "string", + "tags": [], + "label": "displayName", + "description": [ + "\nGets display name, calcualted based on name, custom label and shortDotsEnable." ], - "path": "src/plugins/data_views/common/types.ts", + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewListItem", - "type": "Interface", - "tags": [], - "label": "DataViewListItem", - "description": [ - "\nResult from data view search - summary data." - ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + }, { "parentPluginId": "data", - "id": "def-common.DataViewListItem.id", + "id": "def-common.DataViewField.type", "type": "string", "tags": [], - "label": "id", + "label": "type", "description": [ - "\nSaved object id (or generated id if in-memory only)" + "\nGets field type" ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-common.DataViewListItem.namespaces", + "id": "def-common.DataViewField.esTypes", "type": "Array", "tags": [], - "label": "namespaces", + "label": "esTypes", "description": [ - "\nNamespace ids" + "\nGets ES types as string array" ], "signature": [ "string[] | undefined" ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-common.DataViewListItem.title", - "type": "string", + "id": "def-common.DataViewField.scripted", + "type": "boolean", "tags": [], - "label": "title", + "label": "scripted", "description": [ - "\nData view title" + "\nReturns true if scripted field" ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-common.DataViewListItem.type", - "type": "string", + "id": "def-common.DataViewField.searchable", + "type": "boolean", "tags": [], - "label": "type", + "label": "searchable", "description": [ - "\nData view type" - ], - "signature": [ - "string | undefined" + "\nReturns true if field is searchable" ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-common.DataViewListItem.typeMeta", - "type": "Object", + "id": "def-common.DataViewField.aggregatable", + "type": "boolean", "tags": [], - "label": "typeMeta", + "label": "aggregatable", "description": [ - "\nData view type meta" - ], - "signature": [ - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.TypeMeta", - "text": "TypeMeta" - }, - " | undefined" + "\nReturns true if field is aggregatable" ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-common.DataViewListItem.name", - "type": "string", + "id": "def-common.DataViewField.timeSeriesDimension", + "type": "boolean", "tags": [], - "label": "name", - "description": [], - "signature": [ - "string | undefined" + "label": "timeSeriesDimension", + "description": [ + "\nreturns true if field is a TSDB dimension field" ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-common.GetFieldsOptions", - "type": "Interface", - "tags": [], - "label": "GetFieldsOptions", - "description": [], - "path": "src/plugins/data_views/common/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + }, { "parentPluginId": "data", - "id": "def-common.GetFieldsOptions.pattern", - "type": "string", + "id": "def-common.DataViewField.timeSeriesMetric", + "type": "CompoundType", "tags": [], - "label": "pattern", - "description": [], - "path": "src/plugins/data_views/common/types.ts", + "label": "timeSeriesMetric", + "description": [ + "\nreturns type of TSDB metric or undefined" + ], + "signature": [ + "\"histogram\" | \"summary\" | \"gauge\" | \"counter\" | undefined" + ], + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-common.GetFieldsOptions.type", - "type": "string", + "id": "def-common.DataViewField.fixedInterval", + "type": "Array", "tags": [], - "label": "type", - "description": [], + "label": "fixedInterval", + "description": [ + "\nreturns list of alloeed fixed intervals" + ], "signature": [ - "string | undefined" + "string[] | undefined" ], - "path": "src/plugins/data_views/common/types.ts", + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-common.GetFieldsOptions.lookBack", + "id": "def-common.DataViewField.isRolledUpField", "type": "CompoundType", "tags": [], - "label": "lookBack", - "description": [], + "label": "isRolledUpField", + "description": [ + "\nreturns true if the field is of rolled up type" + ], "signature": [ "boolean | undefined" ], - "path": "src/plugins/data_views/common/types.ts", + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-common.GetFieldsOptions.metaFields", + "id": "def-common.DataViewField.timeZone", "type": "Array", "tags": [], - "label": "metaFields", - "description": [], + "label": "timeZone", + "description": [ + "\nreturn list of allowed time zones" + ], "signature": [ "string[] | undefined" ], - "path": "src/plugins/data_views/common/types.ts", + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-common.GetFieldsOptions.rollupIndex", - "type": "string", + "id": "def-common.DataViewField.readFromDocValues", + "type": "boolean", "tags": [], - "label": "rollupIndex", - "description": [], + "label": "readFromDocValues", + "description": [ + "\nReturns true if field is available via doc values" + ], + "path": "src/plugins/data_views/common/fields/data_view_field.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "data", + "id": "def-common.DataViewField.subType", + "type": "CompoundType", + "tags": [], + "label": "subType", + "description": [ + "\nReturns field subtype, multi, nested, or undefined if neither" + ], "signature": [ - "string | undefined" + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.IFieldSubType", + "text": "IFieldSubType" + }, + " | undefined" ], - "path": "src/plugins/data_views/common/types.ts", + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-common.GetFieldsOptions.allowNoIndex", + "id": "def-common.DataViewField.isMapped", "type": "CompoundType", "tags": [], - "label": "allowNoIndex", - "description": [], + "label": "isMapped", + "description": [ + "\nIs the field part of the index mapping?" + ], "signature": [ "boolean | undefined" ], - "path": "src/plugins/data_views/common/types.ts", + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-common.GetFieldsOptions.indexFilter", - "type": "Object", + "id": "def-common.DataViewField.isRuntimeField", + "type": "boolean", "tags": [], - "label": "indexFilter", - "description": [], - "signature": [ - "QueryDslQueryContainer", - " | undefined" + "label": "isRuntimeField", + "description": [ + "\nReturns true if runtime field defined on data view" ], - "path": "src/plugins/data_views/common/types.ts", + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-common.GetFieldsOptions.includeUnmapped", - "type": "CompoundType", + "id": "def-common.DataViewField.sortable", + "type": "boolean", "tags": [], - "label": "includeUnmapped", - "description": [], - "signature": [ - "boolean | undefined" + "label": "sortable", + "description": [ + "\nReturns true if field is sortable" ], - "path": "src/plugins/data_views/common/types.ts", + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-common.GetFieldsOptions.fields", - "type": "Array", + "id": "def-common.DataViewField.filterable", + "type": "boolean", "tags": [], - "label": "fields", - "description": [], - "signature": [ - "string[] | undefined" + "label": "filterable", + "description": [ + "\nReturns true if field is filterable" ], - "path": "src/plugins/data_views/common/types.ts", + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-common.IDataViewsApiClient", - "type": "Interface", - "tags": [], - "label": "IDataViewsApiClient", - "description": [], - "path": "src/plugins/data_views/common/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + }, { "parentPluginId": "data", - "id": "def-common.IDataViewsApiClient.getFieldsForWildcard", - "type": "Function", + "id": "def-common.DataViewField.visualizable", + "type": "boolean", "tags": [], - "label": "getFieldsForWildcard", - "description": [], - "signature": [ - "(options: ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.GetFieldsOptions", - "text": "GetFieldsOptions" - }, - ") => Promise<", - "FieldsForWildcardResponse", - ">" + "label": "visualizable", + "description": [ + "\nReturns true if field is visualizable" ], - "path": "src/plugins/data_views/common/types.ts", + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-common.IDataViewsApiClient.getFieldsForWildcard.$1", - "type": "Object", - "tags": [], - "label": "options", - "description": [], - "signature": [ - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.GetFieldsOptions", - "text": "GetFieldsOptions" - } - ], - "path": "src/plugins/data_views/common/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] + "trackAdoption": false }, { "parentPluginId": "data", - "id": "def-common.IDataViewsApiClient.hasUserDataView", + "id": "def-common.DataViewField.isSubtypeNested", "type": "Function", "tags": [], - "label": "hasUserDataView", - "description": [], + "label": "isSubtypeNested", + "description": [ + "\nReturns true if field is subtype nested" + ], "signature": [ - "() => Promise" + "() => boolean" ], - "path": "src/plugins/data_views/common/types.ts", + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, "trackAdoption": false, "children": [], "returnComment": [] - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-common.IndexPatternExpressionType", - "type": "Interface", - "tags": [], - "label": "IndexPatternExpressionType", - "description": [ - "\nIndex pattern expression interface" - ], - "path": "src/plugins/data_views/common/expressions/load_index_pattern.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + }, { "parentPluginId": "data", - "id": "def-common.IndexPatternExpressionType.type", - "type": "string", + "id": "def-common.DataViewField.isSubtypeMulti", + "type": "Function", "tags": [], - "label": "type", + "label": "isSubtypeMulti", "description": [ - "\nExpression type" + "\nReturns true if field is subtype multi" ], "signature": [ - "\"index_pattern\"" + "() => boolean" ], - "path": "src/plugins/data_views/common/expressions/load_index_pattern.ts", + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, - "trackAdoption": false + "trackAdoption": false, + "children": [], + "returnComment": [] }, { "parentPluginId": "data", - "id": "def-common.IndexPatternExpressionType.value", - "type": "Object", + "id": "def-common.DataViewField.getSubtypeNested", + "type": "Function", "tags": [], - "label": "value", + "label": "getSubtypeNested", "description": [ - "\nValue - DataViewSpec" + "\nReturns subtype nested data if exists" ], "signature": [ - "{ id?: string | undefined; version?: string | undefined; title?: string | undefined; timeFieldName?: string | undefined; sourceFilters?: ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.SourceFilter", - "text": "SourceFilter" - }, - "[] | undefined; fields?: ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewFieldMap", - "text": "DataViewFieldMap" - }, - " | undefined; typeMeta?: ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.TypeMeta", - "text": "TypeMeta" - }, - " | undefined; type?: string | undefined; fieldFormats?: Record> | undefined; runtimeFieldMap?: Record | undefined; fieldAttrs?: ", + "() => ", { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.FieldAttrs", - "text": "FieldAttrs" - }, - " | undefined; allowNoIndex?: boolean | undefined; namespaces?: string[] | undefined; name?: string | undefined; }" - ], - "path": "src/plugins/data_views/common/expressions/load_index_pattern.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-common.KbnFieldTypeOptions", - "type": "Interface", - "tags": [], - "label": "KbnFieldTypeOptions", - "description": [], - "path": "packages/kbn-field-types/src/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-common.KbnFieldTypeOptions.sortable", - "type": "boolean", - "tags": [], - "label": "sortable", - "description": [], - "path": "packages/kbn-field-types/src/types.ts", + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.IFieldSubTypeNested", + "text": "IFieldSubTypeNested" + }, + " | undefined" + ], + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, - "trackAdoption": false + "trackAdoption": false, + "children": [], + "returnComment": [] }, { "parentPluginId": "data", - "id": "def-common.KbnFieldTypeOptions.filterable", - "type": "boolean", + "id": "def-common.DataViewField.getSubtypeMulti", + "type": "Function", "tags": [], - "label": "filterable", - "description": [], - "path": "packages/kbn-field-types/src/types.ts", + "label": "getSubtypeMulti", + "description": [ + "\nReturns subtype multi data if exists" + ], + "signature": [ + "() => ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.IFieldSubTypeMulti", + "text": "IFieldSubTypeMulti" + }, + " | undefined" + ], + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, - "trackAdoption": false + "trackAdoption": false, + "children": [], + "returnComment": [] }, { "parentPluginId": "data", - "id": "def-common.KbnFieldTypeOptions.name", - "type": "string", + "id": "def-common.DataViewField.deleteCount", + "type": "Function", "tags": [], - "label": "name", - "description": [], - "path": "packages/kbn-field-types/src/types.ts", + "label": "deleteCount", + "description": [ + "\nDeletes count value. Popularity as used by discover" + ], + "signature": [ + "() => void" + ], + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, - "trackAdoption": false + "trackAdoption": false, + "children": [], + "returnComment": [] }, { "parentPluginId": "data", - "id": "def-common.KbnFieldTypeOptions.esTypes", - "type": "Array", + "id": "def-common.DataViewField.toJSON", + "type": "Function", "tags": [], - "label": "esTypes", - "description": [], + "label": "toJSON", + "description": [ + "\nJSON version of field" + ], "signature": [ + "() => { count: number; script: string | undefined; lang: string | undefined; conflictDescriptions: Record | undefined; name: string; type: string; esTypes: string[] | undefined; scripted: boolean; searchable: boolean; aggregatable: boolean; readFromDocValues: boolean; subType: ", { - "pluginId": "@kbn/field-types", + "pluginId": "@kbn/es-query", "scope": "common", - "docId": "kibKbnFieldTypesPluginApi", - "section": "def-common.ES_FIELD_TYPES", - "text": "ES_FIELD_TYPES" + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.IFieldSubType", + "text": "IFieldSubType" }, - "[]" + " | undefined; customLabel: string | undefined; }" ], - "path": "packages/kbn-field-types/src/types.ts", + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-common.UiSettingsCommon", - "type": "Interface", - "tags": [], - "label": "UiSettingsCommon", - "description": [ - "\nInterface for UiSettings common interface {@link UiSettingsClient}" - ], - "path": "src/plugins/data_views/common/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + "trackAdoption": false, + "children": [], + "returnComment": [] + }, { "parentPluginId": "data", - "id": "def-common.UiSettingsCommon.get", + "id": "def-common.DataViewField.toSpec", "type": "Function", "tags": [], - "label": "get", + "label": "toSpec", "description": [ - "\nGet a setting value" + "\nGet field in serialized form - fieldspec." ], "signature": [ - "(key: string) => Promise" + "(config?: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.ToSpecConfig", + "text": "ToSpecConfig" + }, + ") => ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.FieldSpec", + "text": "FieldSpec" + } ], - "path": "src/plugins/data_views/common/types.ts", + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "data", - "id": "def-common.UiSettingsCommon.get.$1", - "type": "string", + "id": "def-common.DataViewField.toSpec.$1", + "type": "Object", "tags": [], - "label": "key", + "label": "config", "description": [ - "name of value" + "provide a method to get a field formatter" ], "signature": [ - "string" + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.ToSpecConfig", + "text": "ToSpecConfig" + } ], - "path": "src/plugins/data_views/common/types.ts", + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, "trackAdoption": false, "isRequired": true } ], - "returnComment": [] + "returnComment": [ + "field in serialized form - field spec" + ] }, { "parentPluginId": "data", - "id": "def-common.UiSettingsCommon.getAll", + "id": "def-common.DataViewField.isRuntimeCompositeSubField", "type": "Function", "tags": [], - "label": "getAll", + "label": "isRuntimeCompositeSubField", "description": [ - "\nGet all settings values" + "\nReturns true if composite runtime field" ], "signature": [ - "() => Promise>" + "() => boolean" ], - "path": "src/plugins/data_views/common/types.ts", + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, "trackAdoption": false, "children": [], "returnComment": [] + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-common.DataViewSavedObjectConflictError", + "type": "Class", + "tags": [], + "label": "DataViewSavedObjectConflictError", + "description": [ + "\nError thrown when saved object has been changed when attempting to save." + ], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewSavedObjectConflictError", + "text": "DataViewSavedObjectConflictError" }, + " extends Error" + ], + "path": "src/plugins/data_views/common/errors/data_view_saved_object_conflict.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "data", - "id": "def-common.UiSettingsCommon.set", + "id": "def-common.DataViewSavedObjectConflictError.Unnamed", "type": "Function", "tags": [], - "label": "set", + "label": "Constructor", "description": [ - "\nSet a setting value" + "\nconstructor" ], "signature": [ - "(key: string, value: T) => Promise" + "any" ], - "path": "src/plugins/data_views/common/types.ts", + "path": "src/plugins/data_views/common/errors/data_view_saved_object_conflict.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "data", - "id": "def-common.UiSettingsCommon.set.$1", + "id": "def-common.DataViewSavedObjectConflictError.Unnamed.$1", "type": "string", "tags": [], - "label": "key", + "label": "savedObjectId", "description": [ - "name of value" + "saved object id with conflict" ], "signature": [ "string" ], - "path": "src/plugins/data_views/common/types.ts", + "path": "src/plugins/data_views/common/errors/data_view_saved_object_conflict.ts", "deprecated": false, "trackAdoption": false, "isRequired": true - }, + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-common.DataViewsService", + "type": "Class", + "tags": [], + "label": "DataViewsService", + "description": [ + "\nData views service, providing CRUD operations for data views." + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.getCanSave", + "type": "Function", + "tags": [], + "label": "getCanSave", + "description": [ + "\nCan the user save data views?" + ], + "signature": [ + "() => Promise" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [] + }, + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.Unnamed", + "type": "Function", + "tags": [], + "label": "Constructor", + "description": [ + "\nDataViewsService constructor" + ], + "signature": [ + "any" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "data", - "id": "def-common.UiSettingsCommon.set.$2", - "type": "Uncategorized", + "id": "def-common.DataViewsService.Unnamed.$1", + "type": "Object", "tags": [], - "label": "value", + "label": "deps", "description": [ - "value to set" + "Service dependencies" ], "signature": [ - "T" + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewsServiceDeps", + "text": "DataViewsServiceDeps" + } ], - "path": "src/plugins/data_views/common/types.ts", + "path": "src/plugins/data_views/common/data_views/data_views.ts", "deprecated": false, "trackAdoption": false, "isRequired": true @@ -27523,643 +24290,1869 @@ }, { "parentPluginId": "data", - "id": "def-common.UiSettingsCommon.remove", + "id": "def-common.DataViewsService.getIds", "type": "Function", "tags": [], - "label": "remove", + "label": "getIds", "description": [ - "\nRemove a setting value" + "\nGets list of index pattern ids." ], "signature": [ - "(key: string) => Promise" + "(refresh?: boolean) => Promise" ], - "path": "src/plugins/data_views/common/types.ts", + "path": "src/plugins/data_views/common/data_views/data_views.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "data", - "id": "def-common.UiSettingsCommon.remove.$1", - "type": "string", + "id": "def-common.DataViewsService.getIds.$1", + "type": "boolean", "tags": [], - "label": "key", + "label": "refresh", "description": [ - "name of value" + "Force refresh of index pattern list" ], "signature": [ - "string" + "boolean" ], - "path": "src/plugins/data_views/common/types.ts", + "path": "src/plugins/data_views/common/data_views/data_views.ts", "deprecated": false, "trackAdoption": false, "isRequired": true } ], "returnComment": [] - } - ], - "initialIsOpen": false - } - ], - "enums": [ - { - "parentPluginId": "data", - "id": "def-common.DataViewType", - "type": "Enum", - "tags": [], - "label": "DataViewType", - "description": [ - "\nData View type. Default or rollup" - ], - "path": "src/plugins/data_views/common/types.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-common.ES_FIELD_TYPES", - "type": "Enum", - "tags": [], - "label": "ES_FIELD_TYPES", - "description": [], - "path": "packages/kbn-field-types/src/types.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-common.KBN_FIELD_TYPES", - "type": "Enum", - "tags": [], - "label": "KBN_FIELD_TYPES", - "description": [], - "path": "packages/kbn-field-types/src/types.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - } - ], - "misc": [ - { - "parentPluginId": "data", - "id": "def-common.AggregationRestrictions", - "type": "Type", - "tags": [], - "label": "AggregationRestrictions", - "description": [], - "signature": [ - "{ [x: string]: { agg?: string | undefined; interval?: number | undefined; fixed_interval?: string | undefined; calendar_interval?: string | undefined; delay?: string | undefined; time_zone?: string | undefined; }; }" - ], - "path": "src/plugins/data_views/common/types.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-common.CSV_FORMULA_CHARS", - "type": "Array", - "tags": [], - "label": "CSV_FORMULA_CHARS", - "description": [], - "signature": [ - "string[]" - ], - "path": "src/plugins/data/common/exports/constants.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-common.CSV_MIME_TYPE", - "type": "string", - "tags": [], - "label": "CSV_MIME_TYPE", - "description": [], - "signature": [ - "\"text/plain;charset=utf-8\"" - ], - "path": "src/plugins/data/common/exports/export_csv.tsx", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-common.DATA_VIEW_SAVED_OBJECT_TYPE", - "type": "string", - "tags": [], - "label": "DATA_VIEW_SAVED_OBJECT_TYPE", - "description": [ - "\nData view saved object type." - ], - "signature": [ - "\"index-pattern\"" - ], - "path": "src/plugins/data_views/common/constants.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewFieldMap", - "type": "Type", - "tags": [], - "label": "DataViewFieldMap", - "description": [], - "signature": [ - "{ [x: string]: ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.FieldSpec", - "text": "FieldSpec" - }, - "; }" - ], - "path": "src/plugins/data_views/common/types.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-common.DataViewsContract", - "type": "Type", - "tags": [], - "label": "DataViewsContract", - "description": [ - "\nData views service interface" - ], - "signature": [ - "{ create: (spec: ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewSpec", - "text": "DataViewSpec" - }, - ", skipFetchFields?: boolean, displayErrors?: boolean) => Promise<", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" - }, - ">; get: (id: string, displayErrors?: boolean, refreshFields?: boolean) => Promise<", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" - }, - ">; delete: (indexPatternId: string) => Promise<{}>; find: (search: string, size?: number) => Promise<", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" - }, - "[]>; getCanSave: () => Promise; getIds: (refresh?: boolean) => Promise; getTitles: (refresh?: boolean) => Promise; getIdsWithTitle: (refresh?: boolean) => Promise<", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewListItem", - "text": "DataViewListItem" - }, - "[]>; clearCache: () => void; clearInstanceCache: (id?: string | undefined) => void; getCache: () => Promise<", - { - "pluginId": "@kbn/core-saved-objects-common", - "scope": "common", - "docId": "kibKbnCoreSavedObjectsCommonPluginApi", - "section": "def-common.SavedObject", - "text": "SavedObject" }, - "<", { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewSavedObjectAttrs", - "text": "DataViewSavedObjectAttrs" + "parentPluginId": "data", + "id": "def-common.DataViewsService.getTitles", + "type": "Function", + "tags": [], + "label": "getTitles", + "description": [ + "\nGets list of index pattern titles." + ], + "signature": [ + "(refresh?: boolean) => Promise" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.getTitles.$1", + "type": "boolean", + "tags": [], + "label": "refresh", + "description": [ + "Force refresh of index pattern list" + ], + "signature": [ + "boolean" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] }, - ">[] | null | undefined>; getDefault: (displayErrors?: boolean) => Promise<", { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" + "parentPluginId": "data", + "id": "def-common.DataViewsService.find", + "type": "Function", + "tags": [], + "label": "find", + "description": [ + "\nFind and load index patterns by title." + ], + "signature": [ + "(search: string, size?: number) => Promise<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + "[]>" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.find.$1", + "type": "string", + "tags": [], + "label": "search", + "description": [ + "Search string" + ], + "signature": [ + "string" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.find.$2", + "type": "number", + "tags": [], + "label": "size", + "description": [ + "Number of data views to return" + ], + "signature": [ + "number" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [ + "DataView[]" + ] }, - " | null>; getDefaultId: () => Promise; setDefault: (id: string | null, force?: boolean) => Promise; hasUserDataView: () => Promise; getFieldsForWildcard: (options: ", { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.GetFieldsOptions", - "text": "GetFieldsOptions" + "parentPluginId": "data", + "id": "def-common.DataViewsService.getIdsWithTitle", + "type": "Function", + "tags": [], + "label": "getIdsWithTitle", + "description": [ + "\nGets list of index pattern ids with titles." + ], + "signature": [ + "(refresh?: boolean) => Promise<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewListItem", + "text": "DataViewListItem" + }, + "[]>" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.getIdsWithTitle.$1", + "type": "boolean", + "tags": [], + "label": "refresh", + "description": [ + "Force refresh of index pattern list" + ], + "signature": [ + "boolean" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] }, - ") => Promise<", { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.FieldSpec", - "text": "FieldSpec" + "parentPluginId": "data", + "id": "def-common.DataViewsService.clearCache", + "type": "Function", + "tags": [], + "label": "clearCache", + "description": [ + "\nClear index pattern saved objects cache." + ], + "signature": [ + "() => void" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] }, - "[]>; getFieldsForIndexPattern: (indexPattern: ", { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" + "parentPluginId": "data", + "id": "def-common.DataViewsService.clearInstanceCache", + "type": "Function", + "tags": [], + "label": "clearInstanceCache", + "description": [ + "\nClear index pattern instance cache" + ], + "signature": [ + "(id?: string | undefined) => void" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.clearInstanceCache.$1", + "type": "string", + "tags": [], + "label": "id", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [] }, - " | ", { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewSpec", - "text": "DataViewSpec" + "parentPluginId": "data", + "id": "def-common.DataViewsService.getCache", + "type": "Function", + "tags": [], + "label": "getCache", + "description": [ + "\nGet cache, contains data view saved objects." + ], + "signature": [ + "() => Promise<", + { + "pluginId": "@kbn/core-saved-objects-common", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObject", + "text": "SavedObject" + }, + "<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewSavedObjectAttrs", + "text": "DataViewSavedObjectAttrs" + }, + ">[] | null | undefined>" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] }, - ", options?: Omit<", { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.GetFieldsOptions", - "text": "GetFieldsOptions" + "parentPluginId": "data", + "id": "def-common.DataViewsService.getDefault", + "type": "Function", + "tags": [], + "label": "getDefault", + "description": [ + "\nGet default index pattern" + ], + "signature": [ + "(displayErrors?: boolean) => Promise<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + " | null>" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.getDefault.$1", + "type": "boolean", + "tags": [], + "label": "displayErrors", + "description": [ + "- If set false, API consumer is responsible for displaying and handling errors." + ], + "signature": [ + "boolean" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] }, - ", \"allowNoIndex\"> | undefined) => Promise<", { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.FieldSpec", - "text": "FieldSpec" + "parentPluginId": "data", + "id": "def-common.DataViewsService.getDefaultId", + "type": "Function", + "tags": [], + "label": "getDefaultId", + "description": [ + "\nGet default index pattern id" + ], + "signature": [ + "() => Promise" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] }, - "[]>; refreshFields: (dataView: ", { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" + "parentPluginId": "data", + "id": "def-common.DataViewsService.setDefault", + "type": "Function", + "tags": [], + "label": "setDefault", + "description": [ + "\nOptionally set default index pattern, unless force = true" + ], + "signature": [ + "(id: string | null, force?: boolean) => Promise" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.setDefault.$1", + "type": "CompoundType", + "tags": [], + "label": "id", + "description": [ + "data view id" + ], + "signature": [ + "string | null" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + }, + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.setDefault.$2", + "type": "boolean", + "tags": [], + "label": "force", + "description": [ + "set default data view even if there's an existing default" + ], + "signature": [ + "boolean" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] }, - ", displayErrors?: boolean) => Promise; fieldArrayToMap: (fields: ", { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.FieldSpec", - "text": "FieldSpec" + "parentPluginId": "data", + "id": "def-common.DataViewsService.hasUserDataView", + "type": "Function", + "tags": [], + "label": "hasUserDataView", + "description": [ + "\nChecks if current user has a user created index pattern ignoring fleet's server default index patterns." + ], + "signature": [ + "() => Promise" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] }, - "[], fieldAttrs?: ", { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.FieldAttrs", - "text": "FieldAttrs" + "parentPluginId": "data", + "id": "def-common.DataViewsService.getFieldsForWildcard", + "type": "Function", + "tags": [], + "label": "getFieldsForWildcard", + "description": [ + "\nGet field list by providing { pattern }." + ], + "signature": [ + "(options: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.GetFieldsOptions", + "text": "GetFieldsOptions" + }, + ") => Promise<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.FieldSpec", + "text": "FieldSpec" + }, + "[]>" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.getFieldsForWildcard.$1", + "type": "Object", + "tags": [], + "label": "options", + "description": [ + "options for getting field list" + ], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.GetFieldsOptions", + "text": "GetFieldsOptions" + } + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [ + "FieldSpec[]" + ] }, - " | undefined) => ", { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewFieldMap", - "text": "DataViewFieldMap" + "parentPluginId": "data", + "id": "def-common.DataViewsService.getFieldsForIndexPattern", + "type": "Function", + "tags": [], + "label": "getFieldsForIndexPattern", + "description": [ + "\nGet field list by providing an index patttern (or spec)." + ], + "signature": [ + "(indexPattern: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + " | ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewSpec", + "text": "DataViewSpec" + }, + ", options?: Omit<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.GetFieldsOptions", + "text": "GetFieldsOptions" + }, + ", \"allowNoIndex\"> | undefined) => Promise<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.FieldSpec", + "text": "FieldSpec" + }, + "[]>" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.getFieldsForIndexPattern.$1", + "type": "CompoundType", + "tags": [], + "label": "indexPattern", + "description": [], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + " | ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewSpec", + "text": "DataViewSpec" + } + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.getFieldsForIndexPattern.$2", + "type": "Object", + "tags": [], + "label": "options", + "description": [ + "options for getting field list" + ], + "signature": [ + "Omit<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.GetFieldsOptions", + "text": "GetFieldsOptions" + }, + ", \"allowNoIndex\"> | undefined" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [ + "FieldSpec[]" + ] }, - "; savedObjectToSpec: (savedObject: ", { - "pluginId": "@kbn/core-saved-objects-common", - "scope": "common", - "docId": "kibKbnCoreSavedObjectsCommonPluginApi", - "section": "def-common.SavedObject", - "text": "SavedObject" + "parentPluginId": "data", + "id": "def-common.DataViewsService.refreshFields", + "type": "Function", + "tags": [], + "label": "refreshFields", + "description": [ + "\nRefresh field list for a given data view." + ], + "signature": [ + "(dataView: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + ", displayErrors?: boolean) => Promise" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.refreshFields.$1", + "type": "Object", + "tags": [], + "label": "dataView", + "description": [], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + } + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.refreshFields.$2", + "type": "boolean", + "tags": [], + "label": "displayErrors", + "description": [ + "- If set false, API consumer is responsible for displaying and handling errors." + ], + "signature": [ + "boolean" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] }, - "<", { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewAttributes", - "text": "DataViewAttributes" + "parentPluginId": "data", + "id": "def-common.DataViewsService.fieldArrayToMap", + "type": "Function", + "tags": [], + "label": "fieldArrayToMap", + "description": [ + "\nConverts field array to map." + ], + "signature": [ + "(fields: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.FieldSpec", + "text": "FieldSpec" + }, + "[], fieldAttrs?: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.FieldAttrs", + "text": "FieldAttrs" + }, + " | undefined) => ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewFieldMap", + "text": "DataViewFieldMap" + } + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.fieldArrayToMap.$1", + "type": "Array", + "tags": [], + "label": "fields", + "description": [ + ": FieldSpec[]" + ], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.FieldSpec", + "text": "FieldSpec" + }, + "[]" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.fieldArrayToMap.$2", + "type": "Object", + "tags": [], + "label": "fieldAttrs", + "description": [ + ": FieldAttrs" + ], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.FieldAttrs", + "text": "FieldAttrs" + }, + " | undefined" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [ + "Record" + ] }, - ">) => ", { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewSpec", - "text": "DataViewSpec" + "parentPluginId": "data", + "id": "def-common.DataViewsService.savedObjectToSpec", + "type": "Function", + "tags": [], + "label": "savedObjectToSpec", + "description": [ + "\nConverts data view saved object to data view spec." + ], + "signature": [ + "(savedObject: ", + { + "pluginId": "@kbn/core-saved-objects-common", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObject", + "text": "SavedObject" + }, + "<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewAttributes", + "text": "DataViewAttributes" + }, + ">) => ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewSpec", + "text": "DataViewSpec" + } + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.savedObjectToSpec.$1", + "type": "Object", + "tags": [], + "label": "savedObject", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-saved-objects-common", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObject", + "text": "SavedObject" + }, + "<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewAttributes", + "text": "DataViewAttributes" + }, + ">" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [ + "DataViewSpec" + ] }, - "; createAndSave: (spec: ", { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewSpec", - "text": "DataViewSpec" + "parentPluginId": "data", + "id": "def-common.DataViewsService.get", + "type": "Function", + "tags": [], + "label": "get", + "description": [ + "\nGet an index pattern by id, cache optimized." + ], + "signature": [ + "(id: string, displayErrors?: boolean, refreshFields?: boolean) => Promise<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + ">" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.get.$1", + "type": "string", + "tags": [], + "label": "id", + "description": [], + "signature": [ + "string" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.get.$2", + "type": "boolean", + "tags": [], + "label": "displayErrors", + "description": [ + "- If set false, API consumer is responsible for displaying and handling errors." + ], + "signature": [ + "boolean" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.get.$3", + "type": "boolean", + "tags": [], + "label": "refreshFields", + "description": [ + "- If set true, will fetch fields from the index pattern" + ], + "signature": [ + "boolean" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] }, - ", override?: boolean, skipFetchFields?: boolean, displayErrors?: boolean) => Promise<", { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" + "parentPluginId": "data", + "id": "def-common.DataViewsService.create", + "type": "Function", + "tags": [], + "label": "create", + "description": [ + "\nCreate data view instance." + ], + "signature": [ + "(spec: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewSpec", + "text": "DataViewSpec" + }, + ", skipFetchFields?: boolean, displayErrors?: boolean) => Promise<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + ">" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.create.$1", + "type": "Object", + "tags": [], + "label": "spec", + "description": [ + "data view spec" + ], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewSpec", + "text": "DataViewSpec" + } + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.create.$2", + "type": "boolean", + "tags": [], + "label": "skipFetchFields", + "description": [ + "if true, will not fetch fields" + ], + "signature": [ + "boolean" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.create.$3", + "type": "boolean", + "tags": [], + "label": "displayErrors", + "description": [ + "- If set false, API consumer is responsible for displaying and handling errors." + ], + "signature": [ + "boolean" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [ + "DataView" + ] }, - ">; createSavedObject: (dataView: ", { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" + "parentPluginId": "data", + "id": "def-common.DataViewsService.createAndSave", + "type": "Function", + "tags": [], + "label": "createAndSave", + "description": [ + "\nCreate a new data view and save it right away." + ], + "signature": [ + "(spec: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewSpec", + "text": "DataViewSpec" + }, + ", override?: boolean, skipFetchFields?: boolean, displayErrors?: boolean) => Promise<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + ">" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.createAndSave.$1", + "type": "Object", + "tags": [], + "label": "spec", + "description": [ + "data view spec" + ], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewSpec", + "text": "DataViewSpec" + } + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.createAndSave.$2", + "type": "boolean", + "tags": [], + "label": "override", + "description": [ + "Overwrite if existing index pattern exists." + ], + "signature": [ + "boolean" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.createAndSave.$3", + "type": "boolean", + "tags": [], + "label": "skipFetchFields", + "description": [ + "Whether to skip field refresh step." + ], + "signature": [ + "boolean" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.createAndSave.$4", + "type": "boolean", + "tags": [], + "label": "displayErrors", + "description": [ + "- If set false, API consumer is responsible for displaying and handling errors." + ], + "signature": [ + "boolean" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] }, - ", override?: boolean, displayErrors?: boolean) => Promise<", { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" + "parentPluginId": "data", + "id": "def-common.DataViewsService.createSavedObject", + "type": "Function", + "tags": [], + "label": "createSavedObject", + "description": [ + "\nSave a new data view." + ], + "signature": [ + "(dataView: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + ", override?: boolean, displayErrors?: boolean) => Promise<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + ">" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.createSavedObject.$1", + "type": "Object", + "tags": [], + "label": "dataView", + "description": [ + "data view instance" + ], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + } + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.createSavedObject.$2", + "type": "boolean", + "tags": [], + "label": "override", + "description": [ + "Overwrite if existing index pattern exists" + ], + "signature": [ + "boolean" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.createSavedObject.$3", + "type": "boolean", + "tags": [], + "label": "displayErrors", + "description": [ + "- If set false, API consumer is responsible for displaying and handling errors." + ], + "signature": [ + "boolean" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] }, - ">; updateSavedObject: (indexPattern: ", { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" + "parentPluginId": "data", + "id": "def-common.DataViewsService.updateSavedObject", + "type": "Function", + "tags": [], + "label": "updateSavedObject", + "description": [ + "\nSave existing data view. Will attempt to merge differences if there are conflicts." + ], + "signature": [ + "(indexPattern: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + ", saveAttempts?: number, ignoreErrors?: boolean, displayErrors?: boolean) => Promise" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.updateSavedObject.$1", + "type": "Object", + "tags": [], + "label": "indexPattern", + "description": [], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + } + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.updateSavedObject.$2", + "type": "number", + "tags": [], + "label": "saveAttempts", + "description": [], + "signature": [ + "number" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.updateSavedObject.$3", + "type": "boolean", + "tags": [], + "label": "ignoreErrors", + "description": [], + "signature": [ + "boolean" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.updateSavedObject.$4", + "type": "boolean", + "tags": [], + "label": "displayErrors", + "description": [ + "- If set false, API consumer is responsible for displaying and handling errors." + ], + "signature": [ + "boolean" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] }, - ", saveAttempts?: number, ignoreErrors?: boolean, displayErrors?: boolean) => Promise Promise" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.delete.$1", + "type": "string", + "tags": [], + "label": "indexPatternId", + "description": [ + ": Id of kibana Index Pattern to delete" + ], + "signature": [ + "string" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] }, - ">; getDefaultDataView: (options?: { displayErrors?: boolean | undefined; refreshFields?: boolean | undefined; }) => Promise<", { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" - }, - " | null>; }" + "parentPluginId": "data", + "id": "def-common.DataViewsService.getDefaultDataView", + "type": "Function", + "tags": [], + "label": "getDefaultDataView", + "description": [ + "\nReturns the default data view as an object.\nIf no default is found, or it is missing\nanother data view is selected as default and returned.\nIf no possible data view found to become a default returns null.\n" + ], + "signature": [ + "(options?: { displayErrors?: boolean | undefined; refreshFields?: boolean | undefined; }) => Promise<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + " | null>" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.getDefaultDataView.$1", + "type": "Object", + "tags": [], + "label": "options", + "description": [], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.getDefaultDataView.$1.displayErrors", + "type": "CompoundType", + "tags": [], + "label": "displayErrors", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "data", + "id": "def-common.DataViewsService.getDefaultDataView.$1.refreshFields", + "type": "CompoundType", + "tags": [], + "label": "refreshFields", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ], + "returnComment": [ + "default data view" + ] + } ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", - "deprecated": false, - "trackAdoption": false, "initialIsOpen": false }, { "parentPluginId": "data", - "id": "def-common.DataViewSpec", - "type": "Type", + "id": "def-common.DuplicateDataViewError", + "type": "Class", "tags": [], - "label": "DataViewSpec", + "label": "DuplicateDataViewError", "description": [ - "\nStatic data view format\nSerialized data object, representing data view attributes and state" + "\nError thrown when attempting to create duplicate index pattern based on title." ], "signature": [ - "{ id?: string | undefined; version?: string | undefined; title?: string | undefined; timeFieldName?: string | undefined; sourceFilters?: ", { "pluginId": "dataViews", "scope": "common", "docId": "kibDataViewsPluginApi", - "section": "def-common.SourceFilter", - "text": "SourceFilter" + "section": "def-common.DuplicateDataViewError", + "text": "DuplicateDataViewError" }, - "[] | undefined; fields?: ", + " extends Error" + ], + "path": "src/plugins/data_views/common/errors/duplicate_index_pattern.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewFieldMap", - "text": "DataViewFieldMap" - }, - " | undefined; typeMeta?: ", + "parentPluginId": "data", + "id": "def-common.DuplicateDataViewError.Unnamed", + "type": "Function", + "tags": [], + "label": "Constructor", + "description": [ + "\nconstructor" + ], + "signature": [ + "any" + ], + "path": "src/plugins/data_views/common/errors/duplicate_index_pattern.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.DuplicateDataViewError.Unnamed.$1", + "type": "string", + "tags": [], + "label": "message", + "description": [ + "- Error message" + ], + "signature": [ + "string" + ], + "path": "src/plugins/data_views/common/errors/duplicate_index_pattern.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-common.KbnFieldType", + "type": "Class", + "tags": [], + "label": "KbnFieldType", + "description": [], + "path": "packages/kbn-field-types/src/kbn_field_type.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.TypeMeta", - "text": "TypeMeta" + "parentPluginId": "data", + "id": "def-common.KbnFieldType.name", + "type": "string", + "tags": [], + "label": "name", + "description": [], + "path": "packages/kbn-field-types/src/kbn_field_type.ts", + "deprecated": false, + "trackAdoption": false }, - " | undefined; type?: string | undefined; fieldFormats?: Record> | undefined; runtimeFieldMap?: Record | undefined; fieldAttrs?: ", { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.FieldAttrs", - "text": "FieldAttrs" - }, - " | undefined; allowNoIndex?: boolean | undefined; namespaces?: string[] | undefined; name?: string | undefined; }" + "parentPluginId": "data", + "id": "def-common.KbnFieldType.Unnamed", + "type": "Function", + "tags": [], + "label": "Constructor", + "description": [], + "signature": [ + "any" + ], + "path": "packages/kbn-field-types/src/kbn_field_type.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.KbnFieldType.Unnamed.$1", + "type": "Object", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "Partial<", + { + "pluginId": "@kbn/field-types", + "scope": "common", + "docId": "kibKbnFieldTypesPluginApi", + "section": "def-common.KbnFieldTypeOptions", + "text": "KbnFieldTypeOptions" + }, + ">" + ], + "path": "packages/kbn-field-types/src/kbn_field_type.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } ], - "path": "src/plugins/data_views/common/types.ts", - "deprecated": false, - "trackAdoption": false, "initialIsOpen": false - }, + } + ], + "functions": [ { "parentPluginId": "data", - "id": "def-common.DEFAULT_QUERY_LANGUAGE", - "type": "string", + "id": "def-common.cellHasFormulas", + "type": "Function", "tags": [], - "label": "DEFAULT_QUERY_LANGUAGE", + "label": "cellHasFormulas", "description": [], "signature": [ - "\"kuery\"" + "(val: string) => boolean" ], - "path": "src/plugins/data/common/constants.ts", + "path": "src/plugins/data/common/exports/formula_checks.ts", "deprecated": false, "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.cellHasFormulas.$1", + "type": "string", + "tags": [], + "label": "val", + "description": [], + "signature": [ + "string" + ], + "path": "src/plugins/data/common/exports/formula_checks.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], "initialIsOpen": false }, { "parentPluginId": "data", - "id": "def-common.FieldAttrs", - "type": "Type", + "id": "def-common.createEscapeValue", + "type": "Function", "tags": [], - "label": "FieldAttrs", + "label": "createEscapeValue", "description": [ - "\nSet of field attributes" + "\nCreate a function that will escape CSV values like \"=\", \"@\" and \"+\" with a\n\"'\". This will also place CSV values in \"\" if contain non-alphanumeric chars.\n\nFor example:\n\nGiven: =1+1\nReturns: \"'=1+1\"\n\nSee OWASP: https://www.owasp.org/index.php/CSV_Injection." ], "signature": [ - "{ [key: string]: ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.FieldAttrSet", - "text": "FieldAttrSet" - }, - "; }" + "({\n separator,\n quoteValues,\n escapeFormulaValues,\n}: { separator: string; quoteValues: boolean; escapeFormulaValues: boolean; }) => (val: RawValue) => string" ], - "path": "src/plugins/data_views/common/types.ts", + "path": "src/plugins/data/common/exports/escape_value.ts", "deprecated": false, "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.createEscapeValue.$1", + "type": "Object", + "tags": [], + "label": "{\n separator,\n quoteValues,\n escapeFormulaValues,\n}", + "description": [], + "path": "src/plugins/data/common/exports/escape_value.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.createEscapeValue.$1.separator", + "type": "string", + "tags": [], + "label": "separator", + "description": [], + "path": "src/plugins/data/common/exports/escape_value.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "data", + "id": "def-common.createEscapeValue.$1.quoteValues", + "type": "boolean", + "tags": [], + "label": "quoteValues", + "description": [], + "path": "src/plugins/data/common/exports/escape_value.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "data", + "id": "def-common.createEscapeValue.$1.escapeFormulaValues", + "type": "boolean", + "tags": [], + "label": "escapeFormulaValues", + "description": [], + "path": "src/plugins/data/common/exports/escape_value.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ], + "returnComment": [], "initialIsOpen": false }, { "parentPluginId": "data", - "id": "def-common.FieldAttrSet", - "type": "Type", + "id": "def-common.datatableToCSV", + "type": "Function", "tags": [], - "label": "FieldAttrSet", - "description": [ - "\nField attributes that are stored on the data view" - ], + "label": "datatableToCSV", + "description": [], "signature": [ - "{ customLabel?: string | undefined; count?: number | undefined; }" + "({ columns, rows }: ", + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.Datatable", + "text": "Datatable" + }, + ", { csvSeparator, quoteValues, formatFactory, raw, escapeFormulaValues }: CSVOptions) => string" ], - "path": "src/plugins/data_views/common/types.ts", + "path": "src/plugins/data/common/exports/export_csv.tsx", "deprecated": false, "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.datatableToCSV.$1", + "type": "Object", + "tags": [], + "label": "{ columns, rows }", + "description": [], + "signature": [ + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.Datatable", + "text": "Datatable" + } + ], + "path": "src/plugins/data/common/exports/export_csv.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "data", + "id": "def-common.datatableToCSV.$2", + "type": "Object", + "tags": [], + "label": "{ csvSeparator, quoteValues, formatFactory, raw, escapeFormulaValues }", + "description": [], + "signature": [ + "CSVOptions" + ], + "path": "src/plugins/data/common/exports/export_csv.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], "initialIsOpen": false }, { "parentPluginId": "data", - "id": "def-common.FieldSpec", - "type": "Type", + "id": "def-common.fieldList", + "type": "Function", "tags": [], - "label": "FieldSpec", - "description": [ - "\nSerialized version of DataViewField" - ], - "signature": [ - { - "pluginId": "@kbn/es-query", - "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.DataViewFieldBase", - "text": "DataViewFieldBase" - }, - " & { count?: number | undefined; conflictDescriptions?: Record | undefined; format?: ", - { - "pluginId": "fieldFormats", - "scope": "common", - "docId": "kibFieldFormatsPluginApi", - "section": "def-common.SerializedFieldFormat", - "text": "SerializedFieldFormat" - }, - "<{}, ", + "label": "fieldList", + "description": [], + "signature": [ + "(specs?: ", { - "pluginId": "@kbn/utility-types", + "pluginId": "dataViews", "scope": "common", - "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-common.SerializableRecord", - "text": "SerializableRecord" + "docId": "kibDataViewsPluginApi", + "section": "def-common.FieldSpec", + "text": "FieldSpec" }, - "> | undefined; esTypes?: string[] | undefined; searchable: boolean; aggregatable: boolean; readFromDocValues?: boolean | undefined; indexed?: boolean | undefined; customLabel?: string | undefined; runtimeField?: ", + "[], shortDotsEnable?: boolean) => ", { "pluginId": "dataViews", "scope": "common", "docId": "kibDataViewsPluginApi", - "section": "def-common.RuntimeFieldSpec", - "text": "RuntimeFieldSpec" - }, - " | undefined; fixedInterval?: string[] | undefined; timeZone?: string[] | undefined; timeSeriesDimension?: boolean | undefined; timeSeriesMetric?: \"histogram\" | \"summary\" | \"gauge\" | \"counter\" | undefined; shortDotsEnable?: boolean | undefined; isMapped?: boolean | undefined; parentName?: string | undefined; }" + "section": "def-common.IIndexPatternFieldList", + "text": "IIndexPatternFieldList" + } ], - "path": "src/plugins/data_views/common/types.ts", + "path": "src/plugins/data_views/common/fields/field_list.ts", "deprecated": false, "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.fieldList.$1", + "type": "Array", + "tags": [], + "label": "specs", + "description": [], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.FieldSpec", + "text": "FieldSpec" + }, + "[]" + ], + "path": "src/plugins/data_views/common/fields/field_list.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "data", + "id": "def-common.fieldList.$2", + "type": "boolean", + "tags": [], + "label": "shortDotsEnable", + "description": [], + "signature": [ + "boolean" + ], + "path": "src/plugins/data_views/common/fields/field_list.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], "initialIsOpen": false }, { "parentPluginId": "data", - "id": "def-common.FieldSpecConflictDescriptions", - "type": "Type", + "id": "def-common.getEsQueryConfig", + "type": "Function", "tags": [], - "label": "FieldSpecConflictDescriptions", + "label": "getEsQueryConfig", "description": [], "signature": [ - "{ [x: string]: string[]; }" + "(config: KibanaConfig) => ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.EsQueryConfig", + "text": "EsQueryConfig" + } ], - "path": "src/plugins/data_views/common/types.ts", + "path": "src/plugins/data/common/es_query/get_es_query_config.ts", "deprecated": false, "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.getEsQueryConfig.$1", + "type": "Object", + "tags": [], + "label": "config", + "description": [], + "signature": [ + "KibanaConfig" + ], + "path": "src/plugins/data/common/es_query/get_es_query_config.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], "initialIsOpen": false }, { "parentPluginId": "data", - "id": "def-common.GetConfigFn", - "type": "Type", + "id": "def-common.getFieldSubtypeMulti", + "type": "Function", "tags": [], - "label": "GetConfigFn", - "description": [ - "\nIf a service is being shared on both the client and the server, and\nthe client code requires synchronous access to uiSettings, both client\nand server should wrap the core uiSettings services in a function\nmatching this signature.\n\nThis matches the signature of the public `core.uiSettings.get`, and\nshould only be used in scenarios where async access to uiSettings is\nnot possible." - ], + "label": "getFieldSubtypeMulti", + "description": [], "signature": [ - "(key: string, defaultOverride?: T | undefined) => T" + "(field: HasSubtype) => ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.IFieldSubTypeMulti", + "text": "IFieldSubTypeMulti" + }, + " | undefined" ], - "path": "src/plugins/data/common/types.ts", + "path": "src/plugins/data_views/common/fields/utils.ts", "deprecated": false, "trackAdoption": false, "returnComment": [], "children": [ { "parentPluginId": "data", - "id": "def-common.GetConfigFn.$1", - "type": "string", - "tags": [], - "label": "key", - "description": [], - "path": "src/plugins/data/common/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-common.GetConfigFn.$2", - "type": "Uncategorized", + "id": "def-common.getFieldSubtypeMulti.$1", + "type": "Object", "tags": [], - "label": "defaultOverride", + "label": "field", "description": [], "signature": [ - "T | undefined" + "{ subType?: ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.IFieldSubType", + "text": "IFieldSubType" + }, + " | undefined; }" ], - "path": "src/plugins/data/common/types.ts", + "path": "src/plugins/data_views/common/fields/utils.ts", "deprecated": false, "trackAdoption": false } @@ -28168,849 +26161,2309 @@ }, { "parentPluginId": "data", - "id": "def-common.IndexPatternLoadExpressionFunctionDefinition", - "type": "Type", + "id": "def-common.getFieldSubtypeNested", + "type": "Function", "tags": [], - "label": "IndexPatternLoadExpressionFunctionDefinition", + "label": "getFieldSubtypeNested", "description": [], "signature": [ + "(field: HasSubtype) => ", { - "pluginId": "expressions", - "scope": "common", - "docId": "kibExpressionsPluginApi", - "section": "def-common.ExpressionFunctionDefinition", - "text": "ExpressionFunctionDefinition" - }, - "<\"indexPatternLoad\", null, Arguments, Output, ", - { - "pluginId": "expressions", - "scope": "common", - "docId": "kibExpressionsPluginApi", - "section": "def-common.ExecutionContext", - "text": "ExecutionContext" - }, - "<", - { - "pluginId": "inspector", - "scope": "common", - "docId": "kibInspectorPluginApi", - "section": "def-common.Adapters", - "text": "Adapters" - }, - ", ", - { - "pluginId": "@kbn/utility-types", + "pluginId": "@kbn/es-query", "scope": "common", - "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-common.SerializableRecord", - "text": "SerializableRecord" + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.IFieldSubTypeNested", + "text": "IFieldSubTypeNested" }, - ">>" + " | undefined" ], - "path": "src/plugins/data_views/common/expressions/load_index_pattern.ts", + "path": "src/plugins/data_views/common/fields/utils.ts", "deprecated": false, "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "data", + "id": "def-common.getFieldSubtypeNested.$1", + "type": "Object", + "tags": [], + "label": "field", + "description": [], + "signature": [ + "{ subType?: ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.IFieldSubType", + "text": "IFieldSubType" + }, + " | undefined; }" + ], + "path": "src/plugins/data_views/common/fields/utils.ts", + "deprecated": false, + "trackAdoption": false + } + ], "initialIsOpen": false }, { "parentPluginId": "data", - "id": "def-common.KIBANA_USER_QUERY_LANGUAGE_KEY", - "type": "string", + "id": "def-common.getIndexPatternLoadMeta", + "type": "Function", "tags": [], - "label": "KIBANA_USER_QUERY_LANGUAGE_KEY", + "label": "getIndexPatternLoadMeta", "description": [], "signature": [ - "\"kibana.userQueryLanguage\"" + "() => Omit<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.IndexPatternLoadExpressionFunctionDefinition", + "text": "IndexPatternLoadExpressionFunctionDefinition" + }, + ", \"fn\">" ], - "path": "src/plugins/data/common/constants.ts", + "path": "src/plugins/data_views/common/expressions/load_index_pattern.ts", "deprecated": false, "trackAdoption": false, + "children": [], + "returnComment": [], "initialIsOpen": false }, { "parentPluginId": "data", - "id": "def-common.META_FIELDS", - "type": "string", + "id": "def-common.isFilterable", + "type": "Function", "tags": [], - "label": "META_FIELDS", - "description": [ - "\nUiSettings key for metaFields list." - ], + "label": "isFilterable", + "description": [], "signature": [ - "\"metaFields\"" + "(field: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewField", + "text": "DataViewField" + }, + ") => boolean" ], - "path": "src/plugins/data_views/common/constants.ts", + "path": "src/plugins/data_views/common/fields/utils.ts", "deprecated": false, "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.isFilterable.$1", + "type": "Object", + "tags": [], + "label": "field", + "description": [], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewField", + "text": "DataViewField" + } + ], + "path": "src/plugins/data_views/common/fields/utils.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], "initialIsOpen": false }, { "parentPluginId": "data", - "id": "def-common.Query", - "type": "Type", + "id": "def-common.isMultiField", + "type": "Function", "tags": [], - "label": "Query", + "label": "isMultiField", "description": [], "signature": [ - "{ query: string | { [key: string]: any; }; language: string; }" + "(field: HasSubtype) => boolean" ], - "path": "packages/kbn-es-query/src/filters/build_filters/types.ts", + "path": "src/plugins/data_views/common/fields/utils.ts", "deprecated": false, "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "data", + "id": "def-common.isMultiField.$1", + "type": "Object", + "tags": [], + "label": "field", + "description": [], + "signature": [ + "{ subType?: ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.IFieldSubType", + "text": "IFieldSubType" + }, + " | undefined; }" + ], + "path": "src/plugins/data_views/common/fields/utils.ts", + "deprecated": false, + "trackAdoption": false + } + ], "initialIsOpen": false }, { "parentPluginId": "data", - "id": "def-common.SavedObject", - "type": "Type", - "tags": [ - "deprecated" - ], - "label": "SavedObject", + "id": "def-common.isNestedField", + "type": "Function", + "tags": [], + "label": "isNestedField", "description": [], "signature": [ - { - "pluginId": "@kbn/core-saved-objects-common", - "scope": "common", - "docId": "kibKbnCoreSavedObjectsCommonPluginApi", - "section": "def-common.SavedObject", - "text": "SavedObject" - }, - "" + "(field: HasSubtype) => boolean" ], - "path": "packages/core/saved-objects/core-saved-objects-common/src/saved_objects.ts", - "deprecated": true, + "path": "src/plugins/data_views/common/fields/utils.ts", + "deprecated": false, "trackAdoption": false, - "references": [ - { - "plugin": "@kbn/core-saved-objects-common", - "path": "packages/core/saved-objects/core-saved-objects-common/index.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-server", - "path": "packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_repository.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-server", - "path": "packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_repository.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-server", - "path": "packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_repository.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-server", - "path": "packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_repository.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.ts" - }, - { - "plugin": "@kbn/core", - "path": "src/core/public/index.ts" - }, - { - "plugin": "home", - "path": "src/plugins/home/server/services/sample_data/sample_data_registry.ts" - }, - { - "plugin": "home", - "path": "src/plugins/home/server/services/sample_data/sample_data_registry.ts" - }, - { - "plugin": "home", - "path": "src/plugins/home/server/services/sample_data/sample_data_registry.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/types.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/types.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/types.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/types.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/types.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/types.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/index.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_views.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_views.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_views.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_views.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_views.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_views.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_views.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_views.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_views.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/server/utils.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/server/utils.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/server/utils.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/public/saved_objects_client_wrapper.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/public/saved_objects_client_wrapper.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/public/saved_objects_client_wrapper.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/public/saved_objects_client_wrapper.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_views.test.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_views.test.ts" - }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/public/ui_api/get_table_column_definition.tsx" - }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/public/ui_api/get_table_column_definition.tsx" - }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/public/ui_api/get_table_column_definition.tsx" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/common/types/models/epm.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/common/types/models/epm.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/common/types/models/epm.ts" - }, + "returnComment": [], + "children": [ { - "plugin": "canvas", - "path": "x-pack/plugins/canvas/shareable_runtime/types.ts" - }, + "parentPluginId": "data", + "id": "def-common.isNestedField.$1", + "type": "Object", + "tags": [], + "label": "field", + "description": [], + "signature": [ + "{ subType?: ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.IFieldSubType", + "text": "IFieldSubType" + }, + " | undefined; }" + ], + "path": "src/plugins/data_views/common/fields/utils.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-common.tableHasFormulas", + "type": "Function", + "tags": [], + "label": "tableHasFormulas", + "description": [], + "signature": [ + "(columns: ", { - "plugin": "canvas", - "path": "x-pack/plugins/canvas/shareable_runtime/types.ts" + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.DatatableColumn", + "text": "DatatableColumn" }, + "[], rows: ", { - "plugin": "canvas", - "path": "x-pack/plugins/canvas/public/services/kibana/workpad.ts" + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.DatatableRow", + "text": "DatatableRow" }, + "[]) => boolean" + ], + "path": "src/plugins/data/common/exports/formula_checks.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { - "plugin": "canvas", - "path": "x-pack/plugins/canvas/public/services/kibana/workpad.ts" + "parentPluginId": "data", + "id": "def-common.tableHasFormulas.$1", + "type": "Array", + "tags": [], + "label": "columns", + "description": [], + "signature": [ + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.DatatableColumn", + "text": "DatatableColumn" + }, + "[]" + ], + "path": "src/plugins/data/common/exports/formula_checks.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true }, { - "plugin": "canvas", - "path": "x-pack/plugins/canvas/public/components/home/hooks/use_upload_workpad.ts" - }, + "parentPluginId": "data", + "id": "def-common.tableHasFormulas.$2", + "type": "Array", + "tags": [], + "label": "rows", + "description": [], + "signature": [ + { + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.DatatableRow", + "text": "DatatableRow" + }, + "[]" + ], + "path": "src/plugins/data/common/exports/formula_checks.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [ + { + "parentPluginId": "data", + "id": "def-common.DataViewAttributes", + "type": "Interface", + "tags": [], + "label": "DataViewAttributes", + "description": [ + "\nInterface for the data view saved object" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { - "plugin": "canvas", - "path": "x-pack/plugins/canvas/public/components/home/hooks/use_upload_workpad.ts" + "parentPluginId": "data", + "id": "def-common.DataViewAttributes.fields", + "type": "string", + "tags": [], + "label": "fields", + "description": [ + "\nFields as a serialized array of field specs" + ], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/packs/types.ts" + "parentPluginId": "data", + "id": "def-common.DataViewAttributes.title", + "type": "string", + "tags": [], + "label": "title", + "description": [ + "\nData view title" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/packs/types.ts" + "parentPluginId": "data", + "id": "def-common.DataViewAttributes.type", + "type": "string", + "tags": [], + "label": "type", + "description": [ + "\nData view type, default or rollup" + ], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/routes/saved_queries/list/index.tsx" + "parentPluginId": "data", + "id": "def-common.DataViewAttributes.typeMeta", + "type": "string", + "tags": [], + "label": "typeMeta", + "description": [ + "\nType metadata information, serialized. Only used by rollup data views." + ], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/routes/saved_queries/list/index.tsx" + "parentPluginId": "data", + "id": "def-common.DataViewAttributes.timeFieldName", + "type": "string", + "tags": [], + "label": "timeFieldName", + "description": [ + "\nTime field name" + ], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/assets/use_assets_status.ts" + "parentPluginId": "data", + "id": "def-common.DataViewAttributes.sourceFilters", + "type": "string", + "tags": [], + "label": "sourceFilters", + "description": [ + "\nSerialized array of filters. Used by discover to hide fields." + ], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/assets/use_assets_status.ts" + "parentPluginId": "data", + "id": "def-common.DataViewAttributes.fieldFormatMap", + "type": "string", + "tags": [], + "label": "fieldFormatMap", + "description": [ + "\nSerialized map of field formats by field name" + ], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/assets/use_assets_status.ts" + "parentPluginId": "data", + "id": "def-common.DataViewAttributes.fieldAttrs", + "type": "string", + "tags": [], + "label": "fieldAttrs", + "description": [ + "\nSerialized map of field attributes, currently field count and name" + ], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/assets/use_assets_status.ts" + "parentPluginId": "data", + "id": "def-common.DataViewAttributes.runtimeFieldMap", + "type": "string", + "tags": [], + "label": "runtimeFieldMap", + "description": [ + "\nSerialized map of runtime field definitions, by field name" + ], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/monitor_detail_flyout.tsx" + "parentPluginId": "data", + "id": "def-common.DataViewAttributes.allowNoIndex", + "type": "CompoundType", + "tags": [], + "label": "allowNoIndex", + "description": [ + "\nPrevents errors when index pattern exists before indices" + ], + "signature": [ + "boolean | undefined" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/monitor_detail_flyout.tsx" - }, + "parentPluginId": "data", + "id": "def-common.DataViewAttributes.name", + "type": "string", + "tags": [], + "label": "name", + "description": [ + "\nName of the data view. Human readable name used to differentiate data view." + ], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-common.DataViewListItem", + "type": "Interface", + "tags": [], + "label": "DataViewListItem", + "description": [ + "\nResult from data view search - summary data." + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { - "plugin": "savedObjects", - "path": "src/plugins/saved_objects/public/saved_object/helpers/find_object_by_title.test.ts" + "parentPluginId": "data", + "id": "def-common.DataViewListItem.id", + "type": "string", + "tags": [], + "label": "id", + "description": [ + "\nSaved object id (or generated id if in-memory only)" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "savedObjects", - "path": "src/plugins/saved_objects/public/saved_object/helpers/find_object_by_title.test.ts" + "parentPluginId": "data", + "id": "def-common.DataViewListItem.namespaces", + "type": "Array", + "tags": [], + "label": "namespaces", + "description": [ + "\nNamespace ids" + ], + "signature": [ + "string[] | undefined" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "@kbn/core-saved-objects-browser-mocks", - "path": "packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts" + "parentPluginId": "data", + "id": "def-common.DataViewListItem.title", + "type": "string", + "tags": [], + "label": "title", + "description": [ + "\nData view title" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "@kbn/core-saved-objects-browser-mocks", - "path": "packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts" + "parentPluginId": "data", + "id": "def-common.DataViewListItem.type", + "type": "string", + "tags": [], + "label": "type", + "description": [ + "\nData view type" + ], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "@kbn/core-saved-objects-browser-mocks", - "path": "packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts" + "parentPluginId": "data", + "id": "def-common.DataViewListItem.typeMeta", + "type": "Object", + "tags": [], + "label": "typeMeta", + "description": [ + "\nData view type meta" + ], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.TypeMeta", + "text": "TypeMeta" + }, + " | undefined" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/errors.ts" - }, + "parentPluginId": "data", + "id": "def-common.DataViewListItem.name", + "type": "string", + "tags": [], + "label": "name", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-common.GetFieldsOptions", + "type": "Interface", + "tags": [], + "label": "GetFieldsOptions", + "description": [], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/errors.ts" + "parentPluginId": "data", + "id": "def-common.GetFieldsOptions.pattern", + "type": "string", + "tags": [], + "label": "pattern", + "description": [], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/lib/regenerate_ids.ts" + "parentPluginId": "data", + "id": "def-common.GetFieldsOptions.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/lib/regenerate_ids.ts" + "parentPluginId": "data", + "id": "def-common.GetFieldsOptions.lookBack", + "type": "CompoundType", + "tags": [], + "label": "lookBack", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts" + "parentPluginId": "data", + "id": "def-common.GetFieldsOptions.metaFields", + "type": "Array", + "tags": [], + "label": "metaFields", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts" + "parentPluginId": "data", + "id": "def-common.GetFieldsOptions.rollupIndex", + "type": "string", + "tags": [], + "label": "rollupIndex", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts" + "parentPluginId": "data", + "id": "def-common.GetFieldsOptions.allowNoIndex", + "type": "CompoundType", + "tags": [], + "label": "allowNoIndex", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts" + "parentPluginId": "data", + "id": "def-common.GetFieldsOptions.indexFilter", + "type": "Object", + "tags": [], + "label": "indexFilter", + "description": [], + "signature": [ + "QueryDslQueryContainer", + " | undefined" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts" + "parentPluginId": "data", + "id": "def-common.GetFieldsOptions.includeUnmapped", + "type": "CompoundType", + "tags": [], + "label": "includeUnmapped", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts" - }, + "parentPluginId": "data", + "id": "def-common.GetFieldsOptions.fields", + "type": "Array", + "tags": [], + "label": "fields", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-common.IDataViewsApiClient", + "type": "Interface", + "tags": [], + "label": "IDataViewsApiClient", + "description": [], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts" + "parentPluginId": "data", + "id": "def-common.IDataViewsApiClient.getFieldsForWildcard", + "type": "Function", + "tags": [], + "label": "getFieldsForWildcard", + "description": [], + "signature": [ + "(options: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.GetFieldsOptions", + "text": "GetFieldsOptions" + }, + ") => Promise<", + "FieldsForWildcardResponse", + ">" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.IDataViewsApiClient.getFieldsForWildcard.$1", + "type": "Object", + "tags": [], + "label": "options", + "description": [], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.GetFieldsOptions", + "text": "GetFieldsOptions" + } + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] }, { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts" - }, + "parentPluginId": "data", + "id": "def-common.IDataViewsApiClient.hasUserDataView", + "type": "Function", + "tags": [], + "label": "hasUserDataView", + "description": [], + "signature": [ + "() => Promise" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-common.IndexPatternExpressionType", + "type": "Interface", + "tags": [], + "label": "IndexPatternExpressionType", + "description": [ + "\nIndex pattern expression interface" + ], + "path": "src/plugins/data_views/common/expressions/load_index_pattern.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts" + "parentPluginId": "data", + "id": "def-common.IndexPatternExpressionType.type", + "type": "string", + "tags": [], + "label": "type", + "description": [ + "\nExpression type" + ], + "signature": [ + "\"index_pattern\"" + ], + "path": "src/plugins/data_views/common/expressions/load_index_pattern.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts" - }, + "parentPluginId": "data", + "id": "def-common.IndexPatternExpressionType.value", + "type": "Object", + "tags": [], + "label": "value", + "description": [ + "\nValue - DataViewSpec" + ], + "signature": [ + "{ id?: string | undefined; version?: string | undefined; title?: string | undefined; timeFieldName?: string | undefined; sourceFilters?: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.SourceFilter", + "text": "SourceFilter" + }, + "[] | undefined; fields?: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewFieldMap", + "text": "DataViewFieldMap" + }, + " | undefined; typeMeta?: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.TypeMeta", + "text": "TypeMeta" + }, + " | undefined; type?: string | undefined; fieldFormats?: Record> | undefined; runtimeFieldMap?: Record | undefined; fieldAttrs?: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.FieldAttrs", + "text": "FieldAttrs" + }, + " | undefined; allowNoIndex?: boolean | undefined; namespaces?: string[] | undefined; name?: string | undefined; }" + ], + "path": "src/plugins/data_views/common/expressions/load_index_pattern.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-common.KbnFieldTypeOptions", + "type": "Interface", + "tags": [], + "label": "KbnFieldTypeOptions", + "description": [], + "path": "packages/kbn-field-types/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { - "plugin": "@kbn/core", - "path": "src/core/types/index.ts" + "parentPluginId": "data", + "id": "def-common.KbnFieldTypeOptions.sortable", + "type": "boolean", + "tags": [], + "label": "sortable", + "description": [], + "path": "packages/kbn-field-types/src/types.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "savedObjectsTaggingOss", - "path": "src/plugins/saved_objects_tagging_oss/public/api.ts" + "parentPluginId": "data", + "id": "def-common.KbnFieldTypeOptions.filterable", + "type": "boolean", + "tags": [], + "label": "filterable", + "description": [], + "path": "packages/kbn-field-types/src/types.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "savedObjectsTaggingOss", - "path": "src/plugins/saved_objects_tagging_oss/public/api.ts" + "parentPluginId": "data", + "id": "def-common.KbnFieldTypeOptions.name", + "type": "string", + "tags": [], + "label": "name", + "description": [], + "path": "packages/kbn-field-types/src/types.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "savedObjectsTaggingOss", - "path": "src/plugins/saved_objects_tagging_oss/public/api.ts" - }, + "parentPluginId": "data", + "id": "def-common.KbnFieldTypeOptions.esTypes", + "type": "Array", + "tags": [], + "label": "esTypes", + "description": [], + "signature": [ + { + "pluginId": "@kbn/field-types", + "scope": "common", + "docId": "kibKbnFieldTypesPluginApi", + "section": "def-common.ES_FIELD_TYPES", + "text": "ES_FIELD_TYPES" + }, + "[]" + ], + "path": "packages/kbn-field-types/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-common.SavedObject", + "type": "Interface", + "tags": [], + "label": "SavedObject", + "description": [ + "\nDefinition of the Saved Object interface\n" + ], + "signature": [ { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/common/types.ts" + "pluginId": "@kbn/core-saved-objects-common", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObject", + "text": "SavedObject" }, + "" + ], + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/common/types.ts" + "parentPluginId": "data", + "id": "def-common.SavedObject.id", + "type": "string", + "tags": [], + "label": "id", + "description": [ + "The ID of this Saved Object, guaranteed to be unique for all objects of the same `type`" + ], + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/public/utils.ts" + "parentPluginId": "data", + "id": "def-common.SavedObject.type", + "type": "string", + "tags": [], + "label": "type", + "description": [ + " The type of Saved Object. Each plugin can define it's own custom Saved Object types." + ], + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/public/utils.ts" + "parentPluginId": "data", + "id": "def-common.SavedObject.version", + "type": "string", + "tags": [], + "label": "version", + "description": [ + "An opaque version number which changes on each successful write operation. Can be used for implementing optimistic concurrency control." + ], + "signature": [ + "string | undefined" + ], + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts" + "parentPluginId": "data", + "id": "def-common.SavedObject.created_at", + "type": "string", + "tags": [], + "label": "created_at", + "description": [ + "Timestamp of the time this document had been created." + ], + "signature": [ + "string | undefined" + ], + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts" + "parentPluginId": "data", + "id": "def-common.SavedObject.updated_at", + "type": "string", + "tags": [], + "label": "updated_at", + "description": [ + "Timestamp of the last time this document had been updated." + ], + "signature": [ + "string | undefined" + ], + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts" + "parentPluginId": "data", + "id": "def-common.SavedObject.error", + "type": "Object", + "tags": [], + "label": "error", + "description": [ + "Error associated with this object, populated if an operation failed for this object." + ], + "signature": [ + { + "pluginId": "@kbn/core-saved-objects-common", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObjectError", + "text": "SavedObjectError" + }, + " | undefined" + ], + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts" + "parentPluginId": "data", + "id": "def-common.SavedObject.attributes", + "type": "Uncategorized", + "tags": [], + "label": "attributes", + "description": [ + "The data for a Saved Object is stored as an object in the `attributes` property." + ], + "signature": [ + "T" + ], + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts" + "parentPluginId": "data", + "id": "def-common.SavedObject.references", + "type": "Array", + "tags": [], + "label": "references", + "description": [ + "{@inheritdoc SavedObjectReference}" + ], + "signature": [ + { + "pluginId": "@kbn/core-saved-objects-common", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObjectReference", + "text": "SavedObjectReference" + }, + "[]" + ], + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/public/utils.test.ts" + "parentPluginId": "data", + "id": "def-common.SavedObject.migrationVersion", + "type": "Object", + "tags": [ + "deprecated" + ], + "label": "migrationVersion", + "description": [ + "\n{@inheritdoc SavedObjectsMigrationVersion}" + ], + "signature": [ + { + "pluginId": "@kbn/core-saved-objects-common", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObjectsMigrationVersion", + "text": "SavedObjectsMigrationVersion" + }, + " | undefined" + ], + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", + "deprecated": true, + "trackAdoption": false, + "references": [ + { + "plugin": "@kbn/core-saved-objects-api-browser", + "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" + }, + { + "plugin": "@kbn/core-saved-objects-browser-internal", + "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" + }, + { + "plugin": "@kbn/core-saved-objects-browser-internal", + "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" + }, + { + "plugin": "@kbn/core-saved-objects-browser-mocks", + "path": "packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts" + }, + { + "plugin": "@kbn/core-saved-objects-api-server-internal", + "path": "packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/utils/internal_utils.ts" + }, + { + "plugin": "@kbn/core-saved-objects-import-export-server-internal", + "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/lib/collect_saved_objects.ts" + }, + { + "plugin": "@kbn/core-saved-objects-server-internal", + "path": "packages/core/saved-objects/core-saved-objects-server-internal/src/routes/legacy_import_export/lib/import_dashboards.ts" + }, + { + "plugin": "home", + "path": "src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts" + }, + { + "plugin": "home", + "path": "src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts" + }, + { + "plugin": "home", + "path": "src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts" + }, + { + "plugin": "home", + "path": "src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts" + }, + { + "plugin": "home", + "path": "src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts" + }, + { + "plugin": "home", + "path": "src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts" + }, + { + "plugin": "home", + "path": "src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts" + }, + { + "plugin": "home", + "path": "src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts" + }, + { + "plugin": "home", + "path": "src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts" + }, + { + "plugin": "home", + "path": "src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/server/sample_data/logs.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/server/sample_data/ecommerce.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/server/sample_data/flights.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/usage/detections/rules/get_metrics.mocks.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/epm/packages/get.test.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/epm/packages/get.test.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/epm/packages/get.test.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/epm/packages/get.test.ts" + } + ] }, { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/public/utils.test.ts" + "parentPluginId": "data", + "id": "def-common.SavedObject.coreMigrationVersion", + "type": "string", + "tags": [], + "label": "coreMigrationVersion", + "description": [ + "A semver value that is used when upgrading objects between Kibana versions." + ], + "signature": [ + "string | undefined" + ], + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/public/utils.test.ts" + "parentPluginId": "data", + "id": "def-common.SavedObject.typeMigrationVersion", + "type": "string", + "tags": [], + "label": "typeMigrationVersion", + "description": [ + "A semver value that is used when migrating documents between Kibana versions." + ], + "signature": [ + "string | undefined" + ], + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" + "parentPluginId": "data", + "id": "def-common.SavedObject.namespaces", + "type": "Array", + "tags": [], + "label": "namespaces", + "description": [ + "\nSpace(s) that this saved object exists in. This attribute is not used for \"global\" saved object types which are registered with\n`namespaceType: 'agnostic'`." + ], + "signature": [ + "string[] | undefined" + ], + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" + "parentPluginId": "data", + "id": "def-common.SavedObject.originId", + "type": "string", + "tags": [], + "label": "originId", + "description": [ + "\nThe ID of the saved object this originated from. This is set if this object's `id` was regenerated; that can happen during migration\nfrom a legacy single-namespace type, or during import. It is only set during migration or create operations. This is used during import\nto ensure that ID regeneration is deterministic, so saved objects will be overwritten if they are imported multiple times into a given\nspace." + ], + "signature": [ + "string | undefined" + ], + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" - }, + "parentPluginId": "data", + "id": "def-common.SavedObject.managed", + "type": "CompoundType", + "tags": [], + "label": "managed", + "description": [ + "\nFlag indicating if a saved object is managed by Kibana (default=false)\n\nThis can be leveraged by applications to e.g. prevent edits to a managed\nsaved object. Instead, users can be guided to create a copy first and\nmake their edits to the copy." + ], + "signature": [ + "boolean | undefined" + ], + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-common.UiSettingsCommon", + "type": "Interface", + "tags": [], + "label": "UiSettingsCommon", + "description": [ + "\nInterface for UiSettings common interface {@link UiSettingsClient}" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + "parentPluginId": "data", + "id": "def-common.UiSettingsCommon.get", + "type": "Function", + "tags": [], + "label": "get", + "description": [ + "\nGet a setting value" + ], + "signature": [ + "(key: string) => Promise" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.UiSettingsCommon.get.$1", + "type": "string", + "tags": [], + "label": "key", + "description": [ + "name of value" + ], + "signature": [ + "string" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] }, { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/overview/api.ts" + "parentPluginId": "data", + "id": "def-common.UiSettingsCommon.getAll", + "type": "Function", + "tags": [], + "label": "getAll", + "description": [ + "\nGet all settings values" + ], + "signature": [ + "() => Promise>" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] }, { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/overview/api.ts" + "parentPluginId": "data", + "id": "def-common.UiSettingsCommon.set", + "type": "Function", + "tags": [], + "label": "set", + "description": [ + "\nSet a setting value" + ], + "signature": [ + "(key: string, value: T) => Promise" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.UiSettingsCommon.set.$1", + "type": "string", + "tags": [], + "label": "key", + "description": [ + "name of value" + ], + "signature": [ + "string" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "data", + "id": "def-common.UiSettingsCommon.set.$2", + "type": "Uncategorized", + "tags": [], + "label": "value", + "description": [ + "value to set" + ], + "signature": [ + "T" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] }, { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_details/api.ts" - }, + "parentPluginId": "data", + "id": "def-common.UiSettingsCommon.remove", + "type": "Function", + "tags": [], + "label": "remove", + "description": [ + "\nRemove a setting value" + ], + "signature": [ + "(key: string) => Promise" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-common.UiSettingsCommon.remove.$1", + "type": "string", + "tags": [], + "label": "key", + "description": [ + "name of value" + ], + "signature": [ + "string" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + } + ], + "enums": [ + { + "parentPluginId": "data", + "id": "def-common.DataViewType", + "type": "Enum", + "tags": [], + "label": "DataViewType", + "description": [ + "\nData View type. Default or rollup" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-common.ES_FIELD_TYPES", + "type": "Enum", + "tags": [], + "label": "ES_FIELD_TYPES", + "description": [], + "path": "packages/kbn-field-types/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-common.KBN_FIELD_TYPES", + "type": "Enum", + "tags": [], + "label": "KBN_FIELD_TYPES", + "description": [], + "path": "packages/kbn-field-types/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "misc": [ + { + "parentPluginId": "data", + "id": "def-common.AggregationRestrictions", + "type": "Type", + "tags": [], + "label": "AggregationRestrictions", + "description": [], + "signature": [ + "{ [x: string]: { agg?: string | undefined; interval?: number | undefined; fixed_interval?: string | undefined; calendar_interval?: string | undefined; delay?: string | undefined; time_zone?: string | undefined; }; }" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-common.CSV_FORMULA_CHARS", + "type": "Array", + "tags": [], + "label": "CSV_FORMULA_CHARS", + "description": [], + "signature": [ + "string[]" + ], + "path": "src/plugins/data/common/exports/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-common.CSV_MIME_TYPE", + "type": "string", + "tags": [], + "label": "CSV_MIME_TYPE", + "description": [], + "signature": [ + "\"text/plain;charset=utf-8\"" + ], + "path": "src/plugins/data/common/exports/export_csv.tsx", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-common.DATA_VIEW_SAVED_OBJECT_TYPE", + "type": "string", + "tags": [], + "label": "DATA_VIEW_SAVED_OBJECT_TYPE", + "description": [ + "\nData view saved object type." + ], + "signature": [ + "\"index-pattern\"" + ], + "path": "src/plugins/data_views/common/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-common.DataViewFieldMap", + "type": "Type", + "tags": [], + "label": "DataViewFieldMap", + "description": [], + "signature": [ + "{ [x: string]: ", { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_details/api.ts" + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.FieldSpec", + "text": "FieldSpec" }, + "; }" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-common.DataViewsContract", + "type": "Type", + "tags": [], + "label": "DataViewsContract", + "description": [ + "\nData views service interface" + ], + "signature": [ + "{ create: (spec: ", { - "plugin": "upgradeAssistant", - "path": "x-pack/plugins/upgrade_assistant/common/types.ts" + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewSpec", + "text": "DataViewSpec" }, + ", skipFetchFields?: boolean, displayErrors?: boolean) => Promise<", { - "plugin": "upgradeAssistant", - "path": "x-pack/plugins/upgrade_assistant/common/types.ts" + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" }, + ">; get: (id: string, displayErrors?: boolean, refreshFields?: boolean) => Promise<", { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/common/test_utils/index.ts" + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" }, + ">; delete: (indexPatternId: string) => Promise; find: (search: string, size?: number) => Promise<", { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/common/test_utils/index.ts" + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" }, + "[]>; getCanSave: () => Promise; getIds: (refresh?: boolean) => Promise; getTitles: (refresh?: boolean) => Promise; getIdsWithTitle: (refresh?: boolean) => Promise<", { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/common/test_utils/index.ts" + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewListItem", + "text": "DataViewListItem" }, + "[]>; clearCache: () => void; clearInstanceCache: (id?: string | undefined) => void; getCache: () => Promise<", { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_view.stub.ts" + "pluginId": "@kbn/core-saved-objects-common", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObject", + "text": "SavedObject" }, + "<", { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_view.stub.ts" + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewSavedObjectAttrs", + "text": "DataViewSavedObjectAttrs" }, + ">[] | null | undefined>; getDefault: (displayErrors?: boolean) => Promise<", { - "plugin": "savedObjectsManagement", - "path": "src/plugins/saved_objects_management/server/lib/find_relationships.test.ts" + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" }, + " | null>; getDefaultId: () => Promise; setDefault: (id: string | null, force?: boolean) => Promise; hasUserDataView: () => Promise; getFieldsForWildcard: (options: ", { - "plugin": "savedObjectsManagement", - "path": "src/plugins/saved_objects_management/server/lib/find_relationships.test.ts" + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.GetFieldsOptions", + "text": "GetFieldsOptions" }, + ") => Promise<", { - "plugin": "savedObjectsManagement", - "path": "src/plugins/saved_objects_management/server/lib/find_relationships.test.ts" + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.FieldSpec", + "text": "FieldSpec" }, + "[]>; getFieldsForIndexPattern: (indexPattern: ", { - "plugin": "savedObjectsManagement", - "path": "src/plugins/saved_objects_management/server/lib/find_relationships.test.ts" + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" }, + " | ", { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/global_params/actions.ts" + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewSpec", + "text": "DataViewSpec" }, + ", options?: Omit<", { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/global_params/actions.ts" + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.GetFieldsOptions", + "text": "GetFieldsOptions" }, + ", \"allowNoIndex\"> | undefined) => Promise<", { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/global_params/api.ts" + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.FieldSpec", + "text": "FieldSpec" }, + "[]>; refreshFields: (dataView: ", { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/global_params/api.ts" + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" }, + ", displayErrors?: boolean) => Promise; fieldArrayToMap: (fields: ", { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/global_params/api.ts" + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.FieldSpec", + "text": "FieldSpec" }, + "[], fieldAttrs?: ", { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/global_params/index.ts" + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.FieldAttrs", + "text": "FieldAttrs" }, + " | undefined) => ", { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/global_params/index.ts" + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewFieldMap", + "text": "DataViewFieldMap" }, + "; savedObjectToSpec: (savedObject: ", { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_list/api.ts" + "pluginId": "@kbn/core-saved-objects-common", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObject", + "text": "SavedObject" }, + "<", { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_list/api.ts" + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewAttributes", + "text": "DataViewAttributes" }, + ">) => ", { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_list/effects.ts" + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewSpec", + "text": "DataViewSpec" }, + "; createAndSave: (spec: ", { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_list/effects.ts" + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewSpec", + "text": "DataViewSpec" }, + ", override?: boolean, skipFetchFields?: boolean, displayErrors?: boolean) => Promise<", { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_list/effects.ts" + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" }, + ">; createSavedObject: (dataView: ", { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_list/index.ts" + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" }, + ", override?: boolean, displayErrors?: boolean) => Promise<", { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_list/index.ts" + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" }, + ">; updateSavedObject: (indexPattern: ", { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" }, + ", saveAttempts?: number, ignoreErrors?: boolean, displayErrors?: boolean) => Promise; getDefaultDataView: (options?: { displayErrors?: boolean | undefined; refreshFields?: boolean | undefined; }) => Promise<", { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" }, + " | null>; }" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-common.DataViewSpec", + "type": "Type", + "tags": [], + "label": "DataViewSpec", + "description": [ + "\nStatic data view format\nSerialized data object, representing data view attributes and state" + ], + "signature": [ + "{ id?: string | undefined; version?: string | undefined; title?: string | undefined; timeFieldName?: string | undefined; sourceFilters?: ", { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.SourceFilter", + "text": "SourceFilter" }, + "[] | undefined; fields?: ", { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewFieldMap", + "text": "DataViewFieldMap" }, + " | undefined; typeMeta?: ", { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.TypeMeta", + "text": "TypeMeta" }, + " | undefined; type?: string | undefined; fieldFormats?: Record> | undefined; runtimeFieldMap?: Record | undefined; fieldAttrs?: ", { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.FieldAttrs", + "text": "FieldAttrs" }, + " | undefined; allowNoIndex?: boolean | undefined; namespaces?: string[] | undefined; name?: string | undefined; }" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-common.DEFAULT_QUERY_LANGUAGE", + "type": "string", + "tags": [], + "label": "DEFAULT_QUERY_LANGUAGE", + "description": [], + "signature": [ + "\"kuery\"" + ], + "path": "src/plugins/data/common/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-common.FieldAttrs", + "type": "Type", + "tags": [], + "label": "FieldAttrs", + "description": [ + "\nSet of field attributes" + ], + "signature": [ + "{ [key: string]: ", { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.FieldAttrSet", + "text": "FieldAttrSet" }, + "; }" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-common.FieldAttrSet", + "type": "Type", + "tags": [], + "label": "FieldAttrSet", + "description": [ + "\nField attributes that are stored on the data view" + ], + "signature": [ + "{ customLabel?: string | undefined; count?: number | undefined; }" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-common.FieldSpec", + "type": "Type", + "tags": [], + "label": "FieldSpec", + "description": [ + "\nSerialized version of DataViewField" + ], + "signature": [ { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.test.ts" + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.DataViewFieldBase", + "text": "DataViewFieldBase" }, + " & { count?: number | undefined; conflictDescriptions?: Record | undefined; format?: ", { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.test.ts" + "pluginId": "fieldFormats", + "scope": "common", + "docId": "kibFieldFormatsPluginApi", + "section": "def-common.SerializedFieldFormat", + "text": "SerializedFieldFormat" }, + "<{}, ", { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.test.ts" + "pluginId": "@kbn/utility-types", + "scope": "common", + "docId": "kibKbnUtilityTypesPluginApi", + "section": "def-common.SerializableRecord", + "text": "SerializableRecord" }, + "> | undefined; esTypes?: string[] | undefined; searchable: boolean; aggregatable: boolean; readFromDocValues?: boolean | undefined; indexed?: boolean | undefined; customLabel?: string | undefined; runtimeField?: ", { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.test.ts" + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.RuntimeFieldSpec", + "text": "RuntimeFieldSpec" }, + " | undefined; fixedInterval?: string[] | undefined; timeZone?: string[] | undefined; timeSeriesDimension?: boolean | undefined; timeSeriesMetric?: \"histogram\" | \"summary\" | \"gauge\" | \"counter\" | undefined; shortDotsEnable?: boolean | undefined; isMapped?: boolean | undefined; parentName?: string | undefined; }" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-common.FieldSpecConflictDescriptions", + "type": "Type", + "tags": [], + "label": "FieldSpecConflictDescriptions", + "description": [], + "signature": [ + "{ [x: string]: string[]; }" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-common.GetConfigFn", + "type": "Type", + "tags": [], + "label": "GetConfigFn", + "description": [ + "\nIf a service is being shared on both the client and the server, and\nthe client code requires synchronous access to uiSettings, both client\nand server should wrap the core uiSettings services in a function\nmatching this signature.\n\nThis matches the signature of the public `core.uiSettings.get`, and\nshould only be used in scenarios where async access to uiSettings is\nnot possible." + ], + "signature": [ + "(key: string, defaultOverride?: T | undefined) => T" + ], + "path": "src/plugins/data/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.test.ts" + "parentPluginId": "data", + "id": "def-common.GetConfigFn.$1", + "type": "string", + "tags": [], + "label": "key", + "description": [], + "path": "src/plugins/data/common/types.ts", + "deprecated": false, + "trackAdoption": false }, { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.test.ts" - }, + "parentPluginId": "data", + "id": "def-common.GetConfigFn.$2", + "type": "Uncategorized", + "tags": [], + "label": "defaultOverride", + "description": [], + "signature": [ + "T | undefined" + ], + "path": "src/plugins/data/common/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-common.IndexPatternLoadExpressionFunctionDefinition", + "type": "Type", + "tags": [], + "label": "IndexPatternLoadExpressionFunctionDefinition", + "description": [], + "signature": [ { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.test.ts" + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.ExpressionFunctionDefinition", + "text": "ExpressionFunctionDefinition" }, + "<\"indexPatternLoad\", null, Arguments, Output, ", { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.test.ts" + "pluginId": "expressions", + "scope": "common", + "docId": "kibExpressionsPluginApi", + "section": "def-common.ExecutionContext", + "text": "ExecutionContext" }, + "<", { - "plugin": "@kbn/core-ui-settings-server-internal", - "path": "packages/core/ui-settings/core-ui-settings-server-internal/src/saved_objects/transforms.test.ts" + "pluginId": "inspector", + "scope": "common", + "docId": "kibInspectorPluginApi", + "section": "def-common.Adapters", + "text": "Adapters" }, + ", ", { - "plugin": "@kbn/core-ui-settings-server-internal", - "path": "packages/core/ui-settings/core-ui-settings-server-internal/src/saved_objects/transforms.test.ts" + "pluginId": "@kbn/utility-types", + "scope": "common", + "docId": "kibKbnUtilityTypesPluginApi", + "section": "def-common.SerializableRecord", + "text": "SerializableRecord" }, - { - "plugin": "@kbn/core-ui-settings-server-internal", - "path": "packages/core/ui-settings/core-ui-settings-server-internal/src/saved_objects/transforms.test.ts" - } + ">>" + ], + "path": "src/plugins/data_views/common/expressions/load_index_pattern.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-common.KIBANA_USER_QUERY_LANGUAGE_KEY", + "type": "string", + "tags": [], + "label": "KIBANA_USER_QUERY_LANGUAGE_KEY", + "description": [], + "signature": [ + "\"kibana.userQueryLanguage\"" + ], + "path": "src/plugins/data/common/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-common.META_FIELDS", + "type": "string", + "tags": [], + "label": "META_FIELDS", + "description": [ + "\nUiSettings key for metaFields list." + ], + "signature": [ + "\"metaFields\"" + ], + "path": "src/plugins/data_views/common/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "data", + "id": "def-common.Query", + "type": "Type", + "tags": [], + "label": "Query", + "description": [], + "signature": [ + "{ query: string | { [key: string]: any; }; language: string; }" ], + "path": "packages/kbn-es-query/src/filters/build_filters/types.ts", + "deprecated": false, + "trackAdoption": false, "initialIsOpen": false }, { diff --git a/api_docs/data.mdx b/api_docs/data.mdx index 141ba0bc6dbb1..ec821b0b636e6 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data'] --- import dataObj from './data.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 3273 | 119 | 2579 | 27 | +| 3301 | 119 | 2577 | 27 | ## Client diff --git a/api_docs/data_query.mdx b/api_docs/data_query.mdx index 37f9d5eee951f..745deddf5ffe7 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.query'] --- import dataQueryObj from './data_query.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 3273 | 119 | 2579 | 27 | +| 3301 | 119 | 2577 | 27 | ## Client diff --git a/api_docs/data_search.mdx b/api_docs/data_search.mdx index bac8a21160e49..98c73f3609bef 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.search'] --- import dataSearchObj from './data_search.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 3273 | 119 | 2579 | 27 | +| 3301 | 119 | 2577 | 27 | ## Client diff --git a/api_docs/data_view_editor.mdx b/api_docs/data_view_editor.mdx index b368f27e0d8f9..53422e7c21dc3 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-05-16 +date: 2023-06-07 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 aa4f27b39c37d..d8603b9db8708 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-05-16 +date: 2023-06-07 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 ce7fc818fa1cc..8d34bf04f9e7d 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewManagement'] --- import dataViewManagementObj from './data_view_management.devdocs.json'; diff --git a/api_docs/data_views.devdocs.json b/api_docs/data_views.devdocs.json index c8b870b857b70..82aecca163353 100644 --- a/api_docs/data_views.devdocs.json +++ b/api_docs/data_views.devdocs.json @@ -329,7 +329,7 @@ }, { "plugin": "unifiedFieldList", - "path": "src/plugins/unified_field_list/common/utils/field_existing_utils.ts" + "path": "src/plugins/unified_field_list/public/services/field_existing/field_existing_utils.ts" }, { "plugin": "unifiedFieldList", @@ -347,10 +347,6 @@ "plugin": "lens", "path": "x-pack/plugins/lens/public/app_plugin/lens_top_nav.tsx" }, - { - "plugin": "triggersActionsUi", - "path": "x-pack/plugins/triggers_actions_ui/public/common/lib/data_apis.ts" - }, { "plugin": "aiops", "path": "x-pack/plugins/aiops/public/components/log_categorization/log_categorization_page.tsx" @@ -395,6 +391,10 @@ "plugin": "apm", "path": "x-pack/plugins/apm/server/routes/data_view/create_static_data_view.ts" }, + { + "plugin": "triggersActionsUi", + "path": "x-pack/plugins/triggers_actions_ui/public/common/lib/data_apis.ts" + }, { "plugin": "exploratoryView", "path": "x-pack/plugins/exploratory_view/public/utils/observability_data_views/observability_data_views.ts" @@ -563,18 +563,6 @@ "plugin": "enterpriseSearch", "path": "x-pack/plugins/enterprise_search/public/applications/analytics/components/analytics_collection_view/analytics_collection_explore_table_formulas.ts" }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/state_management/datasource.sagas.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/state_management/persistence.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/state_management/persistence.ts" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/containers/sourcerer/create_sourcerer_data_view.ts" @@ -587,10 +575,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/detections/components/rules/eql_query_bar/validators.ts" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/detections/components/rules/step_define_rule/index.tsx" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/index.tsx" @@ -599,6 +583,18 @@ "plugin": "timelines", "path": "x-pack/plugins/timelines/server/search_strategy/index_fields/index.ts" }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/public/state_management/datasource.sagas.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/public/state_management/persistence.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/public/state_management/persistence.ts" + }, { "plugin": "stackAlerts", "path": "x-pack/plugins/stack_alerts/public/rule_types/geo_containment/query_builder/expressions/boundary_index_expression.tsx" @@ -763,14 +759,6 @@ "plugin": "inputControlVis", "path": "src/plugins/input_control_vis/public/control/range_control_factory.ts" }, - { - "plugin": "unifiedFieldList", - "path": "src/plugins/unified_field_list/server/routes/field_stats.ts" - }, - { - "plugin": "unifiedFieldList", - "path": "src/plugins/unified_field_list/server/routes/field_stats.ts" - }, { "plugin": "visDefaultEditor", "path": "src/plugins/vis_default_editor/public/components/controls/field.tsx" @@ -871,10 +859,6 @@ "plugin": "visTypeTimeseries", "path": "src/plugins/vis_types/timeseries/server/lib/search_strategies/lib/cached_index_pattern_fetcher.test.ts" }, - { - "plugin": "discover", - "path": "src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts" - }, { "plugin": "infra", "path": "x-pack/plugins/infra/public/pages/metrics/hosts/hooks/use_data_view.test.ts" @@ -3662,7 +3646,7 @@ "section": "def-public.DataViewsServicePublic", "text": "DataViewsServicePublic" }, - ">, { expressions }: ", + ">, { expressions, contentManagement }: ", { "pluginId": "dataViews", "scope": "public", @@ -3726,7 +3710,7 @@ "id": "def-public.DataViewsPublicPlugin.setup.$2", "type": "Object", "tags": [], - "label": "{ expressions }", + "label": "{ expressions, contentManagement }", "description": [], "signature": [ { @@ -3761,7 +3745,7 @@ "section": "def-common.CoreStart", "text": "CoreStart" }, - ", { fieldFormats }: ", + ", { fieldFormats, contentManagement }: ", { "pluginId": "dataViews", "scope": "public", @@ -3808,7 +3792,7 @@ "id": "def-public.DataViewsPublicPlugin.start.$2", "type": "Object", "tags": [], - "label": "{ fieldFormats }", + "label": "{ fieldFormats, contentManagement }", "description": [], "signature": [ { @@ -5199,7 +5183,7 @@ "\nDeletes an index pattern from .kibana index." ], "signature": [ - "(indexPatternId: string) => Promise<{}>" + "(indexPatternId: string) => Promise" ], "path": "src/plugins/data_views/common/data_views/data_views.ts", "deprecated": false, @@ -5495,6 +5479,27 @@ "id": "def-public.SavedObjectsClientPublicToCommon.Unnamed.$1", "type": "Object", "tags": [], + "label": "contentManagementClient", + "description": [], + "signature": [ + { + "pluginId": "contentManagement", + "scope": "public", + "docId": "kibContentManagementPluginApi", + "section": "def-public.ContentClient", + "text": "ContentClient" + } + ], + "path": "src/plugins/data_views/public/saved_objects_client_wrapper.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "dataViews", + "id": "def-public.SavedObjectsClientPublicToCommon.Unnamed.$2", + "type": "Object", + "tags": [], "label": "savedObjectClient", "description": [], "signature": [ @@ -5516,7 +5521,7 @@ "label": "find", "description": [], "signature": [ - "(options: ", + "(options: ", { "pluginId": "dataViews", "scope": "common", @@ -5526,13 +5531,21 @@ }, ") => Promise<", { - "pluginId": "@kbn/core-saved-objects-common", + "pluginId": "@kbn/content-management-utils", "scope": "common", - "docId": "kibKbnCoreSavedObjectsCommonPluginApi", - "section": "def-common.SavedObject", - "text": "SavedObject" + "docId": "kibKbnContentManagementUtilsPluginApi", + "section": "def-common.SOWithMetadata", + "text": "SOWithMetadata" + }, + "<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewAttributes", + "text": "DataViewAttributes" }, - "[]>" + ">[]>" ], "path": "src/plugins/data_views/public/saved_objects_client_wrapper.ts", "deprecated": false, @@ -5570,15 +5583,23 @@ "label": "get", "description": [], "signature": [ - "(type: string, id: string) => Promise<", + "(id: string) => Promise<", { - "pluginId": "@kbn/core-saved-objects-common", + "pluginId": "@kbn/content-management-utils", "scope": "common", - "docId": "kibKbnCoreSavedObjectsCommonPluginApi", - "section": "def-common.SavedObject", - "text": "SavedObject" + "docId": "kibKbnContentManagementUtilsPluginApi", + "section": "def-common.SOWithMetadata", + "text": "SOWithMetadata" + }, + "<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewAttributes", + "text": "DataViewAttributes" }, - ">" + ">>" ], "path": "src/plugins/data_views/public/saved_objects_client_wrapper.ts", "deprecated": false, @@ -5589,7 +5610,7 @@ "id": "def-public.SavedObjectsClientPublicToCommon.get.$1", "type": "string", "tags": [], - "label": "type", + "label": "id", "description": [], "signature": [ "string" @@ -5598,10 +5619,35 @@ "deprecated": false, "trackAdoption": false, "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "dataViews", + "id": "def-public.SavedObjectsClientPublicToCommon.getSavedSearch", + "type": "Function", + "tags": [], + "label": "getSavedSearch", + "description": [], + "signature": [ + "(id: string) => Promise<", + { + "pluginId": "@kbn/core-saved-objects-api-browser", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsApiBrowserPluginApi", + "section": "def-common.SimpleSavedObject", + "text": "SimpleSavedObject" }, + ">" + ], + "path": "src/plugins/data_views/public/saved_objects_client_wrapper.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "dataViews", - "id": "def-public.SavedObjectsClientPublicToCommon.get.$2", + "id": "def-public.SavedObjectsClientPublicToCommon.getSavedSearch.$1", "type": "string", "tags": [], "label": "id", @@ -5625,7 +5671,7 @@ "label": "update", "description": [], "signature": [ - "(type: string, id: string, attributes: ", + "(id: string, attributes: ", { "pluginId": "dataViews", "scope": "common", @@ -5633,15 +5679,7 @@ "section": "def-common.DataViewAttributes", "text": "DataViewAttributes" }, - ", options: ", - { - "pluginId": "@kbn/core-saved-objects-api-browser", - "scope": "common", - "docId": "kibKbnCoreSavedObjectsApiBrowserPluginApi", - "section": "def-common.SavedObjectsUpdateOptions", - "text": "SavedObjectsUpdateOptions" - }, - ") => Promise<", + ", options: DataViewUpdateOptions) => Promise<", { "pluginId": "@kbn/core-saved-objects-common", "scope": "common", @@ -5649,7 +5687,15 @@ "section": "def-common.SavedObject", "text": "SavedObject" }, - ">" + "<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewAttributes", + "text": "DataViewAttributes" + }, + ">>" ], "path": "src/plugins/data_views/public/saved_objects_client_wrapper.ts", "deprecated": false, @@ -5660,21 +5706,6 @@ "id": "def-public.SavedObjectsClientPublicToCommon.update.$1", "type": "string", "tags": [], - "label": "type", - "description": [], - "signature": [ - "string" - ], - "path": "src/plugins/data_views/public/saved_objects_client_wrapper.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "dataViews", - "id": "def-public.SavedObjectsClientPublicToCommon.update.$2", - "type": "string", - "tags": [], "label": "id", "description": [], "signature": [ @@ -5687,7 +5718,7 @@ }, { "parentPluginId": "dataViews", - "id": "def-public.SavedObjectsClientPublicToCommon.update.$3", + "id": "def-public.SavedObjectsClientPublicToCommon.update.$2", "type": "Object", "tags": [], "label": "attributes", @@ -5708,20 +5739,13 @@ }, { "parentPluginId": "dataViews", - "id": "def-public.SavedObjectsClientPublicToCommon.update.$4", + "id": "def-public.SavedObjectsClientPublicToCommon.update.$3", "type": "Object", "tags": [], "label": "options", "description": [], "signature": [ - { - "pluginId": "@kbn/core-saved-objects-api-browser", - "scope": "common", - "docId": "kibKbnCoreSavedObjectsApiBrowserPluginApi", - "section": "def-common.SavedObjectsUpdateOptions", - "text": "SavedObjectsUpdateOptions" - }, - "" + "DataViewUpdateOptions" ], "path": "src/plugins/data_views/public/saved_objects_client_wrapper.ts", "deprecated": false, @@ -5739,7 +5763,7 @@ "label": "create", "description": [], "signature": [ - "(type: string, attributes: ", + "(attributes: ", { "pluginId": "dataViews", "scope": "common", @@ -5747,23 +5771,23 @@ "section": "def-common.DataViewAttributes", "text": "DataViewAttributes" }, - ", options?: ", + ", options: DataViewCreateOptions) => Promise<", { - "pluginId": "@kbn/core-saved-objects-api-browser", + "pluginId": "@kbn/content-management-utils", "scope": "common", - "docId": "kibKbnCoreSavedObjectsApiBrowserPluginApi", - "section": "def-common.SavedObjectsCreateOptions", - "text": "SavedObjectsCreateOptions" + "docId": "kibKbnContentManagementUtilsPluginApi", + "section": "def-common.SOWithMetadata", + "text": "SOWithMetadata" }, - " | undefined) => Promise<", + "<", { - "pluginId": "@kbn/core-saved-objects-common", + "pluginId": "dataViews", "scope": "common", - "docId": "kibKbnCoreSavedObjectsCommonPluginApi", - "section": "def-common.SavedObject", - "text": "SavedObject" + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewAttributes", + "text": "DataViewAttributes" }, - ">" + ">>" ], "path": "src/plugins/data_views/public/saved_objects_client_wrapper.ts", "deprecated": false, @@ -5772,21 +5796,6 @@ { "parentPluginId": "dataViews", "id": "def-public.SavedObjectsClientPublicToCommon.create.$1", - "type": "string", - "tags": [], - "label": "type", - "description": [], - "signature": [ - "string" - ], - "path": "src/plugins/data_views/public/saved_objects_client_wrapper.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "dataViews", - "id": "def-public.SavedObjectsClientPublicToCommon.create.$2", "type": "Object", "tags": [], "label": "attributes", @@ -5807,25 +5816,18 @@ }, { "parentPluginId": "dataViews", - "id": "def-public.SavedObjectsClientPublicToCommon.create.$3", + "id": "def-public.SavedObjectsClientPublicToCommon.create.$2", "type": "Object", "tags": [], "label": "options", "description": [], "signature": [ - { - "pluginId": "@kbn/core-saved-objects-api-browser", - "scope": "common", - "docId": "kibKbnCoreSavedObjectsApiBrowserPluginApi", - "section": "def-common.SavedObjectsCreateOptions", - "text": "SavedObjectsCreateOptions" - }, - " | undefined" + "DataViewCreateOptions" ], "path": "src/plugins/data_views/public/saved_objects_client_wrapper.ts", "deprecated": false, "trackAdoption": false, - "isRequired": false + "isRequired": true } ], "returnComment": [] @@ -5838,7 +5840,7 @@ "label": "delete", "description": [], "signature": [ - "(type: string, id: string) => Promise<{}>" + "(id: string) => Promise" ], "path": "src/plugins/data_views/public/saved_objects_client_wrapper.ts", "deprecated": false, @@ -5849,21 +5851,6 @@ "id": "def-public.SavedObjectsClientPublicToCommon.delete.$1", "type": "string", "tags": [], - "label": "type", - "description": [], - "signature": [ - "string" - ], - "path": "src/plugins/data_views/public/saved_objects_client_wrapper.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "dataViews", - "id": "def-public.SavedObjectsClientPublicToCommon.delete.$2", - "type": "string", - "tags": [], "label": "id", "description": [], "signature": [ @@ -6253,6 +6240,9 @@ "description": [ "\nFields as a serialized array of field specs" ], + "signature": [ + "string | undefined" + ], "path": "src/plugins/data_views/common/types.ts", "deprecated": false, "trackAdoption": false @@ -6586,6 +6576,28 @@ "path": "src/plugins/data_views/public/types.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "dataViews", + "id": "def-public.DataViewsPublicSetupDependencies.contentManagement", + "type": "Object", + "tags": [], + "label": "contentManagement", + "description": [ + "\nContent management" + ], + "signature": [ + { + "pluginId": "contentManagement", + "scope": "public", + "docId": "kibContentManagementPluginApi", + "section": "def-public.ContentManagementPublicSetup", + "text": "ContentManagementPublicSetup" + } + ], + "path": "src/plugins/data_views/public/types.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false @@ -6634,6 +6646,28 @@ "path": "src/plugins/data_views/public/types.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "dataViews", + "id": "def-public.DataViewsPublicStartDependencies.contentManagement", + "type": "Object", + "tags": [], + "label": "contentManagement", + "description": [ + "\nContent management" + ], + "signature": [ + { + "pluginId": "contentManagement", + "scope": "public", + "docId": "kibContentManagementPluginApi", + "section": "def-public.ContentManagementPublicStart", + "text": "ContentManagementPublicStart" + } + ], + "path": "src/plugins/data_views/public/types.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false @@ -7459,7 +7493,7 @@ "\nSearch for saved objects" ], "signature": [ - "(options: ", + "(options: ", { "pluginId": "dataViews", "scope": "common", @@ -7475,7 +7509,15 @@ "section": "def-common.SavedObject", "text": "SavedObject" }, - "[]>" + "<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewAttributes", + "text": "DataViewAttributes" + }, + ">[]>" ], "path": "src/plugins/data_views/common/types.ts", "deprecated": false, @@ -7517,7 +7559,7 @@ "\nGet a single saved object by id" ], "signature": [ - "(type: string, id: string) => Promise<", + "(id: string) => Promise<", { "pluginId": "@kbn/core-saved-objects-common", "scope": "common", @@ -7525,7 +7567,15 @@ "section": "def-common.SavedObject", "text": "SavedObject" }, - ">" + "<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewAttributes", + "text": "DataViewAttributes" + }, + ">>" ], "path": "src/plugins/data_views/common/types.ts", "deprecated": false, @@ -7536,9 +7586,9 @@ "id": "def-public.SavedObjectsClientCommon.get.$1", "type": "string", "tags": [], - "label": "type", + "label": "id", "description": [ - "- type of saved object" + "- id of saved object" ], "signature": [ "string" @@ -7547,17 +7597,44 @@ "deprecated": false, "trackAdoption": false, "isRequired": true - }, - { - "parentPluginId": "dataViews", - "id": "def-public.SavedObjectsClientCommon.get.$2", - "type": "string", - "tags": [], - "label": "id", - "description": [ - "- id of saved object" - ], - "signature": [ + } + ], + "returnComment": [] + }, + { + "parentPluginId": "dataViews", + "id": "def-public.SavedObjectsClientCommon.getSavedSearch", + "type": "Function", + "tags": [], + "label": "getSavedSearch", + "description": [ + "\nUpdate a saved object by id" + ], + "signature": [ + "(id: string) => Promise<", + { + "pluginId": "@kbn/core-saved-objects-common", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObject", + "text": "SavedObject" + }, + ">" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "dataViews", + "id": "def-public.SavedObjectsClientCommon.getSavedSearch.$1", + "type": "string", + "tags": [], + "label": "id", + "description": [ + "- id of saved object" + ], + "signature": [ "string" ], "path": "src/plugins/data_views/common/types.ts", @@ -7578,7 +7655,7 @@ "\nUpdate a saved object by id" ], "signature": [ - "(type: string, id: string, attributes: ", + "(id: string, attributes: ", { "pluginId": "dataViews", "scope": "common", @@ -7586,15 +7663,7 @@ "section": "def-common.DataViewAttributes", "text": "DataViewAttributes" }, - ", options: ", - { - "pluginId": "@kbn/core-saved-objects-api-browser", - "scope": "common", - "docId": "kibKbnCoreSavedObjectsApiBrowserPluginApi", - "section": "def-common.SavedObjectsUpdateOptions", - "text": "SavedObjectsUpdateOptions" - }, - ") => Promise<", + ", options: { version?: string | undefined; }) => Promise<", { "pluginId": "@kbn/core-saved-objects-common", "scope": "common", @@ -7613,23 +7682,6 @@ "id": "def-public.SavedObjectsClientCommon.update.$1", "type": "string", "tags": [], - "label": "type", - "description": [ - "- type of saved object" - ], - "signature": [ - "string" - ], - "path": "src/plugins/data_views/common/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "dataViews", - "id": "def-public.SavedObjectsClientCommon.update.$2", - "type": "string", - "tags": [], "label": "id", "description": [ "- id of saved object" @@ -7644,7 +7696,7 @@ }, { "parentPluginId": "dataViews", - "id": "def-public.SavedObjectsClientCommon.update.$3", + "id": "def-public.SavedObjectsClientCommon.update.$2", "type": "Object", "tags": [], "label": "attributes", @@ -7667,27 +7719,30 @@ }, { "parentPluginId": "dataViews", - "id": "def-public.SavedObjectsClientCommon.update.$4", + "id": "def-public.SavedObjectsClientCommon.update.$3", "type": "Object", "tags": [], "label": "options", - "description": [ - "- client options" - ], - "signature": [ - { - "pluginId": "@kbn/core-saved-objects-api-browser", - "scope": "common", - "docId": "kibKbnCoreSavedObjectsApiBrowserPluginApi", - "section": "def-common.SavedObjectsUpdateOptions", - "text": "SavedObjectsUpdateOptions" - }, - "" - ], + "description": [], "path": "src/plugins/data_views/common/types.ts", "deprecated": false, "trackAdoption": false, - "isRequired": true + "children": [ + { + "parentPluginId": "dataViews", + "id": "def-public.SavedObjectsClientCommon.update.$3.version", + "type": "string", + "tags": [], + "label": "version", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false + } + ] } ], "returnComment": [] @@ -7702,7 +7757,7 @@ "\nCreate a saved object" ], "signature": [ - "(type: string, attributes: ", + "(attributes: ", { "pluginId": "dataViews", "scope": "common", @@ -7710,15 +7765,7 @@ "section": "def-common.DataViewAttributes", "text": "DataViewAttributes" }, - ", options: ", - { - "pluginId": "@kbn/core-saved-objects-api-browser", - "scope": "common", - "docId": "kibKbnCoreSavedObjectsApiBrowserPluginApi", - "section": "def-common.SavedObjectsCreateOptions", - "text": "SavedObjectsCreateOptions" - }, - " & { initialNamespaces?: string[] | undefined; }) => Promise<", + ", options: { id?: string | undefined; initialNamespaces?: string[] | undefined; }) => Promise<", { "pluginId": "@kbn/core-saved-objects-common", "scope": "common", @@ -7735,23 +7782,6 @@ { "parentPluginId": "dataViews", "id": "def-public.SavedObjectsClientCommon.create.$1", - "type": "string", - "tags": [], - "label": "type", - "description": [ - "- type of saved object" - ], - "signature": [ - "string" - ], - "path": "src/plugins/data_views/common/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "dataViews", - "id": "def-public.SavedObjectsClientCommon.create.$2", "type": "Object", "tags": [], "label": "attributes", @@ -7774,27 +7804,44 @@ }, { "parentPluginId": "dataViews", - "id": "def-public.SavedObjectsClientCommon.create.$3", - "type": "CompoundType", + "id": "def-public.SavedObjectsClientCommon.create.$2", + "type": "Object", "tags": [], "label": "options", - "description": [ - "- client options" - ], - "signature": [ - { - "pluginId": "@kbn/core-saved-objects-api-browser", - "scope": "common", - "docId": "kibKbnCoreSavedObjectsApiBrowserPluginApi", - "section": "def-common.SavedObjectsCreateOptions", - "text": "SavedObjectsCreateOptions" - }, - " & { initialNamespaces?: string[] | undefined; }" - ], + "description": [], "path": "src/plugins/data_views/common/types.ts", "deprecated": false, "trackAdoption": false, - "isRequired": true + "children": [ + { + "parentPluginId": "dataViews", + "id": "def-public.SavedObjectsClientCommon.create.$2.id", + "type": "string", + "tags": [], + "label": "id", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "dataViews", + "id": "def-public.SavedObjectsClientCommon.create.$2.initialNamespaces", + "type": "Array", + "tags": [], + "label": "initialNamespaces", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false + } + ] } ], "returnComment": [] @@ -7809,7 +7856,7 @@ "\nDelete a saved object by id" ], "signature": [ - "(type: string, id: string) => Promise<{}>" + "(id: string) => Promise" ], "path": "src/plugins/data_views/common/types.ts", "deprecated": false, @@ -7820,23 +7867,6 @@ "id": "def-public.SavedObjectsClientCommon.delete.$1", "type": "string", "tags": [], - "label": "type", - "description": [ - "- type of saved object" - ], - "signature": [ - "string" - ], - "path": "src/plugins/data_views/common/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "dataViews", - "id": "def-public.SavedObjectsClientCommon.delete.$2", - "type": "string", - "tags": [], "label": "id", "description": [ "- id of saved object" @@ -8567,7 +8597,7 @@ }, { "plugin": "unifiedFieldList", - "path": "src/plugins/unified_field_list/common/utils/field_existing_utils.ts" + "path": "src/plugins/unified_field_list/public/services/field_existing/field_existing_utils.ts" }, { "plugin": "unifiedFieldList", @@ -8585,10 +8615,6 @@ "plugin": "lens", "path": "x-pack/plugins/lens/public/app_plugin/lens_top_nav.tsx" }, - { - "plugin": "triggersActionsUi", - "path": "x-pack/plugins/triggers_actions_ui/public/common/lib/data_apis.ts" - }, { "plugin": "aiops", "path": "x-pack/plugins/aiops/public/components/log_categorization/log_categorization_page.tsx" @@ -8633,6 +8659,10 @@ "plugin": "apm", "path": "x-pack/plugins/apm/server/routes/data_view/create_static_data_view.ts" }, + { + "plugin": "triggersActionsUi", + "path": "x-pack/plugins/triggers_actions_ui/public/common/lib/data_apis.ts" + }, { "plugin": "exploratoryView", "path": "x-pack/plugins/exploratory_view/public/utils/observability_data_views/observability_data_views.ts" @@ -8801,18 +8831,6 @@ "plugin": "enterpriseSearch", "path": "x-pack/plugins/enterprise_search/public/applications/analytics/components/analytics_collection_view/analytics_collection_explore_table_formulas.ts" }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/state_management/datasource.sagas.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/state_management/persistence.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/state_management/persistence.ts" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/containers/sourcerer/create_sourcerer_data_view.ts" @@ -8825,10 +8843,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/detections/components/rules/eql_query_bar/validators.ts" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/detections/components/rules/step_define_rule/index.tsx" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/index.tsx" @@ -8837,6 +8851,18 @@ "plugin": "timelines", "path": "x-pack/plugins/timelines/server/search_strategy/index_fields/index.ts" }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/public/state_management/datasource.sagas.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/public/state_management/persistence.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/public/state_management/persistence.ts" + }, { "plugin": "stackAlerts", "path": "x-pack/plugins/stack_alerts/public/rule_types/geo_containment/query_builder/expressions/boundary_index_expression.tsx" @@ -9001,14 +9027,6 @@ "plugin": "inputControlVis", "path": "src/plugins/input_control_vis/public/control/range_control_factory.ts" }, - { - "plugin": "unifiedFieldList", - "path": "src/plugins/unified_field_list/server/routes/field_stats.ts" - }, - { - "plugin": "unifiedFieldList", - "path": "src/plugins/unified_field_list/server/routes/field_stats.ts" - }, { "plugin": "visDefaultEditor", "path": "src/plugins/vis_default_editor/public/components/controls/field.tsx" @@ -9109,10 +9127,6 @@ "plugin": "visTypeTimeseries", "path": "src/plugins/vis_types/timeseries/server/lib/search_strategies/lib/cached_index_pattern_fetcher.test.ts" }, - { - "plugin": "discover", - "path": "src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts" - }, { "plugin": "infra", "path": "x-pack/plugins/infra/public/pages/metrics/hosts/hooks/use_data_view.test.ts" @@ -10926,7 +10940,7 @@ "section": "def-server.DataViewsServerPluginStart", "text": "DataViewsServerPluginStart" }, - ">, { expressions, usageCollection }: ", + ">, { expressions, usageCollection, contentManagement }: ", { "pluginId": "dataViews", "scope": "server", @@ -10983,7 +10997,7 @@ "id": "def-server.DataViewsServerPlugin.setup.$2", "type": "Object", "tags": [], - "label": "{ expressions, usageCollection }", + "label": "{ expressions, usageCollection, contentManagement }", "description": [], "signature": [ { @@ -12481,7 +12495,7 @@ "\nDeletes an index pattern from .kibana index." ], "signature": [ - "(indexPatternId: string) => Promise<{}>" + "(indexPatternId: string) => Promise" ], "path": "src/plugins/data_views/common/data_views/data_views.ts", "deprecated": false, @@ -13195,6 +13209,28 @@ "path": "src/plugins/data_views/server/types.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "dataViews", + "id": "def-server.DataViewsServerPluginSetupDependencies.contentManagement", + "type": "Object", + "tags": [], + "label": "contentManagement", + "description": [ + "\nContent management" + ], + "signature": [ + { + "pluginId": "contentManagement", + "scope": "server", + "docId": "kibContentManagementPluginApi", + "section": "def-server.ContentManagementServerSetup", + "text": "ContentManagementServerSetup" + } + ], + "path": "src/plugins/data_views/server/types.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false @@ -13491,7 +13527,7 @@ "\nSearch for saved objects" ], "signature": [ - "(options: ", + "(options: ", { "pluginId": "dataViews", "scope": "common", @@ -13507,7 +13543,15 @@ "section": "def-common.SavedObject", "text": "SavedObject" }, - "[]>" + "<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewAttributes", + "text": "DataViewAttributes" + }, + ">[]>" ], "path": "src/plugins/data_views/common/types.ts", "deprecated": false, @@ -13549,7 +13593,7 @@ "\nGet a single saved object by id" ], "signature": [ - "(type: string, id: string) => Promise<", + "(id: string) => Promise<", { "pluginId": "@kbn/core-saved-objects-common", "scope": "common", @@ -13557,7 +13601,15 @@ "section": "def-common.SavedObject", "text": "SavedObject" }, - ">" + "<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewAttributes", + "text": "DataViewAttributes" + }, + ">>" ], "path": "src/plugins/data_views/common/types.ts", "deprecated": false, @@ -13568,9 +13620,9 @@ "id": "def-server.SavedObjectsClientCommon.get.$1", "type": "string", "tags": [], - "label": "type", + "label": "id", "description": [ - "- type of saved object" + "- id of saved object" ], "signature": [ "string" @@ -13579,10 +13631,37 @@ "deprecated": false, "trackAdoption": false, "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "dataViews", + "id": "def-server.SavedObjectsClientCommon.getSavedSearch", + "type": "Function", + "tags": [], + "label": "getSavedSearch", + "description": [ + "\nUpdate a saved object by id" + ], + "signature": [ + "(id: string) => Promise<", + { + "pluginId": "@kbn/core-saved-objects-common", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObject", + "text": "SavedObject" }, + ">" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "dataViews", - "id": "def-server.SavedObjectsClientCommon.get.$2", + "id": "def-server.SavedObjectsClientCommon.getSavedSearch.$1", "type": "string", "tags": [], "label": "id", @@ -13610,7 +13689,7 @@ "\nUpdate a saved object by id" ], "signature": [ - "(type: string, id: string, attributes: ", + "(id: string, attributes: ", { "pluginId": "dataViews", "scope": "common", @@ -13618,15 +13697,7 @@ "section": "def-common.DataViewAttributes", "text": "DataViewAttributes" }, - ", options: ", - { - "pluginId": "@kbn/core-saved-objects-api-browser", - "scope": "common", - "docId": "kibKbnCoreSavedObjectsApiBrowserPluginApi", - "section": "def-common.SavedObjectsUpdateOptions", - "text": "SavedObjectsUpdateOptions" - }, - ") => Promise<", + ", options: { version?: string | undefined; }) => Promise<", { "pluginId": "@kbn/core-saved-objects-common", "scope": "common", @@ -13645,23 +13716,6 @@ "id": "def-server.SavedObjectsClientCommon.update.$1", "type": "string", "tags": [], - "label": "type", - "description": [ - "- type of saved object" - ], - "signature": [ - "string" - ], - "path": "src/plugins/data_views/common/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "dataViews", - "id": "def-server.SavedObjectsClientCommon.update.$2", - "type": "string", - "tags": [], "label": "id", "description": [ "- id of saved object" @@ -13676,7 +13730,7 @@ }, { "parentPluginId": "dataViews", - "id": "def-server.SavedObjectsClientCommon.update.$3", + "id": "def-server.SavedObjectsClientCommon.update.$2", "type": "Object", "tags": [], "label": "attributes", @@ -13699,27 +13753,30 @@ }, { "parentPluginId": "dataViews", - "id": "def-server.SavedObjectsClientCommon.update.$4", + "id": "def-server.SavedObjectsClientCommon.update.$3", "type": "Object", "tags": [], "label": "options", - "description": [ - "- client options" - ], - "signature": [ - { - "pluginId": "@kbn/core-saved-objects-api-browser", - "scope": "common", - "docId": "kibKbnCoreSavedObjectsApiBrowserPluginApi", - "section": "def-common.SavedObjectsUpdateOptions", - "text": "SavedObjectsUpdateOptions" - }, - "" - ], + "description": [], "path": "src/plugins/data_views/common/types.ts", "deprecated": false, "trackAdoption": false, - "isRequired": true + "children": [ + { + "parentPluginId": "dataViews", + "id": "def-server.SavedObjectsClientCommon.update.$3.version", + "type": "string", + "tags": [], + "label": "version", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false + } + ] } ], "returnComment": [] @@ -13734,7 +13791,7 @@ "\nCreate a saved object" ], "signature": [ - "(type: string, attributes: ", + "(attributes: ", { "pluginId": "dataViews", "scope": "common", @@ -13742,15 +13799,7 @@ "section": "def-common.DataViewAttributes", "text": "DataViewAttributes" }, - ", options: ", - { - "pluginId": "@kbn/core-saved-objects-api-browser", - "scope": "common", - "docId": "kibKbnCoreSavedObjectsApiBrowserPluginApi", - "section": "def-common.SavedObjectsCreateOptions", - "text": "SavedObjectsCreateOptions" - }, - " & { initialNamespaces?: string[] | undefined; }) => Promise<", + ", options: { id?: string | undefined; initialNamespaces?: string[] | undefined; }) => Promise<", { "pluginId": "@kbn/core-saved-objects-common", "scope": "common", @@ -13767,23 +13816,6 @@ { "parentPluginId": "dataViews", "id": "def-server.SavedObjectsClientCommon.create.$1", - "type": "string", - "tags": [], - "label": "type", - "description": [ - "- type of saved object" - ], - "signature": [ - "string" - ], - "path": "src/plugins/data_views/common/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "dataViews", - "id": "def-server.SavedObjectsClientCommon.create.$2", "type": "Object", "tags": [], "label": "attributes", @@ -13806,27 +13838,44 @@ }, { "parentPluginId": "dataViews", - "id": "def-server.SavedObjectsClientCommon.create.$3", - "type": "CompoundType", + "id": "def-server.SavedObjectsClientCommon.create.$2", + "type": "Object", "tags": [], "label": "options", - "description": [ - "- client options" - ], - "signature": [ - { - "pluginId": "@kbn/core-saved-objects-api-browser", - "scope": "common", - "docId": "kibKbnCoreSavedObjectsApiBrowserPluginApi", - "section": "def-common.SavedObjectsCreateOptions", - "text": "SavedObjectsCreateOptions" - }, - " & { initialNamespaces?: string[] | undefined; }" - ], + "description": [], "path": "src/plugins/data_views/common/types.ts", "deprecated": false, "trackAdoption": false, - "isRequired": true + "children": [ + { + "parentPluginId": "dataViews", + "id": "def-server.SavedObjectsClientCommon.create.$2.id", + "type": "string", + "tags": [], + "label": "id", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "dataViews", + "id": "def-server.SavedObjectsClientCommon.create.$2.initialNamespaces", + "type": "Array", + "tags": [], + "label": "initialNamespaces", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false + } + ] } ], "returnComment": [] @@ -13841,7 +13890,7 @@ "\nDelete a saved object by id" ], "signature": [ - "(type: string, id: string) => Promise<{}>" + "(id: string) => Promise" ], "path": "src/plugins/data_views/common/types.ts", "deprecated": false, @@ -13852,23 +13901,6 @@ "id": "def-server.SavedObjectsClientCommon.delete.$1", "type": "string", "tags": [], - "label": "type", - "description": [ - "- type of saved object" - ], - "signature": [ - "string" - ], - "path": "src/plugins/data_views/common/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "dataViews", - "id": "def-server.SavedObjectsClientCommon.delete.$2", - "type": "string", - "tags": [], "label": "id", "description": [ "- id of saved object" @@ -14451,7 +14483,7 @@ "TransportRequestOptions", " | undefined): Promise<", "CountResponse", - ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", + ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchApplication]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", "default", "; child: (opts: ", "ClientOptions", @@ -14697,29 +14729,29 @@ "ExplainResponse", ">; }; features: ", "default", - "; fieldCaps: { (this: That, params: ", + "; fieldCaps: { (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithOutMeta", " | undefined): Promise<", "FieldCapsResponse", - ">; (this: That, params: ", + ">; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithMeta", " | undefined): Promise<", "TransportResult", "<", "FieldCapsResponse", - ", unknown>>; (this: That, params: ", + ", unknown>>; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptions", " | undefined): Promise<", "FieldCapsResponse", @@ -14825,7 +14857,33 @@ "TransportRequestOptions", " | undefined): Promise; }; graph: ", "default", - "; ilm: ", + "; healthReport: { (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "HealthReportResponse", + ">; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "HealthReportResponse", + ", unknown>>; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "HealthReportResponse", + ">; }; ilm: ", "default", "; index: { (this: That, params: ", "IndexRequest", @@ -15271,7 +15329,9 @@ "TransportRequestOptions", " | undefined): Promise<", "ScrollResponse", - ">; }; searchMvt: { (this: That, params: ", + ">; }; searchApplication: ", + "default", + "; searchMvt: { (this: That, params: ", "SearchMvtRequest", " | ", "SearchMvtRequest", @@ -15862,7 +15922,7 @@ }, { "plugin": "unifiedFieldList", - "path": "src/plugins/unified_field_list/common/utils/field_existing_utils.ts" + "path": "src/plugins/unified_field_list/public/services/field_existing/field_existing_utils.ts" }, { "plugin": "unifiedFieldList", @@ -15880,10 +15940,6 @@ "plugin": "lens", "path": "x-pack/plugins/lens/public/app_plugin/lens_top_nav.tsx" }, - { - "plugin": "triggersActionsUi", - "path": "x-pack/plugins/triggers_actions_ui/public/common/lib/data_apis.ts" - }, { "plugin": "aiops", "path": "x-pack/plugins/aiops/public/components/log_categorization/log_categorization_page.tsx" @@ -15928,6 +15984,10 @@ "plugin": "apm", "path": "x-pack/plugins/apm/server/routes/data_view/create_static_data_view.ts" }, + { + "plugin": "triggersActionsUi", + "path": "x-pack/plugins/triggers_actions_ui/public/common/lib/data_apis.ts" + }, { "plugin": "exploratoryView", "path": "x-pack/plugins/exploratory_view/public/utils/observability_data_views/observability_data_views.ts" @@ -16096,18 +16156,6 @@ "plugin": "enterpriseSearch", "path": "x-pack/plugins/enterprise_search/public/applications/analytics/components/analytics_collection_view/analytics_collection_explore_table_formulas.ts" }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/state_management/datasource.sagas.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/state_management/persistence.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/state_management/persistence.ts" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/containers/sourcerer/create_sourcerer_data_view.ts" @@ -16120,10 +16168,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/detections/components/rules/eql_query_bar/validators.ts" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/detections/components/rules/step_define_rule/index.tsx" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/index.tsx" @@ -16132,6 +16176,18 @@ "plugin": "timelines", "path": "x-pack/plugins/timelines/server/search_strategy/index_fields/index.ts" }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/public/state_management/datasource.sagas.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/public/state_management/persistence.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/public/state_management/persistence.ts" + }, { "plugin": "stackAlerts", "path": "x-pack/plugins/stack_alerts/public/rule_types/geo_containment/query_builder/expressions/boundary_index_expression.tsx" @@ -16296,14 +16352,6 @@ "plugin": "inputControlVis", "path": "src/plugins/input_control_vis/public/control/range_control_factory.ts" }, - { - "plugin": "unifiedFieldList", - "path": "src/plugins/unified_field_list/server/routes/field_stats.ts" - }, - { - "plugin": "unifiedFieldList", - "path": "src/plugins/unified_field_list/server/routes/field_stats.ts" - }, { "plugin": "visDefaultEditor", "path": "src/plugins/vis_default_editor/public/components/controls/field.tsx" @@ -16404,10 +16452,6 @@ "plugin": "visTypeTimeseries", "path": "src/plugins/vis_types/timeseries/server/lib/search_strategies/lib/cached_index_pattern_fetcher.test.ts" }, - { - "plugin": "discover", - "path": "src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts" - }, { "plugin": "infra", "path": "x-pack/plugins/infra/public/pages/metrics/hosts/hooks/use_data_view.test.ts" @@ -20437,7 +20481,7 @@ "\nDeletes an index pattern from .kibana index." ], "signature": [ - "(indexPatternId: string) => Promise<{}>" + "(indexPatternId: string) => Promise" ], "path": "src/plugins/data_views/common/data_views/data_views.ts", "deprecated": false, @@ -20942,6 +20986,9 @@ "description": [ "\nFields as a serialized array of field specs" ], + "signature": [ + "string | undefined" + ], "path": "src/plugins/data_views/common/types.ts", "deprecated": false, "trackAdoption": false @@ -22117,7 +22164,7 @@ "\nDelete data view" ], "signature": [ - "(indexPatternId: string) => Promise<{}>" + "(indexPatternId: string) => Promise" ], "path": "src/plugins/data_views/common/data_views/data_views.ts", "deprecated": false, @@ -24173,513 +24220,479 @@ }, { "parentPluginId": "dataViews", - "id": "def-common.SavedObjectsClientCommon", + "id": "def-common.SavedObject", "type": "Interface", "tags": [], - "label": "SavedObjectsClientCommon", + "label": "SavedObject", "description": [ - "\nCommon interface for the saved objects client" + "\nDefinition of the Saved Object interface\n" ], - "path": "src/plugins/data_views/common/types.ts", + "signature": [ + { + "pluginId": "@kbn/core-saved-objects-common", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObject", + "text": "SavedObject" + }, + "" + ], + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "dataViews", - "id": "def-common.SavedObjectsClientCommon.find", - "type": "Function", + "id": "def-common.SavedObject.id", + "type": "string", "tags": [], - "label": "find", + "label": "id", "description": [ - "\nSearch for saved objects" + "The ID of this Saved Object, guaranteed to be unique for all objects of the same `type`" + ], + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "dataViews", + "id": "def-common.SavedObject.type", + "type": "string", + "tags": [], + "label": "type", + "description": [ + " The type of Saved Object. Each plugin can define it's own custom Saved Object types." + ], + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "dataViews", + "id": "def-common.SavedObject.version", + "type": "string", + "tags": [], + "label": "version", + "description": [ + "An opaque version number which changes on each successful write operation. Can be used for implementing optimistic concurrency control." ], "signature": [ - "(options: ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.SavedObjectsClientCommonFindArgs", - "text": "SavedObjectsClientCommonFindArgs" - }, - ") => Promise<", - { - "pluginId": "@kbn/core-saved-objects-common", - "scope": "common", - "docId": "kibKbnCoreSavedObjectsCommonPluginApi", - "section": "def-common.SavedObject", - "text": "SavedObject" - }, - "[]>" + "string | undefined" ], - "path": "src/plugins/data_views/common/types.ts", + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "dataViews", - "id": "def-common.SavedObjectsClientCommon.find.$1", - "type": "Object", - "tags": [], - "label": "options", - "description": [ - "- options for search" - ], - "signature": [ - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.SavedObjectsClientCommonFindArgs", - "text": "SavedObjectsClientCommonFindArgs" - } - ], - "path": "src/plugins/data_views/common/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } + "trackAdoption": false + }, + { + "parentPluginId": "dataViews", + "id": "def-common.SavedObject.created_at", + "type": "string", + "tags": [], + "label": "created_at", + "description": [ + "Timestamp of the time this document had been created." ], - "returnComment": [] + "signature": [ + "string | undefined" + ], + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", + "deprecated": false, + "trackAdoption": false }, { "parentPluginId": "dataViews", - "id": "def-common.SavedObjectsClientCommon.get", - "type": "Function", + "id": "def-common.SavedObject.updated_at", + "type": "string", "tags": [], - "label": "get", + "label": "updated_at", "description": [ - "\nGet a single saved object by id" + "Timestamp of the last time this document had been updated." + ], + "signature": [ + "string | undefined" + ], + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "dataViews", + "id": "def-common.SavedObject.error", + "type": "Object", + "tags": [], + "label": "error", + "description": [ + "Error associated with this object, populated if an operation failed for this object." ], "signature": [ - "(type: string, id: string) => Promise<", { "pluginId": "@kbn/core-saved-objects-common", "scope": "common", "docId": "kibKbnCoreSavedObjectsCommonPluginApi", - "section": "def-common.SavedObject", - "text": "SavedObject" + "section": "def-common.SavedObjectError", + "text": "SavedObjectError" }, - ">" + " | undefined" ], - "path": "src/plugins/data_views/common/types.ts", + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "dataViews", - "id": "def-common.SavedObjectsClientCommon.get.$1", - "type": "string", - "tags": [], - "label": "type", - "description": [ - "- type of saved object" - ], - "signature": [ - "string" - ], - "path": "src/plugins/data_views/common/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "dataViews", - "id": "def-common.SavedObjectsClientCommon.get.$2", - "type": "string", - "tags": [], - "label": "id", - "description": [ - "- id of saved object" - ], - "signature": [ - "string" - ], - "path": "src/plugins/data_views/common/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } + "trackAdoption": false + }, + { + "parentPluginId": "dataViews", + "id": "def-common.SavedObject.attributes", + "type": "Uncategorized", + "tags": [], + "label": "attributes", + "description": [ + "The data for a Saved Object is stored as an object in the `attributes` property." ], - "returnComment": [] + "signature": [ + "T" + ], + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", + "deprecated": false, + "trackAdoption": false }, { "parentPluginId": "dataViews", - "id": "def-common.SavedObjectsClientCommon.update", - "type": "Function", + "id": "def-common.SavedObject.references", + "type": "Array", "tags": [], - "label": "update", + "label": "references", "description": [ - "\nUpdate a saved object by id" + "{@inheritdoc SavedObjectReference}" ], "signature": [ - "(type: string, id: string, attributes: ", { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewAttributes", - "text": "DataViewAttributes" - }, - ", options: ", - { - "pluginId": "@kbn/core-saved-objects-api-browser", + "pluginId": "@kbn/core-saved-objects-common", "scope": "common", - "docId": "kibKbnCoreSavedObjectsApiBrowserPluginApi", - "section": "def-common.SavedObjectsUpdateOptions", - "text": "SavedObjectsUpdateOptions" + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObjectReference", + "text": "SavedObjectReference" }, - ") => Promise<", + "[]" + ], + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "dataViews", + "id": "def-common.SavedObject.migrationVersion", + "type": "Object", + "tags": [ + "deprecated" + ], + "label": "migrationVersion", + "description": [ + "\n{@inheritdoc SavedObjectsMigrationVersion}" + ], + "signature": [ { "pluginId": "@kbn/core-saved-objects-common", "scope": "common", "docId": "kibKbnCoreSavedObjectsCommonPluginApi", - "section": "def-common.SavedObject", - "text": "SavedObject" + "section": "def-common.SavedObjectsMigrationVersion", + "text": "SavedObjectsMigrationVersion" }, - ">" + " | undefined" ], - "path": "src/plugins/data_views/common/types.ts", - "deprecated": false, + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", + "deprecated": true, "trackAdoption": false, - "children": [ + "references": [ { - "parentPluginId": "dataViews", - "id": "def-common.SavedObjectsClientCommon.update.$1", - "type": "string", - "tags": [], - "label": "type", - "description": [ - "- type of saved object" - ], - "signature": [ - "string" - ], - "path": "src/plugins/data_views/common/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true + "plugin": "@kbn/core-saved-objects-api-browser", + "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" }, { - "parentPluginId": "dataViews", - "id": "def-common.SavedObjectsClientCommon.update.$2", - "type": "string", - "tags": [], - "label": "id", - "description": [ - "- id of saved object" - ], - "signature": [ - "string" - ], - "path": "src/plugins/data_views/common/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true + "plugin": "@kbn/core-saved-objects-browser-internal", + "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" }, { - "parentPluginId": "dataViews", - "id": "def-common.SavedObjectsClientCommon.update.$3", - "type": "Object", - "tags": [], - "label": "attributes", - "description": [ - "- attributes to update" - ], - "signature": [ - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewAttributes", - "text": "DataViewAttributes" - } - ], - "path": "src/plugins/data_views/common/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true + "plugin": "@kbn/core-saved-objects-browser-internal", + "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" }, { - "parentPluginId": "dataViews", - "id": "def-common.SavedObjectsClientCommon.update.$4", - "type": "Object", - "tags": [], - "label": "options", - "description": [ - "- client options" - ], - "signature": [ - { - "pluginId": "@kbn/core-saved-objects-api-browser", - "scope": "common", - "docId": "kibKbnCoreSavedObjectsApiBrowserPluginApi", - "section": "def-common.SavedObjectsUpdateOptions", - "text": "SavedObjectsUpdateOptions" - }, - "" - ], - "path": "src/plugins/data_views/common/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "dataViews", - "id": "def-common.SavedObjectsClientCommon.create", - "type": "Function", - "tags": [], - "label": "create", - "description": [ - "\nCreate a saved object" - ], - "signature": [ - "(type: string, attributes: ", + "plugin": "@kbn/core-saved-objects-browser-mocks", + "path": "packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts" + }, { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewAttributes", - "text": "DataViewAttributes" + "plugin": "@kbn/core-saved-objects-api-server-internal", + "path": "packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/utils/internal_utils.ts" }, - ", options: ", { - "pluginId": "@kbn/core-saved-objects-api-browser", - "scope": "common", - "docId": "kibKbnCoreSavedObjectsApiBrowserPluginApi", - "section": "def-common.SavedObjectsCreateOptions", - "text": "SavedObjectsCreateOptions" + "plugin": "@kbn/core-saved-objects-import-export-server-internal", + "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/lib/collect_saved_objects.ts" }, - " & { initialNamespaces?: string[] | undefined; }) => Promise<", { - "pluginId": "@kbn/core-saved-objects-common", - "scope": "common", - "docId": "kibKbnCoreSavedObjectsCommonPluginApi", - "section": "def-common.SavedObject", - "text": "SavedObject" + "plugin": "@kbn/core-saved-objects-server-internal", + "path": "packages/core/saved-objects/core-saved-objects-server-internal/src/routes/legacy_import_export/lib/import_dashboards.ts" }, - ">" - ], - "path": "src/plugins/data_views/common/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ { - "parentPluginId": "dataViews", - "id": "def-common.SavedObjectsClientCommon.create.$1", - "type": "string", - "tags": [], - "label": "type", - "description": [ - "- type of saved object" - ], - "signature": [ - "string" - ], - "path": "src/plugins/data_views/common/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true + "plugin": "home", + "path": "src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts" }, { - "parentPluginId": "dataViews", - "id": "def-common.SavedObjectsClientCommon.create.$2", - "type": "Object", - "tags": [], - "label": "attributes", - "description": [ - "- attributes to set" - ], - "signature": [ - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewAttributes", - "text": "DataViewAttributes" - } - ], - "path": "src/plugins/data_views/common/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true + "plugin": "home", + "path": "src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts" }, { - "parentPluginId": "dataViews", - "id": "def-common.SavedObjectsClientCommon.create.$3", - "type": "CompoundType", - "tags": [], - "label": "options", - "description": [ - "- client options" - ], - "signature": [ - { - "pluginId": "@kbn/core-saved-objects-api-browser", - "scope": "common", - "docId": "kibKbnCoreSavedObjectsApiBrowserPluginApi", - "section": "def-common.SavedObjectsCreateOptions", - "text": "SavedObjectsCreateOptions" - }, - " & { initialNamespaces?: string[] | undefined; }" - ], - "path": "src/plugins/data_views/common/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "dataViews", - "id": "def-common.SavedObjectsClientCommon.delete", - "type": "Function", - "tags": [], - "label": "delete", - "description": [ - "\nDelete a saved object by id" - ], - "signature": [ - "(type: string, id: string) => Promise<{}>" - ], - "path": "src/plugins/data_views/common/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + "plugin": "home", + "path": "src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts" + }, { - "parentPluginId": "dataViews", - "id": "def-common.SavedObjectsClientCommon.delete.$1", - "type": "string", - "tags": [], - "label": "type", - "description": [ - "- type of saved object" - ], - "signature": [ - "string" - ], - "path": "src/plugins/data_views/common/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true + "plugin": "home", + "path": "src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts" }, { - "parentPluginId": "dataViews", - "id": "def-common.SavedObjectsClientCommon.delete.$2", - "type": "string", - "tags": [], - "label": "id", - "description": [ - "- id of saved object" - ], - "signature": [ - "string" - ], - "path": "src/plugins/data_views/common/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true + "plugin": "home", + "path": "src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts" + }, + { + "plugin": "home", + "path": "src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts" + }, + { + "plugin": "home", + "path": "src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts" + }, + { + "plugin": "home", + "path": "src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts" + }, + { + "plugin": "home", + "path": "src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts" + }, + { + "plugin": "home", + "path": "src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/server/sample_data/logs.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/server/sample_data/ecommerce.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/server/sample_data/flights.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/usage/detections/rules/get_metrics.mocks.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/epm/packages/get.test.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/epm/packages/get.test.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/epm/packages/get.test.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/epm/packages/get.test.ts" } - ], - "returnComment": [] - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "dataViews", - "id": "def-common.SavedObjectsClientCommonFindArgs", - "type": "Interface", - "tags": [], - "label": "SavedObjectsClientCommonFindArgs", - "description": [ - "\nSaved objects common find args" - ], - "path": "src/plugins/data_views/common/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + ] + }, { "parentPluginId": "dataViews", - "id": "def-common.SavedObjectsClientCommonFindArgs.type", - "type": "CompoundType", + "id": "def-common.SavedObject.coreMigrationVersion", + "type": "string", "tags": [], - "label": "type", + "label": "coreMigrationVersion", "description": [ - "\nSaved object type" + "A semver value that is used when upgrading objects between Kibana versions." ], "signature": [ - "string | string[]" + "string | undefined" ], - "path": "src/plugins/data_views/common/types.ts", + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "dataViews", - "id": "def-common.SavedObjectsClientCommonFindArgs.fields", - "type": "Array", + "id": "def-common.SavedObject.typeMigrationVersion", + "type": "string", "tags": [], - "label": "fields", + "label": "typeMigrationVersion", "description": [ - "\nSaved object fields" + "A semver value that is used when migrating documents between Kibana versions." ], "signature": [ - "string[] | undefined" + "string | undefined" ], - "path": "src/plugins/data_views/common/types.ts", + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "dataViews", - "id": "def-common.SavedObjectsClientCommonFindArgs.perPage", - "type": "number", + "id": "def-common.SavedObject.namespaces", + "type": "Array", "tags": [], - "label": "perPage", + "label": "namespaces", "description": [ - "\nResults per page" + "\nSpace(s) that this saved object exists in. This attribute is not used for \"global\" saved object types which are registered with\n`namespaceType: 'agnostic'`." ], "signature": [ - "number | undefined" + "string[] | undefined" ], - "path": "src/plugins/data_views/common/types.ts", + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "dataViews", - "id": "def-common.SavedObjectsClientCommonFindArgs.search", + "id": "def-common.SavedObject.originId", "type": "string", "tags": [], - "label": "search", + "label": "originId", "description": [ - "\nQuery string" + "\nThe ID of the saved object this originated from. This is set if this object's `id` was regenerated; that can happen during migration\nfrom a legacy single-namespace type, or during import. It is only set during migration or create operations. This is used during import\nto ensure that ID regeneration is deterministic, so saved objects will be overwritten if they are imported multiple times into a given\nspace." ], "signature": [ "string | undefined" ], - "path": "src/plugins/data_views/common/types.ts", + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "dataViews", - "id": "def-common.SavedObjectsClientCommonFindArgs.searchFields", - "type": "Array", + "id": "def-common.SavedObject.managed", + "type": "CompoundType", "tags": [], - "label": "searchFields", + "label": "managed", "description": [ - "\nFields to search" + "\nFlag indicating if a saved object is managed by Kibana (default=false)\n\nThis can be leveraged by applications to e.g. prevent edits to a managed\nsaved object. Instead, users can be guided to create a copy first and\nmake their edits to the copy." ], "signature": [ - "string[] | undefined" + "boolean | undefined" ], - "path": "src/plugins/data_views/common/types.ts", + "path": "packages/core/saved-objects/core-saved-objects-common/src/server_types.ts", "deprecated": false, "trackAdoption": false } @@ -24688,155 +24701,110 @@ }, { "parentPluginId": "dataViews", - "id": "def-common.TimeBasedDataView", + "id": "def-common.SavedObjectsClientCommon", "type": "Interface", "tags": [], - "label": "TimeBasedDataView", + "label": "SavedObjectsClientCommon", "description": [ - "\nAn interface representing a data view that is time based." + "\nCommon interface for the saved objects client" ], - "signature": [ - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.TimeBasedDataView", - "text": "TimeBasedDataView" - }, - " extends ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" - } - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", + "path": "src/plugins/data_views/common/types.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "dataViews", - "id": "def-common.TimeBasedDataView.timeFieldName", - "type": "string", - "tags": [], - "label": "timeFieldName", - "description": [ - "\nThe timestamp field name." - ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "dataViews", - "id": "def-common.TimeBasedDataView.getTimeField", + "id": "def-common.SavedObjectsClientCommon.find", "type": "Function", "tags": [], - "label": "getTimeField", + "label": "find", "description": [ - "\nThe timestamp field." + "\nSearch for saved objects" ], "signature": [ - "() => ", + "(options: ", { "pluginId": "dataViews", "scope": "common", "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewField", - "text": "DataViewField" - } + "section": "def-common.SavedObjectsClientCommonFindArgs", + "text": "SavedObjectsClientCommonFindArgs" + }, + ") => Promise<", + { + "pluginId": "@kbn/core-saved-objects-common", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObject", + "text": "SavedObject" + }, + "<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewAttributes", + "text": "DataViewAttributes" + }, + ">[]>" ], - "path": "src/plugins/data_views/common/data_views/data_view.ts", + "path": "src/plugins/data_views/common/types.ts", "deprecated": false, "trackAdoption": false, - "children": [], + "children": [ + { + "parentPluginId": "dataViews", + "id": "def-common.SavedObjectsClientCommon.find.$1", + "type": "Object", + "tags": [], + "label": "options", + "description": [ + "- options for search" + ], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.SavedObjectsClientCommonFindArgs", + "text": "SavedObjectsClientCommonFindArgs" + } + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], "returnComment": [] - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "dataViews", - "id": "def-common.ToSpecConfig", - "type": "Interface", - "tags": [], - "label": "ToSpecConfig", - "description": [ - "\nOptional format getter when serializing a field" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + }, { "parentPluginId": "dataViews", - "id": "def-common.ToSpecConfig.getFormatterForField", + "id": "def-common.SavedObjectsClientCommon.get", "type": "Function", "tags": [], - "label": "getFormatterForField", + "label": "get", "description": [ - "\nField format getter" + "\nGet a single saved object by id" ], "signature": [ - "((field: ", + "(id: string) => Promise<", { - "pluginId": "dataViews", + "pluginId": "@kbn/core-saved-objects-common", "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.FieldSpec", - "text": "FieldSpec" + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObject", + "text": "SavedObject" }, - " | ", + "<", { "pluginId": "dataViews", "scope": "common", "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewField", - "text": "DataViewField" - }, - ") => ", - { - "pluginId": "fieldFormats", - "scope": "common", - "docId": "kibFieldFormatsPluginApi", - "section": "def-common.FieldFormat", - "text": "FieldFormat" + "section": "def-common.DataViewAttributes", + "text": "DataViewAttributes" }, - ") | undefined" - ], - "path": "src/plugins/data_views/common/fields/data_view_field.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "dataViews", - "id": "def-common.UiSettingsCommon", - "type": "Interface", - "tags": [], - "label": "UiSettingsCommon", - "description": [ - "\nInterface for UiSettings common interface {@link UiSettingsClient}" - ], - "path": "src/plugins/data_views/common/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "dataViews", - "id": "def-common.UiSettingsCommon.get", - "type": "Function", - "tags": [], - "label": "get", - "description": [ - "\nGet a setting value" - ], - "signature": [ - "(key: string) => Promise" + ">>" ], "path": "src/plugins/data_views/common/types.ts", "deprecated": false, @@ -24844,12 +24812,12 @@ "children": [ { "parentPluginId": "dataViews", - "id": "def-common.UiSettingsCommon.get.$1", + "id": "def-common.SavedObjectsClientCommon.get.$1", "type": "string", "tags": [], - "label": "key", + "label": "id", "description": [ - "name of value" + "- id of saved object" ], "signature": [ "string" @@ -24864,33 +24832,75 @@ }, { "parentPluginId": "dataViews", - "id": "def-common.UiSettingsCommon.getAll", + "id": "def-common.SavedObjectsClientCommon.getSavedSearch", "type": "Function", "tags": [], - "label": "getAll", + "label": "getSavedSearch", "description": [ - "\nGet all settings values" + "\nUpdate a saved object by id" ], "signature": [ - "() => Promise>" + "(id: string) => Promise<", + { + "pluginId": "@kbn/core-saved-objects-common", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObject", + "text": "SavedObject" + }, + ">" ], "path": "src/plugins/data_views/common/types.ts", "deprecated": false, "trackAdoption": false, - "children": [], + "children": [ + { + "parentPluginId": "dataViews", + "id": "def-common.SavedObjectsClientCommon.getSavedSearch.$1", + "type": "string", + "tags": [], + "label": "id", + "description": [ + "- id of saved object" + ], + "signature": [ + "string" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], "returnComment": [] }, { "parentPluginId": "dataViews", - "id": "def-common.UiSettingsCommon.set", + "id": "def-common.SavedObjectsClientCommon.update", "type": "Function", "tags": [], - "label": "set", + "label": "update", "description": [ - "\nSet a setting value" + "\nUpdate a saved object by id" ], "signature": [ - "(key: string, value: T) => Promise" + "(id: string, attributes: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewAttributes", + "text": "DataViewAttributes" + }, + ", options: { version?: string | undefined; }) => Promise<", + { + "pluginId": "@kbn/core-saved-objects-common", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObject", + "text": "SavedObject" + }, + ">" ], "path": "src/plugins/data_views/common/types.ts", "deprecated": false, @@ -24898,12 +24908,12 @@ "children": [ { "parentPluginId": "dataViews", - "id": "def-common.UiSettingsCommon.set.$1", + "id": "def-common.SavedObjectsClientCommon.update.$1", "type": "string", "tags": [], - "label": "key", + "label": "id", "description": [ - "name of value" + "- id of saved object" ], "signature": [ "string" @@ -24915,35 +24925,84 @@ }, { "parentPluginId": "dataViews", - "id": "def-common.UiSettingsCommon.set.$2", - "type": "Uncategorized", + "id": "def-common.SavedObjectsClientCommon.update.$2", + "type": "Object", "tags": [], - "label": "value", + "label": "attributes", "description": [ - "value to set" + "- attributes to update" ], "signature": [ - "T" + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewAttributes", + "text": "DataViewAttributes" + } ], "path": "src/plugins/data_views/common/types.ts", "deprecated": false, "trackAdoption": false, "isRequired": true - } - ], - "returnComment": [] - }, + }, + { + "parentPluginId": "dataViews", + "id": "def-common.SavedObjectsClientCommon.update.$3", + "type": "Object", + "tags": [], + "label": "options", + "description": [], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "dataViews", + "id": "def-common.SavedObjectsClientCommon.update.$3.version", + "type": "string", + "tags": [], + "label": "version", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ], + "returnComment": [] + }, { "parentPluginId": "dataViews", - "id": "def-common.UiSettingsCommon.remove", + "id": "def-common.SavedObjectsClientCommon.create", "type": "Function", "tags": [], - "label": "remove", + "label": "create", "description": [ - "\nRemove a setting value" + "\nCreate a saved object" ], "signature": [ - "(key: string) => Promise" + "(attributes: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewAttributes", + "text": "DataViewAttributes" + }, + ", options: { id?: string | undefined; initialNamespaces?: string[] | undefined; }) => Promise<", + { + "pluginId": "@kbn/core-saved-objects-common", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObject", + "text": "SavedObject" + }, + ">" ], "path": "src/plugins/data_views/common/types.ts", "deprecated": false, @@ -24951,12 +25010,95 @@ "children": [ { "parentPluginId": "dataViews", - "id": "def-common.UiSettingsCommon.remove.$1", + "id": "def-common.SavedObjectsClientCommon.create.$1", + "type": "Object", + "tags": [], + "label": "attributes", + "description": [ + "- attributes to set" + ], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewAttributes", + "text": "DataViewAttributes" + } + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "dataViews", + "id": "def-common.SavedObjectsClientCommon.create.$2", + "type": "Object", + "tags": [], + "label": "options", + "description": [], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "dataViews", + "id": "def-common.SavedObjectsClientCommon.create.$2.id", + "type": "string", + "tags": [], + "label": "id", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "dataViews", + "id": "def-common.SavedObjectsClientCommon.create.$2.initialNamespaces", + "type": "Array", + "tags": [], + "label": "initialNamespaces", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ], + "returnComment": [] + }, + { + "parentPluginId": "dataViews", + "id": "def-common.SavedObjectsClientCommon.delete", + "type": "Function", + "tags": [], + "label": "delete", + "description": [ + "\nDelete a saved object by id" + ], + "signature": [ + "(id: string) => Promise" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "dataViews", + "id": "def-common.SavedObjectsClientCommon.delete.$1", "type": "string", "tags": [], - "label": "key", + "label": "id", "description": [ - "name of value" + "- id of saved object" ], "signature": [ "string" @@ -24971,150 +25113,516 @@ } ], "initialIsOpen": false - } - ], - "enums": [ + }, { "parentPluginId": "dataViews", - "id": "def-common.DataViewType", - "type": "Enum", + "id": "def-common.SavedObjectsClientCommonFindArgs", + "type": "Interface", "tags": [], - "label": "DataViewType", + "label": "SavedObjectsClientCommonFindArgs", "description": [ - "\nData View type. Default or rollup" + "\nSaved objects common find args" ], "path": "src/plugins/data_views/common/types.ts", "deprecated": false, "trackAdoption": false, - "initialIsOpen": false - } - ], - "misc": [ - { - "parentPluginId": "dataViews", - "id": "def-common.AggregationRestrictions", - "type": "Type", - "tags": [], - "label": "AggregationRestrictions", - "description": [], - "signature": [ - "{ [x: string]: { agg?: string | undefined; interval?: number | undefined; fixed_interval?: string | undefined; calendar_interval?: string | undefined; delay?: string | undefined; time_zone?: string | undefined; }; }" + "children": [ + { + "parentPluginId": "dataViews", + "id": "def-common.SavedObjectsClientCommonFindArgs.fields", + "type": "Array", + "tags": [], + "label": "fields", + "description": [ + "\nSaved object fields" + ], + "signature": [ + "string[] | undefined" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "dataViews", + "id": "def-common.SavedObjectsClientCommonFindArgs.perPage", + "type": "number", + "tags": [], + "label": "perPage", + "description": [ + "\nResults per page" + ], + "signature": [ + "number | undefined" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "dataViews", + "id": "def-common.SavedObjectsClientCommonFindArgs.search", + "type": "string", + "tags": [], + "label": "search", + "description": [ + "\nQuery string" + ], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "dataViews", + "id": "def-common.SavedObjectsClientCommonFindArgs.searchFields", + "type": "Array", + "tags": [], + "label": "searchFields", + "description": [ + "\nFields to search" + ], + "signature": [ + "string[] | undefined" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false + } ], - "path": "src/plugins/data_views/common/types.ts", - "deprecated": false, - "trackAdoption": false, "initialIsOpen": false }, { "parentPluginId": "dataViews", - "id": "def-common.DATA_VIEW_SAVED_OBJECT_TYPE", - "type": "string", + "id": "def-common.TimeBasedDataView", + "type": "Interface", "tags": [], - "label": "DATA_VIEW_SAVED_OBJECT_TYPE", + "label": "TimeBasedDataView", "description": [ - "\nData view saved object type." - ], - "signature": [ - "\"index-pattern\"" + "\nAn interface representing a data view that is time based." ], - "path": "src/plugins/data_views/common/constants.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "dataViews", - "id": "def-common.DataViewFieldMap", - "type": "Type", - "tags": [], - "label": "DataViewFieldMap", - "description": [], "signature": [ - "{ [x: string]: ", { "pluginId": "dataViews", "scope": "common", "docId": "kibDataViewsPluginApi", - "section": "def-common.FieldSpec", - "text": "FieldSpec" + "section": "def-common.TimeBasedDataView", + "text": "TimeBasedDataView" }, - "; }" - ], - "path": "src/plugins/data_views/common/types.ts", + " extends ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + } + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", "deprecated": false, "trackAdoption": false, + "children": [ + { + "parentPluginId": "dataViews", + "id": "def-common.TimeBasedDataView.timeFieldName", + "type": "string", + "tags": [], + "label": "timeFieldName", + "description": [ + "\nThe timestamp field name." + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "dataViews", + "id": "def-common.TimeBasedDataView.getTimeField", + "type": "Function", + "tags": [], + "label": "getTimeField", + "description": [ + "\nThe timestamp field." + ], + "signature": [ + "() => ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewField", + "text": "DataViewField" + } + ], + "path": "src/plugins/data_views/common/data_views/data_view.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + } + ], "initialIsOpen": false }, { "parentPluginId": "dataViews", - "id": "def-common.DataViewSavedObjectAttrs", - "type": "Type", + "id": "def-common.ToSpecConfig", + "type": "Interface", "tags": [], - "label": "DataViewSavedObjectAttrs", - "description": [], - "signature": [ - "{ type?: string | undefined; name?: string | undefined; title: string; typeMeta?: string | undefined; }" + "label": "ToSpecConfig", + "description": [ + "\nOptional format getter when serializing a field" ], - "path": "src/plugins/data_views/common/data_views/data_views.ts", + "path": "src/plugins/data_views/common/fields/data_view_field.ts", "deprecated": false, "trackAdoption": false, + "children": [ + { + "parentPluginId": "dataViews", + "id": "def-common.ToSpecConfig.getFormatterForField", + "type": "Function", + "tags": [], + "label": "getFormatterForField", + "description": [ + "\nField format getter" + ], + "signature": [ + "((field: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.FieldSpec", + "text": "FieldSpec" + }, + " | ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewField", + "text": "DataViewField" + }, + ") => ", + { + "pluginId": "fieldFormats", + "scope": "common", + "docId": "kibFieldFormatsPluginApi", + "section": "def-common.FieldFormat", + "text": "FieldFormat" + }, + ") | undefined" + ], + "path": "src/plugins/data_views/common/fields/data_view_field.ts", + "deprecated": false, + "trackAdoption": false + } + ], "initialIsOpen": false }, { "parentPluginId": "dataViews", - "id": "def-common.DataViewsContract", - "type": "Type", + "id": "def-common.UiSettingsCommon", + "type": "Interface", "tags": [], - "label": "DataViewsContract", + "label": "UiSettingsCommon", "description": [ - "\nData views service interface" + "\nInterface for UiSettings common interface {@link UiSettingsClient}" ], - "signature": [ - "{ create: (spec: ", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewSpec", - "text": "DataViewSpec" - }, - ", skipFetchFields?: boolean, displayErrors?: boolean) => Promise<", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" - }, - ">; get: (id: string, displayErrors?: boolean, refreshFields?: boolean) => Promise<", + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" + "parentPluginId": "dataViews", + "id": "def-common.UiSettingsCommon.get", + "type": "Function", + "tags": [], + "label": "get", + "description": [ + "\nGet a setting value" + ], + "signature": [ + "(key: string) => Promise" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "dataViews", + "id": "def-common.UiSettingsCommon.get.$1", + "type": "string", + "tags": [], + "label": "key", + "description": [ + "name of value" + ], + "signature": [ + "string" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] }, - ">; delete: (indexPatternId: string) => Promise<{}>; find: (search: string, size?: number) => Promise<", { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" + "parentPluginId": "dataViews", + "id": "def-common.UiSettingsCommon.getAll", + "type": "Function", + "tags": [], + "label": "getAll", + "description": [ + "\nGet all settings values" + ], + "signature": [ + "() => Promise>" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] }, - "[]>; getCanSave: () => Promise; getIds: (refresh?: boolean) => Promise; getTitles: (refresh?: boolean) => Promise; getIdsWithTitle: (refresh?: boolean) => Promise<", { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataViewListItem", - "text": "DataViewListItem" + "parentPluginId": "dataViews", + "id": "def-common.UiSettingsCommon.set", + "type": "Function", + "tags": [], + "label": "set", + "description": [ + "\nSet a setting value" + ], + "signature": [ + "(key: string, value: T) => Promise" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "dataViews", + "id": "def-common.UiSettingsCommon.set.$1", + "type": "string", + "tags": [], + "label": "key", + "description": [ + "name of value" + ], + "signature": [ + "string" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "dataViews", + "id": "def-common.UiSettingsCommon.set.$2", + "type": "Uncategorized", + "tags": [], + "label": "value", + "description": [ + "value to set" + ], + "signature": [ + "T" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] }, - "[]>; clearCache: () => void; clearInstanceCache: (id?: string | undefined) => void; getCache: () => Promise<", { - "pluginId": "@kbn/core-saved-objects-common", - "scope": "common", - "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "parentPluginId": "dataViews", + "id": "def-common.UiSettingsCommon.remove", + "type": "Function", + "tags": [], + "label": "remove", + "description": [ + "\nRemove a setting value" + ], + "signature": [ + "(key: string) => Promise" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "dataViews", + "id": "def-common.UiSettingsCommon.remove.$1", + "type": "string", + "tags": [], + "label": "key", + "description": [ + "name of value" + ], + "signature": [ + "string" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + } + ], + "enums": [ + { + "parentPluginId": "dataViews", + "id": "def-common.DataViewType", + "type": "Enum", + "tags": [], + "label": "DataViewType", + "description": [ + "\nData View type. Default or rollup" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "misc": [ + { + "parentPluginId": "dataViews", + "id": "def-common.AggregationRestrictions", + "type": "Type", + "tags": [], + "label": "AggregationRestrictions", + "description": [], + "signature": [ + "{ [x: string]: { agg?: string | undefined; interval?: number | undefined; fixed_interval?: string | undefined; calendar_interval?: string | undefined; delay?: string | undefined; time_zone?: string | undefined; }; }" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "dataViews", + "id": "def-common.DATA_VIEW_SAVED_OBJECT_TYPE", + "type": "string", + "tags": [], + "label": "DATA_VIEW_SAVED_OBJECT_TYPE", + "description": [ + "\nData view saved object type." + ], + "signature": [ + "\"index-pattern\"" + ], + "path": "src/plugins/data_views/common/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "dataViews", + "id": "def-common.DataViewFieldMap", + "type": "Type", + "tags": [], + "label": "DataViewFieldMap", + "description": [], + "signature": [ + "{ [x: string]: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.FieldSpec", + "text": "FieldSpec" + }, + "; }" + ], + "path": "src/plugins/data_views/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "dataViews", + "id": "def-common.DataViewSavedObjectAttrs", + "type": "Type", + "tags": [], + "label": "DataViewSavedObjectAttrs", + "description": [], + "signature": [ + "{ type?: string | undefined; name?: string | undefined; title: string; typeMeta?: string | undefined; }" + ], + "path": "src/plugins/data_views/common/data_views/data_views.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "dataViews", + "id": "def-common.DataViewsContract", + "type": "Type", + "tags": [], + "label": "DataViewsContract", + "description": [ + "\nData views service interface" + ], + "signature": [ + "{ create: (spec: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewSpec", + "text": "DataViewSpec" + }, + ", skipFetchFields?: boolean, displayErrors?: boolean) => Promise<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + ">; get: (id: string, displayErrors?: boolean, refreshFields?: boolean) => Promise<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + ">; delete: (indexPatternId: string) => Promise; find: (search: string, size?: number) => Promise<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + "[]>; getCanSave: () => Promise; getIds: (refresh?: boolean) => Promise; getTitles: (refresh?: boolean) => Promise; getIdsWithTitle: (refresh?: boolean) => Promise<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewListItem", + "text": "DataViewListItem" + }, + "[]>; clearCache: () => void; clearInstanceCache: (id?: string | undefined) => void; getCache: () => Promise<", + { + "pluginId": "@kbn/core-saved-objects-common", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", "section": "def-common.SavedObject", "text": "SavedObject" }, @@ -25556,6 +26064,23 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "dataViews", + "id": "def-common.LATEST_VERSION", + "type": "number", + "tags": [], + "label": "LATEST_VERSION", + "description": [ + "\nData view saved object version." + ], + "signature": [ + "1" + ], + "path": "src/plugins/data_views/common/content_management/v1/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "dataViews", "id": "def-common.META_FIELDS", @@ -25833,732 +26358,6 @@ "trackAdoption": false, "initialIsOpen": false }, - { - "parentPluginId": "dataViews", - "id": "def-common.SavedObject", - "type": "Type", - "tags": [ - "deprecated" - ], - "label": "SavedObject", - "description": [], - "signature": [ - { - "pluginId": "@kbn/core-saved-objects-common", - "scope": "common", - "docId": "kibKbnCoreSavedObjectsCommonPluginApi", - "section": "def-common.SavedObject", - "text": "SavedObject" - }, - "" - ], - "path": "packages/core/saved-objects/core-saved-objects-common/src/saved_objects.ts", - "deprecated": true, - "trackAdoption": false, - "references": [ - { - "plugin": "@kbn/core-saved-objects-common", - "path": "packages/core/saved-objects/core-saved-objects-common/index.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-browser", - "path": "packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-server", - "path": "packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_repository.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-server", - "path": "packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_repository.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-server", - "path": "packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_repository.ts" - }, - { - "plugin": "@kbn/core-saved-objects-api-server", - "path": "packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_repository.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.ts" - }, - { - "plugin": "@kbn/core", - "path": "src/core/public/index.ts" - }, - { - "plugin": "home", - "path": "src/plugins/home/server/services/sample_data/sample_data_registry.ts" - }, - { - "plugin": "home", - "path": "src/plugins/home/server/services/sample_data/sample_data_registry.ts" - }, - { - "plugin": "home", - "path": "src/plugins/home/server/services/sample_data/sample_data_registry.ts" - }, - { - "plugin": "data", - "path": "src/plugins/data/common/index.ts" - }, - { - "plugin": "data", - "path": "src/plugins/data/public/index.ts" - }, - { - "plugin": "data", - "path": "src/plugins/data/server/query/route_handler_context.test.ts" - }, - { - "plugin": "data", - "path": "src/plugins/data/server/query/route_handler_context.test.ts" - }, - { - "plugin": "data", - "path": "src/plugins/data/server/query/route_handler_context.test.ts" - }, - { - "plugin": "data", - "path": "src/plugins/data/server/query/route_handler_context.test.ts" - }, - { - "plugin": "data", - "path": "src/plugins/data/server/query/route_handler_context.test.ts" - }, - { - "plugin": "data", - "path": "src/plugins/data/server/query/route_handler_context.test.ts" - }, - { - "plugin": "data", - "path": "src/plugins/data/public/search/session/sessions_mgmt/lib/api.ts" - }, - { - "plugin": "data", - "path": "src/plugins/data/public/search/session/sessions_mgmt/lib/api.ts" - }, - { - "plugin": "data", - "path": "src/plugins/data/public/search/session/sessions_mgmt/lib/api.ts" - }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/public/ui_api/get_table_column_definition.tsx" - }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/public/ui_api/get_table_column_definition.tsx" - }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/public/ui_api/get_table_column_definition.tsx" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/common/types/models/epm.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/common/types/models/epm.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/common/types/models/epm.ts" - }, - { - "plugin": "canvas", - "path": "x-pack/plugins/canvas/shareable_runtime/types.ts" - }, - { - "plugin": "canvas", - "path": "x-pack/plugins/canvas/shareable_runtime/types.ts" - }, - { - "plugin": "canvas", - "path": "x-pack/plugins/canvas/public/services/kibana/workpad.ts" - }, - { - "plugin": "canvas", - "path": "x-pack/plugins/canvas/public/services/kibana/workpad.ts" - }, - { - "plugin": "canvas", - "path": "x-pack/plugins/canvas/public/components/home/hooks/use_upload_workpad.ts" - }, - { - "plugin": "canvas", - "path": "x-pack/plugins/canvas/public/components/home/hooks/use_upload_workpad.ts" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/packs/types.ts" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/packs/types.ts" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/routes/saved_queries/list/index.tsx" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/routes/saved_queries/list/index.tsx" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/assets/use_assets_status.ts" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/assets/use_assets_status.ts" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/assets/use_assets_status.ts" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/assets/use_assets_status.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/monitor_detail_flyout.tsx" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/monitor_detail_flyout.tsx" - }, - { - "plugin": "savedObjects", - "path": "src/plugins/saved_objects/public/saved_object/helpers/find_object_by_title.test.ts" - }, - { - "plugin": "savedObjects", - "path": "src/plugins/saved_objects/public/saved_object/helpers/find_object_by_title.test.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-mocks", - "path": "packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-mocks", - "path": "packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-mocks", - "path": "packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts" - }, - { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/errors.ts" - }, - { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/errors.ts" - }, - { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/lib/regenerate_ids.ts" - }, - { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/lib/regenerate_ids.ts" - }, - { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts" - }, - { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts" - }, - { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts" - }, - { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts" - }, - { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts" - }, - { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts" - }, - { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts" - }, - { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts" - }, - { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts" - }, - { - "plugin": "@kbn/core-saved-objects-import-export-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts" - }, - { - "plugin": "@kbn/core", - "path": "src/core/types/index.ts" - }, - { - "plugin": "savedObjectsTaggingOss", - "path": "src/plugins/saved_objects_tagging_oss/public/api.ts" - }, - { - "plugin": "savedObjectsTaggingOss", - "path": "src/plugins/saved_objects_tagging_oss/public/api.ts" - }, - { - "plugin": "savedObjectsTaggingOss", - "path": "src/plugins/saved_objects_tagging_oss/public/api.ts" - }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/common/types.ts" - }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/common/types.ts" - }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/public/utils.ts" - }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/public/utils.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts" - }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/public/utils.test.ts" - }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/public/utils.test.ts" - }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/public/utils.test.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/overview/api.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/overview/api.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_details/api.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_details/api.ts" - }, - { - "plugin": "upgradeAssistant", - "path": "x-pack/plugins/upgrade_assistant/common/types.ts" - }, - { - "plugin": "upgradeAssistant", - "path": "x-pack/plugins/upgrade_assistant/common/types.ts" - }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/common/test_utils/index.ts" - }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/common/test_utils/index.ts" - }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/common/test_utils/index.ts" - }, - { - "plugin": "savedObjectsManagement", - "path": "src/plugins/saved_objects_management/server/lib/find_relationships.test.ts" - }, - { - "plugin": "savedObjectsManagement", - "path": "src/plugins/saved_objects_management/server/lib/find_relationships.test.ts" - }, - { - "plugin": "savedObjectsManagement", - "path": "src/plugins/saved_objects_management/server/lib/find_relationships.test.ts" - }, - { - "plugin": "savedObjectsManagement", - "path": "src/plugins/saved_objects_management/server/lib/find_relationships.test.ts" - }, - { - "plugin": "data", - "path": "src/plugins/data/server/search/saved_objects/search_session_migration.test.ts" - }, - { - "plugin": "data", - "path": "src/plugins/data/server/search/saved_objects/search_session_migration.test.ts" - }, - { - "plugin": "data", - "path": "src/plugins/data/server/search/saved_objects/search_session_migration.test.ts" - }, - { - "plugin": "data", - "path": "src/plugins/data/server/search/saved_objects/search_session_migration.test.ts" - }, - { - "plugin": "data", - "path": "src/plugins/data/server/search/saved_objects/search_session_migration.test.ts" - }, - { - "plugin": "data", - "path": "src/plugins/data/server/search/saved_objects/search_session_migration.test.ts" - }, - { - "plugin": "data", - "path": "src/plugins/data/server/search/saved_objects/search_session_migration.test.ts" - }, - { - "plugin": "data", - "path": "src/plugins/data/server/search/saved_objects/search_session_migration.test.ts" - }, - { - "plugin": "data", - "path": "src/plugins/data/server/search/saved_objects/search_session_migration.test.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/global_params/actions.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/global_params/actions.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/global_params/api.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/global_params/api.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/global_params/api.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/global_params/index.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/global_params/index.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_list/api.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_list/api.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_list/effects.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_list/effects.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_list/effects.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_list/index.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_list/index.ts" - }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" - }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" - }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" - }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" - }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" - }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" - }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" - }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" - }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" - }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" - }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.test.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.test.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.test.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.test.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.test.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.test.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.test.ts" - }, - { - "plugin": "@kbn/core-saved-objects-browser-internal", - "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.test.ts" - }, - { - "plugin": "@kbn/core-ui-settings-server-internal", - "path": "packages/core/ui-settings/core-ui-settings-server-internal/src/saved_objects/transforms.test.ts" - }, - { - "plugin": "@kbn/core-ui-settings-server-internal", - "path": "packages/core/ui-settings/core-ui-settings-server-internal/src/saved_objects/transforms.test.ts" - }, - { - "plugin": "@kbn/core-ui-settings-server-internal", - "path": "packages/core/ui-settings/core-ui-settings-server-internal/src/saved_objects/transforms.test.ts" - } - ], - "initialIsOpen": false - }, { "parentPluginId": "dataViews", "id": "def-common.SourceFilter", diff --git a/api_docs/data_views.mdx b/api_docs/data_views.mdx index 5e990aa45a4e1..2580a11c05dd7 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViews'] --- import dataViewsObj from './data_views.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 1029 | 0 | 245 | 2 | +| 1048 | 0 | 258 | 2 | ## Client diff --git a/api_docs/data_visualizer.mdx b/api_docs/data_visualizer.mdx index 9313f652ffe0f..b8cfa2c3909ff 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-05-16 +date: 2023-06-07 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 80b2f660e514d..652f8b4466069 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -17,43 +17,43 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Referencing plugin(s) | Remove By | | ---------------|-----------|-----------| | | ml, stackAlerts | - | -| | @kbn/es-query, visualizationUiComponents, securitySolution, timelines, lists, threatIntelligence, dataViews, savedObjectsManagement, unifiedSearch, controls, unifiedFieldList, lens, triggersActionsUi, aiops, ml, infra, visTypeTimeseries, apm, exploratoryView, dataVisualizer, fleet, canvas, enterpriseSearch, graph, stackAlerts, synthetics, transform, upgradeAssistant, ux, maps, dataViewManagement, inputControlVis, visDefaultEditor, presentationUtil, visTypeTimelion, visTypeVega, discover, data | - | -| | @kbn/es-query, visualizationUiComponents, securitySolution, timelines, lists, threatIntelligence, dataViews, savedObjectsManagement, unifiedSearch, controls, unifiedFieldList, lens, triggersActionsUi, aiops, ml, infra, visTypeTimeseries, apm, exploratoryView, dataVisualizer, fleet, canvas, enterpriseSearch, graph, stackAlerts, synthetics, transform, upgradeAssistant, ux, maps, dataViewManagement, inputControlVis, visDefaultEditor, presentationUtil, visTypeTimelion, visTypeVega, discover, data | - | -| | @kbn/es-query, visualizationUiComponents, securitySolution, timelines, lists, threatIntelligence, data, savedObjectsManagement, unifiedSearch, controls, unifiedFieldList, lens, triggersActionsUi, aiops, ml, infra, visTypeTimeseries, apm, exploratoryView, dataVisualizer, fleet, canvas, enterpriseSearch, graph, stackAlerts, synthetics, transform, upgradeAssistant, ux, maps, dataViewManagement, inputControlVis, visDefaultEditor, presentationUtil, visTypeTimelion, visTypeVega, discover | - | +| | @kbn/es-query, visualizationUiComponents, securitySolution, timelines, lists, threatIntelligence, dataViews, savedObjectsManagement, unifiedSearch, controls, unifiedFieldList, lens, aiops, ml, infra, visTypeTimeseries, apm, triggersActionsUi, exploratoryView, dataVisualizer, fleet, canvas, enterpriseSearch, graph, stackAlerts, synthetics, transform, upgradeAssistant, ux, maps, dataViewManagement, inputControlVis, visDefaultEditor, presentationUtil, visTypeTimelion, visTypeVega, data | - | +| | @kbn/es-query, visualizationUiComponents, securitySolution, timelines, lists, threatIntelligence, dataViews, savedObjectsManagement, unifiedSearch, controls, unifiedFieldList, lens, aiops, ml, infra, visTypeTimeseries, apm, triggersActionsUi, exploratoryView, dataVisualizer, fleet, canvas, enterpriseSearch, graph, stackAlerts, synthetics, transform, upgradeAssistant, ux, maps, dataViewManagement, inputControlVis, visDefaultEditor, presentationUtil, visTypeTimelion, visTypeVega, data | - | +| | @kbn/es-query, visualizationUiComponents, securitySolution, timelines, lists, threatIntelligence, data, savedObjectsManagement, unifiedSearch, controls, unifiedFieldList, lens, aiops, ml, infra, visTypeTimeseries, apm, triggersActionsUi, exploratoryView, dataVisualizer, fleet, canvas, enterpriseSearch, graph, stackAlerts, synthetics, transform, upgradeAssistant, ux, maps, dataViewManagement, inputControlVis, visDefaultEditor, presentationUtil, visTypeTimelion, visTypeVega | - | | | home, data, esUiShared, spaces, savedObjectsManagement, exploratoryView, fleet, observability, ml, apm, indexLifecycleManagement, observabilityOnboarding, synthetics, upgradeAssistant, ux, kibanaOverview | - | -| | encryptedSavedObjects, actions, data, ml, logstash, securitySolution, cloudChat | - | +| | encryptedSavedObjects, actions, data, ml, securitySolution, logstash, cloudChat | - | | | actions, ml, savedObjectsTagging, enterpriseSearch | - | -| | @kbn/core-plugins-browser-internal, @kbn/core-root-browser-internal, dataViews, home, data, savedObjects, unifiedSearch, presentationUtil, visualizations, dashboard, lens, discover, fileUpload, ml, fleet, canvas, dashboardEnhanced, graph, monitoring, synthetics, transform, dataVisualizer, cloudSecurityPosture | - | -| | @kbn/core-saved-objects-browser, @kbn/core-saved-objects-browser-internal, @kbn/core, dataViews, home, savedObjects, savedSearch, visualizations, dashboard, lens, ml, canvas, graph, visTypeTimeseries, @kbn/core-saved-objects-browser-mocks | - | -| | @kbn/core-saved-objects-browser-mocks, dataViews, savedObjects, presentationUtil, savedSearch, dashboard, ml, cloudSecurityPosture, dashboardEnhanced, graph, synthetics, @kbn/core-saved-objects-browser-internal | - | -| | @kbn/core-saved-objects-browser-mocks, dataViews, savedObjects, dashboard, ml, cloudSecurityPosture, dashboardEnhanced, monitoring, @kbn/core-saved-objects-browser-internal | - | -| | @kbn/core-saved-objects-browser-internal, @kbn/core, dataViews, savedObjects, embeddable, presentationUtil, visualizations, dashboard, aiops, ml, dataVisualizer, fleet, cloudSecurityPosture, dashboardEnhanced, graph, synthetics, lens, securitySolution, @kbn/core-saved-objects-browser-mocks | - | -| | @kbn/core-lifecycle-browser-mocks, @kbn/core, ml, dashboard, dataViews, savedSearch, @kbn/core-plugins-browser-internal | - | +| | @kbn/core-plugins-browser-internal, @kbn/core-root-browser-internal, dataViews, home, data, savedObjects, unifiedSearch, presentationUtil, visualizations, dashboard, eventAnnotation, lens, fileUpload, ml, fleet, canvas, dashboardEnhanced, monitoring, synthetics, transform, discover, dataVisualizer | - | +| | @kbn/core-saved-objects-browser, @kbn/core-saved-objects-browser-internal, @kbn/core, dataViews, home, savedObjects, visualizations, dashboard, eventAnnotation, ml, canvas, lens, visTypeTimeseries, @kbn/core-saved-objects-browser-mocks | - | +| | @kbn/core-saved-objects-browser-mocks, savedObjects, presentationUtil, dashboard, eventAnnotation, ml, dashboardEnhanced, @kbn/core-saved-objects-browser-internal | - | +| | @kbn/core-saved-objects-browser-mocks, dataViews, savedObjects, dashboard, eventAnnotation, ml, dashboardEnhanced, monitoring, @kbn/core-saved-objects-browser-internal | - | +| | @kbn/core-saved-objects-browser-internal, @kbn/core, savedObjects, embeddable, presentationUtil, visualizations, dashboard, aiops, ml, dataVisualizer, fleet, dashboardEnhanced, graph, synthetics, lens, securitySolution, eventAnnotation, @kbn/core-saved-objects-browser-mocks | - | +| | @kbn/core-lifecycle-browser-mocks, @kbn/core, ml, dashboard, dataViews, @kbn/core-plugins-browser-internal | - | | | @kbn/core, savedObjects, embeddable, visualizations, dashboard, fleet, canvas, graph, ml, @kbn/core-saved-objects-common, @kbn/core-saved-objects-server, actions, alerting, savedSearch, enterpriseSearch, securitySolution, taskManager, @kbn/core-saved-objects-server-internal, @kbn/core-saved-objects-api-server | - | | | stackAlerts, alerting, securitySolution, inputControlVis | - | | | infra, graph, stackAlerts, inputControlVis, securitySolution, savedObjects | - | | | dashboard, dataVisualizer, stackAlerts, expressionPartitionVis | - | | | stackAlerts, alerting, securitySolution, inputControlVis | - | | | alerting, discover, securitySolution | - | +| | @kbn/core-saved-objects-api-browser, @kbn/core-saved-objects-browser-internal, @kbn/core-saved-objects-browser-mocks, @kbn/core-saved-objects-api-server-internal, @kbn/core-saved-objects-import-export-server-internal, @kbn/core-saved-objects-server-internal, home, fleet, securitySolution, graph, lists, alerting | - | +| | @kbn/core-saved-objects-api-browser, @kbn/core-saved-objects-browser-internal, @kbn/core-saved-objects-browser-mocks, @kbn/core-saved-objects-api-server-internal, @kbn/core-saved-objects-import-export-server-internal, @kbn/core-saved-objects-server-internal, home, fleet, securitySolution, graph, lists, alerting | - | | | alerting, discover, securitySolution | - | | | actions, alerting | - | -| | @kbn/core-saved-objects-api-browser, @kbn/core-saved-objects-browser-internal, @kbn/core-saved-objects-browser-mocks, @kbn/core-saved-objects-api-server-internal, @kbn/core-saved-objects-import-export-server-internal, @kbn/core-saved-objects-server-internal, home, fleet, graph, lists, securitySolution, alerting | - | -| | @kbn/core-saved-objects-migration-server-internal, actions, dataViews, data, alerting, lens, cases, savedObjectsTagging, savedSearch, canvas, graph, lists, maps, securitySolution, dashboard, visualizations, @kbn/core-test-helpers-so-type-serializer | - | +| | @kbn/core-saved-objects-migration-server-internal, actions, dataViews, data, alerting, lens, cases, savedObjectsTagging, visualizations, savedSearch, canvas, lists, securitySolution, graph, maps, dashboard, @kbn/core-test-helpers-so-type-serializer | - | | | discover | - | | | data, discover, imageEmbeddable, embeddable | - | -| | @kbn/core-saved-objects-browser-mocks, dataViews, savedSearch, dashboard, graph, discover, @kbn/core-saved-objects-browser-internal | - | +| | @kbn/core-saved-objects-browser-mocks, dataViews, dashboard, discover, @kbn/core-saved-objects-browser-internal | - | | | advancedSettings, discover | - | -| | @kbn/core-saved-objects-common, @kbn/core-saved-objects-api-browser, @kbn/core-saved-objects-browser-internal, @kbn/core-saved-objects-api-server, @kbn/core, home, dataViews, savedObjectsTagging, fleet, canvas, osquery, synthetics, savedObjects, @kbn/core-saved-objects-browser-mocks, @kbn/core-saved-objects-import-export-server-internal, savedObjectsTaggingOss, lists, securitySolution, upgradeAssistant, savedObjectsManagement, cases, @kbn/core-ui-settings-server-internal, dashboard | - | -| | @kbn/core-saved-objects-common, @kbn/core-saved-objects-api-browser, @kbn/core-saved-objects-browser-internal, @kbn/core-saved-objects-api-server, @kbn/core, home, dataViews, savedObjectsTagging, fleet, canvas, osquery, synthetics, savedObjects, @kbn/core-saved-objects-browser-mocks, @kbn/core-saved-objects-import-export-server-internal, savedObjectsTaggingOss, lists, securitySolution, upgradeAssistant, savedObjectsManagement, cases, @kbn/core-ui-settings-server-internal, data | - | | | securitySolution | - | | | securitySolution | - | | | @kbn/securitysolution-data-table, securitySolution | - | | | @kbn/securitysolution-data-table, securitySolution | - | | | securitySolution | - | | | securitySolution | - | -| | lists, securitySolution, @kbn/securitysolution-io-ts-list-types | - | -| | lists, securitySolution, @kbn/securitysolution-io-ts-list-types | - | -| | lists, securitySolution, @kbn/securitysolution-io-ts-list-types | - | +| | @kbn/core-saved-objects-api-browser, @kbn/core-saved-objects-browser-internal, @kbn/core-saved-objects-api-server, @kbn/core, home, data, savedObjectsTagging, fleet, canvas, savedObjects, @kbn/core-saved-objects-browser-mocks, @kbn/core-saved-objects-import-export-server-internal, savedObjectsTaggingOss, securitySolution, lists, synthetics, upgradeAssistant, savedObjectsManagement, @kbn/core-ui-settings-server-internal | - | +| | securitySolution, lists, @kbn/securitysolution-io-ts-list-types | - | +| | securitySolution, lists, @kbn/securitysolution-io-ts-list-types | - | +| | securitySolution, lists, @kbn/securitysolution-io-ts-list-types | - | | | securitySolution | - | | | securitySolution | - | | | securitySolution | - | @@ -64,48 +64,51 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | securitySolution | - | | | securitySolution | - | | | monitoring | - | -| | @kbn/core-saved-objects-api-browser, @kbn/core, savedObjects, savedObjectsManagement, visualizations, savedObjectsTagging, lens, fleet, graph, dashboard, savedObjectsTaggingOss, kibanaUtils, expressions, dataViews, data, embeddable, controls, uiActionsEnhanced, cases, maps, canvas, dashboardEnhanced, globalSearchProviders, infra | - | -| | @kbn/core-saved-objects-browser-internal, @kbn/core-saved-objects-browser-mocks, dataViews, savedObjects, savedSearch, dashboard, graph | - | -| | @kbn/core-saved-objects-browser-mocks, home, @kbn/core-saved-objects-browser-internal | - | -| | @kbn/core-saved-objects-browser-internal, @kbn/core-saved-objects-browser-mocks, dataViews, savedObjects, visualizations, dashboard, graph | - | -| | @kbn/core-saved-objects-browser-mocks, synthetics, @kbn/core-saved-objects-browser-internal | - | +| | @kbn/core-saved-objects-api-browser, @kbn/core, savedObjects, savedObjectsManagement, visualizations, eventAnnotation, savedObjectsTagging, lens, fleet, graph, dashboard, savedObjectsTaggingOss, kibanaUtils, expressions, dataViews, data, embeddable, controls, uiActionsEnhanced, cases, maps, canvas, dashboardEnhanced, globalSearchProviders, infra | - | +| | @kbn/core-saved-objects-browser-internal, @kbn/core-saved-objects-browser-mocks, savedObjects, dashboard, eventAnnotation | - | +| | @kbn/core-saved-objects-browser-mocks, home, eventAnnotation, @kbn/core-saved-objects-browser-internal | - | +| | @kbn/core-saved-objects-browser-internal, @kbn/core-saved-objects-browser-mocks, savedObjects, visualizations, dashboard | - | +| | @kbn/core-saved-objects-browser-mocks, @kbn/core-saved-objects-browser-internal | - | | | @kbn/core-saved-objects-browser-mocks, dashboard, savedObjects, @kbn/core-saved-objects-browser-internal | - | | | @kbn/core-saved-objects-browser-mocks, fleet, synthetics, @kbn/core-saved-objects-browser-internal | - | -| | @kbn/core-saved-objects-browser-internal, @kbn/core-saved-objects-browser-mocks, dataViews, savedSearch, savedObjects | - | +| | @kbn/core-saved-objects-browser-internal, @kbn/core-saved-objects-browser-mocks, eventAnnotation, savedObjects | - | | | @kbn/core-saved-objects-browser-mocks, @kbn/core-saved-objects-browser-internal | - | | | @kbn/core-saved-objects-browser-mocks, @kbn/core-saved-objects-browser-internal | - | | | @kbn/core-saved-objects-browser-internal | - | | | @kbn/core-saved-objects-browser-internal | - | -| | @kbn/core-saved-objects-browser-internal, @kbn/core, dataViews, savedObjects, visualizations | - | +| | @kbn/core-saved-objects-browser-internal, @kbn/core, savedObjects, visualizations, graph | - | | | @kbn/core-saved-objects-browser-internal, @kbn/core-saved-objects-api-server-internal, canvas | - | | | @kbn/core-saved-objects-browser-internal, @kbn/core | - | | | @kbn/core-saved-objects-browser-internal, @kbn/core | - | -| | @kbn/core-saved-objects-browser-internal, @kbn/core, cloudSecurityPosture | - | -| | @kbn/core-saved-objects-browser-internal, @kbn/core, dataViews | - | +| | @kbn/core-saved-objects-browser-internal, @kbn/core | - | +| | @kbn/core-saved-objects-browser-internal, @kbn/core | - | | | @kbn/core-saved-objects-browser-internal, @kbn/core, spaces, savedSearch, visualizations, dashboard, lens, cases, maps, fleet, canvas, graph | - | | | @kbn/core-saved-objects-browser-internal, @kbn/core | - | -| | @kbn/core-saved-objects-browser-internal, @kbn/core, osquery | - | +| | @kbn/core-saved-objects-browser-internal, @kbn/core | - | | | @kbn/core-saved-objects-browser-internal, @kbn/core | - | | | @kbn/core-saved-objects-browser-internal, @kbn/core | - | | | @kbn/core-saved-objects-browser-internal | - | -| | @kbn/core-lifecycle-browser, @kbn/core-saved-objects-browser-internal, @kbn/core, savedSearch, visualizations, dashboard, exploratoryView, observability, canvas, transform, @kbn/core-saved-objects-browser-mocks | - | -| | @kbn/core | - | -| | @kbn/core | - | -| | @kbn/core, lens, savedObjects | - | -| | @kbn/core | - | -| | @kbn/core, advancedSettings, visualizations, triggersActionsUi | - | +| | @kbn/core-lifecycle-browser, @kbn/core-saved-objects-browser-internal, @kbn/core, visualizations, dashboard, exploratoryView, canvas, transform, @kbn/core-saved-objects-browser-mocks | - | +| | @kbn/core-root-browser-internal, @kbn/core-saved-objects-browser-mocks | - | +| | @kbn/core-saved-objects-api-server-internal | - | +| | @kbn/core-saved-objects-api-server-internal, fleet | - | +| | @kbn/core-saved-objects-server-internal, @kbn/core-plugins-server-internal, savedObjectsTagging, @kbn/core-saved-objects-server-mocks | - | | | home, canvas, osquery | - | +| | exploratoryView, dataVisualizer, fleet, cloudSecurityPosture, discoverEnhanced, osquery, synthetics | - | +| | visTypeTimeseries, graph, dataViewManagement, dataViews | - | +| | visTypeTimeseries, graph, dataViewManagement, dataViews | - | +| | visTypeTimeseries, graph, dataViewManagement | - | +| | @kbn/core, lens, savedObjects | - | | | dataViews, maps | - | | | dataViewManagement, dataViews | - | -| | visTypeTimeseries, graph, dataViewManagement, dataViews | - | | | dataViews, dataViewManagement | - | | | dataViews, maps | - | | | dataViewManagement, dataViews | - | -| | visTypeTimeseries, graph, dataViewManagement, dataViews | - | | | dataViews, dataViewManagement | - | -| | @kbn/core-saved-objects-server-internal, @kbn/core-plugins-server-internal, savedObjectsTagging, @kbn/core-saved-objects-server-mocks | - | -| | exploratoryView, dataVisualizer, fleet, cloudSecurityPosture, discoverEnhanced, osquery, synthetics | - | -| | @kbn/core-saved-objects-api-server-internal, fleet | - | +| | spaces, savedObjectsManagement | - | +| | unifiedSearch | - | +| | unifiedSearch | - | +| | @kbn/core, advancedSettings, visualizations, triggersActionsUi | - | | | canvas | - | | | canvas | - | | | canvas | - | @@ -116,11 +119,6 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | canvas | - | | | canvas | - | | | canvas | - | -| | @kbn/core-root-browser-internal, @kbn/core-saved-objects-browser-mocks | - | -| | spaces, savedObjectsManagement | - | -| | visTypeTimeseries, graph, dataViewManagement | - | -| | unifiedSearch | - | -| | unifiedSearch | - | | | enterpriseSearch | - | | | maps | - | | | dataViewManagement | - | @@ -129,23 +127,23 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | visTypePie | - | | | visTypePie | - | | | encryptedSavedObjects | - | +| | @kbn/core | - | +| | @kbn/core | - | +| | @kbn/core | - | | | @kbn/core-elasticsearch-server-internal, @kbn/core-plugins-server-internal, console | - | | | @kbn/core-plugins-server-internal | - | -| | @kbn/core-saved-objects-api-server-internal | - | | | security, licenseManagement, ml, apm, crossClusterReplication, logstash, painlessLab, searchprofiler, watcher, profiling | 8.8.0 | -| | spaces, security, actions, alerting, ml, remoteClusters, graph, indexLifecycleManagement, mapsEms, osquery, painlessLab, rollup, searchprofiler, securitySolution, snapshotRestore, transform, upgradeAssistant | 8.8.0 | +| | spaces, security, actions, alerting, ml, remoteClusters, osquery, securitySolution, graph, indexLifecycleManagement, mapsEms, painlessLab, rollup, searchprofiler, snapshotRestore, transform, upgradeAssistant | 8.8.0 | | | spaces, security, alerting | 8.8.0 | -| | embeddable, presentationUtil, dashboard, discover, graph | 8.8.0 | +| | embeddable, presentationUtil, dashboard, lens, discover, graph | 8.8.0 | | | apm, security, securitySolution | 8.8.0 | | | apm, security, securitySolution | 8.8.0 | | | @kbn/core-application-browser-internal, @kbn/core-application-browser-mocks, management, fleet, security, kibanaOverview, @kbn/core | 8.8.0 | -| | @kbn/core-plugins-server-internal, @kbn/core | 8.8.0 | -| | security, guidedOnboarding, fleet | 8.8.0 | -| | security, guidedOnboarding, fleet | 8.8.0 | -| | security, guidedOnboarding, fleet | 8.8.0 | +| | savedObjectsTaggingOss, dashboard | 8.8.0 | | | apm | 8.8.0 | | | security | 8.8.0 | | | mapsEms | 8.8.0 | +| | @kbn/core-plugins-server-internal, @kbn/core | 8.8.0 | | | security | 8.8.0 This is relied on by the reporting feature, and should be removed once reporting @@ -182,6 +180,7 @@ Safe to remove. | | expressions | | | expressions | | | expressions | +| | fleet | | | kibanaReact | | | kibanaReact | | | licensing | diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index ea13a53c2cf69..acebe849d4564 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -16,8 +16,6 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [index.ts](https://github.com/elastic/kibana/tree/main/src/core/public/index.ts#:~:text=SavedObject), [index.ts](https://github.com/elastic/kibana/tree/main/src/core/types/index.ts#:~:text=SavedObject) | - | -| | [index.ts](https://github.com/elastic/kibana/tree/main/src/core/public/index.ts#:~:text=SavedObject), [index.ts](https://github.com/elastic/kibana/tree/main/src/core/types/index.ts#:~:text=SavedObject), [index.ts](https://github.com/elastic/kibana/tree/main/src/core/public/index.ts#:~:text=SavedObject), [index.ts](https://github.com/elastic/kibana/tree/main/src/core/types/index.ts#:~:text=SavedObject), [index.ts](https://github.com/elastic/kibana/tree/main/src/core/public/index.ts#:~:text=SavedObject), [index.ts](https://github.com/elastic/kibana/tree/main/src/core/types/index.ts#:~:text=SavedObject) | - | | | [mocks.ts](https://github.com/elastic/kibana/tree/main/src/core/public/mocks.ts#:~:text=appBasePath) | 8.8.0 | | | [index.ts](https://github.com/elastic/kibana/tree/main/src/core/server/index.ts#:~:text=AsyncPlugin) | 8.8.0 | | | [index.ts](https://github.com/elastic/kibana/tree/main/src/core/public/index.ts#:~:text=SavedObjectsClientContract) | - | @@ -38,6 +36,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [index.ts](https://github.com/elastic/kibana/tree/main/src/core/public/index.ts#:~:text=SavedObjectsStart), [index.ts](https://github.com/elastic/kibana/tree/main/src/core/server/index.ts#:~:text=SavedObjectsStart) | - | | | [mocks.ts](https://github.com/elastic/kibana/tree/main/src/core/public/mocks.ts#:~:text=savedObjectsServiceMock) | - | | | [mocks.ts](https://github.com/elastic/kibana/tree/main/src/core/public/mocks.ts#:~:text=simpleSavedObjectMock) | - | +| | [index.ts](https://github.com/elastic/kibana/tree/main/src/core/public/index.ts#:~:text=SavedObject), [index.ts](https://github.com/elastic/kibana/tree/main/src/core/types/index.ts#:~:text=SavedObject) | - | | | [index.ts](https://github.com/elastic/kibana/tree/main/src/core/public/index.ts#:~:text=SavedObjectAttributeSingle), [index.ts](https://github.com/elastic/kibana/tree/main/src/core/types/index.ts#:~:text=SavedObjectAttributeSingle) | - | | | [index.ts](https://github.com/elastic/kibana/tree/main/src/core/public/index.ts#:~:text=SavedObjectAttribute), [index.ts](https://github.com/elastic/kibana/tree/main/src/core/types/index.ts#:~:text=SavedObjectAttribute) | - | | | [index.ts](https://github.com/elastic/kibana/tree/main/src/core/public/index.ts#:~:text=SavedObjectReference), [index.ts](https://github.com/elastic/kibana/tree/main/src/core/types/index.ts#:~:text=SavedObjectReference) | - | @@ -117,9 +116,9 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=SavedObject)+ 4 more | - | -| | [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=SavedObject)+ 32 more | - | -| | [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=migrationVersion), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=migrationVersion) | - | +| | [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=migrationVersion) | - | +| | [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=migrationVersion), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=migrationVersion), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=migrationVersion), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=migrationVersion) | - | +| | [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/simple_saved_object.ts#:~:text=SavedObject)+ 4 more | - | | | [create.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/apis/create.ts#:~:text=SavedObjectReference), [create.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/apis/create.ts#:~:text=SavedObjectReference), [bulk_update.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/apis/bulk_update.ts#:~:text=SavedObjectReference), [bulk_update.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/apis/bulk_update.ts#:~:text=SavedObjectReference), [update.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/apis/update.ts#:~:text=SavedObjectReference), [update.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-browser/src/apis/update.ts#:~:text=SavedObjectReference) | - | @@ -128,8 +127,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [saved_objects_repository.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_repository.ts#:~:text=SavedObject), [saved_objects_repository.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_repository.ts#:~:text=SavedObject), [saved_objects_repository.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_repository.ts#:~:text=SavedObject), [saved_objects_repository.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_repository.ts#:~:text=SavedObject) | - | -| | [saved_objects_repository.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_repository.ts#:~:text=SavedObject), [saved_objects_repository.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_repository.ts#:~:text=SavedObject), [saved_objects_repository.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_repository.ts#:~:text=SavedObject), [saved_objects_repository.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_repository.ts#:~:text=SavedObject), [saved_objects_repository.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_repository.ts#:~:text=SavedObject), [saved_objects_repository.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_repository.ts#:~:text=SavedObject), [saved_objects_repository.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_repository.ts#:~:text=SavedObject), [saved_objects_repository.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_repository.ts#:~:text=SavedObject), [saved_objects_repository.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_repository.ts#:~:text=SavedObject), [saved_objects_repository.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_repository.ts#:~:text=SavedObject)+ 2 more | - | +| | [saved_objects_repository.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_repository.ts#:~:text=SavedObject), [saved_objects_repository.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_repository.ts#:~:text=SavedObject), [saved_objects_repository.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_repository.ts#:~:text=SavedObject), [saved_objects_repository.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_repository.ts#:~:text=SavedObject) | - | | | [index.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server/index.ts#:~:text=SavedObjectAttributes) | - | @@ -138,10 +136,11 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| +| | [internal_utils.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/utils/internal_utils.ts#:~:text=migrationVersion) | - | +| | [internal_utils.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/utils/internal_utils.ts#:~:text=migrationVersion), [internal_utils.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/utils/internal_utils.ts#:~:text=migrationVersion), [internal_utils.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/utils/internal_utils.ts#:~:text=migrationVersion), [internal_utils.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/utils/internal_utils.ts#:~:text=migrationVersion) | - | | | [increment_counter_internal.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/internals/increment_counter_internal.ts#:~:text=migrationVersion), [repository.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/repository.test.ts#:~:text=migrationVersion) | - | | | [bulk_create.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_create.ts#:~:text=migrationVersion), [repository.test.common.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server-internal/src/test_helpers/repository.test.common.ts#:~:text=migrationVersion) | - | | | [create.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/create.ts#:~:text=migrationVersion), [repository.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/repository.test.ts#:~:text=migrationVersion), [repository.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/repository.test.ts#:~:text=migrationVersion), [repository.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/repository.test.ts#:~:text=migrationVersion) | - | -| | [internal_utils.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/utils/internal_utils.ts#:~:text=migrationVersion), [internal_utils.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/utils/internal_utils.ts#:~:text=migrationVersion) | - | @@ -157,8 +156,8 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=SavedObject)+ 20 more | - | -| | [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=SavedObject)+ 80 more | - | +| | [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=migrationVersion), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=migrationVersion) | - | +| | [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=migrationVersion), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=migrationVersion), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=migrationVersion), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=migrationVersion), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=migrationVersion), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=migrationVersion), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=migrationVersion), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=migrationVersion) | - | | | [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=SavedObjectsClientContract), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=SavedObjectsClientContract), [saved_objects_client.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.ts#:~:text=SavedObjectsClientContract), [saved_objects_client.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.ts#:~:text=SavedObjectsClientContract), [simple_saved_object.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.test.ts#:~:text=SavedObjectsClientContract), [simple_saved_object.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.test.ts#:~:text=SavedObjectsClientContract) | - | | | [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=create), [simple_saved_object.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.test.ts#:~:text=create), [saved_objects_client.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.ts#:~:text=create), [saved_objects_client.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.test.ts#:~:text=create), [saved_objects_client.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.test.ts#:~:text=create), [saved_objects_client.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.test.ts#:~:text=create), [saved_objects_client.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.test.ts#:~:text=create), [saved_objects_client.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.test.ts#:~:text=create) | - | | | [saved_objects_client.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.ts#:~:text=bulkCreate), [saved_objects_client.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.test.ts#:~:text=bulkCreate), [saved_objects_client.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.test.ts#:~:text=bulkCreate), [saved_objects_client.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.test.ts#:~:text=bulkCreate) | - | @@ -187,8 +186,8 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [saved_objects_client.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.ts#:~:text=SavedObjectsBulkCreateOptions), [saved_objects_client.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.ts#:~:text=SavedObjectsBulkCreateOptions) | - | | | [saved_objects_client.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.ts#:~:text=SavedObjectsBulkCreateObject), [saved_objects_client.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.ts#:~:text=SavedObjectsBulkCreateObject) | - | | | [saved_objects_client.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.ts#:~:text=SavedObjectsBulkDeleteResponse), [saved_objects_client.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.ts#:~:text=SavedObjectsBulkDeleteResponse) | - | -| | [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=migrationVersion), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=migrationVersion), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=migrationVersion), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=migrationVersion) | - | | | [saved_objects_service.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_service.ts#:~:text=SavedObjectsStart), [saved_objects_service.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_service.ts#:~:text=SavedObjectsStart), [saved_objects_service.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_service.ts#:~:text=SavedObjectsStart) | - | +| | [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=SavedObject), [simple_saved_object.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.ts#:~:text=SavedObject)+ 20 more | - | @@ -196,8 +195,8 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [simple_saved_object.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts#:~:text=SavedObject), [simple_saved_object.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts#:~:text=SavedObject), [simple_saved_object.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts#:~:text=SavedObject) | - | -| | [simple_saved_object.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts#:~:text=SavedObject), [simple_saved_object.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts#:~:text=SavedObject), [simple_saved_object.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts#:~:text=SavedObject), [simple_saved_object.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts#:~:text=SavedObject), [simple_saved_object.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts#:~:text=SavedObject), [simple_saved_object.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts#:~:text=SavedObject), [simple_saved_object.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts#:~:text=SavedObject), [simple_saved_object.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts#:~:text=SavedObject), [simple_saved_object.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts#:~:text=SavedObject) | - | +| | [simple_saved_object.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts#:~:text=migrationVersion) | - | +| | [simple_saved_object.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts#:~:text=migrationVersion), [simple_saved_object.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts#:~:text=migrationVersion), [simple_saved_object.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts#:~:text=migrationVersion), [simple_saved_object.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts#:~:text=migrationVersion) | - | | | [simple_saved_object.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts#:~:text=SavedObjectsClientContract), [simple_saved_object.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts#:~:text=SavedObjectsClientContract) | - | | | [saved_objects_service.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-mocks/src/saved_objects_service.mock.ts#:~:text=create) | - | | | [saved_objects_service.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-mocks/src/saved_objects_service.mock.ts#:~:text=bulkCreate) | - | @@ -212,9 +211,9 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [saved_objects_service.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-mocks/src/saved_objects_service.mock.ts#:~:text=bulkUpdate) | - | | | [simple_saved_object.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts#:~:text=SimpleSavedObject), [simple_saved_object.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts#:~:text=SimpleSavedObject), [simple_saved_object.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts#:~:text=SimpleSavedObject) | - | | | [simple_saved_object.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts#:~:text=migrationVersion) | - | -| | [simple_saved_object.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts#:~:text=migrationVersion), [simple_saved_object.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts#:~:text=migrationVersion) | - | | | [saved_objects_service.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-mocks/src/saved_objects_service.mock.ts#:~:text=SavedObjectsStart), [saved_objects_service.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-mocks/src/saved_objects_service.mock.ts#:~:text=SavedObjectsStart) | - | | | [saved_objects_service.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-mocks/src/saved_objects_service.mock.ts#:~:text=SavedObjectsService), [saved_objects_service.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-mocks/src/saved_objects_service.mock.ts#:~:text=SavedObjectsService) | - | +| | [simple_saved_object.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts#:~:text=SavedObject), [simple_saved_object.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts#:~:text=SavedObject), [simple_saved_object.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-browser-mocks/src/simple_saved_object.mock.ts#:~:text=SavedObject) | - | @@ -222,8 +221,6 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [index.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-common/index.ts#:~:text=SavedObject) | - | -| | [index.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-common/index.ts#:~:text=SavedObject), [index.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-common/index.ts#:~:text=SavedObject) | - | | | [server_types.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-common/src/server_types.ts#:~:text=SavedObjectAttributes), [server_types.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-common/src/server_types.ts#:~:text=SavedObjectAttributes), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-common/src/saved_objects.ts#:~:text=SavedObjectAttributes), [server_types.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-common/src/server_types.ts#:~:text=SavedObjectAttributes), [server_types.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-common/src/server_types.ts#:~:text=SavedObjectAttributes), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-common/src/saved_objects.ts#:~:text=SavedObjectAttributes) | - | @@ -232,9 +229,9 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [errors.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/errors.ts#:~:text=SavedObject), [errors.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/errors.ts#:~:text=SavedObject), [regenerate_ids.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/lib/regenerate_ids.ts#:~:text=SavedObject), [regenerate_ids.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/lib/regenerate_ids.ts#:~:text=SavedObject), [apply_export_transforms.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts#:~:text=SavedObject), [apply_export_transforms.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts#:~:text=SavedObject), [apply_export_transforms.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts#:~:text=SavedObject), [apply_export_transforms.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts#:~:text=SavedObject), [apply_export_transforms.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts#:~:text=SavedObject), [apply_export_transforms.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts#:~:text=SavedObject)+ 4 more | - | -| | [errors.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/errors.ts#:~:text=SavedObject), [errors.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/errors.ts#:~:text=SavedObject), [regenerate_ids.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/lib/regenerate_ids.ts#:~:text=SavedObject), [regenerate_ids.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/lib/regenerate_ids.ts#:~:text=SavedObject), [apply_export_transforms.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts#:~:text=SavedObject), [apply_export_transforms.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts#:~:text=SavedObject), [apply_export_transforms.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts#:~:text=SavedObject), [apply_export_transforms.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts#:~:text=SavedObject), [apply_export_transforms.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts#:~:text=SavedObject), [apply_export_transforms.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts#:~:text=SavedObject)+ 32 more | - | -| | [collect_saved_objects.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/lib/collect_saved_objects.ts#:~:text=migrationVersion), [collect_saved_objects.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/lib/collect_saved_objects.ts#:~:text=migrationVersion) | - | +| | [collect_saved_objects.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/lib/collect_saved_objects.ts#:~:text=migrationVersion) | - | +| | [collect_saved_objects.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/lib/collect_saved_objects.ts#:~:text=migrationVersion), [collect_saved_objects.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/lib/collect_saved_objects.ts#:~:text=migrationVersion), [collect_saved_objects.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/lib/collect_saved_objects.ts#:~:text=migrationVersion), [collect_saved_objects.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/lib/collect_saved_objects.ts#:~:text=migrationVersion) | - | +| | [errors.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/errors.ts#:~:text=SavedObject), [errors.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/errors.ts#:~:text=SavedObject), [regenerate_ids.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/lib/regenerate_ids.ts#:~:text=SavedObject), [regenerate_ids.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/lib/regenerate_ids.ts#:~:text=SavedObject), [apply_export_transforms.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts#:~:text=SavedObject), [apply_export_transforms.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts#:~:text=SavedObject), [apply_export_transforms.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts#:~:text=SavedObject), [apply_export_transforms.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts#:~:text=SavedObject), [apply_export_transforms.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts#:~:text=SavedObject), [apply_export_transforms.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/export/apply_export_transforms.ts#:~:text=SavedObject)+ 4 more | - | @@ -242,7 +239,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [internal_transforms.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/internal_transforms.ts#:~:text=convertToMultiNamespaceTypeVersion), [internal_transforms.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/internal_transforms.ts#:~:text=convertToMultiNamespaceTypeVersion), [internal_transforms.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/internal_transforms.ts#:~:text=convertToMultiNamespaceTypeVersion), [validate_migrations.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/validate_migrations.ts#:~:text=convertToMultiNamespaceTypeVersion), [validate_migrations.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/validate_migrations.ts#:~:text=convertToMultiNamespaceTypeVersion), [utils.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/utils.ts#:~:text=convertToMultiNamespaceTypeVersion), [document_migrator.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/document_migrator.test.ts#:~:text=convertToMultiNamespaceTypeVersion), [document_migrator.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/document_migrator.test.ts#:~:text=convertToMultiNamespaceTypeVersion), [document_migrator.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/document_migrator.test.ts#:~:text=convertToMultiNamespaceTypeVersion), [document_migrator.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/document_migrator.test.ts#:~:text=convertToMultiNamespaceTypeVersion)+ 18 more | - | +| | [utils.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/utils.ts#:~:text=convertToMultiNamespaceTypeVersion), [internal_transforms.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/internal_transforms.ts#:~:text=convertToMultiNamespaceTypeVersion), [internal_transforms.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/internal_transforms.ts#:~:text=convertToMultiNamespaceTypeVersion), [internal_transforms.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/internal_transforms.ts#:~:text=convertToMultiNamespaceTypeVersion), [validate_migrations.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/validate_migrations.ts#:~:text=convertToMultiNamespaceTypeVersion), [validate_migrations.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/validate_migrations.ts#:~:text=convertToMultiNamespaceTypeVersion), [document_migrator.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/document_migrator.test.ts#:~:text=convertToMultiNamespaceTypeVersion), [document_migrator.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/document_migrator.test.ts#:~:text=convertToMultiNamespaceTypeVersion), [document_migrator.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/document_migrator.test.ts#:~:text=convertToMultiNamespaceTypeVersion), [document_migrator.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/document_migrator.test.ts#:~:text=convertToMultiNamespaceTypeVersion)+ 17 more | - | @@ -258,7 +255,8 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [import_dashboards.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-server-internal/src/routes/legacy_import_export/lib/import_dashboards.ts#:~:text=migrationVersion), [import_dashboards.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-server-internal/src/routes/legacy_import_export/lib/import_dashboards.ts#:~:text=migrationVersion) | - | +| | [import_dashboards.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-server-internal/src/routes/legacy_import_export/lib/import_dashboards.ts#:~:text=migrationVersion) | - | +| | [import_dashboards.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-server-internal/src/routes/legacy_import_export/lib/import_dashboards.ts#:~:text=migrationVersion), [import_dashboards.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-server-internal/src/routes/legacy_import_export/lib/import_dashboards.ts#:~:text=migrationVersion), [import_dashboards.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-server-internal/src/routes/legacy_import_export/lib/import_dashboards.ts#:~:text=migrationVersion), [import_dashboards.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-server-internal/src/routes/legacy_import_export/lib/import_dashboards.ts#:~:text=migrationVersion) | - | | | [collect_references_deep.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-server-internal/src/routes/legacy_import_export/lib/collect_references_deep.test.ts#:~:text=SavedObjectAttributes), [collect_references_deep.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-server-internal/src/routes/legacy_import_export/lib/collect_references_deep.test.ts#:~:text=SavedObjectAttributes), [collect_references_deep.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-server-internal/src/routes/legacy_import_export/lib/collect_references_deep.test.ts#:~:text=SavedObjectAttributes), [collect_references_deep.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-server-internal/src/routes/legacy_import_export/lib/collect_references_deep.test.ts#:~:text=SavedObjectAttributes) | - | | | [saved_objects_service.ts](https://github.com/elastic/kibana/tree/main/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.ts#:~:text=getAllIndices) | - | @@ -284,8 +282,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [transforms.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/ui-settings/core-ui-settings-server-internal/src/saved_objects/transforms.test.ts#:~:text=SavedObject), [transforms.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/ui-settings/core-ui-settings-server-internal/src/saved_objects/transforms.test.ts#:~:text=SavedObject), [transforms.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/ui-settings/core-ui-settings-server-internal/src/saved_objects/transforms.test.ts#:~:text=SavedObject) | - | -| | [transforms.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/ui-settings/core-ui-settings-server-internal/src/saved_objects/transforms.test.ts#:~:text=SavedObject), [transforms.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/ui-settings/core-ui-settings-server-internal/src/saved_objects/transforms.test.ts#:~:text=SavedObject), [transforms.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/ui-settings/core-ui-settings-server-internal/src/saved_objects/transforms.test.ts#:~:text=SavedObject), [transforms.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/ui-settings/core-ui-settings-server-internal/src/saved_objects/transforms.test.ts#:~:text=SavedObject), [transforms.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/ui-settings/core-ui-settings-server-internal/src/saved_objects/transforms.test.ts#:~:text=SavedObject), [transforms.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/ui-settings/core-ui-settings-server-internal/src/saved_objects/transforms.test.ts#:~:text=SavedObject), [transforms.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/ui-settings/core-ui-settings-server-internal/src/saved_objects/transforms.test.ts#:~:text=SavedObject), [transforms.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/ui-settings/core-ui-settings-server-internal/src/saved_objects/transforms.test.ts#:~:text=SavedObject), [transforms.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/ui-settings/core-ui-settings-server-internal/src/saved_objects/transforms.test.ts#:~:text=SavedObject) | - | +| | [transforms.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/ui-settings/core-ui-settings-server-internal/src/saved_objects/transforms.test.ts#:~:text=SavedObject), [transforms.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/ui-settings/core-ui-settings-server-internal/src/saved_objects/transforms.test.ts#:~:text=SavedObject), [transforms.test.ts](https://github.com/elastic/kibana/tree/main/packages/core/ui-settings/core-ui-settings-server-internal/src/saved_objects/transforms.test.ts#:~:text=SavedObject) | - | @@ -357,12 +354,13 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | ---------------|-----------|-----------| | | [wrap_search_source_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/lib/wrap_search_source_client.ts#:~:text=create) | - | | | [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/lib/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/lib/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/lib/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/lib/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/lib/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/lib/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/lib/wrap_search_source_client.test.ts#:~:text=fetch) | - | +| | [retrieve_migrated_legacy_actions.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts#:~:text=migrationVersion), [retrieve_migrated_legacy_actions.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts#:~:text=migrationVersion), [retrieve_migrated_legacy_actions.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts#:~:text=migrationVersion), [retrieve_migrated_legacy_actions.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts#:~:text=migrationVersion), [retrieve_migrated_legacy_actions.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts#:~:text=migrationVersion) | - | +| | [retrieve_migrated_legacy_actions.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts#:~:text=migrationVersion), [retrieve_migrated_legacy_actions.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts#:~:text=migrationVersion), [retrieve_migrated_legacy_actions.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts#:~:text=migrationVersion), [retrieve_migrated_legacy_actions.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts#:~:text=migrationVersion), [retrieve_migrated_legacy_actions.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts#:~:text=migrationVersion), [retrieve_migrated_legacy_actions.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts#:~:text=migrationVersion), [retrieve_migrated_legacy_actions.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts#:~:text=migrationVersion), [retrieve_migrated_legacy_actions.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts#:~:text=migrationVersion), [retrieve_migrated_legacy_actions.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts#:~:text=migrationVersion), [retrieve_migrated_legacy_actions.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts#:~:text=migrationVersion)+ 10 more | - | | | [wrap_search_source_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/lib/wrap_search_source_client.ts#:~:text=create) | - | | | [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/lib/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/lib/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/lib/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/lib/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/lib/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/lib/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/lib/wrap_search_source_client.test.ts#:~:text=fetch) | - | | | [plugin.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/plugin.test.ts#:~:text=getKibanaFeatures) | 8.8.0 | | | [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/plugin.ts#:~:text=license%24), [license_state.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/lib/license_state.test.ts#:~:text=license%24), [license_state.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/lib/license_state.test.ts#:~:text=license%24) | 8.8.0 | | | [task.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/usage/task.ts#:~:text=index) | - | -| | [retrieve_migrated_legacy_actions.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts#:~:text=migrationVersion), [retrieve_migrated_legacy_actions.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts#:~:text=migrationVersion), [retrieve_migrated_legacy_actions.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts#:~:text=migrationVersion), [retrieve_migrated_legacy_actions.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts#:~:text=migrationVersion), [retrieve_migrated_legacy_actions.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts#:~:text=migrationVersion), [retrieve_migrated_legacy_actions.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts#:~:text=migrationVersion), [retrieve_migrated_legacy_actions.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts#:~:text=migrationVersion), [retrieve_migrated_legacy_actions.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts#:~:text=migrationVersion), [retrieve_migrated_legacy_actions.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts#:~:text=migrationVersion), [retrieve_migrated_legacy_actions.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts#:~:text=migrationVersion) | - | | | [rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/common/rule.ts#:~:text=SavedObjectAttributes), [rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/common/rule.ts#:~:text=SavedObjectAttributes), [rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/common/rule.ts#:~:text=SavedObjectAttributes), [rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/common/rule.ts#:~:text=SavedObjectAttributes), [rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/common/rule.ts#:~:text=SavedObjectAttributes), [rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/common/rule.ts#:~:text=SavedObjectAttributes), [rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/common/rule.ts#:~:text=SavedObjectAttributes), [rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/common/rule.ts#:~:text=SavedObjectAttributes), [rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/common/rule.ts#:~:text=SavedObjectAttributes), [rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/common/rule.ts#:~:text=SavedObjectAttributes)+ 44 more | - | | | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/alerting/server/saved_objects/index.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | @@ -387,8 +385,6 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/shareable_runtime/types.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/shareable_runtime/types.ts#:~:text=SavedObject), [workpad.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/services/kibana/workpad.ts#:~:text=SavedObject), [workpad.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/services/kibana/workpad.ts#:~:text=SavedObject), [use_upload_workpad.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/components/home/hooks/use_upload_workpad.ts#:~:text=SavedObject), [use_upload_workpad.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/components/home/hooks/use_upload_workpad.ts#:~:text=SavedObject) | - | -| | [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/shareable_runtime/types.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/shareable_runtime/types.ts#:~:text=SavedObject), [workpad.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/services/kibana/workpad.ts#:~:text=SavedObject), [workpad.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/services/kibana/workpad.ts#:~:text=SavedObject), [use_upload_workpad.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/components/home/hooks/use_upload_workpad.ts#:~:text=SavedObject), [use_upload_workpad.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/components/home/hooks/use_upload_workpad.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/shareable_runtime/types.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/shareable_runtime/types.ts#:~:text=SavedObject), [workpad.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/services/kibana/workpad.ts#:~:text=SavedObject), [workpad.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/services/kibana/workpad.ts#:~:text=SavedObject)+ 8 more | - | | | [es_data_view_select.component.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/components/es_data_view_select/es_data_view_select.component.tsx#:~:text=title), [es_data_view_select.component.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/components/es_data_view_select/es_data_view_select.component.tsx#:~:text=title), [es_data_view_select.component.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/components/es_data_view_select/es_data_view_select.component.tsx#:~:text=title), [es_data_view_select.component.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/components/es_data_view_select/es_data_view_select.component.tsx#:~:text=title), [es_data_view_select.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/components/es_data_view_select/es_data_view_select.tsx#:~:text=title), [es_data_view_select.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/components/es_data_view_select/es_data_view_select.tsx#:~:text=title), [data_views.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/services/kibana/data_views.ts#:~:text=title), [data_views.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/services/kibana/data_views.ts#:~:text=title), [datasource_component.js](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/components/datasource/datasource_component.js#:~:text=title), [es_data_view_select.component.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/components/es_data_view_select/es_data_view_select.component.tsx#:~:text=title)+ 8 more | - | | | [es_data_view_select.component.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/components/es_data_view_select/es_data_view_select.component.tsx#:~:text=title), [es_data_view_select.component.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/components/es_data_view_select/es_data_view_select.component.tsx#:~:text=title), [es_data_view_select.component.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/components/es_data_view_select/es_data_view_select.component.tsx#:~:text=title), [es_data_view_select.component.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/components/es_data_view_select/es_data_view_select.component.tsx#:~:text=title), [es_data_view_select.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/components/es_data_view_select/es_data_view_select.tsx#:~:text=title), [es_data_view_select.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/components/es_data_view_select/es_data_view_select.tsx#:~:text=title), [data_views.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/services/kibana/data_views.ts#:~:text=title), [data_views.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/services/kibana/data_views.ts#:~:text=title), [datasource_component.js](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/components/datasource/datasource_component.js#:~:text=title), [es_data_view_select.component.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/components/es_data_view_select/es_data_view_select.component.tsx#:~:text=title)+ 8 more | - | | | [es_data_view_select.component.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/components/es_data_view_select/es_data_view_select.component.tsx#:~:text=title), [es_data_view_select.component.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/components/es_data_view_select/es_data_view_select.component.tsx#:~:text=title), [es_data_view_select.component.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/components/es_data_view_select/es_data_view_select.component.tsx#:~:text=title), [es_data_view_select.component.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/components/es_data_view_select/es_data_view_select.component.tsx#:~:text=title), [es_data_view_select.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/components/es_data_view_select/es_data_view_select.tsx#:~:text=title), [es_data_view_select.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/components/es_data_view_select/es_data_view_select.tsx#:~:text=title), [data_views.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/services/kibana/data_views.ts#:~:text=title), [data_views.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/services/kibana/data_views.ts#:~:text=title), [datasource_component.js](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/components/datasource/datasource_component.js#:~:text=title) | - | @@ -409,6 +405,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [workpad_route_context.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/server/workpad_route_context.ts#:~:text=migrationVersion) | - | | | [find.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/server/routes/custom_elements/find.ts#:~:text=SavedObjectAttributes), [find.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/server/routes/custom_elements/find.ts#:~:text=SavedObjectAttributes), [find.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/server/routes/workpad/find.ts#:~:text=SavedObjectAttributes), [find.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/server/routes/workpad/find.ts#:~:text=SavedObjectAttributes), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/shareable_runtime/types.ts#:~:text=SavedObjectAttributes), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/shareable_runtime/types.ts#:~:text=SavedObjectAttributes), [find.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/server/routes/custom_elements/find.ts#:~:text=SavedObjectAttributes), [find.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/server/routes/custom_elements/find.ts#:~:text=SavedObjectAttributes), [find.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/server/routes/workpad/find.ts#:~:text=SavedObjectAttributes), [find.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/server/routes/workpad/find.ts#:~:text=SavedObjectAttributes) | - | | | [platform.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/services/platform.ts#:~:text=SavedObjectsStart), [platform.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/services/platform.ts#:~:text=SavedObjectsStart) | - | +| | [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/shareable_runtime/types.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/shareable_runtime/types.ts#:~:text=SavedObject), [workpad.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/services/kibana/workpad.ts#:~:text=SavedObject), [workpad.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/services/kibana/workpad.ts#:~:text=SavedObject), [use_upload_workpad.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/components/home/hooks/use_upload_workpad.ts#:~:text=SavedObject), [use_upload_workpad.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/public/components/home/hooks/use_upload_workpad.ts#:~:text=SavedObject) | - | | | [saved_lens.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/canvas_plugin_src/functions/external/saved_lens.ts#:~:text=SavedObjectReference), [saved_lens.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/canvas_plugin_src/functions/external/saved_lens.ts#:~:text=SavedObjectReference), [saved_map.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/canvas_plugin_src/functions/external/saved_map.ts#:~:text=SavedObjectReference), [saved_map.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/canvas_plugin_src/functions/external/saved_map.ts#:~:text=SavedObjectReference), [saved_search.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/canvas_plugin_src/functions/external/saved_search.ts#:~:text=SavedObjectReference), [saved_search.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/canvas_plugin_src/functions/external/saved_search.ts#:~:text=SavedObjectReference), [saved_visualization.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/canvas_plugin_src/functions/external/saved_visualization.ts#:~:text=SavedObjectReference), [saved_visualization.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/canvas_plugin_src/functions/external/saved_visualization.ts#:~:text=SavedObjectReference), [embeddable.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/canvas_plugin_src/functions/external/embeddable.ts#:~:text=SavedObjectReference), [embeddable.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/canvas_plugin_src/functions/external/embeddable.ts#:~:text=SavedObjectReference) | - | | | [workpad.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/server/saved_objects/workpad.ts#:~:text=convertToMultiNamespaceTypeVersion), [custom_element.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/canvas/server/saved_objects/custom_element.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | @@ -418,10 +415,8 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [test_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/user_actions/test_utils.ts#:~:text=SavedObject), [test_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/user_actions/test_utils.ts#:~:text=SavedObject), [test_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/user_actions/test_utils.ts#:~:text=SavedObject), [test_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/user_actions/test_utils.ts#:~:text=SavedObject), [test_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/user_actions/test_utils.ts#:~:text=SavedObject), [test_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/user_actions/test_utils.ts#:~:text=SavedObject), [test_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/user_actions/test_utils.ts#:~:text=SavedObject), [test_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/user_actions/test_utils.ts#:~:text=SavedObject), [test_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/user_actions/test_utils.ts#:~:text=SavedObject), [test_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/user_actions/test_utils.ts#:~:text=SavedObject)+ 1 more | - | -| | [test_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/user_actions/test_utils.ts#:~:text=SavedObject), [test_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/user_actions/test_utils.ts#:~:text=SavedObject), [test_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/user_actions/test_utils.ts#:~:text=SavedObject), [test_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/user_actions/test_utils.ts#:~:text=SavedObject), [test_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/user_actions/test_utils.ts#:~:text=SavedObject), [test_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/user_actions/test_utils.ts#:~:text=SavedObject), [test_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/user_actions/test_utils.ts#:~:text=SavedObject), [test_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/user_actions/test_utils.ts#:~:text=SavedObject), [test_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/user_actions/test_utils.ts#:~:text=SavedObject), [test_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/user_actions/test_utils.ts#:~:text=SavedObject)+ 23 more | - | | | [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/common/ui/types.ts#:~:text=ResolvedSimpleSavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/common/ui/types.ts#:~:text=ResolvedSimpleSavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/common/ui/types.ts#:~:text=ResolvedSimpleSavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/common/ui/types.ts#:~:text=ResolvedSimpleSavedObject) | - | -| | [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/attachment_framework/so_references.ts#:~:text=SavedObjectReference), [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/attachment_framework/so_references.ts#:~:text=SavedObjectReference), [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/attachment_framework/so_references.ts#:~:text=SavedObjectReference), [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/attachment_framework/so_references.ts#:~:text=SavedObjectReference), [test_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/user_actions/test_utils.ts#:~:text=SavedObjectReference), [test_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/services/user_actions/test_utils.ts#:~:text=SavedObjectReference) | - | +| | [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/attachment_framework/so_references.ts#:~:text=SavedObjectReference), [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/attachment_framework/so_references.ts#:~:text=SavedObjectReference), [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/attachment_framework/so_references.ts#:~:text=SavedObjectReference), [so_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/attachment_framework/so_references.ts#:~:text=SavedObjectReference) | - | | | [cases.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/saved_object_types/cases.ts#:~:text=convertToMultiNamespaceTypeVersion), [configure.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/saved_object_types/configure.ts#:~:text=convertToMultiNamespaceTypeVersion), [comments.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/saved_object_types/comments.ts#:~:text=convertToMultiNamespaceTypeVersion), [user_actions.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/saved_object_types/user_actions.ts#:~:text=convertToMultiNamespaceTypeVersion), [connector_mappings.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cases/server/saved_object_types/connector_mappings.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | @@ -439,11 +434,6 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| | | [overview_tab.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cloud_security_posture/public/pages/configurations/findings_flyout/overview_tab.tsx#:~:text=indexPatternId) | - | -| | [use_csp_rules.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_rules.ts#:~:text=savedObjects) | - | -| | [use_csp_rules.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_rules.ts#:~:text=find) | - | -| | [use_csp_rules.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_rules.ts#:~:text=get) | - | -| | [use_csp_rules.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_rules.ts#:~:text=SimpleSavedObject), [use_csp_rules.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_rules.ts#:~:text=SimpleSavedObject), [use_csp_rules.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_rules.ts#:~:text=SimpleSavedObject) | - | -| | [use_csp_rules.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_rules.ts#:~:text=SavedObjectsFindOptions), [use_csp_rules.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_rules.ts#:~:text=SavedObjectsFindOptions) | - | @@ -516,13 +506,13 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| | | [kibana_context.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/expressions/kibana_context.test.ts#:~:text=title), [kibana_context.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/expressions/kibana_context.test.ts#:~:text=title), [kibana_context.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/expressions/kibana_context.test.ts#:~:text=title), [inspector_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/search_source/inspect/inspector_stats.ts#:~:text=title), [response_writer.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/tabify/response_writer.ts#:~:text=title), [field.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/param_types/field.ts#:~:text=title), [get_display_value.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/query/filter_manager/lib/get_display_value.ts#:~:text=title), [painless_error.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/errors/painless_error.tsx#:~:text=title), [agg_config.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/agg_config.test.ts#:~:text=title), [_terms_other_bucket_helper.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/_terms_other_bucket_helper.test.ts#:~:text=title)+ 6 more | - | -| | [index.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/index.ts#:~:text=SavedObject), [index.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/index.ts#:~:text=SavedObject), [route_handler_context.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/server/query/route_handler_context.test.ts#:~:text=SavedObject), [route_handler_context.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/server/query/route_handler_context.test.ts#:~:text=SavedObject), [route_handler_context.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/server/query/route_handler_context.test.ts#:~:text=SavedObject), [route_handler_context.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/server/query/route_handler_context.test.ts#:~:text=SavedObject), [route_handler_context.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/server/query/route_handler_context.test.ts#:~:text=SavedObject), [route_handler_context.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/server/query/route_handler_context.test.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/session/sessions_mgmt/lib/api.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/session/sessions_mgmt/lib/api.ts#:~:text=SavedObject)+ 30 more | - | | | [kibana_context.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/expressions/kibana_context.test.ts#:~:text=title), [kibana_context.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/expressions/kibana_context.test.ts#:~:text=title), [kibana_context.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/expressions/kibana_context.test.ts#:~:text=title), [inspector_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/search_source/inspect/inspector_stats.ts#:~:text=title), [response_writer.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/tabify/response_writer.ts#:~:text=title), [field.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/param_types/field.ts#:~:text=title), [get_display_value.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/query/filter_manager/lib/get_display_value.ts#:~:text=title), [painless_error.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/errors/painless_error.tsx#:~:text=title), [agg_config.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/agg_config.test.ts#:~:text=title), [_terms_other_bucket_helper.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/_terms_other_bucket_helper.test.ts#:~:text=title)+ 6 more | - | | | [kibana_context.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/expressions/kibana_context.test.ts#:~:text=title), [kibana_context.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/expressions/kibana_context.test.ts#:~:text=title), [kibana_context.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/expressions/kibana_context.test.ts#:~:text=title), [inspector_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/search_source/inspect/inspector_stats.ts#:~:text=title), [response_writer.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/tabify/response_writer.ts#:~:text=title), [field.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/param_types/field.ts#:~:text=title), [get_display_value.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/query/filter_manager/lib/get_display_value.ts#:~:text=title), [painless_error.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/errors/painless_error.tsx#:~:text=title), [agg_config.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/agg_config.test.ts#:~:text=title), [_terms_other_bucket_helper.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/_terms_other_bucket_helper.test.ts#:~:text=title)+ 6 more | - | | | [get_columns.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/session/sessions_mgmt/lib/get_columns.tsx#:~:text=RedirectAppLinks), [get_columns.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/session/sessions_mgmt/lib/get_columns.tsx#:~:text=RedirectAppLinks), [get_columns.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/session/sessions_mgmt/lib/get_columns.tsx#:~:text=RedirectAppLinks), [connected_search_session_indicator.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/session/session_indicator/connected_search_session_indicator/connected_search_session_indicator.tsx#:~:text=RedirectAppLinks), [connected_search_session_indicator.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/session/session_indicator/connected_search_session_indicator/connected_search_session_indicator.tsx#:~:text=RedirectAppLinks), [connected_search_session_indicator.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/session/session_indicator/connected_search_session_indicator/connected_search_session_indicator.tsx#:~:text=RedirectAppLinks) | - | | | [session_service.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/server/search/session/session_service.ts#:~:text=authc) | - | | | [data_table.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/utils/table_inspector_view/components/data_table.tsx#:~:text=executeTriggerActions), [data_table.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/utils/table_inspector_view/components/data_table.tsx#:~:text=executeTriggerActions) | - | | | [kibana_context.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/expressions/kibana_context.ts#:~:text=savedObjects) | - | +| | [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/session/sessions_mgmt/lib/api.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/session/sessions_mgmt/lib/api.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/session/sessions_mgmt/lib/api.ts#:~:text=SavedObject), [search_session_migration.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/server/search/saved_objects/search_session_migration.test.ts#:~:text=SavedObject), [search_session_migration.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/server/search/saved_objects/search_session_migration.test.ts#:~:text=SavedObject), [search_session_migration.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/server/search/saved_objects/search_session_migration.test.ts#:~:text=SavedObject), [search_session_migration.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/server/search/saved_objects/search_session_migration.test.ts#:~:text=SavedObject), [search_session_migration.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/server/search/saved_objects/search_session_migration.test.ts#:~:text=SavedObject), [search_session_migration.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/server/search/saved_objects/search_session_migration.test.ts#:~:text=SavedObject), [search_session_migration.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/server/search/saved_objects/search_session_migration.test.ts#:~:text=SavedObject)+ 2 more | - | | | [kibana_context.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/expressions/kibana_context.ts#:~:text=SavedObjectReference), [kibana_context.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/expressions/kibana_context.ts#:~:text=SavedObjectReference), [extract_references.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/search_source/extract_references.ts#:~:text=SavedObjectReference), [extract_references.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/search_source/extract_references.ts#:~:text=SavedObjectReference), [extract_references.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/search_source/extract_references.ts#:~:text=SavedObjectReference), [inject_references.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/search_source/inject_references.ts#:~:text=SavedObjectReference), [inject_references.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/search_source/inject_references.ts#:~:text=SavedObjectReference), [persistable_state.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/query/filters/persistable_state.ts#:~:text=SavedObjectReference), [persistable_state.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/query/filters/persistable_state.ts#:~:text=SavedObjectReference), [persistable_state.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/query/filters/persistable_state.ts#:~:text=SavedObjectReference)+ 5 more | - | | | [query.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/server/saved_objects/query.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | @@ -551,8 +541,6 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/types.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/types.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/types.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/types.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/types.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/types.ts#:~:text=SavedObject), [index.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/index.ts#:~:text=SavedObject), [data_views.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/data_views/data_views.ts#:~:text=SavedObject), [data_views.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/data_views/data_views.ts#:~:text=SavedObject), [data_views.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/data_views/data_views.ts#:~:text=SavedObject)+ 17 more | - | -| | [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/types.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/types.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/types.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/types.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/types.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/types.ts#:~:text=SavedObject), [index.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/index.ts#:~:text=SavedObject), [data_views.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/data_views/data_views.ts#:~:text=SavedObject), [data_views.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/data_views/data_views.ts#:~:text=SavedObject), [data_views.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/data_views/data_views.ts#:~:text=SavedObject)+ 44 more | - | | | [data_view.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/data_views/data_view.ts#:~:text=title), [data_view.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/data_views/data_view.ts#:~:text=title), [data_view.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/data_views/data_view.ts#:~:text=title), [data_view.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/data_views/data_view.ts#:~:text=title), [update_data_view.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/server/rest_api_routes/update_data_view.ts#:~:text=title), [update_data_view.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/server/rest_api_routes/update_data_view.ts#:~:text=title), [data_views.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/data_views/data_views.ts#:~:text=title) | - | | | [data_view.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/data_views/data_view.ts#:~:text=flattenHit) | - | | | [data_view.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=removeScriptedField) | - | @@ -565,15 +553,8 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [data_view.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/data_views/data_view.ts#:~:text=getScriptedFields), [data_view.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/data_views/data_view.ts#:~:text=getScriptedFields), [data_views.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/data_views/data_views.ts#:~:text=getScriptedFields), [data_view.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=getScriptedFields), [data_view.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=getScriptedFields), [data_view.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=getScriptedFields), [data_view.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=getScriptedFields), [data_view.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/data_views/data_view.test.ts#:~:text=getScriptedFields) | - | | | [plugin.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/public/plugin.ts#:~:text=savedObjects) | - | | | [get_title.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/lib/get_title.ts#:~:text=SavedObjectsClientContract), [get_title.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/lib/get_title.ts#:~:text=SavedObjectsClientContract), [saved_objects_client_wrapper.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/public/saved_objects_client_wrapper.ts#:~:text=SavedObjectsClientContract), [saved_objects_client_wrapper.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/public/saved_objects_client_wrapper.ts#:~:text=SavedObjectsClientContract) | - | -| | [saved_objects_client_wrapper.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/public/saved_objects_client_wrapper.ts#:~:text=create) | - | -| | [saved_objects_client_wrapper.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/public/saved_objects_client_wrapper.ts#:~:text=delete) | - | -| | [saved_objects_client_wrapper.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/public/saved_objects_client_wrapper.ts#:~:text=find) | - | | | [get_title.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/lib/get_title.ts#:~:text=get) | - | -| | [saved_objects_client_wrapper.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/public/saved_objects_client_wrapper.ts#:~:text=resolve), [saved_objects_client_wrapper.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/public/saved_objects_client_wrapper.test.ts#:~:text=resolve), [saved_objects_client_wrapper.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/public/saved_objects_client_wrapper.test.ts#:~:text=resolve), [saved_objects_client_wrapper.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/public/saved_objects_client_wrapper.test.ts#:~:text=resolve) | - | -| | [saved_objects_client_wrapper.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/public/saved_objects_client_wrapper.ts#:~:text=update) | - | -| | [saved_objects_client_wrapper.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/public/saved_objects_client_wrapper.ts#:~:text=SimpleSavedObject), [saved_objects_client_wrapper.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/public/saved_objects_client_wrapper.ts#:~:text=SimpleSavedObject) | - | -| | [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/types.ts#:~:text=SavedObjectsCreateOptions), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/types.ts#:~:text=SavedObjectsCreateOptions), [saved_objects_client_wrapper.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/public/saved_objects_client_wrapper.ts#:~:text=SavedObjectsCreateOptions), [saved_objects_client_wrapper.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/public/saved_objects_client_wrapper.ts#:~:text=SavedObjectsCreateOptions) | - | -| | [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/types.ts#:~:text=SavedObjectsUpdateOptions), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/types.ts#:~:text=SavedObjectsUpdateOptions), [saved_objects_client_wrapper.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/public/saved_objects_client_wrapper.ts#:~:text=SavedObjectsUpdateOptions), [saved_objects_client_wrapper.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/public/saved_objects_client_wrapper.ts#:~:text=SavedObjectsUpdateOptions) | - | +| | [saved_objects_client_wrapper.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/public/saved_objects_client_wrapper.ts#:~:text=resolve) | - | | | [saved_objects_client_wrapper.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/public/saved_objects_client_wrapper.test.ts#:~:text=savedObjectsServiceMock), [saved_objects_client_wrapper.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/public/saved_objects_client_wrapper.test.ts#:~:text=savedObjectsServiceMock) | - | | | [load_index_pattern.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/expressions/load_index_pattern.ts#:~:text=SavedObjectReference), [load_index_pattern.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/expressions/load_index_pattern.ts#:~:text=SavedObjectReference), [persistable_state.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/data_views/persistable_state.test.ts#:~:text=SavedObjectReference), [persistable_state.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/common/data_views/persistable_state.test.ts#:~:text=SavedObjectReference) | - | | | [data_views.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data_views/server/saved_objects/data_views.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | @@ -599,15 +580,12 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| | | [saved_search_embeddable.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx#:~:text=create), [saved_search_embeddable.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx#:~:text=create) | - | -| | [use_text_based_query_language.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts#:~:text=title), [use_text_based_query_language.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts#:~:text=title) | - | | | [saved_search_embeddable.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx#:~:text=create), [saved_search_embeddable.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx#:~:text=create) | - | | | [fetch_hits_in_interval.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/context/utils/fetch_hits_in_interval.ts#:~:text=EsQuerySearchAfter), [fetch_hits_in_interval.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/context/utils/fetch_hits_in_interval.ts#:~:text=EsQuerySearchAfter), [get_es_query_search_after.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/context/utils/get_es_query_search_after.ts#:~:text=EsQuerySearchAfter), [get_es_query_search_after.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/context/utils/get_es_query_search_after.ts#:~:text=EsQuerySearchAfter), [get_es_query_search_after.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/context/utils/get_es_query_search_after.ts#:~:text=EsQuerySearchAfter) | - | -| | [use_text_based_query_language.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts#:~:text=title), [use_text_based_query_language.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts#:~:text=title) | - | -| | [use_text_based_query_language.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts#:~:text=title) | - | | | [on_save_search.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/components/top_nav/on_save_search.tsx#:~:text=SavedObjectSaveModal), [on_save_search.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/components/top_nav/on_save_search.tsx#:~:text=SavedObjectSaveModal) | 8.8.0 | | | [saved_search_embeddable.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx#:~:text=executeTriggerActions), [search_embeddable_factory.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/embeddable/search_embeddable_factory.ts#:~:text=executeTriggerActions), [plugin.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/plugin.tsx#:~:text=executeTriggerActions) | - | -| | [discover_saved_search_container.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/services/discover_saved_search_container.ts#:~:text=savedObjects), [discover_saved_search_container.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/services/discover_saved_search_container.ts#:~:text=savedObjects), [search_embeddable_factory.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/embeddable/search_embeddable_factory.ts#:~:text=savedObjects), [discover_saved_search_container.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/services/discover_saved_search_container.test.ts#:~:text=savedObjects), [discover_state.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/services/discover_state.test.ts#:~:text=savedObjects) | - | -| | [discover_saved_search_container.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/services/discover_saved_search_container.test.ts#:~:text=resolve), [discover_state.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/services/discover_state.test.ts#:~:text=resolve) | - | +| | [discover_state.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/services/discover_state.test.ts#:~:text=savedObjects) | - | +| | [discover_state.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/public/application/main/services/discover_state.test.ts#:~:text=resolve) | - | | | [ui_settings.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/server/ui_settings.ts#:~:text=metric), [ui_settings.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/server/ui_settings.ts#:~:text=metric), [ui_settings.ts](https://github.com/elastic/kibana/tree/main/src/plugins/discover/server/ui_settings.ts#:~:text=metric) | - | @@ -662,6 +640,22 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] +## eventAnnotation + +| Deprecated API | Reference location(s) | Remove By | +| ---------------|-----------|-----------| +| | [service.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.tsx#:~:text=savedObjects), [service.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.test.ts#:~:text=savedObjects), [service.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.test.ts#:~:text=savedObjects), [service.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.test.ts#:~:text=savedObjects), [service.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.test.ts#:~:text=savedObjects), [service.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.test.ts#:~:text=savedObjects) | - | +| | [service.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.tsx#:~:text=SavedObjectsClientContract), [service.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.tsx#:~:text=SavedObjectsClientContract) | - | +| | [service.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.tsx#:~:text=create), [service.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.test.ts#:~:text=create), [service.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.test.ts#:~:text=create) | - | +| | [service.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.test.ts#:~:text=bulkCreate) | - | +| | [service.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.tsx#:~:text=find) | - | +| | [service.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.tsx#:~:text=get), [service.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.test.ts#:~:text=get) | - | +| | [service.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.tsx#:~:text=update), [service.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.test.ts#:~:text=update) | - | +| | [service.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.test.ts#:~:text=SimpleSavedObject), [service.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.test.ts#:~:text=SimpleSavedObject) | - | +| | [service.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.tsx#:~:text=SavedObjectReference), [service.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/event_annotation/public/event_annotation_service/service.tsx#:~:text=SavedObjectReference) | - | + + + ## exploratoryView | Deprecated API | Reference location(s) | Remove By | @@ -703,15 +697,12 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [epm.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/common/types/models/epm.ts#:~:text=SavedObject), [epm.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/common/types/models/epm.ts#:~:text=SavedObject), [epm.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/common/types/models/epm.ts#:~:text=SavedObject) | - | -| | [epm.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/common/types/models/epm.ts#:~:text=SavedObject), [epm.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/common/types/models/epm.ts#:~:text=SavedObject), [epm.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/common/types/models/epm.ts#:~:text=SavedObject), [epm.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/common/types/models/epm.ts#:~:text=SavedObject), [epm.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/common/types/models/epm.ts#:~:text=SavedObject), [epm.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/common/types/models/epm.ts#:~:text=SavedObject), [epm.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/common/types/models/epm.ts#:~:text=SavedObject), [epm.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/common/types/models/epm.ts#:~:text=SavedObject), [epm.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/common/types/models/epm.ts#:~:text=SavedObject) | - | +| | [install.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion) | - | +| | [install.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion), [install.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion)+ 10 more | - | | | [query_bar.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/query_bar.tsx#:~:text=title), [query_bar.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/query_bar.tsx#:~:text=title) | - | | | [query_bar.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/query_bar.tsx#:~:text=title), [query_bar.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/query_bar.tsx#:~:text=title) | - | | | [query_bar.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/query_bar.tsx#:~:text=title) | - | | | [use_get_logs_discover_link.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/multi_page_layout/hooks/use_get_logs_discover_link.tsx#:~:text=indexPatternId) | - | -| | [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/plugin.ts#:~:text=disabled) | 8.8.0 | -| | [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/plugin.ts#:~:text=disabled) | 8.8.0 | -| | [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/plugin.ts#:~:text=disabled) | 8.8.0 | | | [tutorial_directory_header_link.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/components/home_integration/tutorial_directory_header_link.tsx#:~:text=RedirectAppLinks), [tutorial_directory_header_link.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/components/home_integration/tutorial_directory_header_link.tsx#:~:text=RedirectAppLinks), [tutorial_directory_header_link.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/components/home_integration/tutorial_directory_header_link.tsx#:~:text=RedirectAppLinks), [custom_assets_accordion.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/components/custom_assets_accordion.tsx#:~:text=RedirectAppLinks), [custom_assets_accordion.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/components/custom_assets_accordion.tsx#:~:text=RedirectAppLinks), [custom_assets_accordion.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/components/custom_assets_accordion.tsx#:~:text=RedirectAppLinks), [agent_logs.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/agent_logs.tsx#:~:text=RedirectAppLinks), [agent_logs.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/agent_logs.tsx#:~:text=RedirectAppLinks), [agent_logs.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/agent_logs.tsx#:~:text=RedirectAppLinks), [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/integrations/app.tsx#:~:text=RedirectAppLinks)+ 5 more | - | | | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/integrations/index.tsx#:~:text=appBasePath) | 8.8.0 | | | [assets.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/assets/assets.tsx#:~:text=savedObjects) | - | @@ -719,8 +710,8 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/assets/types.ts#:~:text=SimpleSavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/assets/types.ts#:~:text=SimpleSavedObject) | - | | | [assets.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/assets/assets.tsx#:~:text=ResolvedSimpleSavedObject), [assets.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/assets/assets.tsx#:~:text=ResolvedSimpleSavedObject) | - | | | [install.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts#:~:text=migrationVersion) | - | -| | [install.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion), [install.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion) | - | -| | [epm.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/common/types/models/epm.ts#:~:text=SavedObjectAttributes), [epm.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/common/types/models/epm.ts#:~:text=SavedObjectAttributes), [settings.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/common/types/models/settings.ts#:~:text=SavedObjectAttributes), [settings.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/common/types/models/settings.ts#:~:text=SavedObjectAttributes) | - | +| | [epm.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/common/types/models/epm.ts#:~:text=SavedObject), [epm.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/common/types/models/epm.ts#:~:text=SavedObject), [epm.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/common/types/models/epm.ts#:~:text=SavedObject) | - | +| | [epm.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/common/types/models/epm.ts#:~:text=SavedObjectAttributes), [epm.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/common/types/models/epm.ts#:~:text=SavedObjectAttributes) | - | | | [epm.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/common/types/models/epm.ts#:~:text=SavedObjectReference), [epm.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/common/types/models/epm.ts#:~:text=SavedObjectReference), [epm.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/common/types/models/epm.ts#:~:text=SavedObjectReference), [epm.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/common/types/models/epm.ts#:~:text=SavedObjectReference) | - | @@ -737,7 +728,9 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| +| | [logs.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/server/sample_data/logs.ts#:~:text=migrationVersion), [ecommerce.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/server/sample_data/ecommerce.ts#:~:text=migrationVersion), [flights.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/server/sample_data/flights.ts#:~:text=migrationVersion) | - | | | [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/plugin.ts#:~:text=indexPatterns) | - | +| | [logs.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/server/sample_data/logs.ts#:~:text=migrationVersion), [ecommerce.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/server/sample_data/ecommerce.ts#:~:text=migrationVersion), [flights.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/server/sample_data/flights.ts#:~:text=migrationVersion), [logs.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/server/sample_data/logs.ts#:~:text=migrationVersion), [ecommerce.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/server/sample_data/ecommerce.ts#:~:text=migrationVersion), [flights.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/server/sample_data/flights.ts#:~:text=migrationVersion), [logs.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/server/sample_data/logs.ts#:~:text=migrationVersion), [ecommerce.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/server/sample_data/ecommerce.ts#:~:text=migrationVersion), [flights.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/server/sample_data/flights.ts#:~:text=migrationVersion), [logs.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/server/sample_data/logs.ts#:~:text=migrationVersion)+ 2 more | - | | | [datasource.sagas.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/state_management/datasource.sagas.ts#:~:text=title), [persistence.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/state_management/persistence.ts#:~:text=title), [persistence.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/state_management/persistence.ts#:~:text=title), [datasource.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/state_management/datasource.test.ts#:~:text=title), [datasource.sagas.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/state_management/datasource.sagas.ts#:~:text=title), [persistence.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/state_management/persistence.ts#:~:text=title), [persistence.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/state_management/persistence.ts#:~:text=title), [datasource.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/state_management/datasource.test.ts#:~:text=title) | - | | | [deserialize.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/services/persistence/deserialize.ts#:~:text=getNonScriptedFields), [datasource.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/state_management/datasource.test.ts#:~:text=getNonScriptedFields), [deserialize.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/services/persistence/deserialize.test.ts#:~:text=getNonScriptedFields), [deserialize.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/services/persistence/deserialize.test.ts#:~:text=getNonScriptedFields), [deserialize.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/services/persistence/deserialize.ts#:~:text=getNonScriptedFields), [datasource.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/state_management/datasource.test.ts#:~:text=getNonScriptedFields), [deserialize.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/services/persistence/deserialize.test.ts#:~:text=getNonScriptedFields), [deserialize.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/services/persistence/deserialize.test.ts#:~:text=getNonScriptedFields) | - | | | [datasource.sagas.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/state_management/datasource.sagas.ts#:~:text=title), [persistence.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/state_management/persistence.ts#:~:text=title), [persistence.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/state_management/persistence.ts#:~:text=title), [datasource.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/state_management/datasource.test.ts#:~:text=title), [datasource.sagas.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/state_management/datasource.sagas.ts#:~:text=title), [persistence.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/state_management/persistence.ts#:~:text=title), [persistence.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/state_management/persistence.ts#:~:text=title), [datasource.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/state_management/datasource.test.ts#:~:text=title) | - | @@ -746,43 +739,27 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [deserialize.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/services/persistence/deserialize.ts#:~:text=getNonScriptedFields), [datasource.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/state_management/datasource.test.ts#:~:text=getNonScriptedFields), [deserialize.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/services/persistence/deserialize.test.ts#:~:text=getNonScriptedFields), [deserialize.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/services/persistence/deserialize.test.ts#:~:text=getNonScriptedFields) | - | | | [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/server/plugin.ts#:~:text=license%24) | 8.8.0 | | | [save_modal.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/components/save_modal.tsx#:~:text=SavedObjectSaveModal), [save_modal.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/components/save_modal.tsx#:~:text=SavedObjectSaveModal) | 8.8.0 | -| | [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/plugin.ts#:~:text=savedObjects) | - | -| | [save_modal.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/services/save_modal.tsx#:~:text=SavedObjectsClientContract), [save_modal.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/services/save_modal.tsx#:~:text=SavedObjectsClientContract), [saved_workspace_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/helpers/saved_workspace_utils.ts#:~:text=SavedObjectsClientContract), [saved_workspace_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/helpers/saved_workspace_utils.ts#:~:text=SavedObjectsClientContract), [saved_workspace_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/helpers/saved_workspace_utils.ts#:~:text=SavedObjectsClientContract), [saved_workspace_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/helpers/saved_workspace_utils.ts#:~:text=SavedObjectsClientContract), [saved_workspace_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/helpers/saved_workspace_utils.ts#:~:text=SavedObjectsClientContract), [store.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/state_management/store.ts#:~:text=SavedObjectsClientContract), [store.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/state_management/store.ts#:~:text=SavedObjectsClientContract), [use_workspace_loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/helpers/use_workspace_loader.ts#:~:text=SavedObjectsClientContract)+ 5 more | - | -| | [saved_workspace_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/helpers/saved_workspace_utils.ts#:~:text=create), [saved_workspace_utils.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/helpers/saved_workspace_utils.test.ts#:~:text=create) | - | -| | [saved_workspace_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/helpers/saved_workspace_utils.ts#:~:text=delete) | - | -| | [saved_workspace_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/helpers/saved_workspace_utils.ts#:~:text=find), [saved_workspace_utils.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/helpers/saved_workspace_utils.test.ts#:~:text=find) | - | -| | [saved_workspace_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/helpers/saved_workspace_utils.ts#:~:text=resolve) | - | -| | [app_state.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/types/app_state.ts#:~:text=SimpleSavedObject), [app_state.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/types/app_state.ts#:~:text=SimpleSavedObject) | - | +| | [app_state.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/types/app_state.ts#:~:text=SimpleSavedObject), [app_state.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/types/app_state.ts#:~:text=SimpleSavedObject), [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/helpers/saved_objects_utils/find_object_by_title.test.ts#:~:text=SimpleSavedObject), [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/helpers/saved_objects_utils/find_object_by_title.test.ts#:~:text=SimpleSavedObject) | - | +| | [save_with_confirmation.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/helpers/saved_objects_utils/save_with_confirmation.ts#:~:text=SavedObjectsCreateOptions), [save_with_confirmation.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/helpers/saved_objects_utils/save_with_confirmation.ts#:~:text=SavedObjectsCreateOptions) | - | | | [use_workspace_loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/helpers/use_workspace_loader.ts#:~:text=ResolvedSimpleSavedObject), [use_workspace_loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/helpers/use_workspace_loader.ts#:~:text=ResolvedSimpleSavedObject), [use_workspace_loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/helpers/use_workspace_loader.ts#:~:text=ResolvedSimpleSavedObject), [use_workspace_loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/helpers/use_workspace_loader.ts#:~:text=ResolvedSimpleSavedObject) | - | -| | [logs.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/server/sample_data/logs.ts#:~:text=migrationVersion), [ecommerce.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/server/sample_data/ecommerce.ts#:~:text=migrationVersion), [flights.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/server/sample_data/flights.ts#:~:text=migrationVersion), [logs.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/server/sample_data/logs.ts#:~:text=migrationVersion), [ecommerce.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/server/sample_data/ecommerce.ts#:~:text=migrationVersion), [flights.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/server/sample_data/flights.ts#:~:text=migrationVersion) | - | | | [saved_workspace_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/services/persistence/saved_workspace_references.ts#:~:text=SavedObjectAttributes), [saved_workspace_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/services/persistence/saved_workspace_references.ts#:~:text=SavedObjectAttributes), [saved_workspace_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/helpers/saved_workspace_utils.ts#:~:text=SavedObjectAttributes), [saved_workspace_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/helpers/saved_workspace_utils.ts#:~:text=SavedObjectAttributes) | - | | | [saved_workspace_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/services/persistence/saved_workspace_references.ts#:~:text=SavedObjectReference), [saved_workspace_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/services/persistence/saved_workspace_references.ts#:~:text=SavedObjectReference), [saved_workspace_references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/services/persistence/saved_workspace_references.ts#:~:text=SavedObjectReference), [persistence.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/types/persistence.ts#:~:text=SavedObjectReference), [persistence.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/types/persistence.ts#:~:text=SavedObjectReference) | - | | | [graph_workspace.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/server/saved_objects/graph_workspace.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | -## guidedOnboarding - -| Deprecated API | Reference location(s) | Remove By | -| ---------------|-----------|-----------| -| | [feature.ts](https://github.com/elastic/kibana/tree/main/src/plugins/guided_onboarding/server/feature.ts#:~:text=disabled) | 8.8.0 | -| | [feature.ts](https://github.com/elastic/kibana/tree/main/src/plugins/guided_onboarding/server/feature.ts#:~:text=disabled) | 8.8.0 | -| | [feature.ts](https://github.com/elastic/kibana/tree/main/src/plugins/guided_onboarding/server/feature.ts#:~:text=disabled) | 8.8.0 | - - - ## home | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [sample_data_registry.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/sample_data_registry.ts#:~:text=SavedObject), [sample_data_registry.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/sample_data_registry.ts#:~:text=SavedObject), [sample_data_registry.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/sample_data_registry.ts#:~:text=SavedObject) | - | -| | [sample_data_registry.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/sample_data_registry.ts#:~:text=SavedObject), [sample_data_registry.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/sample_data_registry.ts#:~:text=SavedObject), [sample_data_registry.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/sample_data_registry.ts#:~:text=SavedObject), [sample_data_registry.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/sample_data_registry.ts#:~:text=SavedObject), [sample_data_registry.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/sample_data_registry.ts#:~:text=SavedObject), [sample_data_registry.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/sample_data_registry.ts#:~:text=SavedObject), [sample_data_registry.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/sample_data_registry.ts#:~:text=SavedObject), [sample_data_registry.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/sample_data_registry.ts#:~:text=SavedObject), [sample_data_registry.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/sample_data_registry.ts#:~:text=SavedObject) | - | +| | [saved_objects.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts#:~:text=migrationVersion), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts#:~:text=migrationVersion), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts#:~:text=migrationVersion), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts#:~:text=migrationVersion), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts#:~:text=migrationVersion), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts#:~:text=migrationVersion), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts#:~:text=migrationVersion), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts#:~:text=migrationVersion), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts#:~:text=migrationVersion), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts#:~:text=migrationVersion) | - | +| | [saved_objects.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts#:~:text=migrationVersion), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts#:~:text=migrationVersion), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts#:~:text=migrationVersion), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts#:~:text=migrationVersion), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts#:~:text=migrationVersion), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts#:~:text=migrationVersion), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts#:~:text=migrationVersion), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts#:~:text=migrationVersion), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts#:~:text=migrationVersion), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts#:~:text=migrationVersion)+ 30 more | - | | | [tutorial_directory.js](https://github.com/elastic/kibana/tree/main/src/plugins/home/public/application/components/tutorial_directory.js#:~:text=KibanaPageTemplate), [tutorial_directory.js](https://github.com/elastic/kibana/tree/main/src/plugins/home/public/application/components/tutorial_directory.js#:~:text=KibanaPageTemplate), [tutorial_directory.js](https://github.com/elastic/kibana/tree/main/src/plugins/home/public/application/components/tutorial_directory.js#:~:text=KibanaPageTemplate), [tutorial.js](https://github.com/elastic/kibana/tree/main/src/plugins/home/public/application/components/tutorial/tutorial.js#:~:text=KibanaPageTemplate), [tutorial.js](https://github.com/elastic/kibana/tree/main/src/plugins/home/public/application/components/tutorial/tutorial.js#:~:text=KibanaPageTemplate), [tutorial.js](https://github.com/elastic/kibana/tree/main/src/plugins/home/public/application/components/tutorial/tutorial.js#:~:text=KibanaPageTemplate), [tutorial.js](https://github.com/elastic/kibana/tree/main/src/plugins/home/public/application/components/tutorial/tutorial.js#:~:text=KibanaPageTemplate) | - | | | [add_data.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/home/public/application/components/add_data/add_data.tsx#:~:text=RedirectAppLinks), [add_data.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/home/public/application/components/add_data/add_data.tsx#:~:text=RedirectAppLinks), [add_data.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/home/public/application/components/add_data/add_data.tsx#:~:text=RedirectAppLinks), [manage_data.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/home/public/application/components/manage_data/manage_data.tsx#:~:text=RedirectAppLinks), [manage_data.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/home/public/application/components/manage_data/manage_data.tsx#:~:text=RedirectAppLinks), [manage_data.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/home/public/application/components/manage_data/manage_data.tsx#:~:text=RedirectAppLinks), [manage_data.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/home/public/application/components/manage_data/manage_data.tsx#:~:text=RedirectAppLinks), [manage_data.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/home/public/application/components/manage_data/manage_data.tsx#:~:text=RedirectAppLinks), [application.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/home/public/application/application.tsx#:~:text=RedirectAppLinks), [application.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/home/public/application/application.tsx#:~:text=RedirectAppLinks)+ 1 more | - | | | [plugin.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/public/plugin.ts#:~:text=savedObjects) | - | | | [kibana_services.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/public/application/kibana_services.ts#:~:text=SavedObjectsClientContract), [kibana_services.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/public/application/kibana_services.ts#:~:text=SavedObjectsClientContract) | - | | | [home_app.js](https://github.com/elastic/kibana/tree/main/src/plugins/home/public/application/components/home_app.js#:~:text=bulkCreate) | - | -| | [saved_objects.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts#:~:text=migrationVersion), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts#:~:text=migrationVersion), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts#:~:text=migrationVersion), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts#:~:text=migrationVersion), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts#:~:text=migrationVersion), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts#:~:text=migrationVersion), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts#:~:text=migrationVersion), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts#:~:text=migrationVersion), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts#:~:text=migrationVersion), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/data_sets/logs_tsdb/saved_objects.ts#:~:text=migrationVersion)+ 10 more | - | +| | [sample_data_registry.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/sample_data_registry.ts#:~:text=SavedObject), [sample_data_registry.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/sample_data_registry.ts#:~:text=SavedObject), [sample_data_registry.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/server/services/sample_data/sample_data_registry.ts#:~:text=SavedObject) | - | @@ -852,12 +829,13 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.ts#:~:text=title), [lens_top_nav.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/app_plugin/lens_top_nav.tsx#:~:text=title), [loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.ts#:~:text=title), [lens_top_nav.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/app_plugin/lens_top_nav.tsx#:~:text=title) | - | | | [loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.ts#:~:text=title), [lens_top_nav.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/app_plugin/lens_top_nav.tsx#:~:text=title), [loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.ts#:~:text=title), [lens_top_nav.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/app_plugin/lens_top_nav.tsx#:~:text=title) | - | | | [loader.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/data_views_service/loader.ts#:~:text=title), [lens_top_nav.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/app_plugin/lens_top_nav.tsx#:~:text=title) | - | -| | [form_based.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/datasources/form_based/form_based.tsx#:~:text=savedObjects), [form_based.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/datasources/form_based/form_based.tsx#:~:text=savedObjects), [form_based.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/datasources/form_based/form_based.tsx#:~:text=savedObjects), [visualization.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/visualizations/xy/visualization.tsx#:~:text=savedObjects), [visualization.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/visualizations/xy/visualization.tsx#:~:text=savedObjects), [visualization.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/visualizations/xy/visualization.tsx#:~:text=savedObjects) | - | -| | [reference_editor.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/reference_editor.tsx#:~:text=SavedObjectsClientContract), [reference_editor.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/reference_editor.tsx#:~:text=SavedObjectsClientContract), [dimension_panel.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimension_panel.tsx#:~:text=SavedObjectsClientContract), [dimension_panel.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimension_panel.tsx#:~:text=SavedObjectsClientContract), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/index.ts#:~:text=SavedObjectsClientContract), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/index.ts#:~:text=SavedObjectsClientContract), [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/persistence/saved_objects_utils/find_object_by_title.test.ts#:~:text=SavedObjectsClientContract), [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/persistence/saved_objects_utils/find_object_by_title.test.ts#:~:text=SavedObjectsClientContract), [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/persistence/saved_objects_utils/find_object_by_title.test.ts#:~:text=SavedObjectsClientContract) | - | +| | [save_action.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/visualizations/xy/annotations/actions/save_action.tsx#:~:text=SavedObjectSaveModal), [save_action.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/visualizations/xy/annotations/actions/save_action.tsx#:~:text=SavedObjectSaveModal) | 8.8.0 | +| | [form_based.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/datasources/form_based/form_based.tsx#:~:text=savedObjects), [form_based.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/datasources/form_based/form_based.tsx#:~:text=savedObjects), [visualization.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/visualizations/xy/visualization.tsx#:~:text=savedObjects), [visualization.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/visualizations/xy/visualization.tsx#:~:text=savedObjects), [visualization.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/visualizations/xy/visualization.tsx#:~:text=savedObjects) | - | +| | [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/persistence/saved_objects_utils/find_object_by_title.test.ts#:~:text=SavedObjectsClientContract), [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/persistence/saved_objects_utils/find_object_by_title.test.ts#:~:text=SavedObjectsClientContract), [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/persistence/saved_objects_utils/find_object_by_title.test.ts#:~:text=SavedObjectsClientContract) | - | | | [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/persistence/saved_objects_utils/find_object_by_title.test.ts#:~:text=SimpleSavedObject), [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/persistence/saved_objects_utils/find_object_by_title.test.ts#:~:text=SimpleSavedObject) | - | | | [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/types.ts#:~:text=ResolvedSimpleSavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/types.ts#:~:text=ResolvedSimpleSavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/types.ts#:~:text=ResolvedSimpleSavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/types.ts#:~:text=ResolvedSimpleSavedObject) | - | | | [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/persistence/saved_objects_utils/find_object_by_title.test.ts#:~:text=simpleSavedObjectMock), [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/persistence/saved_objects_utils/find_object_by_title.test.ts#:~:text=simpleSavedObjectMock) | - | -| | [saved_object_store.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/persistence/saved_object_store.ts#:~:text=SavedObjectReference), [saved_object_store.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/persistence/saved_object_store.ts#:~:text=SavedObjectReference), [saved_object_store.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/persistence/saved_object_store.ts#:~:text=SavedObjectReference), [state_helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/editor_frame_service/editor_frame/state_helpers.ts#:~:text=SavedObjectReference), [state_helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/editor_frame_service/editor_frame/state_helpers.ts#:~:text=SavedObjectReference), [state_helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/editor_frame_service/editor_frame/state_helpers.ts#:~:text=SavedObjectReference), [state_helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/editor_frame_service/editor_frame/state_helpers.ts#:~:text=SavedObjectReference), [state_helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/editor_frame_service/editor_frame/state_helpers.ts#:~:text=SavedObjectReference), [state_helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/editor_frame_service/editor_frame/state_helpers.ts#:~:text=SavedObjectReference), [selectors.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/state_management/selectors.ts#:~:text=SavedObjectReference)+ 43 more | - | +| | [saved_object_store.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/persistence/saved_object_store.ts#:~:text=SavedObjectReference), [saved_object_store.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/persistence/saved_object_store.ts#:~:text=SavedObjectReference), [saved_object_store.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/persistence/saved_object_store.ts#:~:text=SavedObjectReference), [state_helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/editor_frame_service/editor_frame/state_helpers.ts#:~:text=SavedObjectReference), [state_helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/editor_frame_service/editor_frame/state_helpers.ts#:~:text=SavedObjectReference), [state_helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/editor_frame_service/editor_frame/state_helpers.ts#:~:text=SavedObjectReference), [state_helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/editor_frame_service/editor_frame/state_helpers.ts#:~:text=SavedObjectReference), [state_helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/editor_frame_service/editor_frame/state_helpers.ts#:~:text=SavedObjectReference), [state_helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/editor_frame_service/editor_frame/state_helpers.ts#:~:text=SavedObjectReference), [state_helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/editor_frame_service/editor_frame/state_helpers.ts#:~:text=SavedObjectReference)+ 48 more | - | | | [saved_objects.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/server/saved_objects.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | @@ -874,12 +852,12 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [exception_list_client.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts#:~:text=SavedObject), [exception_list_client.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts#:~:text=SavedObject), [exception_list_client.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts#:~:text=SavedObject), [exception_list_client.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts#:~:text=SavedObject), [exception_list_client.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts#:~:text=SavedObject) | - | -| | [exception_list_client.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts#:~:text=SavedObject), [exception_list_client.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts#:~:text=SavedObject), [exception_list_client.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts#:~:text=SavedObject), [exception_list_client.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts#:~:text=SavedObject), [exception_list_client.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts#:~:text=SavedObject), [exception_list_client.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts#:~:text=SavedObject), [exception_list_client.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts#:~:text=SavedObject), [exception_list_client.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts#:~:text=SavedObject), [exception_list_client.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts#:~:text=SavedObject), [exception_list_client.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts#:~:text=SavedObject)+ 5 more | - | +| | [exception_list_client.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts#:~:text=migrationVersion) | - | +| | [exception_list_client.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts#:~:text=migrationVersion), [exception_list_client.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts#:~:text=migrationVersion), [exception_list_client.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts#:~:text=migrationVersion), [exception_list_client.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts#:~:text=migrationVersion) | - | | | [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title)+ 8 more | - | | | [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title)+ 8 more | - | | | [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title), [helpers.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/public/exceptions/components/builder/helpers.test.ts#:~:text=title) | - | -| | [exception_list_client.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts#:~:text=migrationVersion), [exception_list_client.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts#:~:text=migrationVersion) | - | +| | [exception_list_client.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts#:~:text=SavedObject), [exception_list_client.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts#:~:text=SavedObject), [exception_list_client.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts#:~:text=SavedObject), [exception_list_client.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts#:~:text=SavedObject), [exception_list_client.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts#:~:text=SavedObject) | - | | | [exception_list.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/saved_objects/exception_list.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | | | [create_endpoint_trusted_apps_list.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/create_endpoint_trusted_apps_list.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [create_endpoint_trusted_apps_list.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/create_endpoint_trusted_apps_list.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [create_endpoint_trusted_apps_list.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/create_endpoint_trusted_apps_list.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [migrations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/saved_objects/migrations.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [migrations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/saved_objects/migrations.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [migrations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/saved_objects/migrations.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [exception_list_schema.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/common/schemas/response/exception_list_schema.mock.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [exception_list_schema.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/common/schemas/response/exception_list_schema.mock.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [migrations.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/saved_objects/migrations.test.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [migrations.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/saved_objects/migrations.test.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID)+ 7 more | - | | | [create_endpoint_trusted_apps_list.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/create_endpoint_trusted_apps_list.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_NAME), [create_endpoint_trusted_apps_list.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/server/services/exception_lists/create_endpoint_trusted_apps_list.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_NAME), [exception_list_schema.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/common/schemas/response/exception_list_schema.mock.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_NAME), [exception_list_schema.mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lists/common/schemas/response/exception_list_schema.mock.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_NAME) | - | @@ -943,10 +921,10 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/plugin.ts#:~:text=license%24) | 8.8.0 | | | [annotations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/routes/annotations.ts#:~:text=authc) | - | | | [initialization.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/saved_objects/initialization/initialization.ts#:~:text=authz), [sync_task.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/saved_objects/sync_task.ts#:~:text=authz), [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/plugin.ts#:~:text=authz), [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/plugin.ts#:~:text=authz) | - | -| | [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/app.tsx#:~:text=savedObjects), [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/app.tsx#:~:text=savedObjects), [dashboard_service.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/services/dashboard_service.ts#:~:text=savedObjects) | - | -| | [dependency_cache.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/util/dependency_cache.ts#:~:text=SavedObjectsClientContract), [dependency_cache.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/util/dependency_cache.ts#:~:text=SavedObjectsClientContract), [use_resolver.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/routing/use_resolver.ts#:~:text=SavedObjectsClientContract), [use_resolver.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/routing/use_resolver.ts#:~:text=SavedObjectsClientContract), [use_resolver.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/routing/use_resolver.ts#:~:text=SavedObjectsClientContract), [dashboard_service.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/services/dashboard_service.ts#:~:text=SavedObjectsClientContract), [dashboard_service.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/services/dashboard_service.ts#:~:text=SavedObjectsClientContract), [router.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/routing/router.tsx#:~:text=SavedObjectsClientContract), [router.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/routing/router.tsx#:~:text=SavedObjectsClientContract) | - | -| | [index_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/util/index_utils.ts#:~:text=find), [resolvers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/jobs/new_job/recognize/resolvers.ts#:~:text=find), [dashboard_service.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/services/dashboard_service.ts#:~:text=find), [dashboard_service.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/services/dashboard_service.test.ts#:~:text=find) | - | -| | [index_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/util/index_utils.ts#:~:text=get), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/components/custom_urls/custom_url_editor/utils.ts#:~:text=get), [route_resolver.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/jobs/new_job/job_from_lens/route_resolver.ts#:~:text=get) | - | +| | [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/app.tsx#:~:text=savedObjects), [dashboard_service.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/services/dashboard_service.ts#:~:text=savedObjects) | - | +| | [dependency_cache.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/util/dependency_cache.ts#:~:text=SavedObjectsClientContract), [dependency_cache.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/util/dependency_cache.ts#:~:text=SavedObjectsClientContract), [dashboard_service.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/services/dashboard_service.ts#:~:text=SavedObjectsClientContract), [dashboard_service.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/services/dashboard_service.ts#:~:text=SavedObjectsClientContract) | - | +| | [resolvers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/jobs/new_job/recognize/resolvers.ts#:~:text=find), [dashboard_service.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/services/dashboard_service.ts#:~:text=find), [dashboard_service.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/services/dashboard_service.test.ts#:~:text=find) | - | +| | [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/components/custom_urls/custom_url_editor/utils.ts#:~:text=get), [route_resolver.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/jobs/new_job/job_from_lens/route_resolver.ts#:~:text=get) | - | | | [kibana.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/common/types/kibana.ts#:~:text=SimpleSavedObject), [kibana.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/common/types/kibana.ts#:~:text=SimpleSavedObject) | - | | | [dashboard_service.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/services/dashboard_service.test.ts#:~:text=savedObjectsServiceMock), [dashboard_service.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/services/dashboard_service.test.ts#:~:text=savedObjectsServiceMock) | - | | | [modules.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/common/types/modules.ts#:~:text=SavedObjectAttributes), [modules.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/common/types/modules.ts#:~:text=SavedObjectAttributes) | - | @@ -968,7 +946,6 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| | | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/application/index.tsx#:~:text=RedirectAppLinks), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/application/index.tsx#:~:text=RedirectAppLinks), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/application/index.tsx#:~:text=RedirectAppLinks) | - | -| | [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/application/types.ts#:~:text=SavedObjectsStart), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/application/types.ts#:~:text=SavedObjectsStart) | - | @@ -984,12 +961,9 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/osquery/public/packs/types.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/osquery/public/packs/types.ts#:~:text=SavedObject), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/osquery/public/routes/saved_queries/list/index.tsx#:~:text=SavedObject), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/osquery/public/routes/saved_queries/list/index.tsx#:~:text=SavedObject), [use_assets_status.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/osquery/public/assets/use_assets_status.ts#:~:text=SavedObject), [use_assets_status.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/osquery/public/assets/use_assets_status.ts#:~:text=SavedObject), [use_assets_status.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/osquery/public/assets/use_assets_status.ts#:~:text=SavedObject), [use_assets_status.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/osquery/public/assets/use_assets_status.ts#:~:text=SavedObject) | - | -| | [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/osquery/public/packs/types.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/osquery/public/packs/types.ts#:~:text=SavedObject), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/osquery/public/routes/saved_queries/list/index.tsx#:~:text=SavedObject), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/osquery/public/routes/saved_queries/list/index.tsx#:~:text=SavedObject), [use_assets_status.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/osquery/public/assets/use_assets_status.ts#:~:text=SavedObject), [use_assets_status.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/osquery/public/assets/use_assets_status.ts#:~:text=SavedObject), [use_assets_status.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/osquery/public/assets/use_assets_status.ts#:~:text=SavedObject), [use_assets_status.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/osquery/public/assets/use_assets_status.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/osquery/public/packs/types.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/osquery/public/packs/types.ts#:~:text=SavedObject)+ 14 more | - | | | [pack_queries_status_table.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/osquery/public/packs/pack_queries_status_table.tsx#:~:text=indexPatternId), [view_results_in_discover.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/osquery/public/discover/view_results_in_discover.tsx#:~:text=indexPatternId), [use_discover_link.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/osquery/public/common/hooks/use_discover_link.tsx#:~:text=indexPatternId) | - | | | [empty_state.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/osquery/public/components/empty_state.tsx#:~:text=KibanaPageTemplate), [empty_state.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/osquery/public/components/empty_state.tsx#:~:text=KibanaPageTemplate) | - | | | [create_action_service.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/osquery/server/handlers/action/create_action_service.ts#:~:text=license%24) | 8.8.0 | -| | [use_saved_queries.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/osquery/public/saved_queries/use_saved_queries.ts#:~:text=SavedObjectsFindResponse), [use_saved_queries.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/osquery/public/saved_queries/use_saved_queries.ts#:~:text=SavedObjectsFindResponse), [use_packs.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/osquery/public/packs/use_packs.ts#:~:text=SavedObjectsFindResponse), [use_packs.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/osquery/public/packs/use_packs.ts#:~:text=SavedObjectsFindResponse) | - | @@ -1044,9 +1018,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/find_object_by_title.test.ts#:~:text=SavedObject), [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/find_object_by_title.test.ts#:~:text=SavedObject) | - | | | [saved_object.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/saved_object.test.ts#:~:text=indexPatterns), [saved_object.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/saved_object.test.ts#:~:text=indexPatterns) | - | -| | [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/find_object_by_title.test.ts#:~:text=SavedObject), [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/find_object_by_title.test.ts#:~:text=SavedObject), [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/find_object_by_title.test.ts#:~:text=SavedObject), [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/find_object_by_title.test.ts#:~:text=SavedObject), [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/find_object_by_title.test.ts#:~:text=SavedObject), [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/find_object_by_title.test.ts#:~:text=SavedObject) | - | | | [plugin.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/plugin.ts#:~:text=savedObjects) | - | | | [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/types.ts#:~:text=SavedObjectsClientContract), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/types.ts#:~:text=SavedObjectsClientContract), [initialize_saved_object.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/initialize_saved_object.ts#:~:text=SavedObjectsClientContract), [initialize_saved_object.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/initialize_saved_object.ts#:~:text=SavedObjectsClientContract), [find_object_by_title.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/find_object_by_title.ts#:~:text=SavedObjectsClientContract), [find_object_by_title.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/find_object_by_title.ts#:~:text=SavedObjectsClientContract), [find_object_by_title.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/find_object_by_title.ts#:~:text=SavedObjectsClientContract), [save_with_confirmation.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.ts#:~:text=SavedObjectsClientContract), [save_with_confirmation.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.ts#:~:text=SavedObjectsClientContract), [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/find_object_by_title.test.ts#:~:text=SavedObjectsClientContract)+ 5 more | - | | | [create_source.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/create_source.ts#:~:text=create), [create_source.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/create_source.ts#:~:text=create), [save_saved_object.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/save_saved_object.ts#:~:text=create), [save_with_confirmation.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.ts#:~:text=create), [save_with_confirmation.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.ts#:~:text=create), [saved_object.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/saved_object.test.ts#:~:text=create), [saved_object.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/saved_object.test.ts#:~:text=create), [saved_object.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/saved_object.test.ts#:~:text=create), [saved_object.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/saved_object.test.ts#:~:text=create), [saved_object.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/saved_object.test.ts#:~:text=create)+ 9 more | - | @@ -1058,6 +1030,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [find_object_by_title.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/find_object_by_title.ts#:~:text=SimpleSavedObject), [find_object_by_title.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/find_object_by_title.ts#:~:text=SimpleSavedObject), [find_object_by_title.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/find_object_by_title.ts#:~:text=SimpleSavedObject), [saved_object.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/saved_object.test.ts#:~:text=SimpleSavedObject), [saved_object.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/saved_object.test.ts#:~:text=SimpleSavedObject), [saved_object.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/saved_object.test.ts#:~:text=SimpleSavedObject), [saved_object.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/saved_object.test.ts#:~:text=SimpleSavedObject), [saved_object.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/saved_object.test.ts#:~:text=SimpleSavedObject), [saved_object.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/saved_object.test.ts#:~:text=SimpleSavedObject), [saved_object.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/saved_object.test.ts#:~:text=SimpleSavedObject)+ 4 more | - | | | [save_with_confirmation.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.ts#:~:text=SavedObjectsCreateOptions), [save_with_confirmation.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.ts#:~:text=SavedObjectsCreateOptions), [save_with_confirmation.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.test.ts#:~:text=SavedObjectsCreateOptions), [save_with_confirmation.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.test.ts#:~:text=SavedObjectsCreateOptions), [save_with_confirmation.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.test.ts#:~:text=SavedObjectsCreateOptions) | - | | | [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/find_object_by_title.test.ts#:~:text=simpleSavedObjectMock), [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/find_object_by_title.test.ts#:~:text=simpleSavedObjectMock) | - | +| | [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/find_object_by_title.test.ts#:~:text=SavedObject), [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/find_object_by_title.test.ts#:~:text=SavedObject) | - | | | [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/types.ts#:~:text=SavedObjectAttributes), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/types.ts#:~:text=SavedObjectAttributes), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/types.ts#:~:text=SavedObjectAttributes), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/types.ts#:~:text=SavedObjectAttributes), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/types.ts#:~:text=SavedObjectAttributes), [create_source.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/create_source.ts#:~:text=SavedObjectAttributes), [create_source.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/create_source.ts#:~:text=SavedObjectAttributes), [find_object_by_title.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/find_object_by_title.ts#:~:text=SavedObjectAttributes), [find_object_by_title.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/find_object_by_title.ts#:~:text=SavedObjectAttributes), [save_with_confirmation.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.ts#:~:text=SavedObjectAttributes)+ 15 more | - | | | [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/types.ts#:~:text=SavedObjectReference), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/types.ts#:~:text=SavedObjectReference), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/types.ts#:~:text=SavedObjectReference), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/types.ts#:~:text=SavedObjectReference), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/types.ts#:~:text=SavedObjectReference), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/types.ts#:~:text=SavedObjectReference) | - | @@ -1067,12 +1040,11 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [find_relationships.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/server/lib/find_relationships.test.ts#:~:text=SavedObject), [find_relationships.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/server/lib/find_relationships.test.ts#:~:text=SavedObject), [find_relationships.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/server/lib/find_relationships.test.ts#:~:text=SavedObject), [find_relationships.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/server/lib/find_relationships.test.ts#:~:text=SavedObject) | - | -| | [find_relationships.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/server/lib/find_relationships.test.ts#:~:text=SavedObject), [find_relationships.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/server/lib/find_relationships.test.ts#:~:text=SavedObject), [find_relationships.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/server/lib/find_relationships.test.ts#:~:text=SavedObject), [find_relationships.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/server/lib/find_relationships.test.ts#:~:text=SavedObject), [find_relationships.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/server/lib/find_relationships.test.ts#:~:text=SavedObject), [find_relationships.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/server/lib/find_relationships.test.ts#:~:text=SavedObject), [find_relationships.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/server/lib/find_relationships.test.ts#:~:text=SavedObject), [find_relationships.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/server/lib/find_relationships.test.ts#:~:text=SavedObject), [find_relationships.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/server/lib/find_relationships.test.ts#:~:text=SavedObject), [find_relationships.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/server/lib/find_relationships.test.ts#:~:text=SavedObject)+ 2 more | - | | | [flyout.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/public/management_section/objects_table/components/flyout.tsx#:~:text=title), [flyout.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/public/management_section/objects_table/components/flyout.tsx#:~:text=title), [flyout.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/public/management_section/objects_table/components/flyout.tsx#:~:text=title), [flyout.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/public/management_section/objects_table/components/flyout.tsx#:~:text=title) | - | | | [flyout.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/public/management_section/objects_table/components/flyout.tsx#:~:text=title), [flyout.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/public/management_section/objects_table/components/flyout.tsx#:~:text=title), [flyout.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/public/management_section/objects_table/components/flyout.tsx#:~:text=title), [flyout.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/public/management_section/objects_table/components/flyout.tsx#:~:text=title) | - | | | [flyout.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/public/management_section/objects_table/components/flyout.tsx#:~:text=title), [flyout.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/public/management_section/objects_table/components/flyout.tsx#:~:text=title) | - | | | [saved_objects_edition_page.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/public/management_section/saved_objects_edition_page.tsx#:~:text=RedirectAppLinks), [saved_objects_edition_page.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/public/management_section/saved_objects_edition_page.tsx#:~:text=RedirectAppLinks), [saved_objects_edition_page.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/public/management_section/saved_objects_edition_page.tsx#:~:text=RedirectAppLinks), [saved_objects_table.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/public/management_section/objects_table/saved_objects_table.tsx#:~:text=RedirectAppLinks), [saved_objects_table.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/public/management_section/objects_table/saved_objects_table.tsx#:~:text=RedirectAppLinks), [saved_objects_table.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/public/management_section/objects_table/saved_objects_table.tsx#:~:text=RedirectAppLinks) | - | +| | [find_relationships.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/server/lib/find_relationships.test.ts#:~:text=SavedObject), [find_relationships.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/server/lib/find_relationships.test.ts#:~:text=SavedObject), [find_relationships.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/server/lib/find_relationships.test.ts#:~:text=SavedObject), [find_relationships.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/server/lib/find_relationships.test.ts#:~:text=SavedObject) | - | | | [record.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/public/services/types/record.ts#:~:text=SavedObjectReference), [record.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/public/services/types/record.ts#:~:text=SavedObjectReference) | - | | | [resolve_import_errors.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_management/public/lib/resolve_import_errors.ts#:~:text=createNewCopy) | - | @@ -1082,9 +1054,8 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [get_table_column_definition.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/ui_api/get_table_column_definition.tsx#:~:text=SavedObject), [get_table_column_definition.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/ui_api/get_table_column_definition.tsx#:~:text=SavedObject), [get_table_column_definition.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/ui_api/get_table_column_definition.tsx#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/common/types.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/common/types.ts#:~:text=SavedObject), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/utils.ts#:~:text=SavedObject), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/utils.ts#:~:text=SavedObject), [utils.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/utils.test.ts#:~:text=SavedObject), [utils.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/utils.test.ts#:~:text=SavedObject), [utils.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/utils.test.ts#:~:text=SavedObject)+ 3 more | - | -| | [get_table_column_definition.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/ui_api/get_table_column_definition.tsx#:~:text=SavedObject), [get_table_column_definition.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/ui_api/get_table_column_definition.tsx#:~:text=SavedObject), [get_table_column_definition.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/ui_api/get_table_column_definition.tsx#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/common/types.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/common/types.ts#:~:text=SavedObject), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/utils.ts#:~:text=SavedObject), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/utils.ts#:~:text=SavedObject), [utils.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/utils.test.ts#:~:text=SavedObject), [utils.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/utils.test.ts#:~:text=SavedObject), [utils.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/utils.test.ts#:~:text=SavedObject)+ 29 more | - | | | [request_handler_context.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/server/request_handler_context.ts#:~:text=authz) | - | +| | [get_table_column_definition.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/ui_api/get_table_column_definition.tsx#:~:text=SavedObject), [get_table_column_definition.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/ui_api/get_table_column_definition.tsx#:~:text=SavedObject), [get_table_column_definition.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/ui_api/get_table_column_definition.tsx#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/common/types.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/common/types.ts#:~:text=SavedObject), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/utils.ts#:~:text=SavedObject), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/utils.ts#:~:text=SavedObject), [utils.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/utils.test.ts#:~:text=SavedObject), [utils.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/utils.test.ts#:~:text=SavedObject), [utils.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/utils.test.ts#:~:text=SavedObject)+ 3 more | - | | | [get_table_column_definition.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/ui_api/get_table_column_definition.tsx#:~:text=SavedObjectReference), [get_table_column_definition.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/ui_api/get_table_column_definition.tsx#:~:text=SavedObjectReference), [references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/common/references.ts#:~:text=SavedObjectReference), [references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/common/references.ts#:~:text=SavedObjectReference), [references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/common/references.ts#:~:text=SavedObjectReference), [references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/common/references.ts#:~:text=SavedObjectReference), [references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/common/references.ts#:~:text=SavedObjectReference), [references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/common/references.ts#:~:text=SavedObjectReference), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/utils.ts#:~:text=SavedObjectReference), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/utils.ts#:~:text=SavedObjectReference)+ 11 more | - | | | [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/server/plugin.ts#:~:text=getAllIndices) | - | | | [tag.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/server/saved_objects/tag.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | @@ -1095,8 +1066,8 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/api.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/api.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/api.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/api.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/decorator/types.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/decorator/types.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/api.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/api.ts#:~:text=SavedObject) | - | -| | [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/api.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/api.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/api.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/api.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/api.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/api.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/api.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/api.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/api.ts#:~:text=SavedObject) | - | +| | [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/api.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/decorator/types.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/decorator/types.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/api.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/api.ts#:~:text=SavedObject) | 8.8.0 | +| | [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/api.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/api.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/api.ts#:~:text=SavedObject) | - | | | [extract_tag_references.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/decorator/extract_tag_references.test.ts#:~:text=SavedObjectReference), [extract_tag_references.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/decorator/extract_tag_references.test.ts#:~:text=SavedObjectReference), [extract_tag_references.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/decorator/extract_tag_references.test.ts#:~:text=SavedObjectReference), [extract_tag_references.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/decorator/extract_tag_references.test.ts#:~:text=SavedObjectReference), [extract_tag_references.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/decorator/extract_tag_references.test.ts#:~:text=SavedObjectReference), [extract_tag_references.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/decorator/extract_tag_references.test.ts#:~:text=SavedObjectReference), [inject_tag_references.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/decorator/inject_tag_references.test.ts#:~:text=SavedObjectReference), [inject_tag_references.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/decorator/inject_tag_references.test.ts#:~:text=SavedObjectReference), [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/api.ts#:~:text=SavedObjectReference), [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/api.ts#:~:text=SavedObjectReference)+ 2 more | - | @@ -1105,15 +1076,8 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [get_saved_searches.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/public/services/saved_searches/get_saved_searches.ts#:~:text=SavedObjectsClientContract), [get_saved_searches.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/public/services/saved_searches/get_saved_searches.ts#:~:text=SavedObjectsClientContract), [save_saved_searches.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/public/services/saved_searches/save_saved_searches.ts#:~:text=SavedObjectsClientContract), [save_saved_searches.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/public/services/saved_searches/save_saved_searches.ts#:~:text=SavedObjectsClientContract) | - | -| | [save_saved_searches.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/public/services/saved_searches/save_saved_searches.ts#:~:text=create), [save_saved_searches.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/public/services/saved_searches/save_saved_searches.test.ts#:~:text=create) | - | -| | [save_saved_searches.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/public/services/saved_searches/save_saved_searches.ts#:~:text=find), [save_saved_searches.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/public/services/saved_searches/save_saved_searches.test.ts#:~:text=find), [save_saved_searches.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/public/services/saved_searches/save_saved_searches.test.ts#:~:text=find) | - | -| | [get_saved_searches.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/public/services/saved_searches/get_saved_searches.ts#:~:text=resolve), [get_saved_searches.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/public/services/saved_searches/get_saved_searches.test.ts#:~:text=resolve), [get_saved_searches.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/public/services/saved_searches/get_saved_searches.test.ts#:~:text=resolve), [get_saved_searches.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/public/services/saved_searches/get_saved_searches.test.ts#:~:text=resolve), [get_saved_searches.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/public/services/saved_searches/get_saved_searches.test.ts#:~:text=resolve), [get_saved_searches.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/public/services/saved_searches/get_saved_searches.test.ts#:~:text=resolve), [get_saved_searches.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/public/services/saved_searches/get_saved_searches.test.ts#:~:text=resolve) | - | -| | [save_saved_searches.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/public/services/saved_searches/save_saved_searches.ts#:~:text=update), [save_saved_searches.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/public/services/saved_searches/save_saved_searches.test.ts#:~:text=update), [save_saved_searches.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/public/services/saved_searches/save_saved_searches.test.ts#:~:text=update) | - | | | [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/public/services/saved_searches/types.ts#:~:text=ResolvedSimpleSavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/public/services/saved_searches/types.ts#:~:text=ResolvedSimpleSavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/public/services/saved_searches/types.ts#:~:text=ResolvedSimpleSavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/public/services/saved_searches/types.ts#:~:text=ResolvedSimpleSavedObject) | - | | | [search_migrations.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/server/saved_objects/search_migrations.ts#:~:text=SavedObjectAttributes), [search_migrations.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/server/saved_objects/search_migrations.ts#:~:text=SavedObjectAttributes), [search_migrations.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/server/saved_objects/search_migrations.ts#:~:text=SavedObjectAttributes), [search_migrations.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/server/saved_objects/search_migrations.ts#:~:text=SavedObjectAttributes) | - | -| | [save_saved_searches.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/public/services/saved_searches/save_saved_searches.ts#:~:text=SavedObjectsStart), [save_saved_searches.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/public/services/saved_searches/save_saved_searches.ts#:~:text=SavedObjectsStart), [get_saved_searches.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/public/services/saved_searches/get_saved_searches.test.ts#:~:text=SavedObjectsStart), [get_saved_searches.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/public/services/saved_searches/get_saved_searches.test.ts#:~:text=SavedObjectsStart), [save_saved_searches.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/public/services/saved_searches/save_saved_searches.test.ts#:~:text=SavedObjectsStart), [save_saved_searches.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/public/services/saved_searches/save_saved_searches.test.ts#:~:text=SavedObjectsStart) | - | -| | [get_saved_searches.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/public/services/saved_searches/get_saved_searches.test.ts#:~:text=savedObjectsServiceMock), [get_saved_searches.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/public/services/saved_searches/get_saved_searches.test.ts#:~:text=savedObjectsServiceMock), [save_saved_searches.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/public/services/saved_searches/save_saved_searches.test.ts#:~:text=savedObjectsServiceMock), [save_saved_searches.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/public/services/saved_searches/save_saved_searches.test.ts#:~:text=savedObjectsServiceMock) | - | | | [search.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_search/server/saved_objects/search.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | @@ -1131,13 +1095,10 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [elasticsearch_role.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/authorization/roles/elasticsearch_role.ts#:~:text=disabled), [role_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/lib/role_utils.ts#:~:text=disabled), [role_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/lib/role_utils.ts#:~:text=disabled), [primary_feature_privilege.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/public/management/roles/model/primary_feature_privilege.ts#:~:text=disabled), [elasticsearch_role.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/authorization/roles/elasticsearch_role.test.ts#:~:text=disabled), [kibana_features.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/public/management/roles/__fixtures__/kibana_features.ts#:~:text=disabled), [put.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/routes/authorization/roles/put.test.ts#:~:text=disabled), [put_payload.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/routes/authorization/roles/model/put_payload.test.ts#:~:text=disabled), [put_payload.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/routes/authorization/roles/model/put_payload.test.ts#:~:text=disabled) | 8.8.0 | | | [disable_ui_capabilities.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/authorization/disable_ui_capabilities.ts#:~:text=requiredRoles) | 8.8.0 This is relied on by the reporting feature, and should be removed once reporting migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/issues/19914 | -| | [elasticsearch_role.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/authorization/roles/elasticsearch_role.ts#:~:text=disabled), [role_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/lib/role_utils.ts#:~:text=disabled), [role_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/lib/role_utils.ts#:~:text=disabled), [primary_feature_privilege.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/public/management/roles/model/primary_feature_privilege.ts#:~:text=disabled), [elasticsearch_role.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/authorization/roles/elasticsearch_role.test.ts#:~:text=disabled), [kibana_features.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/public/management/roles/__fixtures__/kibana_features.ts#:~:text=disabled), [put.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/routes/authorization/roles/put.test.ts#:~:text=disabled), [put_payload.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/routes/authorization/roles/model/put_payload.test.ts#:~:text=disabled), [put_payload.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/routes/authorization/roles/model/put_payload.test.ts#:~:text=disabled) | 8.8.0 | -| | [elasticsearch_role.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/authorization/roles/elasticsearch_role.ts#:~:text=disabled), [role_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/lib/role_utils.ts#:~:text=disabled), [role_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/lib/role_utils.ts#:~:text=disabled), [primary_feature_privilege.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/public/management/roles/model/primary_feature_privilege.ts#:~:text=disabled), [elasticsearch_role.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/authorization/roles/elasticsearch_role.test.ts#:~:text=disabled), [kibana_features.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/public/management/roles/__fixtures__/kibana_features.ts#:~:text=disabled), [put.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/routes/authorization/roles/put.test.ts#:~:text=disabled), [put_payload.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/routes/authorization/roles/model/put_payload.test.ts#:~:text=disabled), [put_payload.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/routes/authorization/roles/model/put_payload.test.ts#:~:text=disabled) | 8.8.0 | | | [disable_ui_capabilities.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/authorization/disable_ui_capabilities.ts#:~:text=requiredRoles) | 8.8.0 This is relied on by the reporting feature, and should be removed once reporting @@ -1158,29 +1119,29 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ | ---------------|-----------|-----------| | | [wrap_search_source_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.ts#:~:text=create) | - | | | [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.test.ts#:~:text=fetch) | - | -| | [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=SavedObject), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=SavedObject), [user_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts#:~:text=SavedObject), [user_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts#:~:text=SavedObject) | - | +| | [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion)+ 12 more | - | | | [dependencies_start_mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/mock/endpoint/dependencies_start_mock.ts#:~:text=indexPatterns) | - | -| | [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=SavedObject), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=SavedObject), [user_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts#:~:text=SavedObject), [user_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts#:~:text=SavedObject), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=SavedObject), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=SavedObject), [user_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts#:~:text=SavedObject), [user_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts#:~:text=SavedObject), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=SavedObject), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=SavedObject)+ 2 more | - | -| | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [alerts_sub_grouping.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/alerts_table/alerts_sub_grouping.tsx#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/filter_group/index.tsx#:~:text=title), [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index_pattern.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/mock/index_pattern.ts#:~:text=title)+ 24 more | - | +| | [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion)+ 78 more | - | +| | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [alerts_sub_grouping.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/alerts_table/alerts_sub_grouping.tsx#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/filter_group/index.tsx#:~:text=title), [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index_pattern.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/mock/index_pattern.ts#:~:text=title)+ 22 more | - | | | [wrap_search_source_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.ts#:~:text=create) | - | | | [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.test.ts#:~:text=fetch) | - | | | [api.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/hooks/eql/api.ts#:~:text=options) | - | -| | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [alerts_sub_grouping.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/alerts_table/alerts_sub_grouping.tsx#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/filter_group/index.tsx#:~:text=title), [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index_pattern.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/mock/index_pattern.ts#:~:text=title)+ 24 more | - | -| | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [alerts_sub_grouping.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/alerts_table/alerts_sub_grouping.tsx#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/filter_group/index.tsx#:~:text=title), [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index_pattern.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/mock/index_pattern.ts#:~:text=title)+ 7 more | - | +| | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [alerts_sub_grouping.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/alerts_table/alerts_sub_grouping.tsx#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/filter_group/index.tsx#:~:text=title), [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index_pattern.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/mock/index_pattern.ts#:~:text=title)+ 22 more | - | +| | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [alerts_sub_grouping.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/alerts_table/alerts_sub_grouping.tsx#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/filter_group/index.tsx#:~:text=title), [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index_pattern.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/mock/index_pattern.ts#:~:text=title)+ 6 more | - | | | [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [fleet_integration.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts#:~:text=mode), [fleet_integration.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts#:~:text=mode), [create_default_policy.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_default_policy.test.ts#:~:text=mode), [create_default_policy.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_default_policy.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode)+ 7 more | 8.8.0 | | | [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [fleet_integration.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts#:~:text=mode), [fleet_integration.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts#:~:text=mode), [create_default_policy.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_default_policy.test.ts#:~:text=mode), [create_default_policy.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_default_policy.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode)+ 7 more | 8.8.0 | | | [query.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/query/query.ts#:~:text=license%24) | 8.8.0 | | | [request_context_factory.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/request_context_factory.ts#:~:text=authc), [route.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/route.ts#:~:text=authc), [create_signals_migration_route.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/create_signals_migration_route.ts#:~:text=authc), [delete_signals_migration_route.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/delete_signals_migration_route.ts#:~:text=authc), [finalize_signals_migration_route.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/finalize_signals_migration_route.ts#:~:text=authc), [open_close_signals_route.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/open_close_signals_route.ts#:~:text=authc), [common.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/timeline/utils/common.ts#:~:text=authc) | - | | | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/search_strategy/index_fields/index.ts#:~:text=BeatFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=BeatFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=BeatFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=BeatFields) | - | -| | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/search_strategy/index_fields/index.ts#:~:text=BrowserField), [helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/drag_and_drop/helpers.ts#:~:text=BrowserField), [helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/drag_and_drop/helpers.ts#:~:text=BrowserField), [helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/drag_and_drop/helpers.ts#:~:text=BrowserField), [helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/drag_and_drop/helpers.ts#:~:text=BrowserField), [columns.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/event_details/columns.tsx#:~:text=BrowserField), [columns.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/event_details/columns.tsx#:~:text=BrowserField), [enrichment_summary.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/event_details/cti_details/enrichment_summary.tsx#:~:text=BrowserField), [enrichment_summary.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/event_details/cti_details/enrichment_summary.tsx#:~:text=BrowserField), [use_data_view.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/use_data_view.tsx#:~:text=BrowserField)+ 34 more | - | -| | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/search_strategy/index_fields/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/header_actions/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/header_actions/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/header_actions/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/timeline/cells/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/timeline/cells/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields)+ 97 more | - | +| | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/search_strategy/index_fields/index.ts#:~:text=BrowserField), [helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/drag_and_drop/helpers.ts#:~:text=BrowserField), [helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/drag_and_drop/helpers.ts#:~:text=BrowserField), [helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/drag_and_drop/helpers.ts#:~:text=BrowserField), [helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/drag_and_drop/helpers.ts#:~:text=BrowserField), [columns.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/event_details/columns.tsx#:~:text=BrowserField), [columns.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/event_details/columns.tsx#:~:text=BrowserField), [enrichment_summary.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/event_details/cti_details/enrichment_summary.tsx#:~:text=BrowserField), [enrichment_summary.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/event_details/cti_details/enrichment_summary.tsx#:~:text=BrowserField), [use_data_view.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/use_data_view.tsx#:~:text=BrowserField)+ 31 more | - | +| | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/search_strategy/index_fields/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/header_actions/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/header_actions/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/header_actions/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/timeline/cells/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/timeline/cells/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields)+ 102 more | - | | | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/search_strategy/index_fields/index.ts#:~:text=IndexFieldsStrategyRequest), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=IndexFieldsStrategyRequest), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=IndexFieldsStrategyRequest), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=IndexFieldsStrategyRequest), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=IndexFieldsStrategyRequest), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=IndexFieldsStrategyRequest) | - | | | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/search_strategy/index_fields/index.ts#:~:text=IndexFieldsStrategyResponse), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=IndexFieldsStrategyResponse), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=IndexFieldsStrategyResponse), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=IndexFieldsStrategyResponse), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=IndexFieldsStrategyResponse), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=IndexFieldsStrategyResponse) | - | | | [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/hooks/types.ts#:~:text=SimpleSavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/hooks/types.ts#:~:text=SimpleSavedObject) | - | -| | [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion)+ 34 more | - | | | [legacy_types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_types.ts#:~:text=SavedObjectAttributes), [legacy_types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_types.ts#:~:text=SavedObjectAttributes), [legacy_migrations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_migrations.ts#:~:text=SavedObjectAttributes), [legacy_migrations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_migrations.ts#:~:text=SavedObjectAttributes), [legacy_types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_types.ts#:~:text=SavedObjectAttributes), [legacy_types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_types.ts#:~:text=SavedObjectAttributes), [legacy_migrations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_migrations.ts#:~:text=SavedObjectAttributes), [legacy_migrations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_migrations.ts#:~:text=SavedObjectAttributes) | - | +| | [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=SavedObject), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=SavedObject), [user_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts#:~:text=SavedObject), [user_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts#:~:text=SavedObject) | - | | | [timelines.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/timeline/saved_object_mappings/timelines.ts#:~:text=convertToMultiNamespaceTypeVersion), [notes.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/timeline/saved_object_mappings/notes.ts#:~:text=convertToMultiNamespaceTypeVersion), [pinned_events.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/timeline/saved_object_mappings/pinned_events.ts#:~:text=convertToMultiNamespaceTypeVersion), [legacy_saved_object_mappings.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_saved_object_mappings.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | -| | [policy_hooks.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [policy_hooks.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [api_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/service/api_client.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [api_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/service/api_client.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [api_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/service/api_client.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [lists.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [manifest_manager.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [manifest_manager.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID)+ 34 more | - | +| | [policy_hooks.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [policy_hooks.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [api_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/service/api_client.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [api_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/service/api_client.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [api_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/service/api_client.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [lists.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [receiver.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/telemetry/receiver.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [receiver.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/telemetry/receiver.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID)+ 34 more | - | | | [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_NAME), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_NAME), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/scripts/endpoint/trusted_apps/index.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_NAME), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/scripts/endpoint/trusted_apps/index.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_NAME) | - | | | [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_DESCRIPTION), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_DESCRIPTION), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/scripts/endpoint/trusted_apps/index.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_DESCRIPTION), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/scripts/endpoint/trusted_apps/index.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_DESCRIPTION) | - | | | [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [form.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/event_filters/view/components/form.tsx#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [form.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/event_filters/view/components/form.tsx#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/event_filters/view/utils.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/event_filters/view/utils.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [service_actions.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/event_filters/service/service_actions.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [service_actions.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/event_filters/service/service_actions.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [service_actions.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/event_filters/service/service_actions.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID)+ 32 more | - | @@ -1234,18 +1195,15 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [monitor_detail_flyout.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/monitor_detail_flyout.tsx#:~:text=SavedObject), [monitor_detail_flyout.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/monitor_detail_flyout.tsx#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/state/overview/api.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/state/overview/api.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_details/api.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_details/api.ts#:~:text=SavedObject), [actions.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/state/global_params/actions.ts#:~:text=SavedObject), [actions.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/state/global_params/actions.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/state/global_params/api.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/state/global_params/api.ts#:~:text=SavedObject)+ 10 more | - | -| | [monitor_detail_flyout.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/monitor_detail_flyout.tsx#:~:text=SavedObject), [monitor_detail_flyout.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/monitor_detail_flyout.tsx#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/state/overview/api.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/state/overview/api.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_details/api.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_details/api.ts#:~:text=SavedObject), [actions.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/state/global_params/actions.ts#:~:text=SavedObject), [actions.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/state/global_params/actions.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/state/global_params/api.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/state/global_params/api.ts#:~:text=SavedObject)+ 50 more | - | | | [filter_group.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/legacy_uptime/components/overview/filter_group/filter_group.tsx#:~:text=title), [filters_expression_select.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/legacy_uptime/components/overview/alerts/monitor_expressions/filters_expression_select.tsx#:~:text=title), [filter_group.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/legacy_uptime/components/overview/filter_group/filter_group.tsx#:~:text=title), [filters_expression_select.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/legacy_uptime/components/overview/alerts/monitor_expressions/filters_expression_select.tsx#:~:text=title) | - | | | [filter_group.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/legacy_uptime/components/overview/filter_group/filter_group.tsx#:~:text=title), [filters_expression_select.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/legacy_uptime/components/overview/alerts/monitor_expressions/filters_expression_select.tsx#:~:text=title), [filter_group.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/legacy_uptime/components/overview/filter_group/filter_group.tsx#:~:text=title), [filters_expression_select.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/legacy_uptime/components/overview/alerts/monitor_expressions/filters_expression_select.tsx#:~:text=title) | - | | | [filter_group.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/legacy_uptime/components/overview/filter_group/filter_group.tsx#:~:text=title), [filters_expression_select.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/legacy_uptime/components/overview/alerts/monitor_expressions/filters_expression_select.tsx#:~:text=title) | - | | | [stderr_logs.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/components/common/components/stderr_logs.tsx#:~:text=indexPatternId) | - | | | [alert_messages.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/legacy_uptime/lib/alert_types/alert_messages.tsx#:~:text=RedirectAppLinks), [alert_messages.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/legacy_uptime/lib/alert_types/alert_messages.tsx#:~:text=RedirectAppLinks), [alert_messages.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/legacy_uptime/lib/alert_types/alert_messages.tsx#:~:text=RedirectAppLinks), [uptime_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/legacy_uptime/app/uptime_app.tsx#:~:text=RedirectAppLinks), [uptime_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/legacy_uptime/app/uptime_app.tsx#:~:text=RedirectAppLinks), [uptime_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/legacy_uptime/app/uptime_app.tsx#:~:text=RedirectAppLinks), [synthetics_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/synthetics_app.tsx#:~:text=RedirectAppLinks), [synthetics_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/synthetics_app.tsx#:~:text=RedirectAppLinks), [synthetics_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/synthetics_app.tsx#:~:text=RedirectAppLinks) | - | -| | [use_filters.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/use_filters.ts#:~:text=savedObjects), [use_recently_viewed_monitors.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_selector/use_recently_viewed_monitors.ts#:~:text=savedObjects), [delete_param.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/components/settings/global_params/delete_param.tsx#:~:text=savedObjects), [use_location_monitors.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/hooks/use_location_monitors.ts#:~:text=savedObjects), [use_monitor_name.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/use_monitor_name.ts#:~:text=savedObjects), [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/plugin.ts#:~:text=savedObjects) | - | -| | [delete_param.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/components/settings/global_params/delete_param.tsx#:~:text=bulkDelete) | - | -| | [use_filters.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/use_filters.ts#:~:text=find), [use_location_monitors.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/hooks/use_location_monitors.ts#:~:text=find), [use_monitor_name.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/use_monitor_name.ts#:~:text=find), [use_filters.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/use_filters.test.ts#:~:text=find), [use_filters.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/use_filters.test.ts#:~:text=find) | - | +| | [use_recently_viewed_monitors.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_selector/use_recently_viewed_monitors.ts#:~:text=savedObjects), [delete_param.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/components/settings/global_params/delete_param.tsx#:~:text=savedObjects), [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/plugin.ts#:~:text=savedObjects) | - | | | [use_recently_viewed_monitors.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_selector/use_recently_viewed_monitors.ts#:~:text=bulkResolve) | - | | | [synthetics_monitor.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/common/types/synthetics_monitor.ts#:~:text=SimpleSavedObject), [synthetics_monitor.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/common/types/synthetics_monitor.ts#:~:text=SimpleSavedObject) | - | +| | [api.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_details/api.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_details/api.ts#:~:text=SavedObject), [actions.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/state/global_params/actions.ts#:~:text=SavedObject), [actions.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/state/global_params/actions.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/state/global_params/api.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/state/global_params/api.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/state/global_params/api.ts#:~:text=SavedObject), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/state/global_params/index.ts#:~:text=SavedObject), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/state/global_params/index.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_list/api.ts#:~:text=SavedObject)+ 6 more | - | @@ -1313,9 +1271,9 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [load_field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_stats/load_field_stats.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/common/utils/field_existing_utils.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title), [field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/server/routes/field_stats.ts#:~:text=title), [field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/server/routes/field_stats.ts#:~:text=title), [load_field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_stats/load_field_stats.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/common/utils/field_existing_utils.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title)+ 2 more | - | -| | [load_field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_stats/load_field_stats.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/common/utils/field_existing_utils.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title), [field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/server/routes/field_stats.ts#:~:text=title), [field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/server/routes/field_stats.ts#:~:text=title), [load_field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_stats/load_field_stats.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/common/utils/field_existing_utils.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title)+ 2 more | - | -| | [load_field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_stats/load_field_stats.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/common/utils/field_existing_utils.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title), [field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/server/routes/field_stats.ts#:~:text=title), [field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/server/routes/field_stats.ts#:~:text=title) | - | +| | [load_field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_stats/load_field_stats.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_existing/field_existing_utils.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title), [load_field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_stats/load_field_stats.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_existing/field_existing_utils.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title) | - | +| | [load_field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_stats/load_field_stats.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_existing/field_existing_utils.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title), [load_field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_stats/load_field_stats.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_existing/field_existing_utils.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title) | - | +| | [load_field_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_stats/load_field_stats.ts#:~:text=title), [field_existing_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/services/field_existing/field_existing_utils.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title), [use_existing_fields.ts](https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/public/hooks/use_existing_fields.ts#:~:text=title) | - | @@ -1336,13 +1294,12 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/upgrade_assistant/common/types.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/upgrade_assistant/common/types.ts#:~:text=SavedObject) | - | -| | [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/upgrade_assistant/common/types.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/upgrade_assistant/common/types.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/upgrade_assistant/common/types.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/upgrade_assistant/common/types.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/upgrade_assistant/common/types.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/upgrade_assistant/common/types.ts#:~:text=SavedObject) | - | | | [external_links.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecation_logs/fix_deprecation_logs/external_links.tsx#:~:text=title), [external_links.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecation_logs/fix_deprecation_logs/external_links.tsx#:~:text=title) | - | | | [external_links.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecation_logs/fix_deprecation_logs/external_links.tsx#:~:text=title), [external_links.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecation_logs/fix_deprecation_logs/external_links.tsx#:~:text=title) | - | | | [external_links.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/upgrade_assistant/public/application/components/es_deprecation_logs/fix_deprecation_logs/external_links.tsx#:~:text=title) | - | | | [shared_imports.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/upgrade_assistant/public/shared_imports.ts#:~:text=RedirectAppLinks), [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/upgrade_assistant/public/application/app.tsx#:~:text=RedirectAppLinks), [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/upgrade_assistant/public/application/app.tsx#:~:text=RedirectAppLinks), [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/upgrade_assistant/public/application/app.tsx#:~:text=RedirectAppLinks) | - | | | [reindex_service.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/upgrade_assistant/server/lib/reindexing/reindex_service.ts#:~:text=license%24), [reindex_service.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/upgrade_assistant/server/lib/reindexing/reindex_service.test.ts#:~:text=license%24), [reindex_service.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/upgrade_assistant/server/lib/reindexing/reindex_service.test.ts#:~:text=license%24) | 8.8.0 | +| | [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/upgrade_assistant/common/types.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/upgrade_assistant/common/types.ts#:~:text=SavedObject) | - | @@ -1432,7 +1389,7 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [get_visualization_instance.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/visualize_app/utils/get_visualization_instance.ts#:~:text=savedObjects), [plugin.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/plugin.ts#:~:text=savedObjects), [visualize_listing.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/visualize_app/components/visualize_listing.tsx#:~:text=savedObjects) | - | +| | [plugin.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/plugin.ts#:~:text=savedObjects), [visualize_listing.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/visualize_app/components/visualize_listing.tsx#:~:text=savedObjects) | - | | | [plugin.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/plugin.ts#:~:text=SavedObjectsClientContract), [plugin.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/plugin.ts#:~:text=SavedObjectsClientContract) | - | | | [visualize_listing.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/visualize_app/components/visualize_listing.tsx#:~:text=delete) | - | | | [vis_type_alias_registry.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/vis_types/vis_type_alias_registry.ts#:~:text=SimpleSavedObject), [vis_type_alias_registry.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/vis_types/vis_type_alias_registry.ts#:~:text=SimpleSavedObject), [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_objects_utils/find_object_by_title.test.ts#:~:text=SimpleSavedObject), [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_objects_utils/find_object_by_title.test.ts#:~:text=SimpleSavedObject), [show_saved_object.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/wizard/search_selection/show_saved_object.test.ts#:~:text=SimpleSavedObject), [show_saved_object.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/wizard/search_selection/show_saved_object.test.ts#:~:text=SimpleSavedObject), [show_saved_object.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/wizard/search_selection/show_saved_object.test.ts#:~:text=SimpleSavedObject), [show_saved_object.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/wizard/search_selection/show_saved_object.test.ts#:~:text=SimpleSavedObject), [show_saved_object.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/wizard/search_selection/show_saved_object.test.ts#:~:text=SimpleSavedObject) | - | @@ -1440,7 +1397,7 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ | | [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/types.ts#:~:text=ResolvedSimpleSavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/types.ts#:~:text=ResolvedSimpleSavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/types.ts#:~:text=ResolvedSimpleSavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/types.ts#:~:text=ResolvedSimpleSavedObject) | - | | | [services.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/services.ts#:~:text=SavedObjectsStart), [services.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/services.ts#:~:text=SavedObjectsStart) | - | | | [saved_visualization_references.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_visualization_references/saved_visualization_references.ts#:~:text=SavedObjectAttribute), [saved_visualization_references.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_visualization_references/saved_visualization_references.ts#:~:text=SavedObjectAttribute) | - | -| | [saved_visualize_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_visualize_utils.ts#:~:text=SavedObjectAttributes), [saved_visualize_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_visualize_utils.ts#:~:text=SavedObjectAttributes), [visualize_embeddable_factory.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/embeddable/visualize_embeddable_factory.tsx#:~:text=SavedObjectAttributes), [visualize_embeddable_factory.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/embeddable/visualize_embeddable_factory.tsx#:~:text=SavedObjectAttributes), [visualize_embeddable.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx#:~:text=SavedObjectAttributes), [visualize_embeddable.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx#:~:text=SavedObjectAttributes) | - | +| | [saved_visualize_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_visualize_utils.ts#:~:text=SavedObjectAttributes), [saved_visualize_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_visualize_utils.ts#:~:text=SavedObjectAttributes), [visualize_embeddable.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx#:~:text=SavedObjectAttributes), [visualize_embeddable.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx#:~:text=SavedObjectAttributes), [visualize_embeddable_factory.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/embeddable/visualize_embeddable_factory.tsx#:~:text=SavedObjectAttributes), [visualize_embeddable_factory.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/embeddable/visualize_embeddable_factory.tsx#:~:text=SavedObjectAttributes) | - | | | [saved_visualization_references.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_visualization_references/saved_visualization_references.ts#:~:text=SavedObjectReference), [saved_visualization_references.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_visualization_references/saved_visualization_references.ts#:~:text=SavedObjectReference), [saved_visualization_references.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_visualization_references/saved_visualization_references.ts#:~:text=SavedObjectReference), [saved_visualize_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_visualize_utils.ts#:~:text=SavedObjectReference), [saved_visualize_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_visualize_utils.ts#:~:text=SavedObjectReference), [saved_visualize_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_visualize_utils.ts#:~:text=SavedObjectReference), [saved_visualize_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_visualize_utils.ts#:~:text=SavedObjectReference), [saved_visualize_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_visualize_utils.ts#:~:text=SavedObjectReference), [saved_visualize_utils.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/utils/saved_visualize_utils.ts#:~:text=SavedObjectReference), [visualize_embeddable_factory.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/public/embeddable/visualize_embeddable_factory.tsx#:~:text=SavedObjectReference)+ 10 more | - | | | [visualization.ts](https://github.com/elastic/kibana/tree/main/src/plugins/visualizations/server/saved_objects/visualization.ts#:~:text=convertToMultiNamespaceTypeVersion) | - | diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx index fb788f1c9ee01..eac523a1c6562 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -27,8 +27,8 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Plugin | Deprecated API | Reference location(s) | Remove By | | --------|-------|-----------|-----------| -| savedObjectsTaggingOss | | [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/api.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/decorator/types.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/decorator/types.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/api.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/api.ts#:~:text=SavedObject) | 8.8.0 | | kibanaOverview | | [application.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/kibana_overview/public/application.tsx#:~:text=appBasePath) | 8.8.0 | +| savedObjectsTaggingOss | | [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/api.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/decorator/types.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/decorator/types.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/api.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/api.ts#:~:text=SavedObject) | 8.8.0 | @@ -36,9 +36,6 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Plugin | Deprecated API | Reference location(s) | Remove By | | --------|-------|-----------|-----------| -| fleet | | [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/plugin.ts#:~:text=disabled) | 8.8.0 | -| fleet | | [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/plugin.ts#:~:text=disabled) | 8.8.0 | -| fleet | | [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/plugin.ts#:~:text=disabled) | 8.8.0 | | fleet | | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/integrations/index.tsx#:~:text=appBasePath) | 8.8.0 | @@ -47,7 +44,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Plugin | Deprecated API | Reference location(s) | Remove By | | --------|-------|-----------|-----------| -| @kbn/core | | [mocks.ts](https://github.com/elastic/kibana/tree/main/src/core/public/mocks.ts#:~:text=appBasePath), [app_container.tsx](https://github.com/elastic/kibana/tree/main/packages/core/application/core-application-browser-internal/src/ui/app_container.tsx#:~:text=appBasePath), [application_service.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/application/core-application-browser-mocks/src/application_service.mock.ts#:~:text=appBasePath) | 8.8.0 | +| @kbn/core-application-browser-internal | | [app_container.tsx](https://github.com/elastic/kibana/tree/main/packages/core/application/core-application-browser-internal/src/ui/app_container.tsx#:~:text=appBasePath), [application_service.mock.ts](https://github.com/elastic/kibana/tree/main/packages/core/application/core-application-browser-mocks/src/application_service.mock.ts#:~:text=appBasePath), [mocks.ts](https://github.com/elastic/kibana/tree/main/src/core/public/mocks.ts#:~:text=appBasePath) | 8.8.0 | | @kbn/core | | [index.ts](https://github.com/elastic/kibana/tree/main/src/core/server/index.ts#:~:text=AsyncPlugin), [plugin.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/plugin.ts#:~:text=AsyncPlugin), [plugin.ts](https://github.com/elastic/kibana/tree/main/packages/core/plugins/core-plugins-server-internal/src/plugin.ts#:~:text=AsyncPlugin) | 8.8.0 | @@ -82,13 +79,10 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Plugin | Deprecated API | Reference location(s) | Remove By | | --------|-------|-----------|-----------| -| security | | [elasticsearch_role.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/authorization/roles/elasticsearch_role.ts#:~:text=disabled), [role_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/lib/role_utils.ts#:~:text=disabled), [role_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/lib/role_utils.ts#:~:text=disabled), [primary_feature_privilege.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/public/management/roles/model/primary_feature_privilege.ts#:~:text=disabled), [elasticsearch_role.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/authorization/roles/elasticsearch_role.test.ts#:~:text=disabled), [kibana_features.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/public/management/roles/__fixtures__/kibana_features.ts#:~:text=disabled), [put.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/routes/authorization/roles/put.test.ts#:~:text=disabled), [put_payload.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/routes/authorization/roles/model/put_payload.test.ts#:~:text=disabled), [put_payload.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/routes/authorization/roles/model/put_payload.test.ts#:~:text=disabled) | 8.8.0 | | security | | [disable_ui_capabilities.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/authorization/disable_ui_capabilities.ts#:~:text=requiredRoles) | 8.8.0 This is relied on by the reporting feature, and should be removed once reporting migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/issues/19914 | -| security | | [elasticsearch_role.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/authorization/roles/elasticsearch_role.ts#:~:text=disabled), [role_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/lib/role_utils.ts#:~:text=disabled), [role_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/lib/role_utils.ts#:~:text=disabled), [primary_feature_privilege.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/public/management/roles/model/primary_feature_privilege.ts#:~:text=disabled), [elasticsearch_role.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/authorization/roles/elasticsearch_role.test.ts#:~:text=disabled), [kibana_features.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/public/management/roles/__fixtures__/kibana_features.ts#:~:text=disabled), [put.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/routes/authorization/roles/put.test.ts#:~:text=disabled), [put_payload.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/routes/authorization/roles/model/put_payload.test.ts#:~:text=disabled), [put_payload.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/routes/authorization/roles/model/put_payload.test.ts#:~:text=disabled) | 8.8.0 | -| security | | [elasticsearch_role.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/authorization/roles/elasticsearch_role.ts#:~:text=disabled), [role_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/lib/role_utils.ts#:~:text=disabled), [role_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/lib/role_utils.ts#:~:text=disabled), [primary_feature_privilege.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/public/management/roles/model/primary_feature_privilege.ts#:~:text=disabled), [elasticsearch_role.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/authorization/roles/elasticsearch_role.test.ts#:~:text=disabled), [kibana_features.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/public/management/roles/__fixtures__/kibana_features.ts#:~:text=disabled), [put.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/routes/authorization/roles/put.test.ts#:~:text=disabled), [put_payload.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/routes/authorization/roles/model/put_payload.test.ts#:~:text=disabled), [put_payload.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/routes/authorization/roles/model/put_payload.test.ts#:~:text=disabled) | 8.8.0 | | security | | [disable_ui_capabilities.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/authorization/disable_ui_capabilities.ts#:~:text=requiredRoles) | 8.8.0 This is relied on by the reporting feature, and should be removed once reporting @@ -108,7 +102,7 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ | Plugin | Deprecated API | Reference location(s) | Remove By | | --------|-------|-----------|-----------| | graph | | [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/server/plugin.ts#:~:text=license%24) | 8.8.0 | -| graph | | [save_modal.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/components/save_modal.tsx#:~:text=SavedObjectSaveModal), [save_modal.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/components/save_modal.tsx#:~:text=SavedObjectSaveModal) | 8.8.0 | +| graph | | [save_modal.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/components/save_modal.tsx#:~:text=SavedObjectSaveModal), [save_modal.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/graph/public/components/save_modal.tsx#:~:text=SavedObjectSaveModal), [save_action.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/visualizations/xy/annotations/actions/save_action.tsx#:~:text=SavedObjectSaveModal), [save_action.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/lens/public/visualizations/xy/annotations/actions/save_action.tsx#:~:text=SavedObjectSaveModal) | 8.8.0 | @@ -139,16 +133,6 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ -## @elastic/platform-onboarding - -| Plugin | Deprecated API | Reference location(s) | Remove By | -| --------|-------|-----------|-----------| -| guidedOnboarding | | [feature.ts](https://github.com/elastic/kibana/tree/main/src/plugins/guided_onboarding/server/feature.ts#:~:text=disabled) | 8.8.0 | -| guidedOnboarding | | [feature.ts](https://github.com/elastic/kibana/tree/main/src/plugins/guided_onboarding/server/feature.ts#:~:text=disabled) | 8.8.0 | -| guidedOnboarding | | [feature.ts](https://github.com/elastic/kibana/tree/main/src/plugins/guided_onboarding/server/feature.ts#:~:text=disabled) | 8.8.0 | - - - ## @elastic/profiling-ui | Plugin | Deprecated API | Reference location(s) | Remove By | diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx index 59fe3c0352da9..f3dacc1d48176 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'devTools'] --- import devToolsObj from './dev_tools.devdocs.json'; diff --git a/api_docs/discover.devdocs.json b/api_docs/discover.devdocs.json index cf7b122573fa0..522af6f4893fd 100644 --- a/api_docs/discover.devdocs.json +++ b/api_docs/discover.devdocs.json @@ -3,179 +3,6 @@ "client": { "classes": [], "functions": [ - { - "parentPluginId": "discover", - "id": "def-public.getSavedSearch", - "type": "Function", - "tags": [], - "label": "getSavedSearch", - "description": [ - "\nReturns a persisted or a new saved search" - ], - "signature": [ - "(savedSearchId: string | undefined, dependencies: GetSavedSearchDependencies) => Promise<", - { - "pluginId": "savedSearch", - "scope": "public", - "docId": "kibSavedSearchPluginApi", - "section": "def-public.SavedSearch", - "text": "SavedSearch" - }, - ">" - ], - "path": "src/plugins/saved_search/public/services/saved_searches/get_saved_searches.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "discover", - "id": "def-public.getSavedSearch.$1", - "type": "string", - "tags": [], - "label": "savedSearchId", - "description": [ - "- when undefined a new saved search is returned" - ], - "signature": [ - "string | undefined" - ], - "path": "src/plugins/saved_search/public/services/saved_searches/get_saved_searches.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - }, - { - "parentPluginId": "discover", - "id": "def-public.getSavedSearch.$2", - "type": "Object", - "tags": [], - "label": "dependencies", - "description": [], - "signature": [ - "GetSavedSearchDependencies" - ], - "path": "src/plugins/saved_search/public/services/saved_searches/get_saved_searches.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "discover", - "id": "def-public.getSavedSearchFullPathUrl", - "type": "Function", - "tags": [], - "label": "getSavedSearchFullPathUrl", - "description": [], - "signature": [ - "(id?: string | undefined) => string" - ], - "path": "src/plugins/saved_search/common/saved_searches_url.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "discover", - "id": "def-public.getSavedSearchFullPathUrl.$1", - "type": "string", - "tags": [], - "label": "id", - "description": [], - "signature": [ - "string | undefined" - ], - "path": "src/plugins/saved_search/common/saved_searches_url.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "discover", - "id": "def-public.getSavedSearchUrl", - "type": "Function", - "tags": [], - "label": "getSavedSearchUrl", - "description": [], - "signature": [ - "(id?: string | undefined) => string" - ], - "path": "src/plugins/saved_search/common/saved_searches_url.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "discover", - "id": "def-public.getSavedSearchUrl.$1", - "type": "string", - "tags": [], - "label": "id", - "description": [], - "signature": [ - "string | undefined" - ], - "path": "src/plugins/saved_search/common/saved_searches_url.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "discover", - "id": "def-public.getSavedSearchUrlConflictMessage", - "type": "Function", - "tags": [], - "label": "getSavedSearchUrlConflictMessage", - "description": [], - "signature": [ - "(savedSearch: ", - { - "pluginId": "savedSearch", - "scope": "public", - "docId": "kibSavedSearchPluginApi", - "section": "def-public.SavedSearch", - "text": "SavedSearch" - }, - ") => Promise" - ], - "path": "src/plugins/saved_search/public/services/saved_searches/saved_searches_utils.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "discover", - "id": "def-public.getSavedSearchUrlConflictMessage.$1", - "type": "Object", - "tags": [], - "label": "savedSearch", - "description": [], - "signature": [ - { - "pluginId": "savedSearch", - "scope": "public", - "docId": "kibSavedSearchPluginApi", - "section": "def-public.SavedSearch", - "text": "SavedSearch" - } - ], - "path": "src/plugins/saved_search/public/services/saved_searches/saved_searches_utils.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, { "parentPluginId": "discover", "id": "def-public.loadSharingDataHelpers", @@ -194,53 +21,6 @@ "children": [], "returnComment": [], "initialIsOpen": false - }, - { - "parentPluginId": "discover", - "id": "def-public.throwErrorOnSavedSearchUrlConflict", - "type": "Function", - "tags": [], - "label": "throwErrorOnSavedSearchUrlConflict", - "description": [], - "signature": [ - "(savedSearch: ", - { - "pluginId": "savedSearch", - "scope": "public", - "docId": "kibSavedSearchPluginApi", - "section": "def-public.SavedSearch", - "text": "SavedSearch" - }, - ") => Promise" - ], - "path": "src/plugins/saved_search/public/services/saved_searches/saved_searches_utils.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "discover", - "id": "def-public.throwErrorOnSavedSearchUrlConflict.$1", - "type": "Object", - "tags": [], - "label": "savedSearch", - "description": [], - "signature": [ - { - "pluginId": "savedSearch", - "scope": "public", - "docId": "kibSavedSearchPluginApi", - "section": "def-public.SavedSearch", - "text": "SavedSearch" - } - ], - "path": "src/plugins/saved_search/public/services/saved_searches/saved_searches_utils.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false } ], "interfaces": [ @@ -309,51 +89,6 @@ ], "initialIsOpen": false }, - { - "parentPluginId": "discover", - "id": "def-public.SavedSearch", - "type": "Interface", - "tags": [], - "label": "SavedSearch", - "description": [], - "signature": [ - { - "pluginId": "savedSearch", - "scope": "public", - "docId": "kibSavedSearchPluginApi", - "section": "def-public.SavedSearch", - "text": "SavedSearch" - }, - " extends ", - { - "pluginId": "savedSearch", - "scope": "common", - "docId": "kibSavedSearchPluginApi", - "section": "def-common.SavedSearch", - "text": "SavedSearch" - } - ], - "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "discover", - "id": "def-public.SavedSearch.sharingSavedObjectProps", - "type": "Object", - "tags": [], - "label": "sharingSavedObjectProps", - "description": [], - "signature": [ - "{ outcome?: \"conflict\" | \"exactMatch\" | \"aliasMatch\" | undefined; aliasTargetId?: string | undefined; aliasPurpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; errorJSON?: string | undefined; } | undefined" - ], - "path": "src/plugins/saved_search/public/services/saved_searches/types.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, { "parentPluginId": "discover", "id": "def-public.SearchInput", diff --git a/api_docs/discover.mdx b/api_docs/discover.mdx index 50f6071fafa62..f4d031841d219 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discover'] --- import discoverObj from './discover.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 96 | 0 | 75 | 7 | +| 83 | 0 | 64 | 7 | ## Client diff --git a/api_docs/discover_enhanced.mdx b/api_docs/discover_enhanced.mdx index 08eef128e9869..b4aca8bc15ae0 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-05-16 +date: 2023-06-07 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 a5456239f31e1..66d8e0ebdbff6 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ecsDataQualityDashboard'] --- import ecsDataQualityDashboardObj from './ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/embeddable.devdocs.json b/api_docs/embeddable.devdocs.json index 1d2998c46bd41..ead5399485a42 100644 --- a/api_docs/embeddable.devdocs.json +++ b/api_docs/embeddable.devdocs.json @@ -3238,7 +3238,9 @@ "type": "Function", "tags": [], "label": "onFatalError", - "description": [], + "description": [ + "\nCall this **only** when your embeddable has encountered a non-recoverable error; recoverable errors\nshould be handled by the individual embeddable types" + ], "signature": [ "(e: Error) => void" ], @@ -3252,7 +3254,9 @@ "type": "Object", "tags": [], "label": "e", - "description": [], + "description": [ + "The fatal, unrecoverable Error that was thrown" + ], "signature": [ "Error" ], diff --git a/api_docs/embeddable.mdx b/api_docs/embeddable.mdx index 38aa0411076de..effb8e00256b4 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'embeddable'] --- import embeddableObj from './embeddable.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kib | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 546 | 11 | 444 | 4 | +| 546 | 11 | 442 | 4 | ## Client diff --git a/api_docs/embeddable_enhanced.mdx b/api_docs/embeddable_enhanced.mdx index eb67890c03ff8..20800317e1731 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-05-16 +date: 2023-06-07 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 48dd9c0eb14b9..1ed1a1bbb1098 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'encryptedSavedObjects'] --- import encryptedSavedObjectsObj from './encrypted_saved_objects.devdocs.json'; diff --git a/api_docs/enterprise_search.devdocs.json b/api_docs/enterprise_search.devdocs.json index f32dcd8b9b046..2e651ea7e7064 100644 --- a/api_docs/enterprise_search.devdocs.json +++ b/api_docs/enterprise_search.devdocs.json @@ -38,7 +38,7 @@ "label": "ConfigType", "description": [], "signature": [ - "{ readonly host?: string | undefined; readonly customHeaders?: Readonly<{} & {}> | undefined; readonly enabled: boolean; readonly ssl: Readonly<{ certificateAuthorities?: string | string[] | undefined; } & { verificationMode: \"none\" | \"full\" | \"certificate\"; }>; readonly accessCheckTimeout: number; readonly accessCheckTimeoutWarning: number; readonly canDeployEntSearch: boolean; readonly hasConnectors: boolean; readonly hasDefaultIngestPipeline: boolean; readonly hasNativeConnectors: boolean; readonly hasWebCrawler: boolean; }" + "{ readonly host?: string | undefined; readonly customHeaders?: Readonly<{} & {}> | undefined; readonly enabled: boolean; readonly ssl: Readonly<{ certificateAuthorities?: string | string[] | undefined; } & { verificationMode: \"none\" | \"full\" | \"certificate\"; }>; readonly accessCheckTimeout: number; readonly accessCheckTimeoutWarning: number; readonly canDeployEntSearch: boolean; readonly hasConnectors: boolean; readonly hasDefaultIngestPipeline: boolean; readonly hasDocumentLevelSecurityEnabled: boolean; readonly hasIncrementalSyncEnabled: boolean; readonly hasNativeConnectors: boolean; readonly hasWebCrawler: boolean; }" ], "path": "x-pack/plugins/enterprise_search/server/index.ts", "deprecated": false, @@ -193,6 +193,22 @@ "section": "def-common.Type", "text": "Type" }, + "; hasDocumentLevelSecurityEnabled: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + "; hasIncrementalSyncEnabled: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, "; hasNativeConnectors: ", { "pluginId": "@kbn/config-schema", diff --git a/api_docs/enterprise_search.mdx b/api_docs/enterprise_search.mdx index 945227844fa26..53cd673963c90 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'enterpriseSearch'] --- import enterpriseSearchObj from './enterprise_search.devdocs.json'; diff --git a/api_docs/es_ui_shared.devdocs.json b/api_docs/es_ui_shared.devdocs.json index 5c4875f7ace4a..6234b6047b15f 100644 --- a/api_docs/es_ui_shared.devdocs.json +++ b/api_docs/es_ui_shared.devdocs.json @@ -568,7 +568,7 @@ "section": "def-common.HttpSetup", "text": "HttpSetup" }, - ", { path, method, body, query, asSystemRequest }: ", + ", { path, method, body, query, version, asSystemRequest }: ", { "pluginId": "esUiShared", "scope": "public", @@ -616,7 +616,7 @@ "id": "def-public.sendRequest.$2", "type": "Object", "tags": [], - "label": "{ path, method, body, query, asSystemRequest }", + "label": "{ path, method, body, query, version, asSystemRequest }", "description": [], "signature": [ { @@ -670,7 +670,7 @@ "section": "def-common.HttpSetup", "text": "HttpSetup" }, - ", { path, method, query, body, pollIntervalMs, initialData, deserializer }: ", + ", { path, method, query, body, pollIntervalMs, initialData, deserializer, version, }: ", { "pluginId": "esUiShared", "scope": "public", @@ -718,7 +718,7 @@ "id": "def-public.useRequest.$2", "type": "Object", "tags": [], - "label": "{ path, method, query, body, pollIntervalMs, initialData, deserializer }", + "label": "{\n path,\n method,\n query,\n body,\n pollIntervalMs,\n initialData,\n deserializer,\n version,\n }", "description": [], "signature": [ { @@ -1370,6 +1370,20 @@ "path": "src/plugins/es_ui_shared/public/request/send_request.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "esUiShared", + "id": "def-public.SendRequestConfig.version", + "type": "string", + "tags": [], + "label": "version", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/es_ui_shared/public/request/send_request.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false diff --git a/api_docs/es_ui_shared.mdx b/api_docs/es_ui_shared.mdx index 902c9937b3545..e9c2eb094dbbc 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'esUiShared'] --- import esUiSharedObj from './es_ui_shared.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/platform-deployment-management](https://github.com/orgs/elasti | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 114 | 3 | 110 | 5 | +| 115 | 3 | 111 | 3 | ## Client diff --git a/api_docs/ess_security.devdocs.json b/api_docs/ess_security.devdocs.json new file mode 100644 index 0000000000000..95c1b4c59946a --- /dev/null +++ b/api_docs/ess_security.devdocs.json @@ -0,0 +1,114 @@ +{ + "id": "essSecurity", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [], + "setup": { + "parentPluginId": "essSecurity", + "id": "def-public.EssSecurityPluginSetup", + "type": "Interface", + "tags": [], + "label": "EssSecurityPluginSetup", + "description": [], + "path": "x-pack/plugins/ess_security/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "lifecycle": "setup", + "initialIsOpen": true + }, + "start": { + "parentPluginId": "essSecurity", + "id": "def-public.EssSecurityPluginStart", + "type": "Interface", + "tags": [], + "label": "EssSecurityPluginStart", + "description": [], + "path": "x-pack/plugins/ess_security/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "lifecycle": "start", + "initialIsOpen": true + } + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [], + "setup": { + "parentPluginId": "essSecurity", + "id": "def-server.EssSecurityPluginSetup", + "type": "Interface", + "tags": [], + "label": "EssSecurityPluginSetup", + "description": [], + "path": "x-pack/plugins/ess_security/server/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "lifecycle": "setup", + "initialIsOpen": true + }, + "start": { + "parentPluginId": "essSecurity", + "id": "def-server.EssSecurityPluginStart", + "type": "Interface", + "tags": [], + "label": "EssSecurityPluginStart", + "description": [], + "path": "x-pack/plugins/ess_security/server/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "lifecycle": "start", + "initialIsOpen": true + } + }, + "common": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [ + { + "parentPluginId": "essSecurity", + "id": "def-common.PLUGIN_ID", + "type": "string", + "tags": [], + "label": "PLUGIN_ID", + "description": [], + "signature": [ + "\"essSecurity\"" + ], + "path": "x-pack/plugins/ess_security/common/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "essSecurity", + "id": "def-common.PLUGIN_NAME", + "type": "string", + "tags": [], + "label": "PLUGIN_NAME", + "description": [], + "signature": [ + "\"essSecurity\"" + ], + "path": "x-pack/plugins/ess_security/common/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/ess_security.mdx b/api_docs/ess_security.mdx new file mode 100644 index 0000000000000..63c0ad20be190 --- /dev/null +++ b/api_docs/ess_security.mdx @@ -0,0 +1,46 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibEssSecurityPluginApi +slug: /kibana-dev-docs/api/essSecurity +title: "essSecurity" +image: https://source.unsplash.com/400x175/?github +description: API docs for the essSecurity plugin +date: 2023-06-07 +tags: ['contributor', 'dev', 'apidocs', 'kibana', 'essSecurity'] +--- +import essSecurityObj from './ess_security.devdocs.json'; + +ESS customizations for Security Solution. + +Contact [@elastic/security-solution](https://github.com/orgs/elastic/teams/security-solution) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 6 | 0 | 6 | 0 | + +## Client + +### Setup + + +### Start + + +## Server + +### Setup + + +### Start + + +## Common + +### Consts, variables and types + + diff --git a/api_docs/event_annotation.devdocs.json b/api_docs/event_annotation.devdocs.json index 3ca7a31c9bd78..0af88a4d3a6c1 100644 --- a/api_docs/event_annotation.devdocs.json +++ b/api_docs/event_annotation.devdocs.json @@ -181,6 +181,153 @@ "deprecated": false, "trackAdoption": false, "children": [ + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationServiceType.loadAnnotationGroup", + "type": "Function", + "tags": [], + "label": "loadAnnotationGroup", + "description": [], + "signature": [ + "(savedObjectId: string) => Promise<", + { + "pluginId": "eventAnnotation", + "scope": "common", + "docId": "kibEventAnnotationPluginApi", + "section": "def-common.EventAnnotationGroupConfig", + "text": "EventAnnotationGroupConfig" + }, + ">" + ], + "path": "src/plugins/event_annotation/public/event_annotation_service/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationServiceType.loadAnnotationGroup.$1", + "type": "string", + "tags": [], + "label": "savedObjectId", + "description": [], + "signature": [ + "string" + ], + "path": "src/plugins/event_annotation/public/event_annotation_service/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationServiceType.createAnnotationGroup", + "type": "Function", + "tags": [], + "label": "createAnnotationGroup", + "description": [], + "signature": [ + "(group: ", + { + "pluginId": "eventAnnotation", + "scope": "common", + "docId": "kibEventAnnotationPluginApi", + "section": "def-common.EventAnnotationGroupConfig", + "text": "EventAnnotationGroupConfig" + }, + ") => Promise<{ id: string; }>" + ], + "path": "src/plugins/event_annotation/public/event_annotation_service/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationServiceType.createAnnotationGroup.$1", + "type": "Object", + "tags": [], + "label": "group", + "description": [], + "signature": [ + { + "pluginId": "eventAnnotation", + "scope": "common", + "docId": "kibEventAnnotationPluginApi", + "section": "def-common.EventAnnotationGroupConfig", + "text": "EventAnnotationGroupConfig" + } + ], + "path": "src/plugins/event_annotation/public/event_annotation_service/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationServiceType.updateAnnotationGroup", + "type": "Function", + "tags": [], + "label": "updateAnnotationGroup", + "description": [], + "signature": [ + "(group: ", + { + "pluginId": "eventAnnotation", + "scope": "common", + "docId": "kibEventAnnotationPluginApi", + "section": "def-common.EventAnnotationGroupConfig", + "text": "EventAnnotationGroupConfig" + }, + ", savedObjectId: string) => Promise" + ], + "path": "src/plugins/event_annotation/public/event_annotation_service/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationServiceType.updateAnnotationGroup.$1", + "type": "Object", + "tags": [], + "label": "group", + "description": [], + "signature": [ + { + "pluginId": "eventAnnotation", + "scope": "common", + "docId": "kibEventAnnotationPluginApi", + "section": "def-common.EventAnnotationGroupConfig", + "text": "EventAnnotationGroupConfig" + } + ], + "path": "src/plugins/event_annotation/public/event_annotation_service/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationServiceType.updateAnnotationGroup.$2", + "type": "string", + "tags": [], + "label": "savedObjectId", + "description": [], + "signature": [ + "string" + ], + "path": "src/plugins/event_annotation/public/event_annotation_service/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, { "parentPluginId": "eventAnnotation", "id": "def-public.EventAnnotationServiceType.toExpression", @@ -244,7 +391,7 @@ "label": "toFetchExpression", "description": [], "signature": [ - "(props: { interval: string; groups: ", + "(props: { interval: string; groups: Pick<", { "pluginId": "eventAnnotation", "scope": "common", @@ -252,7 +399,7 @@ "section": "def-common.EventAnnotationGroupConfig", "text": "EventAnnotationGroupConfig" }, - "[]; }) => ", + ", \"annotations\" | \"ignoreGlobalFilters\" | \"indexPatternId\">[]; }) => ", { "pluginId": "expressions", "scope": "common", @@ -296,6 +443,7 @@ "label": "groups", "description": [], "signature": [ + "Pick<", { "pluginId": "eventAnnotation", "scope": "common", @@ -303,7 +451,7 @@ "section": "def-common.EventAnnotationGroupConfig", "text": "EventAnnotationGroupConfig" }, - "[]" + ", \"annotations\" | \"ignoreGlobalFilters\" | \"indexPatternId\">[]" ], "path": "src/plugins/event_annotation/public/event_annotation_service/types.ts", "deprecated": false, @@ -313,6 +461,166 @@ } ], "returnComment": [] + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationServiceType.renderEventAnnotationGroupSavedObjectFinder", + "type": "Function", + "tags": [], + "label": "renderEventAnnotationGroupSavedObjectFinder", + "description": [], + "signature": [ + "(props: { fixedPageSize?: number | undefined; onChoose: (value: { id: string; type: string; fullName: string; savedObject: ", + { + "pluginId": "savedObjectsFinder", + "scope": "common", + "docId": "kibSavedObjectsFinderPluginApi", + "section": "def-common.SavedObjectCommon", + "text": "SavedObjectCommon" + }, + "; }) => void; onCreateNew: () => void; }) => JSX.Element" + ], + "path": "src/plugins/event_annotation/public/event_annotation_service/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationServiceType.renderEventAnnotationGroupSavedObjectFinder.$1", + "type": "Object", + "tags": [], + "label": "props", + "description": [], + "path": "src/plugins/event_annotation/public/event_annotation_service/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationServiceType.renderEventAnnotationGroupSavedObjectFinder.$1.fixedPageSize", + "type": "number", + "tags": [], + "label": "fixedPageSize", + "description": [], + "signature": [ + "number | undefined" + ], + "path": "src/plugins/event_annotation/public/event_annotation_service/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationServiceType.renderEventAnnotationGroupSavedObjectFinder.$1.onChoose", + "type": "Function", + "tags": [], + "label": "onChoose", + "description": [], + "signature": [ + "(value: { id: string; type: string; fullName: string; savedObject: ", + { + "pluginId": "savedObjectsFinder", + "scope": "common", + "docId": "kibSavedObjectsFinderPluginApi", + "section": "def-common.SavedObjectCommon", + "text": "SavedObjectCommon" + }, + "; }) => void" + ], + "path": "src/plugins/event_annotation/public/event_annotation_service/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationServiceType.renderEventAnnotationGroupSavedObjectFinder.$1.onChoose.$1", + "type": "Object", + "tags": [], + "label": "value", + "description": [], + "path": "src/plugins/event_annotation/public/event_annotation_service/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationServiceType.renderEventAnnotationGroupSavedObjectFinder.$1.onChoose.$1.id", + "type": "string", + "tags": [], + "label": "id", + "description": [], + "path": "src/plugins/event_annotation/public/event_annotation_service/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationServiceType.renderEventAnnotationGroupSavedObjectFinder.$1.onChoose.$1.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "path": "src/plugins/event_annotation/public/event_annotation_service/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationServiceType.renderEventAnnotationGroupSavedObjectFinder.$1.onChoose.$1.fullName", + "type": "string", + "tags": [], + "label": "fullName", + "description": [], + "path": "src/plugins/event_annotation/public/event_annotation_service/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationServiceType.renderEventAnnotationGroupSavedObjectFinder.$1.onChoose.$1.savedObject", + "type": "Object", + "tags": [], + "label": "savedObject", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-saved-objects-common", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObject", + "text": "SavedObject" + }, + "" + ], + "path": "src/plugins/event_annotation/public/event_annotation_service/types.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ], + "returnComment": [] + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationServiceType.renderEventAnnotationGroupSavedObjectFinder.$1.onCreateNew", + "type": "Function", + "tags": [], + "label": "onCreateNew", + "description": [], + "signature": [ + "() => void" + ], + "path": "src/plugins/event_annotation/public/event_annotation_service/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + } + ] + } + ], + "returnComment": [] } ], "initialIsOpen": false @@ -349,6 +657,22 @@ } ], "objects": [], + "setup": { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationPluginSetup", + "type": "Type", + "tags": [], + "label": "EventAnnotationPluginSetup", + "description": [], + "signature": [ + "void" + ], + "path": "src/plugins/event_annotation/public/plugin.ts", + "deprecated": false, + "trackAdoption": false, + "lifecycle": "setup", + "initialIsOpen": true + }, "start": { "parentPluginId": "eventAnnotation", "id": "def-public.EventAnnotationService", @@ -360,6 +684,65 @@ "deprecated": false, "trackAdoption": false, "children": [ + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationService.Unnamed", + "type": "Function", + "tags": [], + "label": "Constructor", + "description": [], + "signature": [ + "any" + ], + "path": "src/plugins/event_annotation/public/event_annotation_service/index.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationService.Unnamed.$1", + "type": "Object", + "tags": [], + "label": "core", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-lifecycle-browser", + "scope": "common", + "docId": "kibKbnCoreLifecycleBrowserPluginApi", + "section": "def-common.CoreStart", + "text": "CoreStart" + } + ], + "path": "src/plugins/event_annotation/public/event_annotation_service/index.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-public.EventAnnotationService.Unnamed.$2", + "type": "Object", + "tags": [], + "label": "savedObjectsManagement", + "description": [], + "signature": [ + { + "pluginId": "savedObjectsManagement", + "scope": "public", + "docId": "kibSavedObjectsManagementPluginApi", + "section": "def-public.SavedObjectsManagementPluginStart", + "text": "SavedObjectsManagementPluginStart" + } + ], + "path": "src/plugins/event_annotation/public/event_annotation_service/index.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, { "parentPluginId": "eventAnnotation", "id": "def-public.EventAnnotationService.getService", @@ -527,6 +910,109 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "eventAnnotation", + "id": "def-common.EventAnnotationGroupAttributes", + "type": "Interface", + "tags": [], + "label": "EventAnnotationGroupAttributes", + "description": [], + "path": "src/plugins/event_annotation/common/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "eventAnnotation", + "id": "def-common.EventAnnotationGroupAttributes.title", + "type": "string", + "tags": [], + "label": "title", + "description": [], + "path": "src/plugins/event_annotation/common/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-common.EventAnnotationGroupAttributes.description", + "type": "string", + "tags": [], + "label": "description", + "description": [], + "path": "src/plugins/event_annotation/common/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-common.EventAnnotationGroupAttributes.tags", + "type": "Array", + "tags": [], + "label": "tags", + "description": [], + "signature": [ + "string[]" + ], + "path": "src/plugins/event_annotation/common/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-common.EventAnnotationGroupAttributes.ignoreGlobalFilters", + "type": "boolean", + "tags": [], + "label": "ignoreGlobalFilters", + "description": [], + "path": "src/plugins/event_annotation/common/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-common.EventAnnotationGroupAttributes.annotations", + "type": "Array", + "tags": [], + "label": "annotations", + "description": [], + "signature": [ + { + "pluginId": "eventAnnotation", + "scope": "common", + "docId": "kibEventAnnotationPluginApi", + "section": "def-common.EventAnnotationConfig", + "text": "EventAnnotationConfig" + }, + "[]" + ], + "path": "src/plugins/event_annotation/common/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-common.EventAnnotationGroupAttributes.dataViewSpec", + "type": "Object", + "tags": [], + "label": "dataViewSpec", + "description": [], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewSpec", + "text": "DataViewSpec" + }, + " | undefined" + ], + "path": "src/plugins/event_annotation/common/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "eventAnnotation", "id": "def-common.EventAnnotationGroupConfig", @@ -573,12 +1059,66 @@ { "parentPluginId": "eventAnnotation", "id": "def-common.EventAnnotationGroupConfig.ignoreGlobalFilters", - "type": "CompoundType", + "type": "boolean", "tags": [], "label": "ignoreGlobalFilters", "description": [], + "path": "src/plugins/event_annotation/common/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-common.EventAnnotationGroupConfig.title", + "type": "string", + "tags": [], + "label": "title", + "description": [], + "path": "src/plugins/event_annotation/common/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-common.EventAnnotationGroupConfig.description", + "type": "string", + "tags": [], + "label": "description", + "description": [], + "path": "src/plugins/event_annotation/common/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-common.EventAnnotationGroupConfig.tags", + "type": "Array", + "tags": [], + "label": "tags", + "description": [], "signature": [ - "boolean | undefined" + "string[]" + ], + "path": "src/plugins/event_annotation/common/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-common.EventAnnotationGroupConfig.dataViewSpec", + "type": "Object", + "tags": [], + "label": "dataViewSpec", + "description": [], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewSpec", + "text": "DataViewSpec" + }, + " | undefined" ], "path": "src/plugins/event_annotation/common/types.ts", "deprecated": false, @@ -645,6 +1185,21 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "eventAnnotation", + "id": "def-common.EVENT_ANNOTATION_GROUP_TYPE", + "type": "string", + "tags": [], + "label": "EVENT_ANNOTATION_GROUP_TYPE", + "description": [], + "signature": [ + "\"event-annotation-group\"" + ], + "path": "src/plugins/event_annotation/common/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "eventAnnotation", "id": "def-common.EventAnnotationArgs", diff --git a/api_docs/event_annotation.mdx b/api_docs/event_annotation.mdx index 3301c1b7acabd..075a26030d91f 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotation'] --- import eventAnnotationObj from './event_annotation.devdocs.json'; @@ -21,10 +21,13 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 172 | 30 | 172 | 3 | +| 204 | 30 | 204 | 3 | ## Client +### Setup + + ### Start diff --git a/api_docs/event_log.devdocs.json b/api_docs/event_log.devdocs.json index cc59218512e23..f134c48ef2393 100644 --- a/api_docs/event_log.devdocs.json +++ b/api_docs/event_log.devdocs.json @@ -1514,7 +1514,7 @@ "label": "data", "description": [], "signature": [ - "(Readonly<{ log?: Readonly<{ logger?: string | undefined; level?: string | undefined; } & {}> | undefined; error?: Readonly<{ type?: string | undefined; id?: string | undefined; message?: string | undefined; code?: string | undefined; stack_trace?: string | undefined; } & {}> | undefined; '@timestamp'?: string | undefined; message?: string | undefined; tags?: string[] | undefined; rule?: Readonly<{ id?: string | undefined; name?: string | undefined; description?: string | undefined; category?: string | undefined; uuid?: string | undefined; version?: string | undefined; license?: string | undefined; reference?: string | undefined; author?: string[] | undefined; ruleset?: string | undefined; } & {}> | undefined; kibana?: Readonly<{ action?: Readonly<{ id?: string | undefined; name?: string | undefined; execution?: Readonly<{ source?: string | undefined; uuid?: string | undefined; } & {}> | undefined; } & {}> | undefined; alerting?: Readonly<{ outcome?: string | undefined; status?: string | undefined; summary?: Readonly<{ recovered?: Readonly<{ count?: string | number | undefined; } & {}> | undefined; new?: Readonly<{ count?: string | number | undefined; } & {}> | undefined; ongoing?: Readonly<{ count?: string | number | undefined; } & {}> | undefined; } & {}> | undefined; instance_id?: string | undefined; action_group_id?: string | undefined; action_subgroup?: string | undefined; } & {}> | undefined; alert?: Readonly<{ rule?: Readonly<{ consumer?: string | undefined; revision?: string | number | undefined; rule_type_id?: string | undefined; execution?: Readonly<{ uuid?: string | undefined; status?: string | undefined; metrics?: Readonly<{ number_of_triggered_actions?: string | number | undefined; number_of_generated_actions?: string | number | undefined; alert_counts?: Readonly<{ recovered?: string | number | undefined; active?: string | number | undefined; new?: string | number | undefined; } & {}> | undefined; number_of_searches?: string | number | undefined; total_indexing_duration_ms?: string | number | undefined; es_search_duration_ms?: string | number | undefined; total_search_duration_ms?: string | number | undefined; execution_gap_duration_s?: string | number | undefined; rule_type_run_duration_ms?: string | number | undefined; process_alerts_duration_ms?: string | number | undefined; trigger_actions_duration_ms?: string | number | undefined; process_rule_duration_ms?: string | number | undefined; claim_to_start_duration_ms?: string | number | undefined; prepare_rule_duration_ms?: string | number | undefined; total_run_duration_ms?: string | number | undefined; total_enrichment_duration_ms?: string | number | undefined; } & {}> | undefined; status_order?: string | number | undefined; } & {}> | undefined; } & {}> | undefined; uuid?: string | undefined; flapping?: boolean | undefined; maintenance_window_ids?: string[] | undefined; } & {}> | undefined; version?: string | undefined; space_ids?: string[] | undefined; server_uuid?: string | undefined; task?: Readonly<{ id?: string | undefined; schedule_delay?: string | number | undefined; scheduled?: string | undefined; } & {}> | undefined; saved_objects?: Readonly<{ type?: string | undefined; id?: string | undefined; namespace?: string | undefined; rel?: string | undefined; type_id?: string | undefined; space_agnostic?: boolean | undefined; } & {}>[] | undefined; } & {}> | undefined; event?: Readonly<{ type?: string[] | undefined; reason?: string | undefined; action?: string | undefined; id?: string | undefined; start?: string | undefined; end?: string | undefined; category?: string[] | undefined; outcome?: string | undefined; duration?: string | number | undefined; url?: string | undefined; code?: string | undefined; severity?: string | number | undefined; created?: string | undefined; dataset?: string | undefined; hash?: string | undefined; ingested?: string | undefined; kind?: string | undefined; module?: string | undefined; original?: string | undefined; provider?: string | undefined; reference?: string | undefined; risk_score?: number | undefined; risk_score_norm?: number | undefined; sequence?: string | number | undefined; timezone?: string | undefined; } & {}> | undefined; ecs?: Readonly<{ version?: string | undefined; } & {}> | undefined; user?: Readonly<{ name?: string | undefined; } & {}> | undefined; } & {}> | undefined)[]" + "(Readonly<{ log?: Readonly<{ logger?: string | undefined; level?: string | undefined; } & {}> | undefined; error?: Readonly<{ type?: string | undefined; id?: string | undefined; message?: string | undefined; code?: string | undefined; stack_trace?: string | undefined; } & {}> | undefined; '@timestamp'?: string | undefined; message?: string | undefined; tags?: string[] | undefined; rule?: Readonly<{ id?: string | undefined; name?: string | undefined; description?: string | undefined; category?: string | undefined; uuid?: string | undefined; version?: string | undefined; license?: string | undefined; reference?: string | undefined; author?: string[] | undefined; ruleset?: string | undefined; } & {}> | undefined; kibana?: Readonly<{ action?: Readonly<{ id?: string | undefined; name?: string | undefined; execution?: Readonly<{ source?: string | undefined; uuid?: string | undefined; gen_ai?: Readonly<{ usage?: Readonly<{ prompt_tokens?: string | number | undefined; completion_tokens?: string | number | undefined; total_tokens?: string | number | undefined; } & {}> | undefined; } & {}> | undefined; } & {}> | undefined; } & {}> | undefined; alerting?: Readonly<{ outcome?: string | undefined; status?: string | undefined; summary?: Readonly<{ recovered?: Readonly<{ count?: string | number | undefined; } & {}> | undefined; new?: Readonly<{ count?: string | number | undefined; } & {}> | undefined; ongoing?: Readonly<{ count?: string | number | undefined; } & {}> | undefined; } & {}> | undefined; instance_id?: string | undefined; action_group_id?: string | undefined; action_subgroup?: string | undefined; } & {}> | undefined; alert?: Readonly<{ rule?: Readonly<{ consumer?: string | undefined; revision?: string | number | undefined; rule_type_id?: string | undefined; execution?: Readonly<{ uuid?: string | undefined; status?: string | undefined; metrics?: Readonly<{ number_of_triggered_actions?: string | number | undefined; number_of_generated_actions?: string | number | undefined; alert_counts?: Readonly<{ recovered?: string | number | undefined; active?: string | number | undefined; new?: string | number | undefined; } & {}> | undefined; number_of_searches?: string | number | undefined; total_indexing_duration_ms?: string | number | undefined; es_search_duration_ms?: string | number | undefined; total_search_duration_ms?: string | number | undefined; execution_gap_duration_s?: string | number | undefined; rule_type_run_duration_ms?: string | number | undefined; process_alerts_duration_ms?: string | number | undefined; trigger_actions_duration_ms?: string | number | undefined; process_rule_duration_ms?: string | number | undefined; claim_to_start_duration_ms?: string | number | undefined; prepare_rule_duration_ms?: string | number | undefined; total_run_duration_ms?: string | number | undefined; total_enrichment_duration_ms?: string | number | undefined; } & {}> | undefined; status_order?: string | number | undefined; } & {}> | undefined; } & {}> | undefined; uuid?: string | undefined; flapping?: boolean | undefined; maintenance_window_ids?: string[] | undefined; } & {}> | undefined; version?: string | undefined; space_ids?: string[] | undefined; server_uuid?: string | undefined; task?: Readonly<{ id?: string | undefined; schedule_delay?: string | number | undefined; scheduled?: string | undefined; } & {}> | undefined; saved_objects?: Readonly<{ type?: string | undefined; id?: string | undefined; namespace?: string | undefined; rel?: string | undefined; type_id?: string | undefined; space_agnostic?: boolean | undefined; } & {}>[] | undefined; } & {}> | undefined; event?: Readonly<{ type?: string[] | undefined; reason?: string | undefined; action?: string | undefined; id?: string | undefined; start?: string | undefined; end?: string | undefined; category?: string[] | undefined; outcome?: string | undefined; duration?: string | number | undefined; url?: string | undefined; code?: string | undefined; severity?: string | number | undefined; created?: string | undefined; dataset?: string | undefined; hash?: string | undefined; ingested?: string | undefined; kind?: string | undefined; module?: string | undefined; original?: string | undefined; provider?: string | undefined; reference?: string | undefined; risk_score?: number | undefined; risk_score_norm?: number | undefined; sequence?: string | number | undefined; timezone?: string | undefined; } & {}> | undefined; ecs?: Readonly<{ version?: string | undefined; } & {}> | undefined; user?: Readonly<{ id?: string | undefined; name?: string | undefined; } & {}> | undefined; } & {}> | undefined)[]" ], "path": "x-pack/plugins/event_log/server/es/cluster_client_adapter.ts", "deprecated": false, @@ -1534,7 +1534,7 @@ "label": "IEvent", "description": [], "signature": [ - "DeepPartial | undefined; error?: Readonly<{ type?: string | undefined; id?: string | undefined; message?: string | undefined; code?: string | undefined; stack_trace?: string | undefined; } & {}> | undefined; '@timestamp'?: string | undefined; message?: string | undefined; tags?: string[] | undefined; rule?: Readonly<{ id?: string | undefined; name?: string | undefined; description?: string | undefined; category?: string | undefined; uuid?: string | undefined; version?: string | undefined; license?: string | undefined; reference?: string | undefined; author?: string[] | undefined; ruleset?: string | undefined; } & {}> | undefined; kibana?: Readonly<{ action?: Readonly<{ id?: string | undefined; name?: string | undefined; execution?: Readonly<{ source?: string | undefined; uuid?: string | undefined; } & {}> | undefined; } & {}> | undefined; alerting?: Readonly<{ outcome?: string | undefined; status?: string | undefined; summary?: Readonly<{ recovered?: Readonly<{ count?: string | number | undefined; } & {}> | undefined; new?: Readonly<{ count?: string | number | undefined; } & {}> | undefined; ongoing?: Readonly<{ count?: string | number | undefined; } & {}> | undefined; } & {}> | undefined; instance_id?: string | undefined; action_group_id?: string | undefined; action_subgroup?: string | undefined; } & {}> | undefined; alert?: Readonly<{ rule?: Readonly<{ consumer?: string | undefined; revision?: string | number | undefined; rule_type_id?: string | undefined; execution?: Readonly<{ uuid?: string | undefined; status?: string | undefined; metrics?: Readonly<{ number_of_triggered_actions?: string | number | undefined; number_of_generated_actions?: string | number | undefined; alert_counts?: Readonly<{ recovered?: string | number | undefined; active?: string | number | undefined; new?: string | number | undefined; } & {}> | undefined; number_of_searches?: string | number | undefined; total_indexing_duration_ms?: string | number | undefined; es_search_duration_ms?: string | number | undefined; total_search_duration_ms?: string | number | undefined; execution_gap_duration_s?: string | number | undefined; rule_type_run_duration_ms?: string | number | undefined; process_alerts_duration_ms?: string | number | undefined; trigger_actions_duration_ms?: string | number | undefined; process_rule_duration_ms?: string | number | undefined; claim_to_start_duration_ms?: string | number | undefined; prepare_rule_duration_ms?: string | number | undefined; total_run_duration_ms?: string | number | undefined; total_enrichment_duration_ms?: string | number | undefined; } & {}> | undefined; status_order?: string | number | undefined; } & {}> | undefined; } & {}> | undefined; uuid?: string | undefined; flapping?: boolean | undefined; maintenance_window_ids?: string[] | undefined; } & {}> | undefined; version?: string | undefined; space_ids?: string[] | undefined; server_uuid?: string | undefined; task?: Readonly<{ id?: string | undefined; schedule_delay?: string | number | undefined; scheduled?: string | undefined; } & {}> | undefined; saved_objects?: Readonly<{ type?: string | undefined; id?: string | undefined; namespace?: string | undefined; rel?: string | undefined; type_id?: string | undefined; space_agnostic?: boolean | undefined; } & {}>[] | undefined; } & {}> | undefined; event?: Readonly<{ type?: string[] | undefined; reason?: string | undefined; action?: string | undefined; id?: string | undefined; start?: string | undefined; end?: string | undefined; category?: string[] | undefined; outcome?: string | undefined; duration?: string | number | undefined; url?: string | undefined; code?: string | undefined; severity?: string | number | undefined; created?: string | undefined; dataset?: string | undefined; hash?: string | undefined; ingested?: string | undefined; kind?: string | undefined; module?: string | undefined; original?: string | undefined; provider?: string | undefined; reference?: string | undefined; risk_score?: number | undefined; risk_score_norm?: number | undefined; sequence?: string | number | undefined; timezone?: string | undefined; } & {}> | undefined; ecs?: Readonly<{ version?: string | undefined; } & {}> | undefined; user?: Readonly<{ name?: string | undefined; } & {}> | undefined; } & {}>>> | undefined" + "DeepPartial | undefined; error?: Readonly<{ type?: string | undefined; id?: string | undefined; message?: string | undefined; code?: string | undefined; stack_trace?: string | undefined; } & {}> | undefined; '@timestamp'?: string | undefined; message?: string | undefined; tags?: string[] | undefined; rule?: Readonly<{ id?: string | undefined; name?: string | undefined; description?: string | undefined; category?: string | undefined; uuid?: string | undefined; version?: string | undefined; license?: string | undefined; reference?: string | undefined; author?: string[] | undefined; ruleset?: string | undefined; } & {}> | undefined; kibana?: Readonly<{ action?: Readonly<{ id?: string | undefined; name?: string | undefined; execution?: Readonly<{ source?: string | undefined; uuid?: string | undefined; gen_ai?: Readonly<{ usage?: Readonly<{ prompt_tokens?: string | number | undefined; completion_tokens?: string | number | undefined; total_tokens?: string | number | undefined; } & {}> | undefined; } & {}> | undefined; } & {}> | undefined; } & {}> | undefined; alerting?: Readonly<{ outcome?: string | undefined; status?: string | undefined; summary?: Readonly<{ recovered?: Readonly<{ count?: string | number | undefined; } & {}> | undefined; new?: Readonly<{ count?: string | number | undefined; } & {}> | undefined; ongoing?: Readonly<{ count?: string | number | undefined; } & {}> | undefined; } & {}> | undefined; instance_id?: string | undefined; action_group_id?: string | undefined; action_subgroup?: string | undefined; } & {}> | undefined; alert?: Readonly<{ rule?: Readonly<{ consumer?: string | undefined; revision?: string | number | undefined; rule_type_id?: string | undefined; execution?: Readonly<{ uuid?: string | undefined; status?: string | undefined; metrics?: Readonly<{ number_of_triggered_actions?: string | number | undefined; number_of_generated_actions?: string | number | undefined; alert_counts?: Readonly<{ recovered?: string | number | undefined; active?: string | number | undefined; new?: string | number | undefined; } & {}> | undefined; number_of_searches?: string | number | undefined; total_indexing_duration_ms?: string | number | undefined; es_search_duration_ms?: string | number | undefined; total_search_duration_ms?: string | number | undefined; execution_gap_duration_s?: string | number | undefined; rule_type_run_duration_ms?: string | number | undefined; process_alerts_duration_ms?: string | number | undefined; trigger_actions_duration_ms?: string | number | undefined; process_rule_duration_ms?: string | number | undefined; claim_to_start_duration_ms?: string | number | undefined; prepare_rule_duration_ms?: string | number | undefined; total_run_duration_ms?: string | number | undefined; total_enrichment_duration_ms?: string | number | undefined; } & {}> | undefined; status_order?: string | number | undefined; } & {}> | undefined; } & {}> | undefined; uuid?: string | undefined; flapping?: boolean | undefined; maintenance_window_ids?: string[] | undefined; } & {}> | undefined; version?: string | undefined; space_ids?: string[] | undefined; server_uuid?: string | undefined; task?: Readonly<{ id?: string | undefined; schedule_delay?: string | number | undefined; scheduled?: string | undefined; } & {}> | undefined; saved_objects?: Readonly<{ type?: string | undefined; id?: string | undefined; namespace?: string | undefined; rel?: string | undefined; type_id?: string | undefined; space_agnostic?: boolean | undefined; } & {}>[] | undefined; } & {}> | undefined; event?: Readonly<{ type?: string[] | undefined; reason?: string | undefined; action?: string | undefined; id?: string | undefined; start?: string | undefined; end?: string | undefined; category?: string[] | undefined; outcome?: string | undefined; duration?: string | number | undefined; url?: string | undefined; code?: string | undefined; severity?: string | number | undefined; created?: string | undefined; dataset?: string | undefined; hash?: string | undefined; ingested?: string | undefined; kind?: string | undefined; module?: string | undefined; original?: string | undefined; provider?: string | undefined; reference?: string | undefined; risk_score?: number | undefined; risk_score_norm?: number | undefined; sequence?: string | number | undefined; timezone?: string | undefined; } & {}> | undefined; ecs?: Readonly<{ version?: string | undefined; } & {}> | undefined; user?: Readonly<{ id?: string | undefined; name?: string | undefined; } & {}> | undefined; } & {}>>> | undefined" ], "path": "x-pack/plugins/event_log/generated/schemas.ts", "deprecated": false, @@ -1549,7 +1549,7 @@ "label": "IValidatedEvent", "description": [], "signature": [ - "Readonly<{ log?: Readonly<{ logger?: string | undefined; level?: string | undefined; } & {}> | undefined; error?: Readonly<{ type?: string | undefined; id?: string | undefined; message?: string | undefined; code?: string | undefined; stack_trace?: string | undefined; } & {}> | undefined; '@timestamp'?: string | undefined; message?: string | undefined; tags?: string[] | undefined; rule?: Readonly<{ id?: string | undefined; name?: string | undefined; description?: string | undefined; category?: string | undefined; uuid?: string | undefined; version?: string | undefined; license?: string | undefined; reference?: string | undefined; author?: string[] | undefined; ruleset?: string | undefined; } & {}> | undefined; kibana?: Readonly<{ action?: Readonly<{ id?: string | undefined; name?: string | undefined; execution?: Readonly<{ source?: string | undefined; uuid?: string | undefined; } & {}> | undefined; } & {}> | undefined; alerting?: Readonly<{ outcome?: string | undefined; status?: string | undefined; summary?: Readonly<{ recovered?: Readonly<{ count?: string | number | undefined; } & {}> | undefined; new?: Readonly<{ count?: string | number | undefined; } & {}> | undefined; ongoing?: Readonly<{ count?: string | number | undefined; } & {}> | undefined; } & {}> | undefined; instance_id?: string | undefined; action_group_id?: string | undefined; action_subgroup?: string | undefined; } & {}> | undefined; alert?: Readonly<{ rule?: Readonly<{ consumer?: string | undefined; revision?: string | number | undefined; rule_type_id?: string | undefined; execution?: Readonly<{ uuid?: string | undefined; status?: string | undefined; metrics?: Readonly<{ number_of_triggered_actions?: string | number | undefined; number_of_generated_actions?: string | number | undefined; alert_counts?: Readonly<{ recovered?: string | number | undefined; active?: string | number | undefined; new?: string | number | undefined; } & {}> | undefined; number_of_searches?: string | number | undefined; total_indexing_duration_ms?: string | number | undefined; es_search_duration_ms?: string | number | undefined; total_search_duration_ms?: string | number | undefined; execution_gap_duration_s?: string | number | undefined; rule_type_run_duration_ms?: string | number | undefined; process_alerts_duration_ms?: string | number | undefined; trigger_actions_duration_ms?: string | number | undefined; process_rule_duration_ms?: string | number | undefined; claim_to_start_duration_ms?: string | number | undefined; prepare_rule_duration_ms?: string | number | undefined; total_run_duration_ms?: string | number | undefined; total_enrichment_duration_ms?: string | number | undefined; } & {}> | undefined; status_order?: string | number | undefined; } & {}> | undefined; } & {}> | undefined; uuid?: string | undefined; flapping?: boolean | undefined; maintenance_window_ids?: string[] | undefined; } & {}> | undefined; version?: string | undefined; space_ids?: string[] | undefined; server_uuid?: string | undefined; task?: Readonly<{ id?: string | undefined; schedule_delay?: string | number | undefined; scheduled?: string | undefined; } & {}> | undefined; saved_objects?: Readonly<{ type?: string | undefined; id?: string | undefined; namespace?: string | undefined; rel?: string | undefined; type_id?: string | undefined; space_agnostic?: boolean | undefined; } & {}>[] | undefined; } & {}> | undefined; event?: Readonly<{ type?: string[] | undefined; reason?: string | undefined; action?: string | undefined; id?: string | undefined; start?: string | undefined; end?: string | undefined; category?: string[] | undefined; outcome?: string | undefined; duration?: string | number | undefined; url?: string | undefined; code?: string | undefined; severity?: string | number | undefined; created?: string | undefined; dataset?: string | undefined; hash?: string | undefined; ingested?: string | undefined; kind?: string | undefined; module?: string | undefined; original?: string | undefined; provider?: string | undefined; reference?: string | undefined; risk_score?: number | undefined; risk_score_norm?: number | undefined; sequence?: string | number | undefined; timezone?: string | undefined; } & {}> | undefined; ecs?: Readonly<{ version?: string | undefined; } & {}> | undefined; user?: Readonly<{ name?: string | undefined; } & {}> | undefined; } & {}> | undefined" + "Readonly<{ log?: Readonly<{ logger?: string | undefined; level?: string | undefined; } & {}> | undefined; error?: Readonly<{ type?: string | undefined; id?: string | undefined; message?: string | undefined; code?: string | undefined; stack_trace?: string | undefined; } & {}> | undefined; '@timestamp'?: string | undefined; message?: string | undefined; tags?: string[] | undefined; rule?: Readonly<{ id?: string | undefined; name?: string | undefined; description?: string | undefined; category?: string | undefined; uuid?: string | undefined; version?: string | undefined; license?: string | undefined; reference?: string | undefined; author?: string[] | undefined; ruleset?: string | undefined; } & {}> | undefined; kibana?: Readonly<{ action?: Readonly<{ id?: string | undefined; name?: string | undefined; execution?: Readonly<{ source?: string | undefined; uuid?: string | undefined; gen_ai?: Readonly<{ usage?: Readonly<{ prompt_tokens?: string | number | undefined; completion_tokens?: string | number | undefined; total_tokens?: string | number | undefined; } & {}> | undefined; } & {}> | undefined; } & {}> | undefined; } & {}> | undefined; alerting?: Readonly<{ outcome?: string | undefined; status?: string | undefined; summary?: Readonly<{ recovered?: Readonly<{ count?: string | number | undefined; } & {}> | undefined; new?: Readonly<{ count?: string | number | undefined; } & {}> | undefined; ongoing?: Readonly<{ count?: string | number | undefined; } & {}> | undefined; } & {}> | undefined; instance_id?: string | undefined; action_group_id?: string | undefined; action_subgroup?: string | undefined; } & {}> | undefined; alert?: Readonly<{ rule?: Readonly<{ consumer?: string | undefined; revision?: string | number | undefined; rule_type_id?: string | undefined; execution?: Readonly<{ uuid?: string | undefined; status?: string | undefined; metrics?: Readonly<{ number_of_triggered_actions?: string | number | undefined; number_of_generated_actions?: string | number | undefined; alert_counts?: Readonly<{ recovered?: string | number | undefined; active?: string | number | undefined; new?: string | number | undefined; } & {}> | undefined; number_of_searches?: string | number | undefined; total_indexing_duration_ms?: string | number | undefined; es_search_duration_ms?: string | number | undefined; total_search_duration_ms?: string | number | undefined; execution_gap_duration_s?: string | number | undefined; rule_type_run_duration_ms?: string | number | undefined; process_alerts_duration_ms?: string | number | undefined; trigger_actions_duration_ms?: string | number | undefined; process_rule_duration_ms?: string | number | undefined; claim_to_start_duration_ms?: string | number | undefined; prepare_rule_duration_ms?: string | number | undefined; total_run_duration_ms?: string | number | undefined; total_enrichment_duration_ms?: string | number | undefined; } & {}> | undefined; status_order?: string | number | undefined; } & {}> | undefined; } & {}> | undefined; uuid?: string | undefined; flapping?: boolean | undefined; maintenance_window_ids?: string[] | undefined; } & {}> | undefined; version?: string | undefined; space_ids?: string[] | undefined; server_uuid?: string | undefined; task?: Readonly<{ id?: string | undefined; schedule_delay?: string | number | undefined; scheduled?: string | undefined; } & {}> | undefined; saved_objects?: Readonly<{ type?: string | undefined; id?: string | undefined; namespace?: string | undefined; rel?: string | undefined; type_id?: string | undefined; space_agnostic?: boolean | undefined; } & {}>[] | undefined; } & {}> | undefined; event?: Readonly<{ type?: string[] | undefined; reason?: string | undefined; action?: string | undefined; id?: string | undefined; start?: string | undefined; end?: string | undefined; category?: string[] | undefined; outcome?: string | undefined; duration?: string | number | undefined; url?: string | undefined; code?: string | undefined; severity?: string | number | undefined; created?: string | undefined; dataset?: string | undefined; hash?: string | undefined; ingested?: string | undefined; kind?: string | undefined; module?: string | undefined; original?: string | undefined; provider?: string | undefined; reference?: string | undefined; risk_score?: number | undefined; risk_score_norm?: number | undefined; sequence?: string | number | undefined; timezone?: string | undefined; } & {}> | undefined; ecs?: Readonly<{ version?: string | undefined; } & {}> | undefined; user?: Readonly<{ id?: string | undefined; name?: string | undefined; } & {}> | undefined; } & {}> | undefined" ], "path": "x-pack/plugins/event_log/generated/schemas.ts", "deprecated": false, diff --git a/api_docs/event_log.mdx b/api_docs/event_log.mdx index 239bbe81b1925..fe5a434193a44 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-05-16 +date: 2023-06-07 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 fe0100ce0cb0a..b85afeeb0234a 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-05-16 +date: 2023-06-07 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 2bac894068316..a63f66ef72342 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-05-16 +date: 2023-06-07 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 0b35d881247b2..e2041031db6c7 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-05-16 +date: 2023-06-07 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 750e341a28a1a..09fadfe3f60a0 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-05-16 +date: 2023-06-07 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 a5f38c6280f53..910de70af9f6f 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-05-16 +date: 2023-06-07 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 302d7547a2e7f..b8c7c9ce1c79e 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-05-16 +date: 2023-06-07 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 0a85949288237..57ec570b5fd74 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-05-16 +date: 2023-06-07 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 35b6b5e010ccb..4171bea32e177 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-05-16 +date: 2023-06-07 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 b77a590cee417..ce1b463193100 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-05-16 +date: 2023-06-07 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 126b2a140ba31..97c454098407e 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-05-16 +date: 2023-06-07 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 4cf1c222541e8..90a012ba5efc3 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-05-16 +date: 2023-06-07 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 4a83ac9af1608..86177a7e9b1ef 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-05-16 +date: 2023-06-07 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 b77688b076281..cbbc6e3a2629b 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-05-16 +date: 2023-06-07 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 9e258813ced7a..07226d89bad85 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-05-16 +date: 2023-06-07 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 7f9c0bc08627b..6c9796996f1ac 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressions'] --- import expressionsObj from './expressions.devdocs.json'; diff --git a/api_docs/features.devdocs.json b/api_docs/features.devdocs.json index 3e037f0975a4a..0a87280ddae61 100644 --- a/api_docs/features.devdocs.json +++ b/api_docs/features.devdocs.json @@ -339,9 +339,7 @@ "parentPluginId": "features", "id": "def-public.FeatureKibanaPrivileges.disabled", "type": "CompoundType", - "tags": [ - "deprecated" - ], + "tags": [], "label": "disabled", "description": [ "\nWhether or not this privilege should be hidden in the roles UI and disallowed on the API. Defaults to `false`." @@ -350,55 +348,8 @@ "boolean | undefined" ], "path": "x-pack/plugins/features/common/feature_kibana_privileges.ts", - "deprecated": true, - "removeBy": "8.8.0", - "trackAdoption": false, - "references": [ - { - "plugin": "security", - "path": "x-pack/plugins/security/server/authorization/roles/elasticsearch_role.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/server/lib/role_utils.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/server/lib/role_utils.ts" - }, - { - "plugin": "guidedOnboarding", - "path": "src/plugins/guided_onboarding/server/feature.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/plugin.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/roles/model/primary_feature_privilege.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/server/authorization/roles/elasticsearch_role.test.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/roles/__fixtures__/kibana_features.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/server/routes/authorization/roles/put.test.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/server/routes/authorization/roles/model/put_payload.test.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/server/routes/authorization/roles/model/put_payload.test.ts" - } - ] + "deprecated": false, + "trackAdoption": false }, { "parentPluginId": "features", @@ -1775,9 +1726,7 @@ "parentPluginId": "features", "id": "def-server.FeatureKibanaPrivileges.disabled", "type": "CompoundType", - "tags": [ - "deprecated" - ], + "tags": [], "label": "disabled", "description": [ "\nWhether or not this privilege should be hidden in the roles UI and disallowed on the API. Defaults to `false`." @@ -1786,55 +1735,8 @@ "boolean | undefined" ], "path": "x-pack/plugins/features/common/feature_kibana_privileges.ts", - "deprecated": true, - "removeBy": "8.8.0", - "trackAdoption": false, - "references": [ - { - "plugin": "security", - "path": "x-pack/plugins/security/server/authorization/roles/elasticsearch_role.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/server/lib/role_utils.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/server/lib/role_utils.ts" - }, - { - "plugin": "guidedOnboarding", - "path": "src/plugins/guided_onboarding/server/feature.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/plugin.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/roles/model/primary_feature_privilege.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/server/authorization/roles/elasticsearch_role.test.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/roles/__fixtures__/kibana_features.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/server/routes/authorization/roles/put.test.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/server/routes/authorization/roles/model/put_payload.test.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/server/routes/authorization/roles/model/put_payload.test.ts" - } - ] + "deprecated": false, + "trackAdoption": false }, { "parentPluginId": "features", @@ -3654,9 +3556,7 @@ "parentPluginId": "features", "id": "def-common.FeatureKibanaPrivileges.disabled", "type": "CompoundType", - "tags": [ - "deprecated" - ], + "tags": [], "label": "disabled", "description": [ "\nWhether or not this privilege should be hidden in the roles UI and disallowed on the API. Defaults to `false`." @@ -3665,55 +3565,8 @@ "boolean | undefined" ], "path": "x-pack/plugins/features/common/feature_kibana_privileges.ts", - "deprecated": true, - "removeBy": "8.8.0", - "trackAdoption": false, - "references": [ - { - "plugin": "security", - "path": "x-pack/plugins/security/server/authorization/roles/elasticsearch_role.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/server/lib/role_utils.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/server/lib/role_utils.ts" - }, - { - "plugin": "guidedOnboarding", - "path": "src/plugins/guided_onboarding/server/feature.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/server/plugin.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/roles/model/primary_feature_privilege.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/server/authorization/roles/elasticsearch_role.test.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/roles/__fixtures__/kibana_features.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/server/routes/authorization/roles/put.test.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/server/routes/authorization/roles/model/put_payload.test.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/server/routes/authorization/roles/model/put_payload.test.ts" - } - ] + "deprecated": false, + "trackAdoption": false }, { "parentPluginId": "features", diff --git a/api_docs/features.mdx b/api_docs/features.mdx index 4285e5f9ec2dc..2765571d219e5 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-05-16 +date: 2023-06-07 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 70789e96bc143..4c5b07082cbf1 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-05-16 +date: 2023-06-07 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 9926acca2f2b9..b5cb01e01bf66 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fileUpload'] --- import fileUploadObj from './file_upload.devdocs.json'; diff --git a/api_docs/files.devdocs.json b/api_docs/files.devdocs.json index 9aa3ac5ef7121..39e99cd40894b 100644 --- a/api_docs/files.devdocs.json +++ b/api_docs/files.devdocs.json @@ -577,6 +577,10 @@ "plugin": "cases", "path": "x-pack/plugins/cases/public/plugin.ts" }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/public/plugin.ts" + }, { "plugin": "imageEmbeddable", "path": "src/plugins/image_embeddable/public/plugin.ts" @@ -999,7 +1003,7 @@ "TransportRequestOptions", " | undefined): Promise<", "CountResponse", - ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", + ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchApplication]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", "default", "; child: (opts: ", "ClientOptions", @@ -1245,29 +1249,29 @@ "ExplainResponse", ">; }; features: ", "default", - "; fieldCaps: { (this: That, params: ", + "; fieldCaps: { (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithOutMeta", " | undefined): Promise<", "FieldCapsResponse", - ">; (this: That, params: ", + ">; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithMeta", " | undefined): Promise<", "TransportResult", "<", "FieldCapsResponse", - ", unknown>>; (this: That, params: ", + ", unknown>>; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptions", " | undefined): Promise<", "FieldCapsResponse", @@ -1373,7 +1377,33 @@ "TransportRequestOptions", " | undefined): Promise; }; graph: ", "default", - "; ilm: ", + "; healthReport: { (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "HealthReportResponse", + ">; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "HealthReportResponse", + ", unknown>>; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "HealthReportResponse", + ">; }; ilm: ", "default", "; index: { (this: That, params: ", "IndexRequest", @@ -1819,7 +1849,9 @@ "TransportRequestOptions", " | undefined): Promise<", "ScrollResponse", - ">; }; searchMvt: { (this: That, params: ", + ">; }; searchApplication: ", + "default", + "; searchMvt: { (this: That, params: ", "SearchMvtRequest", " | ", "SearchMvtRequest", diff --git a/api_docs/files.mdx b/api_docs/files.mdx index 657d4c6dae2e9..b402816f4624b 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-05-16 +date: 2023-06-07 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 f1b2808583d98..646640668c380 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'filesManagement'] --- import filesManagementObj from './files_management.devdocs.json'; diff --git a/api_docs/fleet.devdocs.json b/api_docs/fleet.devdocs.json index 246ed1e87b28b..e7b7c07c78e43 100644 --- a/api_docs/fleet.devdocs.json +++ b/api_docs/fleet.devdocs.json @@ -5539,6 +5539,292 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "fleet", + "id": "def-server.FleetFile", + "type": "Interface", + "tags": [], + "label": "FleetFile", + "description": [], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "fleet", + "id": "def-server.FleetFile.id", + "type": "string", + "tags": [], + "label": "id", + "description": [], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "fleet", + "id": "def-server.FleetFile.actionId", + "type": "string", + "tags": [], + "label": "actionId", + "description": [], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "fleet", + "id": "def-server.FleetFile.agents", + "type": "Array", + "tags": [], + "label": "agents", + "description": [], + "signature": [ + "string[]" + ], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "fleet", + "id": "def-server.FleetFile.name", + "type": "string", + "tags": [], + "label": "name", + "description": [], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "fleet", + "id": "def-server.FleetFile.status", + "type": "CompoundType", + "tags": [], + "label": "status", + "description": [], + "signature": [ + "\"AWAITING_UPLOAD\" | \"UPLOADING\" | \"READY\" | \"UPLOAD_ERROR\" | \"DELETED\"" + ], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "fleet", + "id": "def-server.FleetFile.mimeType", + "type": "string", + "tags": [], + "label": "mimeType", + "description": [], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "fleet", + "id": "def-server.FleetFile.size", + "type": "number", + "tags": [], + "label": "size", + "description": [], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "fleet", + "id": "def-server.FleetFile.sha256", + "type": "string", + "tags": [], + "label": "sha256", + "description": [], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "fleet", + "id": "def-server.FleetFile.created", + "type": "string", + "tags": [], + "label": "created", + "description": [], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "fleet", + "id": "def-server.FleetFileUpdatableFields", + "type": "Interface", + "tags": [], + "label": "FleetFileUpdatableFields", + "description": [], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "fleet", + "id": "def-server.FleetFileUpdatableFields.agents", + "type": "Array", + "tags": [], + "label": "agents", + "description": [], + "signature": [ + "string[]" + ], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "fleet", + "id": "def-server.FleetFileUpdatableFields.actionId", + "type": "string", + "tags": [], + "label": "actionId", + "description": [], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "fleet", + "id": "def-server.FleetFromHostFileClientInterface", + "type": "Interface", + "tags": [], + "label": "FleetFromHostFileClientInterface", + "description": [ + "\nInterface for files that were created by a host and consumed in kibana" + ], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "fleet", + "id": "def-server.FleetFromHostFileClientInterface.doesFileHaveData", + "type": "Function", + "tags": [], + "label": "doesFileHaveData", + "description": [ + "Checks if a file has chunks" + ], + "signature": [ + "(fileId: string) => Promise" + ], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "fleet", + "id": "def-server.FleetFromHostFileClientInterface.doesFileHaveData.$1", + "type": "string", + "tags": [], + "label": "fileId", + "description": [], + "signature": [ + "string" + ], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "fleet", + "id": "def-server.FleetFromHostFileClientInterface.download", + "type": "Function", + "tags": [], + "label": "download", + "description": [ + "Returns a Stream for downloading the file" + ], + "signature": [ + "(fileId: string) => Promise<{ stream: ", + "Readable", + "; fileName: string; mimeType?: string | undefined; }>" + ], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "fleet", + "id": "def-server.FleetFromHostFileClientInterface.download.$1", + "type": "string", + "tags": [], + "label": "fileId", + "description": [], + "signature": [ + "string" + ], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "fleet", + "id": "def-server.FleetFromHostFileClientInterface.get", + "type": "Function", + "tags": [], + "label": "get", + "description": [ + "Returns meta info about the file" + ], + "signature": [ + "(fileId: string) => Promise<", + { + "pluginId": "fleet", + "scope": "server", + "docId": "kibFleetPluginApi", + "section": "def-server.FleetFile", + "text": "FleetFile" + }, + ">" + ], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "fleet", + "id": "def-server.FleetFromHostFileClientInterface.get.$1", + "type": "string", + "tags": [], + "label": "fileId", + "description": [], + "signature": [ + "string" + ], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + }, { "parentPluginId": "fleet", "id": "def-server.FleetSetupDeps", @@ -5718,6 +6004,258 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "fleet", + "id": "def-server.FleetToHostFileClientInterface", + "type": "Interface", + "tags": [], + "label": "FleetToHostFileClientInterface", + "description": [ + "\nInterface for files created via kibana to be delivered to a hosts" + ], + "signature": [ + { + "pluginId": "fleet", + "scope": "server", + "docId": "kibFleetPluginApi", + "section": "def-server.FleetToHostFileClientInterface", + "text": "FleetToHostFileClientInterface" + }, + " extends ", + { + "pluginId": "fleet", + "scope": "server", + "docId": "kibFleetPluginApi", + "section": "def-server.FleetFromHostFileClientInterface", + "text": "FleetFromHostFileClientInterface" + } + ], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "fleet", + "id": "def-server.FleetToHostFileClientInterface.create", + "type": "Function", + "tags": [], + "label": "create", + "description": [ + "Creates a new file" + ], + "signature": [ + "(fileStream: ", + { + "pluginId": "fleet", + "scope": "server", + "docId": "kibFleetPluginApi", + "section": "def-server.HapiReadableStream", + "text": "HapiReadableStream" + }, + ", agentIds: string[]) => Promise<", + { + "pluginId": "fleet", + "scope": "server", + "docId": "kibFleetPluginApi", + "section": "def-server.FleetFile", + "text": "FleetFile" + }, + ">" + ], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "fleet", + "id": "def-server.FleetToHostFileClientInterface.create.$1", + "type": "Object", + "tags": [], + "label": "fileStream", + "description": [], + "signature": [ + { + "pluginId": "fleet", + "scope": "server", + "docId": "kibFleetPluginApi", + "section": "def-server.HapiReadableStream", + "text": "HapiReadableStream" + } + ], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "fleet", + "id": "def-server.FleetToHostFileClientInterface.create.$2", + "type": "Array", + "tags": [], + "label": "agentIds", + "description": [], + "signature": [ + "string[]" + ], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "fleet", + "id": "def-server.FleetToHostFileClientInterface.delete", + "type": "Function", + "tags": [], + "label": "delete", + "description": [ + "Deletes a file" + ], + "signature": [ + "(fileId: string) => Promise" + ], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "fleet", + "id": "def-server.FleetToHostFileClientInterface.delete.$1", + "type": "string", + "tags": [], + "label": "fileId", + "description": [], + "signature": [ + "string" + ], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "fleet", + "id": "def-server.FleetToHostFileClientInterface.update", + "type": "Function", + "tags": [], + "label": "update", + "description": [ + "Updates metadata for the file" + ], + "signature": [ + "(fileId: string, updates: Partial<", + { + "pluginId": "fleet", + "scope": "server", + "docId": "kibFleetPluginApi", + "section": "def-server.FleetFileUpdatableFields", + "text": "FleetFileUpdatableFields" + }, + ">) => Promise<", + { + "pluginId": "fleet", + "scope": "server", + "docId": "kibFleetPluginApi", + "section": "def-server.FleetFile", + "text": "FleetFile" + }, + ">" + ], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "fleet", + "id": "def-server.FleetToHostFileClientInterface.update.$1", + "type": "string", + "tags": [], + "label": "fileId", + "description": [], + "signature": [ + "string" + ], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "fleet", + "id": "def-server.FleetToHostFileClientInterface.update.$2", + "type": "Object", + "tags": [], + "label": "updates", + "description": [], + "signature": [ + "Partial<", + { + "pluginId": "fleet", + "scope": "server", + "docId": "kibFleetPluginApi", + "section": "def-server.FleetFileUpdatableFields", + "text": "FleetFileUpdatableFields" + }, + ">" + ], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "fleet", + "id": "def-server.HapiReadableStream", + "type": "Interface", + "tags": [], + "label": "HapiReadableStream", + "description": [ + "\nReadable returned by Hapi when `stream` is used to define a property and/or route payload" + ], + "signature": [ + { + "pluginId": "fleet", + "scope": "server", + "docId": "kibFleetPluginApi", + "section": "def-server.HapiReadableStream", + "text": "HapiReadableStream" + }, + " extends ", + "Readable" + ], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "fleet", + "id": "def-server.HapiReadableStream.hapi", + "type": "Object", + "tags": [], + "label": "hapi", + "description": [], + "signature": [ + "{ filename: string; headers: Record; }" + ], + "path": "x-pack/plugins/fleet/server/services/files/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "fleet", "id": "def-server.MessageSigningServiceInterface", @@ -6618,47 +7156,118 @@ }, { "parentPluginId": "fleet", - "id": "def-server.PackagePolicyClient.create.$5", + "id": "def-server.PackagePolicyClient.create.$5", + "type": "Object", + "tags": [], + "label": "context", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-http-request-handler-context-server", + "scope": "common", + "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", + "section": "def-common.RequestHandlerContext", + "text": "RequestHandlerContext" + }, + " | undefined" + ], + "path": "x-pack/plugins/fleet/server/services/package_policy_service.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + }, + { + "parentPluginId": "fleet", + "id": "def-server.PackagePolicyClient.create.$6", + "type": "Object", + "tags": [], + "label": "request", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.KibanaRequest", + "text": "KibanaRequest" + }, + " | undefined" + ], + "path": "x-pack/plugins/fleet/server/services/package_policy_service.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [] + }, + { + "parentPluginId": "fleet", + "id": "def-server.PackagePolicyClient.inspect", + "type": "Function", + "tags": [], + "label": "inspect", + "description": [], + "signature": [ + "(soClient: ", + { + "pluginId": "@kbn/core-saved-objects-api-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", + "section": "def-common.SavedObjectsClientContract", + "text": "SavedObjectsClientContract" + }, + ", packagePolicy: ", + "NewPackagePolicyWithId", + ") => Promise<", + { + "pluginId": "fleet", + "scope": "common", + "docId": "kibFleetPluginApi", + "section": "def-common.NewPackagePolicy", + "text": "NewPackagePolicy" + }, + ">" + ], + "path": "x-pack/plugins/fleet/server/services/package_policy_service.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "fleet", + "id": "def-server.PackagePolicyClient.inspect.$1", "type": "Object", "tags": [], - "label": "context", + "label": "soClient", "description": [], "signature": [ { - "pluginId": "@kbn/core-http-request-handler-context-server", + "pluginId": "@kbn/core-saved-objects-api-server", "scope": "common", - "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-common.RequestHandlerContext", - "text": "RequestHandlerContext" - }, - " | undefined" + "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", + "section": "def-common.SavedObjectsClientContract", + "text": "SavedObjectsClientContract" + } ], "path": "x-pack/plugins/fleet/server/services/package_policy_service.ts", "deprecated": false, "trackAdoption": false, - "isRequired": false + "isRequired": true }, { "parentPluginId": "fleet", - "id": "def-server.PackagePolicyClient.create.$6", + "id": "def-server.PackagePolicyClient.inspect.$2", "type": "Object", "tags": [], - "label": "request", + "label": "packagePolicy", "description": [], "signature": [ - { - "pluginId": "@kbn/core-http-server", - "scope": "common", - "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.KibanaRequest", - "text": "KibanaRequest" - }, - " | undefined" + "NewPackagePolicyWithId" ], "path": "x-pack/plugins/fleet/server/services/package_policy_service.ts", "deprecated": false, "trackAdoption": false, - "isRequired": false + "isRequired": true } ], "returnComment": [] @@ -9484,7 +10093,7 @@ "TransportRequestOptions", " | undefined): Promise<", "CountResponse", - ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", + ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchApplication]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", "default", "; child: (opts: ", "ClientOptions", @@ -9730,29 +10339,29 @@ "ExplainResponse", ">; }; features: ", "default", - "; fieldCaps: { (this: That, params: ", + "; fieldCaps: { (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithOutMeta", " | undefined): Promise<", "FieldCapsResponse", - ">; (this: That, params: ", + ">; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithMeta", " | undefined): Promise<", "TransportResult", "<", "FieldCapsResponse", - ", unknown>>; (this: That, params: ", + ", unknown>>; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptions", " | undefined): Promise<", "FieldCapsResponse", @@ -9858,7 +10467,33 @@ "TransportRequestOptions", " | undefined): Promise; }; graph: ", "default", - "; ilm: ", + "; healthReport: { (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "HealthReportResponse", + ">; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "HealthReportResponse", + ", unknown>>; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "HealthReportResponse", + ">; }; ilm: ", "default", "; index: { (this: That, params: ", "IndexRequest", @@ -10304,7 +10939,9 @@ "TransportRequestOptions", " | undefined): Promise<", "ScrollResponse", - ">; }; searchMvt: { (this: That, params: ", + ">; }; searchApplication: ", + "default", + "; searchMvt: { (this: That, params: ", "SearchMvtRequest", " | ", "SearchMvtRequest", @@ -10819,7 +11456,7 @@ "TransportRequestOptions", " | undefined): Promise<", "CountResponse", - ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", + ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchApplication]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", "default", "; child: (opts: ", "ClientOptions", @@ -11065,29 +11702,29 @@ "ExplainResponse", ">; }; features: ", "default", - "; fieldCaps: { (this: That, params: ", + "; fieldCaps: { (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithOutMeta", " | undefined): Promise<", "FieldCapsResponse", - ">; (this: That, params: ", + ">; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithMeta", " | undefined): Promise<", "TransportResult", "<", "FieldCapsResponse", - ", unknown>>; (this: That, params: ", + ", unknown>>; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptions", " | undefined): Promise<", "FieldCapsResponse", @@ -11193,7 +11830,33 @@ "TransportRequestOptions", " | undefined): Promise; }; graph: ", "default", - "; ilm: ", + "; healthReport: { (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "HealthReportResponse", + ">; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "HealthReportResponse", + ", unknown>>; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "HealthReportResponse", + ">; }; ilm: ", "default", "; index: { (this: That, params: ", "IndexRequest", @@ -11639,7 +12302,9 @@ "TransportRequestOptions", " | undefined): Promise<", "ScrollResponse", - ">; }; searchMvt: { (this: That, params: ", + ">; }; searchApplication: ", + "default", + "; searchMvt: { (this: That, params: ", "SearchMvtRequest", " | ", "SearchMvtRequest", @@ -12167,7 +12832,7 @@ "TransportRequestOptions", " | undefined): Promise<", "CountResponse", - ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", + ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchApplication]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", "default", "; child: (opts: ", "ClientOptions", @@ -12413,29 +13078,29 @@ "ExplainResponse", ">; }; features: ", "default", - "; fieldCaps: { (this: That, params: ", + "; fieldCaps: { (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithOutMeta", " | undefined): Promise<", "FieldCapsResponse", - ">; (this: That, params: ", + ">; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithMeta", " | undefined): Promise<", "TransportResult", "<", "FieldCapsResponse", - ", unknown>>; (this: That, params: ", + ", unknown>>; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptions", " | undefined): Promise<", "FieldCapsResponse", @@ -12541,7 +13206,33 @@ "TransportRequestOptions", " | undefined): Promise; }; graph: ", "default", - "; ilm: ", + "; healthReport: { (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "HealthReportResponse", + ">; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "HealthReportResponse", + ", unknown>>; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "HealthReportResponse", + ">; }; ilm: ", "default", "; index: { (this: That, params: ", "IndexRequest", @@ -12987,7 +13678,9 @@ "TransportRequestOptions", " | undefined): Promise<", "ScrollResponse", - ">; }; searchMvt: { (this: That, params: ", + ">; }; searchApplication: ", + "default", + "; searchMvt: { (this: That, params: ", "SearchMvtRequest", " | ", "SearchMvtRequest", @@ -13512,7 +14205,7 @@ "TransportRequestOptions", " | undefined): Promise<", "CountResponse", - ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", + ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchApplication]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", "default", "; child: (opts: ", "ClientOptions", @@ -13758,29 +14451,29 @@ "ExplainResponse", ">; }; features: ", "default", - "; fieldCaps: { (this: That, params: ", + "; fieldCaps: { (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithOutMeta", " | undefined): Promise<", "FieldCapsResponse", - ">; (this: That, params: ", + ">; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithMeta", " | undefined): Promise<", "TransportResult", "<", "FieldCapsResponse", - ", unknown>>; (this: That, params: ", + ", unknown>>; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptions", " | undefined): Promise<", "FieldCapsResponse", @@ -13886,7 +14579,33 @@ "TransportRequestOptions", " | undefined): Promise; }; graph: ", "default", - "; ilm: ", + "; healthReport: { (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "HealthReportResponse", + ">; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "HealthReportResponse", + ", unknown>>; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "HealthReportResponse", + ">; }; ilm: ", "default", "; index: { (this: That, params: ", "IndexRequest", @@ -14332,7 +15051,9 @@ "TransportRequestOptions", " | undefined): Promise<", "ScrollResponse", - ">; }; searchMvt: { (this: That, params: ", + ">; }; searchApplication: ", + "default", + "; searchMvt: { (this: That, params: ", "SearchMvtRequest", " | ", "SearchMvtRequest", @@ -14860,7 +15581,7 @@ "TransportRequestOptions", " | undefined): Promise<", "CountResponse", - ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", + ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchApplication]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", "default", "; child: (opts: ", "ClientOptions", @@ -15106,29 +15827,29 @@ "ExplainResponse", ">; }; features: ", "default", - "; fieldCaps: { (this: That, params: ", + "; fieldCaps: { (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithOutMeta", " | undefined): Promise<", "FieldCapsResponse", - ">; (this: That, params: ", + ">; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithMeta", " | undefined): Promise<", "TransportResult", "<", "FieldCapsResponse", - ", unknown>>; (this: That, params: ", + ", unknown>>; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptions", " | undefined): Promise<", "FieldCapsResponse", @@ -15234,7 +15955,33 @@ "TransportRequestOptions", " | undefined): Promise; }; graph: ", "default", - "; ilm: ", + "; healthReport: { (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "HealthReportResponse", + ">; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "HealthReportResponse", + ", unknown>>; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "HealthReportResponse", + ">; }; ilm: ", "default", "; index: { (this: That, params: ", "IndexRequest", @@ -15680,7 +16427,9 @@ "TransportRequestOptions", " | undefined): Promise<", "ScrollResponse", - ">; }; searchMvt: { (this: That, params: ", + ">; }; searchApplication: ", + "default", + "; searchMvt: { (this: That, params: ", "SearchMvtRequest", " | ", "SearchMvtRequest", @@ -16193,6 +16942,38 @@ ], "returnComment": [] }, + { + "parentPluginId": "fleet", + "id": "def-server.FleetStartContract.createFilesClient", + "type": "Object", + "tags": [], + "label": "createFilesClient", + "description": [ + "\nCreate a Fleet Files client instance" + ], + "signature": [ + "{ readonly toHost: (packageName: string, maxSizeBytes?: number | undefined) => ", + { + "pluginId": "fleet", + "scope": "server", + "docId": "kibFleetPluginApi", + "section": "def-server.FleetToHostFileClientInterface", + "text": "FleetToHostFileClientInterface" + }, + "; readonly fromHost: (packageName: string) => ", + { + "pluginId": "fleet", + "scope": "server", + "docId": "kibFleetPluginApi", + "section": "def-server.FleetFromHostFileClientInterface", + "text": "FleetFromHostFileClientInterface" + }, + "; }" + ], + "path": "x-pack/plugins/fleet/server/plugin.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "fleet", "id": "def-server.FleetStartContract.messageSigningService", @@ -19465,7 +20246,9 @@ "parentPluginId": "fleet", "id": "def-common.ListWithKuery", "type": "Interface", - "tags": [], + "tags": [ + "deprecated" + ], "label": "ListWithKuery", "description": [], "signature": [ @@ -19486,8 +20269,9 @@ } ], "path": "x-pack/plugins/fleet/common/types/rest_spec/common.ts", - "deprecated": false, + "deprecated": true, "trackAdoption": false, + "references": [], "children": [ { "parentPluginId": "fleet", @@ -20006,6 +20790,20 @@ "path": "x-pack/plugins/fleet/common/types/models/output.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "fleet", + "id": "def-common.NewOutput.allow_edit", + "type": "Array", + "tags": [], + "label": "allow_edit", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "x-pack/plugins/fleet/common/types/models/output.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false @@ -22921,6 +23719,51 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "fleet", + "id": "def-common.FLEET_CLOUD_DEFEND_PACKAGE", + "type": "string", + "tags": [], + "label": "FLEET_CLOUD_DEFEND_PACKAGE", + "description": [], + "signature": [ + "\"cloud_defend\"" + ], + "path": "x-pack/plugins/fleet/common/constants/epm.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "fleet", + "id": "def-common.FLEET_CLOUD_SECURITY_POSTURE_CNVM_POLICY_TEMPLATE", + "type": "string", + "tags": [], + "label": "FLEET_CLOUD_SECURITY_POSTURE_CNVM_POLICY_TEMPLATE", + "description": [], + "signature": [ + "\"vuln_mgmt\"" + ], + "path": "x-pack/plugins/fleet/common/constants/epm.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "fleet", + "id": "def-common.FLEET_CLOUD_SECURITY_POSTURE_CSPM_POLICY_TEMPLATE", + "type": "string", + "tags": [], + "label": "FLEET_CLOUD_SECURITY_POSTURE_CSPM_POLICY_TEMPLATE", + "description": [], + "signature": [ + "\"cspm\"" + ], + "path": "x-pack/plugins/fleet/common/constants/epm.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "fleet", "id": "def-common.FLEET_CLOUD_SECURITY_POSTURE_KSPM_POLICY_TEMPLATE", @@ -25527,6 +26370,17 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "fleet", + "id": "def-common.EPM_API_ROUTES.INSTALLED_LIST_PATTERN", + "type": "string", + "tags": [], + "label": "INSTALLED_LIST_PATTERN", + "description": [], + "path": "x-pack/plugins/fleet/common/constants/routes.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "fleet", "id": "def-common.EPM_API_ROUTES.LIMITED_LIST_PATTERN", @@ -25549,6 +26403,17 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "fleet", + "id": "def-common.EPM_API_ROUTES.DATA_STREAMS_PATTERN", + "type": "string", + "tags": [], + "label": "DATA_STREAMS_PATTERN", + "description": [], + "path": "x-pack/plugins/fleet/common/constants/routes.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "fleet", "id": "def-common.EPM_API_ROUTES.INSTALL_FROM_REGISTRY_PATTERN", diff --git a/api_docs/fleet.mdx b/api_docs/fleet.mdx index 1cd97f968d013..bc3508ed2bef1 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fleet'] --- import fleetObj from './fleet.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/fleet](https://github.com/orgs/elastic/teams/fleet) for questi | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 1118 | 3 | 1013 | 31 | +| 1159 | 3 | 1044 | 31 | ## Client diff --git a/api_docs/global_search.mdx b/api_docs/global_search.mdx index 89feab872083c..18f82005c8396 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-05-16 +date: 2023-06-07 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 41b03c2028997..d9150dd5e36ab 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-05-16 +date: 2023-06-07 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 4ff297e3cce03..4587beec5276a 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-05-16 +date: 2023-06-07 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 478085884931f..98b6014647ed7 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-05-16 +date: 2023-06-07 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 6d0bbf50d795c..6dc707780f82d 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-05-16 +date: 2023-06-07 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 b7c8452f4c022..26d0f86ac0eee 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexManagement'] --- import indexManagementObj from './index_management.devdocs.json'; diff --git a/api_docs/infra.devdocs.json b/api_docs/infra.devdocs.json index 767658d05117b..28ccc0b48df5d 100644 --- a/api_docs/infra.devdocs.json +++ b/api_docs/infra.devdocs.json @@ -379,6 +379,20 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "infra", + "id": "def-public.InfraClientStartExports.locators", + "type": "Object", + "tags": [], + "label": "locators", + "description": [], + "signature": [ + "InfraLocators" + ], + "path": "x-pack/plugins/infra/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "infra", "id": "def-public.InfraClientStartExports.ContainerMetricsTable", diff --git a/api_docs/infra.mdx b/api_docs/infra.mdx index c8141710fbe48..659c9b39a669b 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'infra'] --- import infraObj from './infra.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/inf | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 48 | 0 | 45 | 13 | +| 49 | 0 | 46 | 14 | ## Client diff --git a/api_docs/inspector.mdx b/api_docs/inspector.mdx index f02fecfcdc706..943193f129481 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-05-16 +date: 2023-06-07 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 7f6464688f568..ff2314b04dfb2 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-05-16 +date: 2023-06-07 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 c044ee8887b0f..96e5560bfdeb5 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-05-16 +date: 2023-06-07 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 31e495e3682c7..a70598845bbcb 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-components'] --- import kbnAiopsComponentsObj from './kbn_aiops_components.devdocs.json'; diff --git a/api_docs/kbn_aiops_utils.devdocs.json b/api_docs/kbn_aiops_utils.devdocs.json index f0ad9531c73b7..0f666c5815730 100644 --- a/api_docs/kbn_aiops_utils.devdocs.json +++ b/api_docs/kbn_aiops_utils.devdocs.json @@ -416,11 +416,17 @@ "parentPluginId": "@kbn/aiops-utils", "id": "def-common.useFetchStream", "type": "Function", - "tags": [], + "tags": [ + "export", + "template", + "template" + ], "label": "useFetchStream", - "description": [], + "description": [ + "\nThis overload allows us to fall back to a simple reducer that\njust acts on a string as the reducer state if no options are supplied.\n" + ], "signature": [ - "(endpoint: `${BasePath}${I[\"endpoint\"]}`, body: I[\"body\"]) => UseFetchStreamReturnType>" + "(endpoint: `${BasePath}${I[\"endpoint\"]}`, apiVersion: I[\"apiVersion\"], body: I[\"body\"]) => UseFetchStreamReturnType>" ], "path": "x-pack/packages/ml/aiops_utils/src/use_fetch_stream.ts", "deprecated": false, @@ -432,7 +438,9 @@ "type": "Uncategorized", "tags": [], "label": "endpoint", - "description": [], + "description": [ + "- API endpoint including Kibana base path." + ], "signature": [ "`${BasePath}${I[\"endpoint\"]}`" ], @@ -446,8 +454,27 @@ "id": "def-common.useFetchStream.$2", "type": "Uncategorized", "tags": [], + "label": "apiVersion", + "description": [ + "- API version." + ], + "signature": [ + "I[\"apiVersion\"]" + ], + "path": "x-pack/packages/ml/aiops_utils/src/use_fetch_stream.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/aiops-utils", + "id": "def-common.useFetchStream.$3", + "type": "Uncategorized", + "tags": [], "label": "body", - "description": [], + "description": [ + "- API request body." + ], "signature": [ "I[\"body\"]" ], @@ -457,18 +484,26 @@ "isRequired": true } ], - "returnComment": [], + "returnComment": [ + "- An object with streaming data and methods to act on the stream." + ], "initialIsOpen": false }, { "parentPluginId": "@kbn/aiops-utils", "id": "def-common.useFetchStream", "type": "Function", - "tags": [], + "tags": [ + "export", + "template", + "template" + ], "label": "useFetchStream", - "description": [], + "description": [ + "\nThis overload covers passing in options and will use\na custom reducer with appropriate type support.\n" + ], "signature": [ - "(endpoint: `${BasePath}${I[\"endpoint\"]}`, body: I[\"body\"], options: { reducer: I[\"reducer\"]; initialState: React.ReducerState; }) => UseFetchStreamReturnType, React.ReducerAction>" + "(endpoint: `${BasePath}${I[\"endpoint\"]}`, apiVersion: I[\"apiVersion\"], body: I[\"body\"], options: { reducer: I[\"reducer\"]; initialState: React.ReducerState; }) => UseFetchStreamReturnType, React.ReducerAction>" ], "path": "x-pack/packages/ml/aiops_utils/src/use_fetch_stream.ts", "deprecated": false, @@ -480,7 +515,9 @@ "type": "Uncategorized", "tags": [], "label": "endpoint", - "description": [], + "description": [ + "- API endpoint including Kibana base path." + ], "signature": [ "`${BasePath}${I[\"endpoint\"]}`" ], @@ -494,8 +531,27 @@ "id": "def-common.useFetchStream.$2", "type": "Uncategorized", "tags": [], + "label": "apiVersion", + "description": [ + "- API version." + ], + "signature": [ + "I[\"apiVersion\"]" + ], + "path": "x-pack/packages/ml/aiops_utils/src/use_fetch_stream.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/aiops-utils", + "id": "def-common.useFetchStream.$3", + "type": "Uncategorized", + "tags": [], "label": "body", - "description": [], + "description": [ + "- API request body." + ], "signature": [ "I[\"body\"]" ], @@ -506,7 +562,7 @@ }, { "parentPluginId": "@kbn/aiops-utils", - "id": "def-common.useFetchStream.$3", + "id": "def-common.useFetchStream.$4", "type": "Object", "tags": [], "label": "options", @@ -517,11 +573,15 @@ "children": [ { "parentPluginId": "@kbn/aiops-utils", - "id": "def-common.useFetchStream.$3.reducer", + "id": "def-common.useFetchStream.$4.reducer", "type": "Function", - "tags": [], + "tags": [ + "type" + ], "label": "reducer", - "description": [], + "description": [ + "\nCustom reducer" + ], "signature": [ "I[\"reducer\"]" ], @@ -532,7 +592,7 @@ "children": [ { "parentPluginId": "@kbn/aiops-utils", - "id": "def-common.useFetchStream.$3.reducer.$1", + "id": "def-common.useFetchStream.$4.reducer.$1", "type": "Uncategorized", "tags": [], "label": "prevState", @@ -546,7 +606,7 @@ }, { "parentPluginId": "@kbn/aiops-utils", - "id": "def-common.useFetchStream.$3.reducer.$2", + "id": "def-common.useFetchStream.$4.reducer.$2", "type": "Uncategorized", "tags": [], "label": "action", @@ -562,11 +622,15 @@ }, { "parentPluginId": "@kbn/aiops-utils", - "id": "def-common.useFetchStream.$3.initialState", + "id": "def-common.useFetchStream.$4.initialState", "type": "Uncategorized", - "tags": [], + "tags": [ + "type" + ], "label": "initialState", - "description": [], + "description": [ + "\nInitial state" + ], "signature": [ "I[\"reducer\"] extends React.Reducer ? S : never" ], @@ -577,7 +641,9 @@ ] } ], - "returnComment": [], + "returnComment": [ + "- An object with streaming data and methods to act on the stream." + ], "initialIsOpen": false }, { @@ -590,7 +656,7 @@ "\nCustom hook to receive streaming data.\n" ], "signature": [ - "(endpoint: `${BasePath}${I[\"endpoint\"]}`, body: I[\"body\"], options: { reducer: I[\"reducer\"]; initialState: React.ReducerState; } | undefined) => UseFetchStreamReturnType, React.ReducerAction>" + "(endpoint: `${BasePath}${I[\"endpoint\"]}`, apiVersion: string, body: I[\"body\"], options: { reducer: I[\"reducer\"]; initialState: React.ReducerState; } | undefined) => UseFetchStreamReturnType, React.ReducerAction>" ], "path": "x-pack/packages/ml/aiops_utils/src/use_fetch_stream.ts", "deprecated": false, @@ -616,6 +682,23 @@ { "parentPluginId": "@kbn/aiops-utils", "id": "def-common.useFetchStream.$2", + "type": "string", + "tags": [], + "label": "apiVersion", + "description": [ + "- API version." + ], + "signature": [ + "string" + ], + "path": "x-pack/packages/ml/aiops_utils/src/use_fetch_stream.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/aiops-utils", + "id": "def-common.useFetchStream.$3", "type": "Uncategorized", "tags": [], "label": "body", @@ -632,7 +715,7 @@ }, { "parentPluginId": "@kbn/aiops-utils", - "id": "def-common.useFetchStream.$3", + "id": "def-common.useFetchStream.$4", "type": "Object", "tags": [], "label": "options", @@ -643,11 +726,15 @@ "children": [ { "parentPluginId": "@kbn/aiops-utils", - "id": "def-common.useFetchStream.$3.reducer", + "id": "def-common.useFetchStream.$4.reducer", "type": "Function", - "tags": [], + "tags": [ + "type" + ], "label": "reducer", - "description": [], + "description": [ + "\nCustom reducer" + ], "signature": [ "I[\"reducer\"]" ], @@ -658,7 +745,7 @@ "children": [ { "parentPluginId": "@kbn/aiops-utils", - "id": "def-common.useFetchStream.$3.reducer.$1", + "id": "def-common.useFetchStream.$4.reducer.$1", "type": "Uncategorized", "tags": [], "label": "prevState", @@ -672,7 +759,7 @@ }, { "parentPluginId": "@kbn/aiops-utils", - "id": "def-common.useFetchStream.$3.reducer.$2", + "id": "def-common.useFetchStream.$4.reducer.$2", "type": "Uncategorized", "tags": [], "label": "action", @@ -688,11 +775,15 @@ }, { "parentPluginId": "@kbn/aiops-utils", - "id": "def-common.useFetchStream.$3.initialState", + "id": "def-common.useFetchStream.$4.initialState", "type": "Uncategorized", - "tags": [], + "tags": [ + "type" + ], "label": "initialState", - "description": [], + "description": [ + "\nInitial state" + ], "signature": [ "I[\"reducer\"] extends React.Reducer ? S : never" ], @@ -704,7 +795,7 @@ } ], "returnComment": [ - "An object with streaming data and methods act on the stream." + "An object with streaming data and methods to act on the stream." ], "initialIsOpen": false } @@ -714,10 +805,14 @@ "parentPluginId": "@kbn/aiops-utils", "id": "def-common.UseFetchStreamCustomReducerParams", "type": "Interface", - "tags": [], + "tags": [ + "export", + "interface", + "typedef" + ], "label": "UseFetchStreamCustomReducerParams", "description": [ - "\nCustom hook type definition of the base params for an NDJSON stream with custom reducer." + "\nCustom hook type definition of the base params for an NDJSON stream with custom reducer.\n" ], "path": "x-pack/packages/ml/aiops_utils/src/use_fetch_stream.ts", "deprecated": false, @@ -727,9 +822,28 @@ "parentPluginId": "@kbn/aiops-utils", "id": "def-common.UseFetchStreamCustomReducerParams.endpoint", "type": "string", - "tags": [], + "tags": [ + "type" + ], "label": "endpoint", - "description": [], + "description": [ + "\nAPI endpoint" + ], + "path": "x-pack/packages/ml/aiops_utils/src/use_fetch_stream.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/aiops-utils", + "id": "def-common.UseFetchStreamCustomReducerParams.apiVersion", + "type": "string", + "tags": [ + "type" + ], + "label": "apiVersion", + "description": [ + "\nAPI version" + ], "path": "x-pack/packages/ml/aiops_utils/src/use_fetch_stream.ts", "deprecated": false, "trackAdoption": false @@ -738,9 +852,13 @@ "parentPluginId": "@kbn/aiops-utils", "id": "def-common.UseFetchStreamCustomReducerParams.body", "type": "Uncategorized", - "tags": [], + "tags": [ + "type" + ], "label": "body", - "description": [], + "description": [ + "\nRequest body" + ], "signature": [ "object" ], @@ -752,9 +870,13 @@ "parentPluginId": "@kbn/aiops-utils", "id": "def-common.UseFetchStreamCustomReducerParams.reducer", "type": "Function", - "tags": [], + "tags": [ + "type" + ], "label": "reducer", - "description": [], + "description": [ + "\nReducer function to be applied to response chunks." + ], "signature": [ "(prevState: any, action: any) => any" ], @@ -813,9 +935,28 @@ "parentPluginId": "@kbn/aiops-utils", "id": "def-common.UseFetchStreamParamsDefault.endpoint", "type": "string", - "tags": [], + "tags": [ + "type" + ], "label": "endpoint", - "description": [], + "description": [ + "\nAPI endpoint" + ], + "path": "x-pack/packages/ml/aiops_utils/src/use_fetch_stream.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/aiops-utils", + "id": "def-common.UseFetchStreamParamsDefault.apiVersion", + "type": "string", + "tags": [ + "type" + ], + "label": "apiVersion", + "description": [ + "\nAPI version" + ], "path": "x-pack/packages/ml/aiops_utils/src/use_fetch_stream.ts", "deprecated": false, "trackAdoption": false @@ -824,9 +965,13 @@ "parentPluginId": "@kbn/aiops-utils", "id": "def-common.UseFetchStreamParamsDefault.body", "type": "Uncategorized", - "tags": [], + "tags": [ + "type" + ], "label": "body", - "description": [], + "description": [ + "\nRequest body" + ], "signature": [ "object" ], @@ -838,9 +983,13 @@ "parentPluginId": "@kbn/aiops-utils", "id": "def-common.UseFetchStreamParamsDefault.reducer", "type": "Function", - "tags": [], + "tags": [ + "type" + ], "label": "reducer", - "description": [], + "description": [ + "\nReducer function to be applied to response chunks." + ], "signature": [ "(prevState: string, action: StringReducerPayload) => string" ], @@ -886,10 +1035,14 @@ "parentPluginId": "@kbn/aiops-utils", "id": "def-common.WindowParameters", "type": "Interface", - "tags": [], + "tags": [ + "export", + "interface", + "typedef" + ], "label": "WindowParameters", "description": [ - "\nTime range definition for baseline and deviation to be used by spike log analysis." + "\nTime range definition for baseline and deviation to be used by spike log analysis.\n" ], "path": "x-pack/packages/ml/aiops_utils/src/get_window_parameters.ts", "deprecated": false, @@ -899,9 +1052,13 @@ "parentPluginId": "@kbn/aiops-utils", "id": "def-common.WindowParameters.baselineMin", "type": "number", - "tags": [], + "tags": [ + "type" + ], "label": "baselineMin", - "description": [], + "description": [ + "\nBaseline minimum value" + ], "path": "x-pack/packages/ml/aiops_utils/src/get_window_parameters.ts", "deprecated": false, "trackAdoption": false @@ -910,9 +1067,13 @@ "parentPluginId": "@kbn/aiops-utils", "id": "def-common.WindowParameters.baselineMax", "type": "number", - "tags": [], + "tags": [ + "type" + ], "label": "baselineMax", - "description": [], + "description": [ + "\nBaseline maximum value" + ], "path": "x-pack/packages/ml/aiops_utils/src/get_window_parameters.ts", "deprecated": false, "trackAdoption": false @@ -921,9 +1082,13 @@ "parentPluginId": "@kbn/aiops-utils", "id": "def-common.WindowParameters.deviationMin", "type": "number", - "tags": [], + "tags": [ + "type" + ], "label": "deviationMin", - "description": [], + "description": [ + "\nDeviation minimum value" + ], "path": "x-pack/packages/ml/aiops_utils/src/get_window_parameters.ts", "deprecated": false, "trackAdoption": false @@ -932,9 +1097,13 @@ "parentPluginId": "@kbn/aiops-utils", "id": "def-common.WindowParameters.deviationMax", "type": "number", - "tags": [], + "tags": [ + "type" + ], "label": "deviationMax", - "description": [], + "description": [ + "\nDeviation maximum value" + ], "path": "x-pack/packages/ml/aiops_utils/src/get_window_parameters.ts", "deprecated": false, "trackAdoption": false diff --git a/api_docs/kbn_aiops_utils.mdx b/api_docs/kbn_aiops_utils.mdx index e8eb16106cec0..352372b619f8c 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-utils'] --- import kbnAiopsUtilsObj from './kbn_aiops_utils.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) for questi | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 53 | 0 | 22 | 0 | +| 58 | 0 | 2 | 0 | ## Common diff --git a/api_docs/kbn_alerting_state_types.mdx b/api_docs/kbn_alerting_state_types.mdx index 7396834bdd2a1..c78506cbc76eb 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-05-16 +date: 2023-06-07 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 26f4142399dc8..7ca103c722f76 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-05-16 +date: 2023-06-07 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 2bc07c74917da..c568053c4e4a2 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-05-16 +date: 2023-06-07 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 a27a68f112334..2a5a466a592e4 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics'] --- import kbnAnalyticsObj from './kbn_analytics.devdocs.json'; diff --git a/api_docs/kbn_analytics_client.devdocs.json b/api_docs/kbn_analytics_client.devdocs.json index e69d9387b614b..50064546e9c96 100644 --- a/api_docs/kbn_analytics_client.devdocs.json +++ b/api_docs/kbn_analytics_client.devdocs.json @@ -730,22 +730,6 @@ "plugin": "infra", "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_client.ts" }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/server/lib/telemetry/sender.ts" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/server/lib/telemetry/sender.ts" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/server/lib/telemetry/sender.ts" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/server/lib/telemetry/sender.ts" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/lib/telemetry/telemetry_client.ts" @@ -782,6 +766,22 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/lib/telemetry/telemetry_client.ts" }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/lib/telemetry/sender.ts" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/lib/telemetry/sender.ts" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/lib/telemetry/sender.ts" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/lib/telemetry/sender.ts" + }, { "plugin": "@kbn/core-analytics-browser-mocks", "path": "packages/core/analytics/core-analytics-browser-mocks/src/analytics_service.mock.ts" diff --git a/api_docs/kbn_analytics_client.mdx b/api_docs/kbn_analytics_client.mdx index fb97772377293..c7e76f7e96361 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-05-16 +date: 2023-06-07 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 0ed5a62a64cc6..45243b2ba237e 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-05-16 +date: 2023-06-07 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 3e1af959c7bcb..2f3a04bbf3917 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-05-16 +date: 2023-06-07 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 3f47d662fbb2b..f15c598f87099 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-05-16 +date: 2023-06-07 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 9397671edb068..6b865fbda837a 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-05-16 +date: 2023-06-07 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 4385719df3e93..ffb53a33b2092 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-05-16 +date: 2023-06-07 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 29239dc439ac5..697870f7f5c3f 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-05-16 +date: 2023-06-07 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 fbb32f5549a77..a67cd7b56d28d 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-05-16 +date: 2023-06-07 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 98ef12d3969b4..daab6d4c5b518 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-05-16 +date: 2023-06-07 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 d28074482c07b..f1c302f2c9255 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-05-16 +date: 2023-06-07 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 d0227285d929f..5d18b026af020 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-05-16 +date: 2023-06-07 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 fe67a9389384a..54f075c4454b1 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-05-16 +date: 2023-06-07 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 e0a211b7f1d0b..0967535835b0a 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-05-16 +date: 2023-06-07 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 925312dbe3ae2..28d9a02afbef4 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-05-16 +date: 2023-06-07 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 30514e6ee2883..f5e0e54b4a299 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-05-16 +date: 2023-06-07 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 02b72bc535f33..5ad88f2bb991d 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-05-16 +date: 2023-06-07 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 ebb722df6c2ee..ffdb5e38313ac 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-05-16 +date: 2023-06-07 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 c3ecc6b640486..6fb64760733f5 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-05-16 +date: 2023-06-07 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 9acb8a9a976c6..f711d8184727e 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-05-16 +date: 2023-06-07 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 22590c97ae7e1..de3df311ecef8 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-05-16 +date: 2023-06-07 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 7f54e02814fd0..13f6386016373 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-05-16 +date: 2023-06-07 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 657db8069ee3b..ea756574bfea3 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/coloring'] --- import kbnColoringObj from './kbn_coloring.devdocs.json'; diff --git a/api_docs/kbn_config.devdocs.json b/api_docs/kbn_config.devdocs.json index 29abb2853e111..dde86c581edb7 100644 --- a/api_docs/kbn_config.devdocs.json +++ b/api_docs/kbn_config.devdocs.json @@ -39,7 +39,7 @@ "\nInformation about Kibana package (version, build number etc.)." ], "signature": [ - "{ readonly version: string; readonly branch: string; readonly buildNum: number; readonly buildSha: string; readonly dist: boolean; }" + "{ readonly version: string; readonly branch: string; readonly buildNum: number; readonly buildSha: string; readonly buildDate: Date; readonly dist: boolean; }" ], "path": "packages/kbn-config/src/env.ts", "deprecated": false, @@ -956,6 +956,20 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "@kbn/config", + "id": "def-common.PackageInfo.buildDate", + "type": "Object", + "tags": [], + "label": "buildDate", + "description": [], + "signature": [ + "Date" + ], + "path": "packages/kbn-config/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "@kbn/config", "id": "def-common.PackageInfo.dist", diff --git a/api_docs/kbn_config.mdx b/api_docs/kbn_config.mdx index 2bae2dcddb916..d623948dab3fd 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config'] --- import kbnConfigObj from './kbn_config.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 73 | 0 | 44 | 9 | +| 74 | 0 | 45 | 9 | ## Common diff --git a/api_docs/kbn_config_mocks.mdx b/api_docs/kbn_config_mocks.mdx index ec2b36f8744ea..4155cb75ad550 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-mocks'] --- import kbnConfigMocksObj from './kbn_config_mocks.devdocs.json'; diff --git a/api_docs/kbn_config_schema.mdx b/api_docs/kbn_config_schema.mdx index c05f13da00f12..a0e467693b95b 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-05-16 +date: 2023-06-07 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 71e53d8771d5c..12fcbdd991af6 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-content-editor'] --- import kbnContentManagementContentEditorObj from './kbn_content_management_content_editor.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list.devdocs.json b/api_docs/kbn_content_management_table_list.devdocs.json index cfd72c12a42e5..37faef836498b 100644 --- a/api_docs/kbn_content_management_table_list.devdocs.json +++ b/api_docs/kbn_content_management_table_list.devdocs.json @@ -35,7 +35,7 @@ "section": "def-common.UserContentCommonSchema", "text": "UserContentCommonSchema" }, - ">({ tableListTitle, tableListDescription, entityName, entityNamePlural, initialFilter: initialQuery, headingId, initialPageSize, listingLimit, urlStateEnabled, customTableColumn, emptyPrompt, rowItemActions, findItems, createItem, editItem, deleteItems, getDetailViewLink, onClickTitle, id: listingId, contentEditor, children, titleColumnName, additionalRightSideActions, withoutPageTemplateWrapper, }: ", + ">({ tableListTitle, tableListDescription, entityName, entityNamePlural, initialFilter: initialQuery, headingId, initialPageSize, listingLimit, urlStateEnabled, customTableColumn, emptyPrompt, rowItemActions, findItems, createItem, editItem, showEditActionForItem, deleteItems, getDetailViewLink, onClickTitle, id: listingId, contentEditor, children, titleColumnName, additionalRightSideActions, withoutPageTemplateWrapper, }: ", "Props", ") => JSX.Element | null" ], diff --git a/api_docs/kbn_content_management_table_list.mdx b/api_docs/kbn_content_management_table_list.mdx index 6935750d77c44..d8b0c2143b00c 100644 --- a/api_docs/kbn_content_management_table_list.mdx +++ b/api_docs/kbn_content_management_table_list.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list title: "@kbn/content-management-table-list" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list plugin -date: 2023-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list'] --- import kbnContentManagementTableListObj from './kbn_content_management_table_list.devdocs.json'; diff --git a/api_docs/kbn_content_management_utils.devdocs.json b/api_docs/kbn_content_management_utils.devdocs.json index 6c6c13efb2b09..008494bd1e8aa 100644 --- a/api_docs/kbn_content_management_utils.devdocs.json +++ b/api_docs/kbn_content_management_utils.devdocs.json @@ -17,177 +17,600 @@ "objects": [] }, "common": { - "classes": [], - "functions": [ + "classes": [ { "parentPluginId": "@kbn/content-management-utils", - "id": "def-common.createResultSchema", - "type": "Function", + "id": "def-common.SOContentStorage", + "type": "Class", "tags": [], - "label": "createResultSchema", + "label": "SOContentStorage", "description": [], "signature": [ - "(soSchema: ", { - "pluginId": "@kbn/config-schema", + "pluginId": "@kbn/content-management-utils", "scope": "common", - "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-common.ObjectType", - "text": "ObjectType" + "docId": "kibKbnContentManagementUtilsPluginApi", + "section": "def-common.SOContentStorage", + "text": "SOContentStorage" }, - ") => ", + " implements ", { - "pluginId": "@kbn/config-schema", - "scope": "common", - "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-common.ObjectType", - "text": "ObjectType" + "pluginId": "contentManagement", + "scope": "server", + "docId": "kibContentManagementPluginApi", + "section": "def-server.ContentStorage", + "text": "ContentStorage" }, - "<{ item: ", + "; }>" + ">" ], - "path": "packages/kbn-content-management-utils/src/schema.ts", + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "@kbn/content-management-utils", - "id": "def-common.createResultSchema.$1", + "id": "def-common.SOContentStorage.Unnamed", + "type": "Function", + "tags": [], + "label": "Constructor", + "description": [], + "signature": [ + "any" + ], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SOContentStorage.Unnamed.$1", + "type": "Object", + "tags": [], + "label": "{\n savedObjectType,\n cmServicesDefinition,\n createArgsToSoCreateOptions,\n updateArgsToSoUpdateOptions,\n searchArgsToSOFindOptions,\n enableMSearch,\n allowedSavedObjectAttributes,\n }", + "description": [], + "signature": [ + { + "pluginId": "@kbn/content-management-utils", + "scope": "common", + "docId": "kibKbnContentManagementUtilsPluginApi", + "section": "def-common.SOContentStorageConstrutorParams", + "text": "SOContentStorageConstrutorParams" + }, + "" + ], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SOContentStorage.mSearch", "type": "Object", "tags": [], - "label": "soSchema", + "label": "mSearch", "description": [], "signature": [ + "{ savedObjectType: string; toItemResult: (ctx: ", { - "pluginId": "@kbn/config-schema", + "pluginId": "contentManagement", + "scope": "server", + "docId": "kibContentManagementPluginApi", + "section": "def-server.StorageContext", + "text": "StorageContext" + }, + ", savedObject: ", + { + "pluginId": "@kbn/core-saved-objects-api-server", "scope": "common", - "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-common.ObjectType", - "text": "ObjectType" + "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", + "section": "def-common.SavedObjectsFindResult", + "text": "SavedObjectsFindResult" }, - "" + ") => Types[\"Item\"]; } | undefined" ], - "path": "packages/kbn-content-management-utils/src/schema.ts", + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/content-management-utils", - "id": "def-common.objectTypeToGetResultSchema", - "type": "Function", - "tags": [], - "label": "objectTypeToGetResultSchema", - "description": [], - "signature": [ - "(soSchema: ", - { - "pluginId": "@kbn/config-schema", - "scope": "common", - "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-common.ObjectType", - "text": "ObjectType" - }, - ") => ", - { - "pluginId": "@kbn/config-schema", - "scope": "common", - "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-common.ObjectType", - "text": "ObjectType" - }, - "<{ item: ", - { - "pluginId": "@kbn/config-schema", - "scope": "common", - "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-common.ObjectType", - "text": "ObjectType" - }, - "; meta: ", - { - "pluginId": "@kbn/config-schema", - "scope": "common", - "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-common.ObjectType", - "text": "ObjectType" + "trackAdoption": false }, - "<{ outcome: ", { - "pluginId": "@kbn/config-schema", - "scope": "common", - "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-common.Type", - "text": "Type" + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SOContentStorage.get", + "type": "Function", + "tags": [], + "label": "get", + "description": [], + "signature": [ + "(ctx: ", + { + "pluginId": "contentManagement", + "scope": "server", + "docId": "kibContentManagementPluginApi", + "section": "def-server.StorageContext", + "text": "StorageContext" + }, + ", id: string) => Promise" + ], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SOContentStorage.get.$1", + "type": "Object", + "tags": [], + "label": "ctx", + "description": [], + "signature": [ + { + "pluginId": "contentManagement", + "scope": "server", + "docId": "kibContentManagementPluginApi", + "section": "def-server.StorageContext", + "text": "StorageContext" + } + ], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SOContentStorage.get.$2", + "type": "string", + "tags": [], + "label": "id", + "description": [], + "signature": [ + "string" + ], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] }, - "<\"conflict\" | \"exactMatch\" | \"aliasMatch\">; aliasTargetId: ", { - "pluginId": "@kbn/config-schema", - "scope": "common", - "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-common.Type", - "text": "Type" + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SOContentStorage.bulkGet", + "type": "Function", + "tags": [], + "label": "bulkGet", + "description": [], + "signature": [ + "() => Promise" + ], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] }, - "; aliasPurpose: ", { - "pluginId": "@kbn/config-schema", - "scope": "common", - "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-common.Type", - "text": "Type" + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SOContentStorage.create", + "type": "Function", + "tags": [], + "label": "create", + "description": [], + "signature": [ + "(ctx: ", + { + "pluginId": "contentManagement", + "scope": "server", + "docId": "kibContentManagementPluginApi", + "section": "def-server.StorageContext", + "text": "StorageContext" + }, + ", data: Types[\"Attributes\"], options: Types[\"CreateOptions\"]) => Promise" + ], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SOContentStorage.create.$1", + "type": "Object", + "tags": [], + "label": "ctx", + "description": [], + "signature": [ + { + "pluginId": "contentManagement", + "scope": "server", + "docId": "kibContentManagementPluginApi", + "section": "def-server.StorageContext", + "text": "StorageContext" + } + ], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SOContentStorage.create.$2", + "type": "Uncategorized", + "tags": [], + "label": "data", + "description": [], + "signature": [ + "Types[\"Attributes\"]" + ], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SOContentStorage.create.$3", + "type": "Uncategorized", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "Types[\"CreateOptions\"]" + ], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] }, - "<\"savedObjectConversion\" | \"savedObjectImport\" | undefined>; }>; }>" - ], - "path": "packages/kbn-content-management-utils/src/schema.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ { "parentPluginId": "@kbn/content-management-utils", - "id": "def-common.objectTypeToGetResultSchema.$1", - "type": "Object", + "id": "def-common.SOContentStorage.update", + "type": "Function", "tags": [], - "label": "soSchema", + "label": "update", "description": [], "signature": [ + "(ctx: ", { - "pluginId": "@kbn/config-schema", - "scope": "common", - "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-common.ObjectType", - "text": "ObjectType" + "pluginId": "contentManagement", + "scope": "server", + "docId": "kibContentManagementPluginApi", + "section": "def-server.StorageContext", + "text": "StorageContext" }, - "" + ", id: string, data: Types[\"Attributes\"], options: Types[\"UpdateOptions\"]) => Promise" ], - "path": "packages/kbn-content-management-utils/src/schema.ts", + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", "deprecated": false, "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/content-management-utils", - "id": "def-common.savedObjectSchema", - "type": "Function", - "tags": [], - "label": "savedObjectSchema", + "children": [ + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SOContentStorage.update.$1", + "type": "Object", + "tags": [], + "label": "ctx", + "description": [], + "signature": [ + { + "pluginId": "contentManagement", + "scope": "server", + "docId": "kibContentManagementPluginApi", + "section": "def-server.StorageContext", + "text": "StorageContext" + } + ], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SOContentStorage.update.$2", + "type": "string", + "tags": [], + "label": "id", + "description": [], + "signature": [ + "string" + ], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SOContentStorage.update.$3", + "type": "Uncategorized", + "tags": [], + "label": "data", + "description": [], + "signature": [ + "Types[\"Attributes\"]" + ], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SOContentStorage.update.$4", + "type": "Uncategorized", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "Types[\"UpdateOptions\"]" + ], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SOContentStorage.delete", + "type": "Function", + "tags": [], + "label": "delete", + "description": [], + "signature": [ + "(ctx: ", + { + "pluginId": "contentManagement", + "scope": "server", + "docId": "kibContentManagementPluginApi", + "section": "def-server.StorageContext", + "text": "StorageContext" + }, + ", id: string, options?: { force: boolean; } | undefined) => Promise" + ], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SOContentStorage.delete.$1", + "type": "Object", + "tags": [], + "label": "ctx", + "description": [], + "signature": [ + { + "pluginId": "contentManagement", + "scope": "server", + "docId": "kibContentManagementPluginApi", + "section": "def-server.StorageContext", + "text": "StorageContext" + } + ], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SOContentStorage.delete.$2", + "type": "string", + "tags": [], + "label": "id", + "description": [], + "signature": [ + "string" + ], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SOContentStorage.delete.$3", + "type": "Object", + "tags": [], + "label": "options", + "description": [], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SOContentStorage.delete.$3.force", + "type": "boolean", + "tags": [], + "label": "force", + "description": [], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SOContentStorage.search", + "type": "Function", + "tags": [], + "label": "search", + "description": [], + "signature": [ + "(ctx: ", + { + "pluginId": "contentManagement", + "scope": "server", + "docId": "kibContentManagementPluginApi", + "section": "def-server.StorageContext", + "text": "StorageContext" + }, + ", query: ", + { + "pluginId": "contentManagement", + "scope": "common", + "docId": "kibContentManagementPluginApi", + "section": "def-common.SearchQuery", + "text": "SearchQuery" + }, + ", options?: Types[\"SearchOptions\"]) => Promise" + ], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SOContentStorage.search.$1", + "type": "Object", + "tags": [], + "label": "ctx", + "description": [], + "signature": [ + { + "pluginId": "contentManagement", + "scope": "server", + "docId": "kibContentManagementPluginApi", + "section": "def-server.StorageContext", + "text": "StorageContext" + } + ], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SOContentStorage.search.$2", + "type": "Object", + "tags": [], + "label": "query", + "description": [], + "signature": [ + { + "pluginId": "contentManagement", + "scope": "common", + "docId": "kibContentManagementPluginApi", + "section": "def-common.SearchQuery", + "text": "SearchQuery" + } + ], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SOContentStorage.search.$3", + "type": "Uncategorized", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "Types[\"SearchOptions\"]" + ], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + } + ], + "functions": [ + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.createArgsToSoCreateOptionsDefault", + "type": "Function", + "tags": [], + "label": "createArgsToSoCreateOptionsDefault", "description": [], "signature": [ - "(attributesSchema: ", + "(params: ", + { + "pluginId": "@kbn/core-saved-objects-api-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", + "section": "def-common.SavedObjectsCreateOptions", + "text": "SavedObjectsCreateOptions" + }, + ") => ", + { + "pluginId": "@kbn/core-saved-objects-api-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", + "section": "def-common.SavedObjectsCreateOptions", + "text": "SavedObjectsCreateOptions" + } + ], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.createArgsToSoCreateOptionsDefault.$1", + "type": "Object", + "tags": [], + "label": "params", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-saved-objects-api-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", + "section": "def-common.SavedObjectsCreateOptions", + "text": "SavedObjectsCreateOptions" + } + ], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.createResultSchema", + "type": "Function", + "tags": [], + "label": "createResultSchema", + "description": [], + "signature": [ + "(soSchema: ", { "pluginId": "@kbn/config-schema", "scope": "common", @@ -203,23 +626,183 @@ "section": "def-common.ObjectType", "text": "ObjectType" }, - "<{ id: ", + "<{ item: ", { "pluginId": "@kbn/config-schema", "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-common.Type", - "text": "Type" + "section": "def-common.ObjectType", + "text": "ObjectType" }, - "; type: ", + "; }>" + ], + "path": "packages/kbn-content-management-utils/src/schema.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.createResultSchema.$1", + "type": "Object", + "tags": [], + "label": "soSchema", + "description": [], + "signature": [ + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.ObjectType", + "text": "ObjectType" + }, + "" + ], + "path": "packages/kbn-content-management-utils/src/schema.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.objectTypeToGetResultSchema", + "type": "Function", + "tags": [], + "label": "objectTypeToGetResultSchema", + "description": [], + "signature": [ + "(soSchema: ", { "pluginId": "@kbn/config-schema", "scope": "common", "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-common.Type", - "text": "Type" + "section": "def-common.ObjectType", + "text": "ObjectType" }, - "; version: ", + ") => ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.ObjectType", + "text": "ObjectType" + }, + "<{ item: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.ObjectType", + "text": "ObjectType" + }, + "; meta: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.ObjectType", + "text": "ObjectType" + }, + "<{ outcome: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + "<\"conflict\" | \"exactMatch\" | \"aliasMatch\">; aliasTargetId: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + "; aliasPurpose: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + "<\"savedObjectConversion\" | \"savedObjectImport\" | undefined>; }>; }>" + ], + "path": "packages/kbn-content-management-utils/src/schema.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.objectTypeToGetResultSchema.$1", + "type": "Object", + "tags": [], + "label": "soSchema", + "description": [], + "signature": [ + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.ObjectType", + "text": "ObjectType" + }, + "" + ], + "path": "packages/kbn-content-management-utils/src/schema.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.savedObjectSchema", + "type": "Function", + "tags": [], + "label": "savedObjectSchema", + "description": [], + "signature": [ + "(attributesSchema: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.ObjectType", + "text": "ObjectType" + }, + ") => ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.ObjectType", + "text": "ObjectType" + }, + "<{ id: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + "; type: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + "; version: ", { "pluginId": "@kbn/config-schema", "scope": "common", @@ -283,40 +866,616 @@ "section": "def-common.Type", "text": "Type" }, - "; }>" - ], - "path": "packages/kbn-content-management-utils/src/schema.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + "; }>" + ], + "path": "packages/kbn-content-management-utils/src/schema.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.savedObjectSchema.$1", + "type": "Object", + "tags": [], + "label": "attributesSchema", + "description": [], + "signature": [ + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.ObjectType", + "text": "ObjectType" + }, + "" + ], + "path": "packages/kbn-content-management-utils/src/schema.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.searchArgsToSOFindOptionsDefault", + "type": "Function", + "tags": [], + "label": "searchArgsToSOFindOptionsDefault", + "description": [], + "signature": [ + "(params: ", + { + "pluginId": "contentManagement", + "scope": "common", + "docId": "kibContentManagementPluginApi", + "section": "def-common.SearchIn", + "text": "SearchIn" + }, + ") => ", + { + "pluginId": "@kbn/core-saved-objects-api-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", + "section": "def-common.SavedObjectsFindOptions", + "text": "SavedObjectsFindOptions" + } + ], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.searchArgsToSOFindOptionsDefault.$1", + "type": "Object", + "tags": [], + "label": "params", + "description": [], + "signature": [ + { + "pluginId": "contentManagement", + "scope": "common", + "docId": "kibContentManagementPluginApi", + "section": "def-common.SearchIn", + "text": "SearchIn" + }, + "" + ], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.tagsToFindOptions", + "type": "Function", + "tags": [], + "label": "tagsToFindOptions", + "description": [], + "signature": [ + "({ included, excluded, }?: { included?: string[] | undefined; excluded?: string[] | undefined; }) => { hasReference: ", + { + "pluginId": "@kbn/core-saved-objects-api-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", + "section": "def-common.SavedObjectsFindOptionsReference", + "text": "SavedObjectsFindOptionsReference" + }, + "[] | undefined; hasNoReference: ", + { + "pluginId": "@kbn/core-saved-objects-api-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", + "section": "def-common.SavedObjectsFindOptionsReference", + "text": "SavedObjectsFindOptionsReference" + }, + "[] | undefined; }" + ], + "path": "packages/kbn-content-management-utils/src/utils.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.tagsToFindOptions.$1", + "type": "Object", + "tags": [], + "label": "{\n included,\n excluded,\n}", + "description": [], + "path": "packages/kbn-content-management-utils/src/utils.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.tagsToFindOptions.$1.included", + "type": "Array", + "tags": [], + "label": "included", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-content-management-utils/src/utils.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.tagsToFindOptions.$1.excluded", + "type": "Array", + "tags": [], + "label": "excluded", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-content-management-utils/src/utils.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.updateArgsToSoUpdateOptionsDefault", + "type": "Function", + "tags": [], + "label": "updateArgsToSoUpdateOptionsDefault", + "description": [], + "signature": [ + "(params: ", + { + "pluginId": "@kbn/core-saved-objects-api-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", + "section": "def-common.SavedObjectsUpdateOptions", + "text": "SavedObjectsUpdateOptions" + }, + ") => ", + { + "pluginId": "@kbn/core-saved-objects-api-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", + "section": "def-common.SavedObjectsUpdateOptions", + "text": "SavedObjectsUpdateOptions" + }, + "" + ], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.updateArgsToSoUpdateOptionsDefault.$1", + "type": "Object", + "tags": [], + "label": "params", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-saved-objects-api-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", + "section": "def-common.SavedObjectsUpdateOptions", + "text": "SavedObjectsUpdateOptions" + }, + "" + ], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [ + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.CMCrudTypes", + "type": "Interface", + "tags": [], + "label": "CMCrudTypes", + "description": [], + "path": "packages/kbn-content-management-utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.CMCrudTypes.Attributes", + "type": "Uncategorized", + "tags": [], + "label": "Attributes", + "description": [ + "\nSaved object attributes" + ], + "signature": [ + "object" + ], + "path": "packages/kbn-content-management-utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.CMCrudTypes.Item", + "type": "Object", + "tags": [], + "label": "Item", + "description": [ + "\nComplete saved object" + ], + "signature": [ + { + "pluginId": "@kbn/content-management-utils", + "scope": "common", + "docId": "kibKbnContentManagementUtilsPluginApi", + "section": "def-common.SOWithMetadata", + "text": "SOWithMetadata" + }, + "" + ], + "path": "packages/kbn-content-management-utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.CMCrudTypes.PartialItem", + "type": "CompoundType", + "tags": [], + "label": "PartialItem", + "description": [ + "\nPartial saved object, used as output for update" + ], + "signature": [ + "Omit<", + { + "pluginId": "@kbn/content-management-utils", + "scope": "common", + "docId": "kibKbnContentManagementUtilsPluginApi", + "section": "def-common.SOWithMetadata", + "text": "SOWithMetadata" + }, + ", \"references\" | \"attributes\"> & { attributes: object; references: ", + { + "pluginId": "@kbn/content-management-utils", + "scope": "common", + "docId": "kibKbnContentManagementUtilsPluginApi", + "section": "def-common.Reference", + "text": "Reference" + }, + "[] | undefined; }" + ], + "path": "packages/kbn-content-management-utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.CMCrudTypes.GetIn", + "type": "Object", + "tags": [], + "label": "GetIn", + "description": [ + "\nGet item params" + ], + "signature": [ + { + "pluginId": "contentManagement", + "scope": "common", + "docId": "kibContentManagementPluginApi", + "section": "def-common.GetIn", + "text": "GetIn" + }, + "" + ], + "path": "packages/kbn-content-management-utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.CMCrudTypes.GetOut", + "type": "Object", + "tags": [], + "label": "GetOut", + "description": [ + "\nGet item result" + ], + "signature": [ + "{ item: ", + { + "pluginId": "@kbn/content-management-utils", + "scope": "common", + "docId": "kibKbnContentManagementUtilsPluginApi", + "section": "def-common.SOWithMetadata", + "text": "SOWithMetadata" + }, + "; meta: { outcome: \"conflict\" | \"exactMatch\" | \"aliasMatch\"; aliasTargetId?: string | undefined; aliasPurpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; }; }" + ], + "path": "packages/kbn-content-management-utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.CMCrudTypes.CreateIn", + "type": "Object", + "tags": [], + "label": "CreateIn", + "description": [ + "\nCreate item params" + ], + "signature": [ + { + "pluginId": "contentManagement", + "scope": "common", + "docId": "kibContentManagementPluginApi", + "section": "def-common.CreateIn", + "text": "CreateIn" + }, + "" + ], + "path": "packages/kbn-content-management-utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.CMCrudTypes.CreateOut", + "type": "Object", + "tags": [], + "label": "CreateOut", + "description": [ + "\nCreate item result" + ], + "signature": [ + "{ item: ", + { + "pluginId": "@kbn/content-management-utils", + "scope": "common", + "docId": "kibKbnContentManagementUtilsPluginApi", + "section": "def-common.SOWithMetadata", + "text": "SOWithMetadata" + }, + "; }" + ], + "path": "packages/kbn-content-management-utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.CMCrudTypes.CreateOptions", + "type": "Uncategorized", + "tags": [], + "label": "CreateOptions", + "description": [ + "\n" + ], + "signature": [ + "object" + ], + "path": "packages/kbn-content-management-utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.CMCrudTypes.SearchIn", + "type": "Object", + "tags": [], + "label": "SearchIn", + "description": [ + "\nSearch item params" + ], + "signature": [ + { + "pluginId": "contentManagement", + "scope": "common", + "docId": "kibContentManagementPluginApi", + "section": "def-common.SearchIn", + "text": "SearchIn" + }, + "" + ], + "path": "packages/kbn-content-management-utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.CMCrudTypes.SearchOut", + "type": "Object", + "tags": [], + "label": "SearchOut", + "description": [ + "\nSearch item result" + ], + "signature": [ + "{ hits: ", + { + "pluginId": "@kbn/content-management-utils", + "scope": "common", + "docId": "kibKbnContentManagementUtilsPluginApi", + "section": "def-common.SOWithMetadata", + "text": "SOWithMetadata" + }, + "[]; pagination: { total: number; cursor?: string | undefined; }; }" + ], + "path": "packages/kbn-content-management-utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.CMCrudTypes.SearchOptions", + "type": "Uncategorized", + "tags": [], + "label": "SearchOptions", + "description": [ + "\n" + ], + "signature": [ + "object" + ], + "path": "packages/kbn-content-management-utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.CMCrudTypes.UpdateIn", + "type": "Object", + "tags": [], + "label": "UpdateIn", + "description": [ + "\nUpdate item params" + ], + "signature": [ + { + "pluginId": "contentManagement", + "scope": "common", + "docId": "kibContentManagementPluginApi", + "section": "def-common.UpdateIn", + "text": "UpdateIn" + }, + "" + ], + "path": "packages/kbn-content-management-utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.CMCrudTypes.UpdateOut", + "type": "Object", + "tags": [], + "label": "UpdateOut", + "description": [ + "\nUpdate item result" + ], + "signature": [ + "{ item: ", + { + "pluginId": "@kbn/content-management-utils", + "scope": "common", + "docId": "kibKbnContentManagementUtilsPluginApi", + "section": "def-common.SOWithMetadataPartial", + "text": "SOWithMetadataPartial" + }, + "; }" + ], + "path": "packages/kbn-content-management-utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.CMCrudTypes.UpdateOptions", + "type": "Uncategorized", + "tags": [], + "label": "UpdateOptions", + "description": [ + "\n" + ], + "signature": [ + "object" + ], + "path": "packages/kbn-content-management-utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "@kbn/content-management-utils", - "id": "def-common.savedObjectSchema.$1", + "id": "def-common.CMCrudTypes.DeleteIn", "type": "Object", "tags": [], - "label": "attributesSchema", - "description": [], + "label": "DeleteIn", + "description": [ + "\nDelete item params" + ], "signature": [ { - "pluginId": "@kbn/config-schema", + "pluginId": "contentManagement", "scope": "common", - "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-common.ObjectType", - "text": "ObjectType" + "docId": "kibContentManagementPluginApi", + "section": "def-common.DeleteIn", + "text": "DeleteIn" }, - "" + "" ], - "path": "packages/kbn-content-management-utils/src/schema.ts", + "path": "packages/kbn-content-management-utils/src/types.ts", "deprecated": false, - "trackAdoption": false, - "isRequired": true + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.CMCrudTypes.DeleteOut", + "type": "Object", + "tags": [], + "label": "DeleteOut", + "description": [ + "\nDelete item result" + ], + "signature": [ + { + "pluginId": "contentManagement", + "scope": "common", + "docId": "kibContentManagementPluginApi", + "section": "def-common.DeleteResult", + "text": "DeleteResult" + } + ], + "path": "packages/kbn-content-management-utils/src/types.ts", + "deprecated": false, + "trackAdoption": false } ], - "returnComment": [], "initialIsOpen": false - } - ], - "interfaces": [ + }, { "parentPluginId": "@kbn/content-management-utils", "id": "def-common.ContentManagementCrudTypes", @@ -343,6 +1502,20 @@ "deprecated": false, "trackAdoption": false, "children": [ + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.ContentManagementCrudTypes.Attributes", + "type": "Uncategorized", + "tags": [], + "label": "Attributes", + "description": [], + "signature": [ + "Attributes" + ], + "path": "packages/kbn-content-management-utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "@kbn/content-management-utils", "id": "def-common.ContentManagementCrudTypes.Item", @@ -620,7 +1793,15 @@ "\nUpdate item result" ], "signature": [ - "{ item: PartialItem; }" + "{ item: ", + { + "pluginId": "@kbn/content-management-utils", + "scope": "common", + "docId": "kibKbnContentManagementUtilsPluginApi", + "section": "def-common.SOWithMetadataPartial", + "text": "SOWithMetadataPartial" + }, + "; }" ], "path": "packages/kbn-content-management-utils/src/types.ts", "deprecated": false, @@ -1127,58 +2308,253 @@ }, { "parentPluginId": "@kbn/content-management-utils", - "id": "def-common.SavedObjectSearchOptions.aggs", - "type": "Object", - "tags": [ - "alpha" - ], - "label": "aggs", - "description": [ - "\nA record of aggregations to perform.\nThe API currently only supports a limited set of metrics and bucket aggregation types.\nAdditional aggregation types can be contributed to Core.\n" - ], + "id": "def-common.SavedObjectSearchOptions.aggs", + "type": "Object", + "tags": [ + "alpha" + ], + "label": "aggs", + "description": [ + "\nA record of aggregations to perform.\nThe API currently only supports a limited set of metrics and bucket aggregation types.\nAdditional aggregation types can be contributed to Core.\n" + ], + "signature": [ + "Record | undefined" + ], + "path": "packages/kbn-content-management-utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SavedObjectSearchOptions.namespaces", + "type": "Array", + "tags": [], + "label": "namespaces", + "description": [ + "array of namespaces to search" + ], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-content-management-utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SavedObjectSearchOptions.pit", + "type": "Object", + "tags": [], + "label": "pit", + "description": [ + "\nSearch against a specific Point In Time (PIT) that you've opened with {@link SavedObjectsClient.openPointInTimeForType}." + ], + "signature": [ + { + "pluginId": "@kbn/core-saved-objects-api-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", + "section": "def-common.SavedObjectsPitParams", + "text": "SavedObjectsPitParams" + }, + " | undefined" + ], + "path": "packages/kbn-content-management-utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SavedObjectUpdateOptions", + "type": "Interface", + "tags": [], + "label": "SavedObjectUpdateOptions", + "description": [ + "Saved Object update options - Pick and Omit to customize" + ], + "signature": [ + { + "pluginId": "@kbn/content-management-utils", + "scope": "common", + "docId": "kibKbnContentManagementUtilsPluginApi", + "section": "def-common.SavedObjectUpdateOptions", + "text": "SavedObjectUpdateOptions" + }, + "" + ], + "path": "packages/kbn-content-management-utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SavedObjectUpdateOptions.references", + "type": "Array", + "tags": [], + "label": "references", + "description": [ + "Array of referenced saved objects." + ], + "signature": [ + { + "pluginId": "@kbn/content-management-utils", + "scope": "common", + "docId": "kibKbnContentManagementUtilsPluginApi", + "section": "def-common.Reference", + "text": "Reference" + }, + "[] | undefined" + ], + "path": "packages/kbn-content-management-utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SavedObjectUpdateOptions.version", + "type": "string", + "tags": [], + "label": "version", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-content-management-utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SavedObjectUpdateOptions.refresh", + "type": "CompoundType", + "tags": [], + "label": "refresh", + "description": [ + "The Elasticsearch Refresh setting for this operation" + ], + "signature": [ + { + "pluginId": "@kbn/core-saved-objects-api-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", + "section": "def-common.MutatingOperationRefreshSetting", + "text": "MutatingOperationRefreshSetting" + }, + " | undefined" + ], + "path": "packages/kbn-content-management-utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SavedObjectUpdateOptions.upsert", + "type": "Uncategorized", + "tags": [], + "label": "upsert", + "description": [ + "If specified, will be used to perform an upsert if the object doesn't exist" + ], + "signature": [ + "Attributes | undefined" + ], + "path": "packages/kbn-content-management-utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SavedObjectUpdateOptions.retryOnConflict", + "type": "number", + "tags": [], + "label": "retryOnConflict", + "description": [ + "\nThe Elasticsearch `retry_on_conflict` setting for this operation.\nDefaults to `0` when `version` is provided, `3` otherwise." + ], + "signature": [ + "number | undefined" + ], + "path": "packages/kbn-content-management-utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SearchArgsToSOFindOptionsOptionsDefault", + "type": "Interface", + "tags": [], + "label": "SearchArgsToSOFindOptionsOptionsDefault", + "description": [], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SearchArgsToSOFindOptionsOptionsDefault.fields", + "type": "Array", + "tags": [], + "label": "fields", + "description": [], "signature": [ - "Record | undefined" + "string[] | undefined" ], - "path": "packages/kbn-content-management-utils/src/types.ts", + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/content-management-utils", - "id": "def-common.SavedObjectSearchOptions.namespaces", + "id": "def-common.SearchArgsToSOFindOptionsOptionsDefault.searchFields", "type": "Array", "tags": [], - "label": "namespaces", - "description": [ - "array of namespaces to search" - ], + "label": "searchFields", + "description": [], "signature": [ "string[] | undefined" ], - "path": "packages/kbn-content-management-utils/src/types.ts", + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", "deprecated": false, "trackAdoption": false - }, + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.ServicesDefinitionSet", + "type": "Interface", + "tags": [], + "label": "ServicesDefinitionSet", + "description": [], + "path": "packages/kbn-content-management-utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "@kbn/content-management-utils", - "id": "def-common.SavedObjectSearchOptions.pit", - "type": "Object", + "id": "def-common.ServicesDefinitionSet.Unnamed", + "type": "IndexSignature", "tags": [], - "label": "pit", - "description": [ - "\nSearch against a specific Point In Time (PIT) that you've opened with {@link SavedObjectsClient.openPointInTimeForType}." - ], + "label": "[version: number]: ServicesDefinition", + "description": [], "signature": [ + "[version: number]: ", { - "pluginId": "@kbn/core-saved-objects-api-server", + "pluginId": "@kbn/object-versioning", "scope": "common", - "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-common.SavedObjectsPitParams", - "text": "SavedObjectsPitParams" - }, - " | undefined" + "docId": "kibKbnObjectVersioningPluginApi", + "section": "def-common.ServicesDefinition", + "text": "ServicesDefinition" + } ], "path": "packages/kbn-content-management-utils/src/types.ts", "deprecated": false, @@ -1189,116 +2565,144 @@ }, { "parentPluginId": "@kbn/content-management-utils", - "id": "def-common.SavedObjectUpdateOptions", + "id": "def-common.SOContentStorageConstrutorParams", "type": "Interface", "tags": [], - "label": "SavedObjectUpdateOptions", - "description": [ - "Saved Object update options - Pick and Omit to customize" - ], + "label": "SOContentStorageConstrutorParams", + "description": [], "signature": [ { "pluginId": "@kbn/content-management-utils", "scope": "common", "docId": "kibKbnContentManagementUtilsPluginApi", - "section": "def-common.SavedObjectUpdateOptions", - "text": "SavedObjectUpdateOptions" + "section": "def-common.SOContentStorageConstrutorParams", + "text": "SOContentStorageConstrutorParams" }, - "" + "" ], - "path": "packages/kbn-content-management-utils/src/types.ts", + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "@kbn/content-management-utils", - "id": "def-common.SavedObjectUpdateOptions.references", - "type": "Array", + "id": "def-common.SOContentStorageConstrutorParams.savedObjectType", + "type": "string", "tags": [], - "label": "references", - "description": [ - "Array of referenced saved objects." - ], + "label": "savedObjectType", + "description": [], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SOContentStorageConstrutorParams.cmServicesDefinition", + "type": "Object", + "tags": [], + "label": "cmServicesDefinition", + "description": [], "signature": [ { "pluginId": "@kbn/content-management-utils", "scope": "common", "docId": "kibKbnContentManagementUtilsPluginApi", - "section": "def-common.Reference", - "text": "Reference" - }, - "[] | undefined" + "section": "def-common.ServicesDefinitionSet", + "text": "ServicesDefinitionSet" + } ], - "path": "packages/kbn-content-management-utils/src/types.ts", + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/content-management-utils", - "id": "def-common.SavedObjectUpdateOptions.version", - "type": "string", + "id": "def-common.SOContentStorageConstrutorParams.allowedSavedObjectAttributes", + "type": "Array", "tags": [], - "label": "version", + "label": "allowedSavedObjectAttributes", "description": [], "signature": [ - "string | undefined" + "string[]" ], - "path": "packages/kbn-content-management-utils/src/types.ts", + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/content-management-utils", - "id": "def-common.SavedObjectUpdateOptions.refresh", - "type": "CompoundType", + "id": "def-common.SOContentStorageConstrutorParams.createArgsToSoCreateOptions", + "type": "Function", "tags": [], - "label": "refresh", - "description": [ - "The Elasticsearch Refresh setting for this operation" - ], + "label": "createArgsToSoCreateOptions", + "description": [], "signature": [ { - "pluginId": "@kbn/core-saved-objects-api-server", + "pluginId": "@kbn/content-management-utils", "scope": "common", - "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-common.MutatingOperationRefreshSetting", - "text": "MutatingOperationRefreshSetting" + "docId": "kibKbnContentManagementUtilsPluginApi", + "section": "def-common.CreateArgsToSoCreateOptions", + "text": "CreateArgsToSoCreateOptions" }, - " | undefined" + " | undefined" ], - "path": "packages/kbn-content-management-utils/src/types.ts", + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/content-management-utils", - "id": "def-common.SavedObjectUpdateOptions.upsert", - "type": "Uncategorized", + "id": "def-common.SOContentStorageConstrutorParams.updateArgsToSoUpdateOptions", + "type": "Function", "tags": [], - "label": "upsert", - "description": [ - "If specified, will be used to perform an upsert if the object doesn't exist" - ], + "label": "updateArgsToSoUpdateOptions", + "description": [], "signature": [ - "Attributes | undefined" + { + "pluginId": "@kbn/content-management-utils", + "scope": "common", + "docId": "kibKbnContentManagementUtilsPluginApi", + "section": "def-common.UpdateArgsToSoUpdateOptions", + "text": "UpdateArgsToSoUpdateOptions" + }, + " | undefined" ], - "path": "packages/kbn-content-management-utils/src/types.ts", + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/content-management-utils", - "id": "def-common.SavedObjectUpdateOptions.retryOnConflict", - "type": "number", + "id": "def-common.SOContentStorageConstrutorParams.searchArgsToSOFindOptions", + "type": "Function", "tags": [], - "label": "retryOnConflict", - "description": [ - "\nThe Elasticsearch `retry_on_conflict` setting for this operation.\nDefaults to `0` when `version` is provided, `3` otherwise." + "label": "searchArgsToSOFindOptions", + "description": [], + "signature": [ + { + "pluginId": "@kbn/content-management-utils", + "scope": "common", + "docId": "kibKbnContentManagementUtilsPluginApi", + "section": "def-common.SearchArgsToSOFindOptions", + "text": "SearchArgsToSOFindOptions" + }, + " | undefined" ], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SOContentStorageConstrutorParams.enableMSearch", + "type": "CompoundType", + "tags": [], + "label": "enableMSearch", + "description": [], "signature": [ - "number | undefined" + "boolean | undefined" ], - "path": "packages/kbn-content-management-utils/src/types.ts", + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", "deprecated": false, "trackAdoption": false } @@ -1475,6 +2879,45 @@ ], "enums": [], "misc": [ + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.CreateArgsToSoCreateOptions", + "type": "Type", + "tags": [], + "label": "CreateArgsToSoCreateOptions", + "description": [], + "signature": [ + "(params: Types[\"CreateOptions\"]) => ", + { + "pluginId": "@kbn/core-saved-objects-api-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", + "section": "def-common.SavedObjectsCreateOptions", + "text": "SavedObjectsCreateOptions" + } + ], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.CreateArgsToSoCreateOptions.$1", + "type": "Uncategorized", + "tags": [], + "label": "params", + "description": [], + "signature": [ + "Types[\"CreateOptions\"]" + ], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/content-management-utils", "id": "def-common.GetResultSO", @@ -1491,6 +2934,116 @@ "deprecated": false, "trackAdoption": false, "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SearchArgsToSOFindOptions", + "type": "Type", + "tags": [], + "label": "SearchArgsToSOFindOptions", + "description": [], + "signature": [ + "(params: Types[\"SearchIn\"]) => ", + { + "pluginId": "@kbn/core-saved-objects-api-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", + "section": "def-common.SavedObjectsFindOptions", + "text": "SavedObjectsFindOptions" + } + ], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SearchArgsToSOFindOptions.$1", + "type": "Uncategorized", + "tags": [], + "label": "params", + "description": [], + "signature": [ + "Types[\"SearchIn\"]" + ], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.SOWithMetadataPartial", + "type": "Type", + "tags": [], + "label": "SOWithMetadataPartial", + "description": [], + "signature": [ + "Omit<", + { + "pluginId": "@kbn/content-management-utils", + "scope": "common", + "docId": "kibKbnContentManagementUtilsPluginApi", + "section": "def-common.SOWithMetadata", + "text": "SOWithMetadata" + }, + ", \"references\" | \"attributes\"> & { attributes: Partial; references: ", + { + "pluginId": "@kbn/content-management-utils", + "scope": "common", + "docId": "kibKbnContentManagementUtilsPluginApi", + "section": "def-common.Reference", + "text": "Reference" + }, + "[] | undefined; }" + ], + "path": "packages/kbn-content-management-utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.UpdateArgsToSoUpdateOptions", + "type": "Type", + "tags": [], + "label": "UpdateArgsToSoUpdateOptions", + "description": [], + "signature": [ + "(params: Types[\"UpdateOptions\"]) => ", + { + "pluginId": "@kbn/core-saved-objects-api-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", + "section": "def-common.SavedObjectsUpdateOptions", + "text": "SavedObjectsUpdateOptions" + }, + "" + ], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/content-management-utils", + "id": "def-common.UpdateArgsToSoUpdateOptions.$1", + "type": "Uncategorized", + "tags": [], + "label": "params", + "description": [], + "signature": [ + "Types[\"UpdateOptions\"]" + ], + "path": "packages/kbn-content-management-utils/src/saved_object_content_storage.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false } ], "objects": [ diff --git a/api_docs/kbn_content_management_utils.mdx b/api_docs/kbn_content_management_utils.mdx index 821c626f9118d..d56067d9ddcd5 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-utils'] --- import kbnContentManagementUtilsObj from './kbn_content_management_utils.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 106 | 1 | 57 | 0 | +| 180 | 1 | 115 | 0 | ## Common @@ -31,6 +31,9 @@ Contact [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/k ### Functions +### Classes + + ### Interfaces diff --git a/api_docs/kbn_core_analytics_browser.mdx b/api_docs/kbn_core_analytics_browser.mdx index d803e274fcfc0..8879e1cf5812d 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-05-16 +date: 2023-06-07 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 c9cf2752e7f8a..d866575d0a7da 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-05-16 +date: 2023-06-07 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 375b556e56d5b..565346758be84 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-05-16 +date: 2023-06-07 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 666e28ba9a85e..99194dda8322b 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-05-16 +date: 2023-06-07 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 5b373ab1bffc4..d363122a7ddf8 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-05-16 +date: 2023-06-07 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 82ac382ba4b0e..b8cc304a73b5e 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-05-16 +date: 2023-06-07 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 53f0a918309c3..af1a8607b38a4 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-05-16 +date: 2023-06-07 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 107c1e2d9f7cb..94314d9e2f87b 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-05-16 +date: 2023-06-07 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 94284557a0cfa..dca34e9f3c6af 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-05-16 +date: 2023-06-07 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 6751acf659e3f..7fa60e2387d08 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-05-16 +date: 2023-06-07 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 d5b8324a30e1c..4c4c4136c5285 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-05-16 +date: 2023-06-07 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 1f60a473221a7..a0ccd7ebffaa4 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-05-16 +date: 2023-06-07 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 26cf3e6ee4b87..86b6a3a38d0c5 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-05-16 +date: 2023-06-07 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 18e486520408b..831fc736c3b48 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-05-16 +date: 2023-06-07 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 fe8b39045e238..09abe42735d7c 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-05-16 +date: 2023-06-07 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 c21cbe6a338d8..7f5e8e8ac3701 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-05-16 +date: 2023-06-07 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 06ac046d9c20f..f591e9f0be236 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-05-16 +date: 2023-06-07 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 0360e83604006..cf45d24f8f8c2 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-05-16 +date: 2023-06-07 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 955f42bfe88e8..7e6ae00e9589f 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-05-16 +date: 2023-06-07 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 923d1079d28bb..4567f0489cbde 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-05-16 +date: 2023-06-07 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 709722c529b2c..d240d1a767a2e 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-05-16 +date: 2023-06-07 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.devdocs.json b/api_docs/kbn_core_chrome_browser.devdocs.json index 3ba43ea4c1758..b8ba56345d069 100644 --- a/api_docs/kbn_core_chrome_browser.devdocs.json +++ b/api_docs/kbn_core_chrome_browser.devdocs.json @@ -1338,13 +1338,28 @@ "deprecated": false, "trackAdoption": false, "children": [ + { + "parentPluginId": "@kbn/core-chrome-browser", + "id": "def-common.ChromeProjectNavigation.homeRef", + "type": "string", + "tags": [], + "label": "homeRef", + "description": [ + "\nThe URL href for the home link" + ], + "path": "packages/core/chrome/core-chrome-browser/src/project_navigation.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "@kbn/core-chrome-browser", "id": "def-common.ChromeProjectNavigation.navigationTree", "type": "Array", "tags": [], "label": "navigationTree", - "description": [], + "description": [ + "\nThe navigation tree representation of the side bar navigation." + ], "signature": [ { "pluginId": "@kbn/core-chrome-browser", @@ -1379,9 +1394,8 @@ "type": "string", "tags": [], "label": "id", - "description": [], - "signature": [ - "string | undefined" + "description": [ + "Optional id, if not passed a \"link\" must be provided." ], "path": "packages/core/chrome/core-chrome-browser/src/project_navigation.ts", "deprecated": false, @@ -1389,13 +1403,12 @@ }, { "parentPluginId": "@kbn/core-chrome-browser", - "id": "def-common.ChromeProjectNavigationNode.link", + "id": "def-common.ChromeProjectNavigationNode.title", "type": "string", "tags": [], - "label": "link", - "description": [], - "signature": [ - "string | undefined" + "label": "title", + "description": [ + "Optional title. If not provided and a \"link\" is provided the title will be the Deep link title" ], "path": "packages/core/chrome/core-chrome-browser/src/project_navigation.ts", "deprecated": false, @@ -1403,20 +1416,38 @@ }, { "parentPluginId": "@kbn/core-chrome-browser", - "id": "def-common.ChromeProjectNavigationNode.children", + "id": "def-common.ChromeProjectNavigationNode.path", "type": "Array", "tags": [], - "label": "children", - "description": [], + "label": "path", + "description": [ + "Path in the tree of the node" + ], + "signature": [ + "string[]" + ], + "path": "packages/core/chrome/core-chrome-browser/src/project_navigation.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-chrome-browser", + "id": "def-common.ChromeProjectNavigationNode.deepLink", + "type": "Object", + "tags": [], + "label": "deepLink", + "description": [ + "App id or deeplink id" + ], "signature": [ { "pluginId": "@kbn/core-chrome-browser", "scope": "common", "docId": "kibKbnCoreChromeBrowserPluginApi", - "section": "def-common.ChromeProjectNavigationNode", - "text": "ChromeProjectNavigationNode" + "section": "def-common.ChromeNavLink", + "text": "ChromeNavLink" }, - "[] | undefined" + " | undefined" ], "path": "packages/core/chrome/core-chrome-browser/src/project_navigation.ts", "deprecated": false, @@ -1424,11 +1455,13 @@ }, { "parentPluginId": "@kbn/core-chrome-browser", - "id": "def-common.ChromeProjectNavigationNode.title", + "id": "def-common.ChromeProjectNavigationNode.icon", "type": "string", "tags": [], - "label": "title", - "description": [], + "label": "icon", + "description": [ + "Optional icon for the navigation node. Note: not all navigation depth will render the icon" + ], "signature": [ "string | undefined" ], @@ -1438,11 +1471,36 @@ }, { "parentPluginId": "@kbn/core-chrome-browser", - "id": "def-common.ChromeProjectNavigationNode.icon", + "id": "def-common.ChromeProjectNavigationNode.children", + "type": "Array", + "tags": [], + "label": "children", + "description": [ + "Optional children of the navigation node" + ], + "signature": [ + { + "pluginId": "@kbn/core-chrome-browser", + "scope": "common", + "docId": "kibKbnCoreChromeBrowserPluginApi", + "section": "def-common.ChromeProjectNavigationNode", + "text": "ChromeProjectNavigationNode" + }, + "[] | undefined" + ], + "path": "packages/core/chrome/core-chrome-browser/src/project_navigation.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-chrome-browser", + "id": "def-common.ChromeProjectNavigationNode.href", "type": "string", "tags": [], - "label": "icon", - "description": [], + "label": "href", + "description": [ + "\nTemporarilly we allow href to be passed.\nOnce all the deeplinks will be exposed in packages we will not allow href anymore\nand force deeplink id to be passed" + ], "signature": [ "string | undefined" ], @@ -1640,6 +1698,31 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/core-chrome-browser", + "id": "def-common.ChromeSetProjectBreadcrumbsParams", + "type": "Interface", + "tags": [], + "label": "ChromeSetProjectBreadcrumbsParams", + "description": [], + "path": "packages/core/chrome/core-chrome-browser/src/project_navigation.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/core-chrome-browser", + "id": "def-common.ChromeSetProjectBreadcrumbsParams.absolute", + "type": "boolean", + "tags": [], + "label": "absolute", + "description": [], + "path": "packages/core/chrome/core-chrome-browser/src/project_navigation.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/core-chrome-browser", "id": "def-common.ChromeStart", @@ -2592,6 +2675,23 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "@kbn/core-chrome-browser", + "id": "def-common.ChromeProjectBreadcrumb", + "type": "Type", + "tags": [], + "label": "ChromeProjectBreadcrumb", + "description": [], + "signature": [ + "Omit, \"color\" | \"aria-current\"> & ", + "CommonProps", + " & { href?: string | undefined; rel?: string | undefined; onClick?: React.MouseEventHandler | undefined; text: React.ReactNode; truncate?: boolean | undefined; color?: \"text\" | \"warning\" | \"success\" | \"subdued\" | \"primary\" | \"accent\" | \"danger\" | \"ghost\" | undefined; 'aria-current'?: boolean | \"page\" | \"date\" | \"time\" | \"true\" | \"false\" | \"step\" | \"location\" | undefined; }" + ], + "path": "packages/core/chrome/core-chrome-browser/src/project_navigation.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/core-chrome-browser", "id": "def-common.ChromeProjectNavigationLink", diff --git a/api_docs/kbn_core_chrome_browser.mdx b/api_docs/kbn_core_chrome_browser.mdx index 5ef595e8b5825..c50adb94bc560 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser'] --- import kbnCoreChromeBrowserObj from './kbn_core_chrome_browser.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 135 | 0 | 58 | 0 | +| 141 | 0 | 55 | 0 | ## Common diff --git a/api_docs/kbn_core_chrome_browser_mocks.mdx b/api_docs/kbn_core_chrome_browser_mocks.mdx index 3487c007b95a0..7edf425b0f583 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-05-16 +date: 2023-06-07 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 bfd672b25eef9..34a61b888c3b3 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-05-16 +date: 2023-06-07 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 fe904128a3be2..9775cf1d3ef03 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-05-16 +date: 2023-06-07 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 e17f1451f9607..7697f59f70c4e 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-05-16 +date: 2023-06-07 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 e35d737e68433..ede47bebb5e9a 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-05-16 +date: 2023-06-07 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 b80426269e78f..fda0d8f98e558 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-05-16 +date: 2023-06-07 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 ca8f0201ade80..123c35861e7b4 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-05-16 +date: 2023-06-07 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 ba3e924682934..d0011d38a0c07 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-05-16 +date: 2023-06-07 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 80487cdcfbbbc..b2c8e2b0102be 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-05-16 +date: 2023-06-07 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 ad529266563b4..0e583af4a23b7 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-05-16 +date: 2023-06-07 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 a6ed53f82151f..deab6f5a9975d 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-05-16 +date: 2023-06-07 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 9f68b3b5494eb..8b6db14b37bb3 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-05-16 +date: 2023-06-07 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 08a4a7a344eee..8834f86c59dd9 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-05-16 +date: 2023-06-07 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 eaa2f07a6eacf..cacb253eae16c 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-05-16 +date: 2023-06-07 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 efc96cf779b39..1241ddf953f68 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-05-16 +date: 2023-06-07 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 873ddb2039dea..e470f43d9f0b3 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-05-16 +date: 2023-06-07 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 b676c19a517a7..3fdc89ae16ba4 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-05-16 +date: 2023-06-07 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 31a6b294bf3ef..550f8f9d6783a 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-05-16 +date: 2023-06-07 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 aef2fe10ac742..bde38f600db62 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-05-16 +date: 2023-06-07 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 4a52c23cb4e7b..8be09232a4750 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-05-16 +date: 2023-06-07 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 c8b352a1c0135..26b579db27ce6 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-05-16 +date: 2023-06-07 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.devdocs.json b/api_docs/kbn_core_elasticsearch_client_server_mocks.devdocs.json index c7286dac2ddab..964ddd701f3a8 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_mocks.devdocs.json +++ b/api_docs/kbn_core_elasticsearch_client_server_mocks.devdocs.json @@ -397,7 +397,7 @@ "CountRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined]>; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", + " | undefined]>; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchApplication]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", "scope": "common", @@ -659,11 +659,11 @@ }, ", [params: ", + ">, [params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptions", " | undefined]>; fleet: ", { @@ -747,7 +747,23 @@ }, "<", "default", - ">; ilm: ", + ">; healthReport: ", + { + "pluginId": "@kbn/core-elasticsearch-client-server-mocks", + "scope": "common", + "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", + "section": "def-common.ClientApiMockInstance", + "text": "ClientApiMockInstance" + }, + ", [params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined]>; ilm: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", "scope": "common", @@ -1091,7 +1107,17 @@ "ScrollRequest", ", options?: ", "TransportRequestOptions", - " | undefined]>; searchMvt: ", + " | undefined]>; searchApplication: ", + { + "pluginId": "@kbn/core-elasticsearch-client-server-mocks", + "scope": "common", + "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", + "section": "def-common.DeeplyMockedApi", + "text": "DeeplyMockedApi" + }, + "<", + "default", + ">; searchMvt: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", "scope": "common", @@ -1504,7 +1530,7 @@ "CountRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined]>; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", + " | undefined]>; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchApplication]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", "scope": "common", @@ -1766,11 +1792,11 @@ }, ", [params: ", + ">, [params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptions", " | undefined]>; fleet: ", { @@ -1854,7 +1880,23 @@ }, "<", "default", - ">; ilm: ", + ">; healthReport: ", + { + "pluginId": "@kbn/core-elasticsearch-client-server-mocks", + "scope": "common", + "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", + "section": "def-common.ClientApiMockInstance", + "text": "ClientApiMockInstance" + }, + ", [params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined]>; ilm: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", "scope": "common", @@ -2198,7 +2240,17 @@ "ScrollRequest", ", options?: ", "TransportRequestOptions", - " | undefined]>; searchMvt: ", + " | undefined]>; searchApplication: ", + { + "pluginId": "@kbn/core-elasticsearch-client-server-mocks", + "scope": "common", + "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", + "section": "def-common.DeeplyMockedApi", + "text": "DeeplyMockedApi" + }, + "<", + "default", + ">; searchMvt: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", "scope": "common", @@ -2565,7 +2617,7 @@ "CountRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined]>; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", + " | undefined]>; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchApplication]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", "scope": "common", @@ -2827,11 +2879,11 @@ }, ", [params: ", + ">, [params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptions", " | undefined]>; fleet: ", { @@ -2915,7 +2967,23 @@ }, "<", "default", - ">; ilm: ", + ">; healthReport: ", + { + "pluginId": "@kbn/core-elasticsearch-client-server-mocks", + "scope": "common", + "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", + "section": "def-common.ClientApiMockInstance", + "text": "ClientApiMockInstance" + }, + ", [params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined]>; ilm: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", "scope": "common", @@ -3259,7 +3327,17 @@ "ScrollRequest", ", options?: ", "TransportRequestOptions", - " | undefined]>; searchMvt: ", + " | undefined]>; searchApplication: ", + { + "pluginId": "@kbn/core-elasticsearch-client-server-mocks", + "scope": "common", + "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", + "section": "def-common.DeeplyMockedApi", + "text": "DeeplyMockedApi" + }, + "<", + "default", + ">; searchMvt: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", "scope": "common", @@ -3717,7 +3795,7 @@ "CountRequest", " | undefined, options?: ", "TransportRequestOptions", - " | undefined]>; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", + " | undefined]>; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchApplication]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", "scope": "common", @@ -3979,11 +4057,11 @@ }, ", [params: ", + ">, [params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptions", " | undefined]>; fleet: ", { @@ -4067,7 +4145,23 @@ }, "<", "default", - ">; ilm: ", + ">; healthReport: ", + { + "pluginId": "@kbn/core-elasticsearch-client-server-mocks", + "scope": "common", + "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", + "section": "def-common.ClientApiMockInstance", + "text": "ClientApiMockInstance" + }, + ", [params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined]>; ilm: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", "scope": "common", @@ -4411,7 +4505,17 @@ "ScrollRequest", ", options?: ", "TransportRequestOptions", - " | undefined]>; searchMvt: ", + " | undefined]>; searchApplication: ", + { + "pluginId": "@kbn/core-elasticsearch-client-server-mocks", + "scope": "common", + "docId": "kibKbnCoreElasticsearchClientServerMocksPluginApi", + "section": "def-common.DeeplyMockedApi", + "text": "DeeplyMockedApi" + }, + "<", + "default", + ">; searchMvt: ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", "scope": "common", diff --git a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx index 8bceb83e1d325..925d82732ada6 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-05-16 +date: 2023-06-07 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.devdocs.json b/api_docs/kbn_core_elasticsearch_server.devdocs.json index 5b1a0a2f2958d..b333860a8c463 100644 --- a/api_docs/kbn_core_elasticsearch_server.devdocs.json +++ b/api_docs/kbn_core_elasticsearch_server.devdocs.json @@ -1174,7 +1174,7 @@ "TransportRequestOptions", " | undefined): Promise<", "CountResponse", - ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", + ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchApplication]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", "default", "; child: (opts: ", "ClientOptions", @@ -1420,29 +1420,29 @@ "ExplainResponse", ">; }; features: ", "default", - "; fieldCaps: { (this: That, params: ", + "; fieldCaps: { (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithOutMeta", " | undefined): Promise<", "FieldCapsResponse", - ">; (this: That, params: ", + ">; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithMeta", " | undefined): Promise<", "TransportResult", "<", "FieldCapsResponse", - ", unknown>>; (this: That, params: ", + ", unknown>>; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptions", " | undefined): Promise<", "FieldCapsResponse", @@ -1548,7 +1548,33 @@ "TransportRequestOptions", " | undefined): Promise; }; graph: ", "default", - "; ilm: ", + "; healthReport: { (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "HealthReportResponse", + ">; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "HealthReportResponse", + ", unknown>>; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "HealthReportResponse", + ">; }; ilm: ", "default", "; index: { (this: That, params: ", "IndexRequest", @@ -1994,7 +2020,9 @@ "TransportRequestOptions", " | undefined): Promise<", "ScrollResponse", - ">; }; searchMvt: { (this: That, params: ", + ">; }; searchApplication: ", + "default", + "; searchMvt: { (this: That, params: ", "SearchMvtRequest", " | ", "SearchMvtRequest", @@ -2840,7 +2868,7 @@ "TransportRequestOptions", " | undefined): Promise<", "CountResponse", - ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", + ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchApplication]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", "default", "; child: (opts: ", "ClientOptions", @@ -3086,29 +3114,29 @@ "ExplainResponse", ">; }; features: ", "default", - "; fieldCaps: { (this: That, params: ", + "; fieldCaps: { (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithOutMeta", " | undefined): Promise<", "FieldCapsResponse", - ">; (this: That, params: ", + ">; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithMeta", " | undefined): Promise<", "TransportResult", "<", "FieldCapsResponse", - ", unknown>>; (this: That, params: ", + ", unknown>>; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptions", " | undefined): Promise<", "FieldCapsResponse", @@ -3214,7 +3242,33 @@ "TransportRequestOptions", " | undefined): Promise; }; graph: ", "default", - "; ilm: ", + "; healthReport: { (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "HealthReportResponse", + ">; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "HealthReportResponse", + ", unknown>>; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "HealthReportResponse", + ">; }; ilm: ", "default", "; index: { (this: That, params: ", "IndexRequest", @@ -3660,7 +3714,9 @@ "TransportRequestOptions", " | undefined): Promise<", "ScrollResponse", - ">; }; searchMvt: { (this: That, params: ", + ">; }; searchApplication: ", + "default", + "; searchMvt: { (this: That, params: ", "SearchMvtRequest", " | ", "SearchMvtRequest", @@ -4042,7 +4098,7 @@ "TransportRequestOptions", " | undefined): Promise<", "CountResponse", - ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", + ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchApplication]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", "default", "; child: (opts: ", "ClientOptions", @@ -4288,29 +4344,29 @@ "ExplainResponse", ">; }; features: ", "default", - "; fieldCaps: { (this: That, params: ", + "; fieldCaps: { (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithOutMeta", " | undefined): Promise<", "FieldCapsResponse", - ">; (this: That, params: ", + ">; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithMeta", " | undefined): Promise<", "TransportResult", "<", "FieldCapsResponse", - ", unknown>>; (this: That, params: ", + ", unknown>>; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptions", " | undefined): Promise<", "FieldCapsResponse", @@ -4416,7 +4472,33 @@ "TransportRequestOptions", " | undefined): Promise; }; graph: ", "default", - "; ilm: ", + "; healthReport: { (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "HealthReportResponse", + ">; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "HealthReportResponse", + ", unknown>>; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "HealthReportResponse", + ">; }; ilm: ", "default", "; index: { (this: That, params: ", "IndexRequest", @@ -4862,7 +4944,9 @@ "TransportRequestOptions", " | undefined): Promise<", "ScrollResponse", - ">; }; searchMvt: { (this: That, params: ", + ">; }; searchApplication: ", + "default", + "; searchMvt: { (this: That, params: ", "SearchMvtRequest", " | ", "SearchMvtRequest", @@ -5497,7 +5581,7 @@ "TransportRequestOptions", " | undefined): Promise<", "CountResponse", - ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", + ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchApplication]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", "default", "; child: (opts: ", "ClientOptions", @@ -5743,29 +5827,29 @@ "ExplainResponse", ">; }; features: ", "default", - "; fieldCaps: { (this: That, params: ", + "; fieldCaps: { (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithOutMeta", " | undefined): Promise<", "FieldCapsResponse", - ">; (this: That, params: ", + ">; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithMeta", " | undefined): Promise<", "TransportResult", "<", "FieldCapsResponse", - ", unknown>>; (this: That, params: ", + ", unknown>>; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptions", " | undefined): Promise<", "FieldCapsResponse", @@ -5871,7 +5955,33 @@ "TransportRequestOptions", " | undefined): Promise; }; graph: ", "default", - "; ilm: ", + "; healthReport: { (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "HealthReportResponse", + ">; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "HealthReportResponse", + ", unknown>>; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "HealthReportResponse", + ">; }; ilm: ", "default", "; index: { (this: That, params: ", "IndexRequest", @@ -6317,7 +6427,9 @@ "TransportRequestOptions", " | undefined): Promise<", "ScrollResponse", - ">; }; searchMvt: { (this: That, params: ", + ">; }; searchApplication: ", + "default", + "; searchMvt: { (this: That, params: ", "SearchMvtRequest", " | ", "SearchMvtRequest", diff --git a/api_docs/kbn_core_elasticsearch_server.mdx b/api_docs/kbn_core_elasticsearch_server.mdx index a90a4d9659458..3db619aeb793f 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-05-16 +date: 2023-06-07 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.devdocs.json b/api_docs/kbn_core_elasticsearch_server_internal.devdocs.json index 9a84545543ebc..244fff9377f31 100644 --- a/api_docs/kbn_core_elasticsearch_server_internal.devdocs.json +++ b/api_docs/kbn_core_elasticsearch_server_internal.devdocs.json @@ -228,7 +228,7 @@ "TransportRequestOptions", " | undefined): Promise<", "CountResponse", - ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", + ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchApplication]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", "default", "; child: (opts: ", "ClientOptions", @@ -474,29 +474,29 @@ "ExplainResponse", ">; }; features: ", "default", - "; fieldCaps: { (this: That, params: ", + "; fieldCaps: { (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithOutMeta", " | undefined): Promise<", "FieldCapsResponse", - ">; (this: That, params: ", + ">; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithMeta", " | undefined): Promise<", "TransportResult", "<", "FieldCapsResponse", - ", unknown>>; (this: That, params: ", + ", unknown>>; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptions", " | undefined): Promise<", "FieldCapsResponse", @@ -602,7 +602,33 @@ "TransportRequestOptions", " | undefined): Promise; }; graph: ", "default", - "; ilm: ", + "; healthReport: { (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "HealthReportResponse", + ">; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "HealthReportResponse", + ", unknown>>; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "HealthReportResponse", + ">; }; ilm: ", "default", "; index: { (this: That, params: ", "IndexRequest", @@ -1048,7 +1074,9 @@ "TransportRequestOptions", " | undefined): Promise<", "ScrollResponse", - ">; }; searchMvt: { (this: That, params: ", + ">; }; searchApplication: ", + "default", + "; searchMvt: { (this: That, params: ", "SearchMvtRequest", " | ", "SearchMvtRequest", @@ -1858,7 +1886,7 @@ "TransportRequestOptions", " | undefined): Promise<", "CountResponse", - ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", + ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchApplication]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", "default", "; child: (opts: ", "ClientOptions", @@ -2104,29 +2132,29 @@ "ExplainResponse", ">; }; features: ", "default", - "; fieldCaps: { (this: That, params: ", + "; fieldCaps: { (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithOutMeta", " | undefined): Promise<", "FieldCapsResponse", - ">; (this: That, params: ", + ">; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithMeta", " | undefined): Promise<", "TransportResult", "<", "FieldCapsResponse", - ", unknown>>; (this: That, params: ", + ", unknown>>; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptions", " | undefined): Promise<", "FieldCapsResponse", @@ -2232,7 +2260,33 @@ "TransportRequestOptions", " | undefined): Promise; }; graph: ", "default", - "; ilm: ", + "; healthReport: { (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "HealthReportResponse", + ">; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "HealthReportResponse", + ", unknown>>; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "HealthReportResponse", + ">; }; ilm: ", "default", "; index: { (this: That, params: ", "IndexRequest", @@ -2678,7 +2732,9 @@ "TransportRequestOptions", " | undefined): Promise<", "ScrollResponse", - ">; }; searchMvt: { (this: That, params: ", + ">; }; searchApplication: ", + "default", + "; searchMvt: { (this: That, params: ", "SearchMvtRequest", " | ", "SearchMvtRequest", diff --git a/api_docs/kbn_core_elasticsearch_server_internal.mdx b/api_docs/kbn_core_elasticsearch_server_internal.mdx index 8a1c9c5d6ec25..fc333f6d62ba3 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-05-16 +date: 2023-06-07 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 00557081ae341..f62634b54f58a 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-05-16 +date: 2023-06-07 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 c858e2c9560fe..64f8bb92de1b9 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-05-16 +date: 2023-06-07 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 f10eedfd90ef0..1d8ae321c552c 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-05-16 +date: 2023-06-07 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 88314bf7f5703..4a6d93228cd4a 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-05-16 +date: 2023-06-07 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 a8aad1cb53d3f..7e04cf5b5bb65 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-05-16 +date: 2023-06-07 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 f8e90f271b8c2..e0c93bc1c0c34 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-05-16 +date: 2023-06-07 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 f9a1b1beddabc..c5286c5a63546 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-05-16 +date: 2023-06-07 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 59f1708743673..0a7ad0bcce0f9 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-05-16 +date: 2023-06-07 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 4dda136e8cd9a..78979eb910b10 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-05-16 +date: 2023-06-07 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 58a297bc31f85..548a70090378b 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-05-16 +date: 2023-06-07 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 c74461455bce9..4016ab1ba021c 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-05-16 +date: 2023-06-07 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 d5312ea51964d..40ca746898040 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-05-16 +date: 2023-06-07 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 ade19d1171e40..83144cc3ef479 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-05-16 +date: 2023-06-07 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 b3dcabf4c970e..e8ddda67c9a71 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-05-16 +date: 2023-06-07 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 267a844c71bc7..b3768f2fddbfb 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-05-16 +date: 2023-06-07 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.devdocs.json b/api_docs/kbn_core_http_common.devdocs.json index 3c4bb8ea4453a..04efb33e966ff 100644 --- a/api_docs/kbn_core_http_common.devdocs.json +++ b/api_docs/kbn_core_http_common.devdocs.json @@ -105,6 +105,21 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "@kbn/core-http-common", + "id": "def-common.ELASTIC_HTTP_VERSION_HEADER", + "type": "string", + "tags": [], + "label": "ELASTIC_HTTP_VERSION_HEADER", + "description": [], + "signature": [ + "\"elastic-api-version\"" + ], + "path": "packages/core/http/core-http-common/src/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/core-http-common", "id": "def-common.X_ELASTIC_INTERNAL_ORIGIN_REQUEST", diff --git a/api_docs/kbn_core_http_common.mdx b/api_docs/kbn_core_http_common.mdx index fbcc40e455f32..980456f2615e1 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-common'] --- import kbnCoreHttpCommonObj from './kbn_core_http_common.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 6 | 0 | 1 | 0 | +| 7 | 0 | 2 | 0 | ## Common diff --git a/api_docs/kbn_core_http_context_server_mocks.mdx b/api_docs/kbn_core_http_context_server_mocks.mdx index 57cdf7072c8d0..655edf3fd3b4a 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-05-16 +date: 2023-06-07 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 9c8811cc5e288..1ff94696b9b48 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-05-16 +date: 2023-06-07 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 a66e5fd100f7d..187225f4f41d7 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-05-16 +date: 2023-06-07 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 609e0ff58d856..94d189b754968 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-05-16 +date: 2023-06-07 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 137ce57a963cf..73d128f0ea140 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-05-16 +date: 2023-06-07 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 c8829115c110f..53d05ae324317 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-05-16 +date: 2023-06-07 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 ea977bbaa2654..81dedc2ff6893 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-05-16 +date: 2023-06-07 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 c2cb299143bbe..aa7685d4c7d4a 100644 --- a/api_docs/kbn_core_http_server.devdocs.json +++ b/api_docs/kbn_core_http_server.devdocs.json @@ -2689,6 +2689,49 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.IHttpEluMonitorConfig", + "type": "Interface", + "tags": [], + "label": "IHttpEluMonitorConfig", + "description": [ + "\nHTTP request ELU monitor config" + ], + "path": "packages/core/http/core-http-server/src/elu_monitor.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.IHttpEluMonitorConfig.enabled", + "type": "boolean", + "tags": [], + "label": "enabled", + "description": [ + "\nWhether the monitoring of event loop utilization for HTTP requests is enabled." + ], + "path": "packages/core/http/core-http-server/src/elu_monitor.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.IHttpEluMonitorConfig.logging", + "type": "Object", + "tags": [], + "label": "logging", + "description": [], + "signature": [ + "{ readonly enabled: boolean; readonly threshold: { readonly elu: number; readonly ela: number; }; }" + ], + "path": "packages/core/http/core-http-server/src/elu_monitor.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/core-http-server", "id": "def-common.IKibanaResponse", @@ -3071,7 +3114,9 @@ "parentPluginId": "@kbn/core-http-server", "id": "def-common.IRouter.get", "type": "Function", - "tags": [], + "tags": [ + "track-adoption" + ], "label": "get", "description": [ "\nRegister a route handler for `GET` request." @@ -3105,509 +3150,6759 @@ ], "path": "packages/core/http/core-http-server/src/router/router.ts", "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ + "trackAdoption": true, + "references": [ { - "parentPluginId": "@kbn/core-http-server", - "id": "def-common.IRouter.get.$1", - "type": "Object", - "tags": [], - "label": "route", - "description": [ - "{@link RouteConfig } - a route configuration." - ], - "signature": [ - { - "pluginId": "@kbn/core-http-server", - "scope": "common", - "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.RouteConfig", - "text": "RouteConfig" - }, - "" - ], - "path": "packages/core/http/core-http-server/src/router/router.ts", - "deprecated": false, - "trackAdoption": false + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/router.ts" }, { - "parentPluginId": "@kbn/core-http-server", - "id": "def-common.IRouter.get.$2", - "type": "Function", - "tags": [], - "label": "handler", - "description": [ - "{@link RequestHandler } - a function to call to respond to an incoming request" - ], - "signature": [ - "(context: Context, request: ", - { - "pluginId": "@kbn/core-http-server", - "scope": "common", - "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.KibanaRequest", - "text": "KibanaRequest" - }, - ", response: ", - { - "pluginId": "@kbn/core-http-server", - "scope": "common", - "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.KibanaResponseFactory", - "text": "KibanaResponseFactory" - }, - ") => ", - { - "pluginId": "@kbn/core-http-server", - "scope": "common", - "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.IKibanaResponse", - "text": "IKibanaResponse" - }, - " | Promise<", - { - "pluginId": "@kbn/core-http-server", - "scope": "common", - "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.IKibanaResponse", - "text": "IKibanaResponse" - }, - ">" - ], - "path": "packages/core/http/core-http-server/src/router/router.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "@kbn/core-http-server", - "id": "def-common.IRouter.get.$2.$1", - "type": "Uncategorized", - "tags": [], - "label": "context", - "description": [], - "signature": [ - "Context" - ], - "path": "packages/core/http/core-http-server/src/router/request_handler.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/core-http-server", - "id": "def-common.IRouter.get.$2.$2", - "type": "Object", - "tags": [], - "label": "request", - "description": [], - "signature": [ - { - "pluginId": "@kbn/core-http-server", - "scope": "common", - "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.KibanaRequest", - "text": "KibanaRequest" - }, - "" - ], - "path": "packages/core/http/core-http-server/src/router/request_handler.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/core-http-server", - "id": "def-common.IRouter.get.$2.$3", - "type": "Uncategorized", - "tags": [], - "label": "response", - "description": [], - "signature": [ - "ResponseFactory" - ], - "path": "packages/core/http/core-http-server/src/router/request_handler.ts", - "deprecated": false, - "trackAdoption": false - } - ] - } - ] - }, - { - "parentPluginId": "@kbn/core-http-server", - "id": "def-common.IRouter.post", - "type": "Function", - "tags": [], - "label": "post", - "description": [ - "\nRegister a route handler for `POST` request." - ], - "signature": [ - "(route: ", + "plugin": "@kbn/core-saved-objects-server-internal", + "path": "packages/core/saved-objects/core-saved-objects-server-internal/src/routes/get.ts" + }, { - "pluginId": "@kbn/core-http-server", - "scope": "common", - "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.RouteConfig", - "text": "RouteConfig" + "plugin": "@kbn/core-saved-objects-server-internal", + "path": "packages/core/saved-objects/core-saved-objects-server-internal/src/routes/resolve.ts" }, - ", handler: ", { - "pluginId": "@kbn/core-http-server", - "scope": "common", - "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.RequestHandler", - "text": "RequestHandler" + "plugin": "@kbn/core-saved-objects-server-internal", + "path": "packages/core/saved-objects/core-saved-objects-server-internal/src/routes/find.ts" }, - ") => void" - ], - "path": "packages/core/http/core-http-server/src/router/router.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ { - "parentPluginId": "@kbn/core-http-server", - "id": "def-common.IRouter.post.$1", - "type": "Object", - "tags": [], - "label": "route", - "description": [ - "{@link RouteConfig } - a route configuration." - ], - "signature": [ - { - "pluginId": "@kbn/core-http-server", - "scope": "common", - "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.RouteConfig", - "text": "RouteConfig" - }, - "" - ], - "path": "packages/core/http/core-http-server/src/router/router.ts", - "deprecated": false, - "trackAdoption": false + "plugin": "@kbn/core-ui-settings-server-internal", + "path": "packages/core/ui-settings/core-ui-settings-server-internal/src/routes/get.ts" }, { - "parentPluginId": "@kbn/core-http-server", - "id": "def-common.IRouter.post.$2", - "type": "Function", - "tags": [], - "label": "handler", - "description": [ - "{@link RequestHandler } - a function to call to respond to an incoming request" - ], - "signature": [ - "(context: Context, request: ", - { - "pluginId": "@kbn/core-http-server", - "scope": "common", - "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.KibanaRequest", - "text": "KibanaRequest" - }, - ", response: ", - { - "pluginId": "@kbn/core-http-server", - "scope": "common", - "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.KibanaResponseFactory", - "text": "KibanaResponseFactory" - }, - ") => ", - { - "pluginId": "@kbn/core-http-server", - "scope": "common", - "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.IKibanaResponse", - "text": "IKibanaResponse" - }, - " | Promise<", - { - "pluginId": "@kbn/core-http-server", - "scope": "common", - "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.IKibanaResponse", - "text": "IKibanaResponse" - }, - ">" - ], - "path": "packages/core/http/core-http-server/src/router/router.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "@kbn/core-http-server", - "id": "def-common.IRouter.post.$2.$1", - "type": "Uncategorized", - "tags": [], - "label": "context", - "description": [], - "signature": [ - "Context" - ], - "path": "packages/core/http/core-http-server/src/router/request_handler.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/core-http-server", - "id": "def-common.IRouter.post.$2.$2", - "type": "Object", - "tags": [], - "label": "request", - "description": [], - "signature": [ - { - "pluginId": "@kbn/core-http-server", - "scope": "common", - "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.KibanaRequest", - "text": "KibanaRequest" - }, - "" - ], - "path": "packages/core/http/core-http-server/src/router/request_handler.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/core-http-server", - "id": "def-common.IRouter.post.$2.$3", - "type": "Uncategorized", - "tags": [], - "label": "response", - "description": [], - "signature": [ - "ResponseFactory" - ], - "path": "packages/core/http/core-http-server/src/router/request_handler.ts", - "deprecated": false, - "trackAdoption": false - } - ] - } - ] - }, - { - "parentPluginId": "@kbn/core-http-server", - "id": "def-common.IRouter.put", - "type": "Function", - "tags": [], - "label": "put", - "description": [ - "\nRegister a route handler for `PUT` request." - ], - "signature": [ - "(route: ", + "plugin": "@kbn/core-ui-settings-server-internal", + "path": "packages/core/ui-settings/core-ui-settings-server-internal/src/routes/get.ts" + }, { - "pluginId": "@kbn/core-http-server", - "scope": "common", - "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.RouteConfig", - "text": "RouteConfig" + "plugin": "@kbn/core-status-server-internal", + "path": "packages/core/status/core-status-server-internal/src/routes/status.ts" }, - ", handler: ", { - "pluginId": "@kbn/core-http-server", - "scope": "common", - "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.RequestHandler", - "text": "RequestHandler" + "plugin": "@kbn/core-rendering-server-internal", + "path": "packages/core/rendering/core-rendering-server-internal/src/bootstrap/register_bootstrap_route.ts" }, - ") => void" - ], - "path": "packages/core/http/core-http-server/src/router/router.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ { - "parentPluginId": "@kbn/core-http-server", - "id": "def-common.IRouter.put.$1", - "type": "Object", - "tags": [], - "label": "route", - "description": [ - "{@link RouteConfig } - a route configuration." - ], - "signature": [ - { - "pluginId": "@kbn/core-http-server", - "scope": "common", - "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.RouteConfig", - "text": "RouteConfig" - }, - "" - ], - "path": "packages/core/http/core-http-server/src/router/router.ts", - "deprecated": false, - "trackAdoption": false + "plugin": "@kbn/core-http-resources-server-internal", + "path": "packages/core/http/core-http-resources-server-internal/src/http_resources_service.ts" }, { - "parentPluginId": "@kbn/core-http-server", - "id": "def-common.IRouter.put.$2", - "type": "Function", - "tags": [], - "label": "handler", - "description": [ - "{@link RequestHandler } - a function to call to respond to an incoming request" - ], - "signature": [ - "(context: Context, request: ", - { - "pluginId": "@kbn/core-http-server", - "scope": "common", - "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.KibanaRequest", - "text": "KibanaRequest" - }, - ", response: ", - { - "pluginId": "@kbn/core-http-server", - "scope": "common", - "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.KibanaResponseFactory", - "text": "KibanaResponseFactory" - }, - ") => ", - { - "pluginId": "@kbn/core-http-server", - "scope": "common", - "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.IKibanaResponse", - "text": "IKibanaResponse" - }, - " | Promise<", - { - "pluginId": "@kbn/core-http-server", - "scope": "common", - "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.IKibanaResponse", - "text": "IKibanaResponse" - }, - ">" - ], - "path": "packages/core/http/core-http-server/src/router/router.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "@kbn/core-http-server", - "id": "def-common.IRouter.put.$2.$1", - "type": "Uncategorized", - "tags": [], - "label": "context", - "description": [], - "signature": [ - "Context" - ], - "path": "packages/core/http/core-http-server/src/router/request_handler.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/core-http-server", - "id": "def-common.IRouter.put.$2.$2", - "type": "Object", - "tags": [], - "label": "request", - "description": [], - "signature": [ - { - "pluginId": "@kbn/core-http-server", - "scope": "common", - "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.KibanaRequest", - "text": "KibanaRequest" - }, - "" - ], - "path": "packages/core/http/core-http-server/src/router/request_handler.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/core-http-server", - "id": "def-common.IRouter.put.$2.$3", - "type": "Uncategorized", - "tags": [], - "label": "response", - "description": [], - "signature": [ - "ResponseFactory" - ], - "path": "packages/core/http/core-http-server/src/router/request_handler.ts", - "deprecated": false, - "trackAdoption": false - } - ] - } - ] - }, - { - "parentPluginId": "@kbn/core-http-server", - "id": "def-common.IRouter.patch", - "type": "Function", - "tags": [], - "label": "patch", - "description": [ - "\nRegister a route handler for `PATCH` request." - ], - "signature": [ - "(route: ", + "plugin": "@kbn/core-deprecations-server-internal", + "path": "packages/core/deprecations/core-deprecations-server-internal/src/routes/get.ts" + }, { - "pluginId": "@kbn/core-http-server", - "scope": "common", - "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.RouteConfig", - "text": "RouteConfig" + "plugin": "@kbn/core-i18n-server-internal", + "path": "packages/core/i18n/core-i18n-server-internal/src/routes/translations.ts" }, - ", handler: ", { - "pluginId": "@kbn/core-http-server", - "scope": "common", - "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.RequestHandler", - "text": "RequestHandler" + "plugin": "@kbn/core-apps-server-internal", + "path": "packages/core/apps/core-apps-server-internal/src/bundle_routes/bundles_route.ts" }, - ") => void" - ], - "path": "packages/core/http/core-http-server/src/router/router.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ { - "parentPluginId": "@kbn/core-http-server", + "plugin": "@kbn/core-apps-server-internal", + "path": "packages/core/apps/core-apps-server-internal/src/core_app.ts" + }, + { + "plugin": "usageCollection", + "path": "src/plugins/usage_collection/server/routes/stats/stats.ts" + }, + { + "plugin": "taskManager", + "path": "x-pack/plugins/task_manager/server/routes/health.ts" + }, + { + "plugin": "taskManager", + "path": "x-pack/plugins/task_manager/server/routes/background_task_utilization.ts" + }, + { + "plugin": "licensing", + "path": "x-pack/plugins/licensing/server/routes/info.ts" + }, + { + "plugin": "licensing", + "path": "x-pack/plugins/licensing/server/routes/feature_usage.ts" + }, + { + "plugin": "features", + "path": "x-pack/plugins/features/server/routes/index.ts" + }, + { + "plugin": "customIntegrations", + "path": "src/plugins/custom_integrations/server/routes/define_routes.ts" + }, + { + "plugin": "customIntegrations", + "path": "src/plugins/custom_integrations/server/routes/define_routes.ts" + }, + { + "plugin": "home", + "path": "src/plugins/home/server/services/tutorials/tutorials_registry.ts" + }, + { + "plugin": "home", + "path": "src/plugins/home/server/services/sample_data/routes/list.ts" + }, + { + "plugin": "spaces", + "path": "x-pack/plugins/spaces/server/routes/api/external/get.ts" + }, + { + "plugin": "spaces", + "path": "x-pack/plugins/spaces/server/routes/api/external/get_all.ts" + }, + { + "plugin": "spaces", + "path": "x-pack/plugins/spaces/server/routes/api/internal/get_active_space.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/anonymous_access/get_capabilities.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/anonymous_access/get_state.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/api_keys/enabled.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/api_keys/get.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/api_keys/privileges.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/authentication/common.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/authentication/common.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/authentication/oidc.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/authentication/oidc.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/authorization/privileges/get.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/authorization/privileges/get_builtin.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/authorization/roles/get.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/authorization/roles/get_all.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/authorization/spaces/share_saved_object_permissions.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/indices/get_fields.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/role_mapping/feature_check.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/role_mapping/get.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/security_checkup/get_state.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/session_management/info.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/user_profile/get_current.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/users/get.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/users/get_all.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/views/access_agreement.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/views/login.ts" + }, + { + "plugin": "monitoringCollection", + "path": "x-pack/plugins/monitoring_collection/server/routes/api/v1/dynamic_route/get_metrics_by_type.ts" + }, + { + "plugin": "monitoringCollection", + "path": "x-pack/plugins/monitoring_collection/server/routes/api/v1/prometheus/get_metrics.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/get.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/get_all.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/connector_types.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/get_all.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/get.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/list_action_types.ts" + }, + { + "plugin": "bfetch", + "path": "src/plugins/bfetch/server/plugin.ts" + }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/server/rest_api_routes/runtime_fields/get_runtime_field.ts" + }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/server/rest_api_routes/scripted_fields/get_scripted_field.ts" + }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/server/rest_api_routes/default_data_view.ts" + }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/server/rest_api_routes/get_data_view.ts" + }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/server/rest_api_routes/get_data_views.ts" + }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/server/rest_api_routes/has_user_data_view.ts" + }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/server/routes/fields_for.ts" + }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/server/routes/has_data_views.ts" + }, + { + "plugin": "data", + "path": "src/plugins/data/server/search/routes/session.ts" + }, + { + "plugin": "data", + "path": "src/plugins/data/server/search/routes/session.ts" + }, + { + "plugin": "data", + "path": "src/plugins/data/server/query/routes.ts" + }, + { + "plugin": "data", + "path": "src/plugins/data/server/query/routes.ts" + }, + { + "plugin": "data", + "path": "src/plugins/data/server/scripts/route.ts" + }, + { + "plugin": "share", + "path": "src/plugins/share/server/url_service/http/short_urls/register_get_route.ts" + }, + { + "plugin": "share", + "path": "src/plugins/share/server/url_service/http/short_urls/register_resolve_route.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/aggregate.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/find.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/get.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/get_alert_state.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/get_alert_instance_summary.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/list_alert_types.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/health.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_rule.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/aggregate_rules.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/find_rules.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_rule_alert_summary.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_rule_execution_log.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_global_execution_logs.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_global_execution_kpi.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_action_error_log.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_rule_execution_kpi.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_rule_state.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/health.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/resolve_rule.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/rule_types.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_flapping_settings.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_rule_tags.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/get_maintenance_window.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/find_maintenance_windows.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/active_maintenance_windows.ts" + }, + { + "plugin": "ruleRegistry", + "path": "x-pack/plugins/rule_registry/server/routes/get_alert_by_id.ts" + }, + { + "plugin": "ruleRegistry", + "path": "x-pack/plugins/rule_registry/server/routes/get_alert_index.ts" + }, + { + "plugin": "ruleRegistry", + "path": "x-pack/plugins/rule_registry/server/routes/get_feature_ids_by_registration_contexts.ts" + }, + { + "plugin": "ruleRegistry", + "path": "x-pack/plugins/rule_registry/server/routes/get_browser_fields_by_feature_id.ts" + }, + { + "plugin": "guidedOnboarding", + "path": "src/plugins/guided_onboarding/server/routes/guide_state_routes.ts" + }, + { + "plugin": "guidedOnboarding", + "path": "src/plugins/guided_onboarding/server/routes/plugin_state_routes.ts" + }, + { + "plugin": "guidedOnboarding", + "path": "src/plugins/guided_onboarding/server/routes/config_routes.ts" + }, + { + "plugin": "observability", + "path": "x-pack/plugins/observability/server/lib/annotations/register_annotation_apis.ts" + }, + { + "plugin": "telemetry", + "path": "src/plugins/telemetry/server/routes/telemetry_config.ts" + }, + { + "plugin": "telemetry", + "path": "src/plugins/telemetry/server/routes/telemetry_last_reported.ts" + }, + { + "plugin": "savedObjectsTagging", + "path": "x-pack/plugins/saved_objects_tagging/server/routes/tags/get_all_tags.ts" + }, + { + "plugin": "savedObjectsTagging", + "path": "x-pack/plugins/saved_objects_tagging/server/routes/tags/get_tag.ts" + }, + { + "plugin": "savedObjectsTagging", + "path": "x-pack/plugins/saved_objects_tagging/server/routes/assignments/find_assignable_objects.ts" + }, + { + "plugin": "savedObjectsTagging", + "path": "x-pack/plugins/saved_objects_tagging/server/routes/assignments/get_assignable_types.ts" + }, + { + "plugin": "savedObjectsTagging", + "path": "x-pack/plugins/saved_objects_tagging/server/routes/internal/find_tags.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/security/fleet_router.ts" + }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/server/routes/fields.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts" + }, + { + "plugin": "assetManager", + "path": "x-pack/plugins/asset_manager/server/routes/ping.ts" + }, + { + "plugin": "assetManager", + "path": "x-pack/plugins/asset_manager/server/routes/assets.ts" + }, + { + "plugin": "assetManager", + "path": "x-pack/plugins/asset_manager/server/routes/assets.ts" + }, + { + "plugin": "assetManager", + "path": "x-pack/plugins/asset_manager/server/routes/assets.ts" + }, + { + "plugin": "assetManager", + "path": "x-pack/plugins/asset_manager/server/routes/sample_assets.ts" + }, + { + "plugin": "banners", + "path": "x-pack/plugins/banners/server/routes/info.ts" + }, + { + "plugin": "reporting", + "path": "x-pack/plugins/reporting/server/routes/deprecations/deprecations.ts" + }, + { + "plugin": "reporting", + "path": "x-pack/plugins/reporting/server/routes/generate/generate_from_jobparams.ts" + }, + { + "plugin": "reporting", + "path": "x-pack/plugins/reporting/server/routes/management/jobs.ts" + }, + { + "plugin": "reporting", + "path": "x-pack/plugins/reporting/server/routes/management/jobs.ts" + }, + { + "plugin": "reporting", + "path": "x-pack/plugins/reporting/server/routes/management/jobs.ts" + }, + { + "plugin": "reporting", + "path": "x-pack/plugins/reporting/server/routes/management/jobs.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/custom_elements/find.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/custom_elements/get.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/es_fields/es_fields.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/shareables/download.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/workpad/find.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/workpad/get.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/workpad/resolve.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/templates/list.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/functions/functions.ts" + }, + { + "plugin": "cloudDefend", + "path": "x-pack/plugins/cloud_defend/server/routes/policies/policies.ts" + }, + { + "plugin": "cloudDefend", + "path": "x-pack/plugins/cloud_defend/server/routes/status/status.ts" + }, + { + "plugin": "cloudSecurityPosture", + "path": "x-pack/plugins/cloud_security_posture/server/routes/compliance_dashboard/compliance_dashboard.ts" + }, + { + "plugin": "cloudSecurityPosture", + "path": "x-pack/plugins/cloud_security_posture/server/routes/benchmarks/benchmarks.ts" + }, + { + "plugin": "cloudSecurityPosture", + "path": "x-pack/plugins/cloud_security_posture/server/routes/status/status.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/data_streams/register_get_route.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/data_streams/register_get_route.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/indices/register_list_route.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/templates/register_get_routes.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/templates/register_get_routes.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/mapping/register_mapping_route.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/settings/register_load_route.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/stats/register_stats_route.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/component_templates/register_get_route.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/component_templates/register_get_route.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/component_templates/register_privileges_route.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/component_templates/register_datastream_route.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/nodes/register_nodes_route.ts" + }, + { + "plugin": "remoteClusters", + "path": "x-pack/plugins/remote_clusters/server/routes/api/get_route.ts" + }, + { + "plugin": "crossClusterReplication", + "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/auto_follow_pattern/register_fetch_route.ts" + }, + { + "plugin": "crossClusterReplication", + "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/auto_follow_pattern/register_get_route.ts" + }, + { + "plugin": "crossClusterReplication", + "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/follower_index/register_fetch_route.ts" + }, + { + "plugin": "crossClusterReplication", + "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/follower_index/register_get_route.ts" + }, + { + "plugin": "crossClusterReplication", + "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/cross_cluster_replication/register_permissions_route.ts" + }, + { + "plugin": "crossClusterReplication", + "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/cross_cluster_replication/register_stats_route.ts" + }, + { + "plugin": "ecsDataQualityDashboard", + "path": "x-pack/plugins/ecs_data_quality_dashboard/server/routes/get_index_mappings.ts" + }, + { + "plugin": "ecsDataQualityDashboard", + "path": "x-pack/plugins/ecs_data_quality_dashboard/server/routes/get_index_stats.ts" + }, + { + "plugin": "ecsDataQualityDashboard", + "path": "x-pack/plugins/ecs_data_quality_dashboard/server/routes/get_ilm_explain.ts" + }, + { + "plugin": "globalSearch", + "path": "x-pack/plugins/global_search/server/routes/get_searchable_types.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/crawler/crawler_extraction_rules.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/adaptive_relevance.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/adaptive_relevance.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/analytics.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/analytics.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/api_logs.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/crawler.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/crawler.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/crawler.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/crawler.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/crawler.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/crawler.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/crawler.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/credentials.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/credentials.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/curations.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/curations.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/documents.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/engines.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/engines.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/engines.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/result_settings.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/role_mappings.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/schema.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/schema.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/search_settings.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/search_ui.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/settings.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/source_engines.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/synonyms.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/documents.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/engines.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/engines.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/engines.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/indices.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/indices.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/indices.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/indices.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/indices.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/indices.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/indices.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/indices.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/indices.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/indices.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/mapping.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/analytics.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/analytics.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/analytics.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/config_data.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/connectors.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/connectors.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/crawler/crawler.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/crawler/crawler.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/crawler/crawler.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/crawler/crawler.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/crawler/crawler.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/crawler/crawler.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/stats.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/stats.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/api_keys.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/groups.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/groups.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/groups.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/oauth.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/overview.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/role_mappings.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/security.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/security.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/settings.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/find_endpoint_list_item_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/find_exception_list_item_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/find_exception_list_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/find_list_item_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/find_list_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/find_lists_by_size_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/read_endpoint_list_item_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/read_exception_list_item_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/read_exception_list_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/read_list_index_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/read_list_item_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/read_list_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/read_privileges_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/summary_exception_list_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/api/get_rule_execution_events/route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/api/get_rule_execution_results/route.ts" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/routes/live_query/get_live_query_details_route.ts" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/routes/live_query/get_live_query_results_route.ts" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/routes/live_query/find_live_query_route.ts" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/routes/saved_query/find_saved_query_route.ts" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/routes/saved_query/read_saved_query_route.ts" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/routes/status/create_status_route.ts" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/routes/fleet_wrapper/get_agent_policies.ts" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/routes/fleet_wrapper/get_agent_policy.ts" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/routes/fleet_wrapper/get_agent_status_for_agent_policy.ts" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/routes/fleet_wrapper/get_package_policies.ts" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/routes/fleet_wrapper/get_agents.ts" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/routes/fleet_wrapper/get_agent_details.ts" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/routes/pack/find_pack_route.ts" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/routes/pack/read_pack_route.ts" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/routes/privileges_check/privileges_check_route.ts" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/routes/asset/get_assets_status_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/find_rules/route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/filters/route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/read_rule/route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/tags/read_tags/route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/prebuilt_rules/api/get_prebuilt_rules_and_timelines_status/get_prebuilt_rules_and_timelines_status_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/prebuilt_rules/api/get_prebuilt_rules_status/get_prebuilt_rules_status_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/fleet_integrations/api/get_installed_integrations/route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_exceptions/api/find_exception_references/route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/index/read_index_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/get_signals_migration_status_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/privileges/read_privileges_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/get_timeline/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/get_timelines/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/resolve_timeline/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/draft_timelines/get_draft_timelines/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/telemetry/telemetry_detection_rules_preview_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/index/read_alerts_index_exists_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/resolver.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_dev_tool_content/routes/read_prebuilt_dev_tool_content_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/index_status/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/tags/routes/get_tags_by_name.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/metadata/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/metadata/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/metadata/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/policy/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/policy/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/actions/file_info_handler.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/actions/file_download_handler.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/actions/details.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/actions/status.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/actions/state.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/actions/audit_log.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/actions/list.ts" + }, + { + "plugin": "indexLifecycleManagement", + "path": "x-pack/plugins/index_lifecycle_management/server/routes/api/nodes/register_list_route.ts" + }, + { + "plugin": "indexLifecycleManagement", + "path": "x-pack/plugins/index_lifecycle_management/server/routes/api/nodes/register_details_route.ts" + }, + { + "plugin": "indexLifecycleManagement", + "path": "x-pack/plugins/index_lifecycle_management/server/routes/api/policies/register_fetch_route.ts" + }, + { + "plugin": "indexLifecycleManagement", + "path": "x-pack/plugins/index_lifecycle_management/server/routes/api/templates/register_fetch_route.ts" + }, + { + "plugin": "indexLifecycleManagement", + "path": "x-pack/plugins/index_lifecycle_management/server/routes/api/snapshot_policies/register_fetch_route.ts" + }, + { + "plugin": "indexLifecycleManagement", + "path": "x-pack/plugins/index_lifecycle_management/server/routes/api/snapshot_repositories/register_fetch_route.ts" + }, + { + "plugin": "ingestPipelines", + "path": "x-pack/plugins/ingest_pipelines/server/routes/api/get.ts" + }, + { + "plugin": "ingestPipelines", + "path": "x-pack/plugins/ingest_pipelines/server/routes/api/get.ts" + }, + { + "plugin": "ingestPipelines", + "path": "x-pack/plugins/ingest_pipelines/server/routes/api/privileges.ts" + }, + { + "plugin": "ingestPipelines", + "path": "x-pack/plugins/ingest_pipelines/server/routes/api/documents.ts" + }, + { + "plugin": "kubernetesSecurity", + "path": "x-pack/plugins/kubernetes_security/server/routes/agent_id.ts" + }, + { + "plugin": "kubernetesSecurity", + "path": "x-pack/plugins/kubernetes_security/server/routes/aggregate.ts" + }, + { + "plugin": "kubernetesSecurity", + "path": "x-pack/plugins/kubernetes_security/server/routes/count.ts" + }, + { + "plugin": "kubernetesSecurity", + "path": "x-pack/plugins/kubernetes_security/server/routes/multi_terms_aggregate.ts" + }, + { + "plugin": "licenseManagement", + "path": "x-pack/plugins/license_management/server/routes/api/license/register_start_trial_routes.ts" + }, + { + "plugin": "logstash", + "path": "x-pack/plugins/logstash/server/routes/cluster/load.ts" + }, + { + "plugin": "logstash", + "path": "x-pack/plugins/logstash/server/routes/pipeline/load.ts" + }, + { + "plugin": "logstash", + "path": "x-pack/plugins/logstash/server/routes/pipelines/list.ts" + }, + { + "plugin": "monitoring", + "path": "x-pack/plugins/monitoring/server/plugin.ts" + }, + { + "plugin": "profiling", + "path": "x-pack/plugins/profiling/server/routes/flamechart.ts" + }, + { + "plugin": "profiling", + "path": "x-pack/plugins/profiling/server/routes/functions.ts" + }, + { + "plugin": "profiling", + "path": "x-pack/plugins/profiling/server/routes/setup.ts" + }, + { + "plugin": "profiling", + "path": "x-pack/plugins/profiling/server/routes/setup.ts" + }, + { + "plugin": "profiling", + "path": "x-pack/plugins/profiling/server/routes/topn.ts" + }, + { + "plugin": "reporting", + "path": "x-pack/plugins/reporting/server/test_helpers/create_mock_reportingplugin.ts" + }, + { + "plugin": "rollup", + "path": "x-pack/plugins/rollup/server/routes/api/indices/register_get_route.ts" + }, + { + "plugin": "rollup", + "path": "x-pack/plugins/rollup/server/routes/api/indices/register_validate_index_pattern_route.ts" + }, + { + "plugin": "rollup", + "path": "x-pack/plugins/rollup/server/routes/api/jobs/register_get_route.ts" + }, + { + "plugin": "serverlessSearch", + "path": "x-pack/plugins/serverless_search/server/routes/api_key_routes.ts" + }, + { + "plugin": "sessionView", + "path": "x-pack/plugins/session_view/server/routes/alerts_route.ts" + }, + { + "plugin": "sessionView", + "path": "x-pack/plugins/session_view/server/routes/io_events_route.ts" + }, + { + "plugin": "sessionView", + "path": "x-pack/plugins/session_view/server/routes/process_events_route.ts" + }, + { + "plugin": "sessionView", + "path": "x-pack/plugins/session_view/server/routes/alert_status_route.ts" + }, + { + "plugin": "sessionView", + "path": "x-pack/plugins/session_view/server/routes/get_total_io_bytes_route.ts" + }, + { + "plugin": "snapshotRestore", + "path": "x-pack/plugins/snapshot_restore/server/routes/api/app.ts" + }, + { + "plugin": "snapshotRestore", + "path": "x-pack/plugins/snapshot_restore/server/routes/api/repositories.ts" + }, + { + "plugin": "snapshotRestore", + "path": "x-pack/plugins/snapshot_restore/server/routes/api/repositories.ts" + }, + { + "plugin": "snapshotRestore", + "path": "x-pack/plugins/snapshot_restore/server/routes/api/repositories.ts" + }, + { + "plugin": "snapshotRestore", + "path": "x-pack/plugins/snapshot_restore/server/routes/api/repositories.ts" + }, + { + "plugin": "snapshotRestore", + "path": "x-pack/plugins/snapshot_restore/server/routes/api/snapshots.ts" + }, + { + "plugin": "snapshotRestore", + "path": "x-pack/plugins/snapshot_restore/server/routes/api/snapshots.ts" + }, + { + "plugin": "snapshotRestore", + "path": "x-pack/plugins/snapshot_restore/server/routes/api/restore.ts" + }, + { + "plugin": "snapshotRestore", + "path": "x-pack/plugins/snapshot_restore/server/routes/api/policy.ts" + }, + { + "plugin": "snapshotRestore", + "path": "x-pack/plugins/snapshot_restore/server/routes/api/policy.ts" + }, + { + "plugin": "snapshotRestore", + "path": "x-pack/plugins/snapshot_restore/server/routes/api/policy.ts" + }, + { + "plugin": "snapshotRestore", + "path": "x-pack/plugins/snapshot_restore/server/routes/api/policy.ts" + }, + { + "plugin": "snapshotRestore", + "path": "x-pack/plugins/snapshot_restore/server/routes/api/policy.ts" + }, + { + "plugin": "triggersActionsUi", + "path": "x-pack/plugins/triggers_actions_ui/server/routes/health.ts" + }, + { + "plugin": "triggersActionsUi", + "path": "x-pack/plugins/triggers_actions_ui/server/routes/config.ts" + }, + { + "plugin": "stackConnectors", + "path": "x-pack/plugins/stack_connectors/server/routes/get_well_known_email_service.ts" + }, + { + "plugin": "synthetics", + "path": "x-pack/plugins/synthetics/server/legacy_uptime/uptime_server.ts" + }, + { + "plugin": "synthetics", + "path": "x-pack/plugins/synthetics/server/server.ts" + }, + { + "plugin": "upgradeAssistant", + "path": "x-pack/plugins/upgrade_assistant/server/routes/reindex_indices/reindex_indices.ts" + }, + { + "plugin": "upgradeAssistant", + "path": "x-pack/plugins/upgrade_assistant/server/routes/reindex_indices/batch_reindex_indices.ts" + }, + { + "plugin": "upgradeAssistant", + "path": "x-pack/plugins/upgrade_assistant/server/routes/app.ts" + }, + { + "plugin": "upgradeAssistant", + "path": "x-pack/plugins/upgrade_assistant/server/routes/cloud_backup_status.ts" + }, + { + "plugin": "upgradeAssistant", + "path": "x-pack/plugins/upgrade_assistant/server/routes/cluster_upgrade_status.ts" + }, + { + "plugin": "upgradeAssistant", + "path": "x-pack/plugins/upgrade_assistant/server/routes/system_indices_migration.ts" + }, + { + "plugin": "upgradeAssistant", + "path": "x-pack/plugins/upgrade_assistant/server/routes/es_deprecations.ts" + }, + { + "plugin": "upgradeAssistant", + "path": "x-pack/plugins/upgrade_assistant/server/routes/deprecation_logging.ts" + }, + { + "plugin": "upgradeAssistant", + "path": "x-pack/plugins/upgrade_assistant/server/routes/deprecation_logging.ts" + }, + { + "plugin": "upgradeAssistant", + "path": "x-pack/plugins/upgrade_assistant/server/routes/ml_snapshots.ts" + }, + { + "plugin": "upgradeAssistant", + "path": "x-pack/plugins/upgrade_assistant/server/routes/ml_snapshots.ts" + }, + { + "plugin": "upgradeAssistant", + "path": "x-pack/plugins/upgrade_assistant/server/routes/status.ts" + }, + { + "plugin": "upgradeAssistant", + "path": "x-pack/plugins/upgrade_assistant/server/routes/remote_clusters.ts" + }, + { + "plugin": "upgradeAssistant", + "path": "x-pack/plugins/upgrade_assistant/server/routes/node_disk_space.ts" + }, + { + "plugin": "watcher", + "path": "x-pack/plugins/watcher/server/routes/api/settings/register_load_route.ts" + }, + { + "plugin": "watcher", + "path": "x-pack/plugins/watcher/server/routes/api/indices/register_get_index_patterns_route.ts" + }, + { + "plugin": "watcher", + "path": "x-pack/plugins/watcher/server/routes/api/license/register_refresh_route.ts" + }, + { + "plugin": "watcher", + "path": "x-pack/plugins/watcher/server/routes/api/watches/register_list_route.ts" + }, + { + "plugin": "watcher", + "path": "x-pack/plugins/watcher/server/routes/api/watch/register_load_route.ts" + }, + { + "plugin": "watcher", + "path": "x-pack/plugins/watcher/server/routes/api/watch/register_history_route.ts" + }, + { + "plugin": "watcher", + "path": "x-pack/plugins/watcher/server/routes/api/register_load_history_route.ts" + }, + { + "plugin": "cloudChat", + "path": "x-pack/plugins/cloud_integrations/cloud_chat/server/routes/chat.ts" + }, + { + "plugin": "customBranding", + "path": "x-pack/plugins/custom_branding/server/routes/info.ts" + }, + { + "plugin": "grokdebugger", + "path": "x-pack/plugins/grokdebugger/server/lib/kibana_framework.ts" + }, + { + "plugin": "spaces", + "path": "x-pack/plugins/spaces/server/lib/request_interceptors/on_post_auth_interceptor.test.ts" + }, + { + "plugin": "spaces", + "path": "x-pack/plugins/spaces/server/lib/request_interceptors/on_request_interceptor.test.ts" + }, + { + "plugin": "spaces", + "path": "x-pack/plugins/spaces/server/lib/request_interceptors/on_request_interceptor.test.ts" + }, + { + "plugin": "spaces", + "path": "x-pack/plugins/spaces/server/lib/request_interceptors/on_request_interceptor.test.ts" + }, + { + "plugin": "apm", + "path": "x-pack/plugins/apm/server/lib/helpers/create_es_client/create_apm_event_client/index.test.ts" + }, + { + "plugin": "console", + "path": "src/plugins/console/server/routes/api/console/es_config/index.ts" + }, + { + "plugin": "console", + "path": "src/plugins/console/server/routes/api/console/spec_definitions/index.ts" + }, + { + "plugin": "console", + "path": "src/plugins/console/server/routes/api/console/autocomplete_entities/index.ts" + }, + { + "plugin": "dataViewManagement", + "path": "src/plugins/data_view_management/server/routes/resolve_index.ts" + }, + { + "plugin": "ftrApis", + "path": "src/plugins/ftr_apis/server/routes/kbn_client_so/find.ts" + }, + { + "plugin": "ftrApis", + "path": "src/plugins/ftr_apis/server/routes/kbn_client_so/get.ts" + }, + { + "plugin": "interactiveSetup", + "path": "src/plugins/interactive_setup/server/routes/status.ts" + }, + { + "plugin": "savedObjectsFinder", + "path": "src/plugins/saved_objects_finder/server/routes/find.ts" + }, + { + "plugin": "savedObjectsManagement", + "path": "src/plugins/saved_objects_management/server/routes/find.ts" + }, + { + "plugin": "savedObjectsManagement", + "path": "src/plugins/saved_objects_management/server/routes/relationships.ts" + }, + { + "plugin": "savedObjectsManagement", + "path": "src/plugins/saved_objects_management/server/routes/get_allowed_types.ts" + }, + { + "plugin": "visTypeTimelion", + "path": "src/plugins/vis_types/timelion/server/routes/functions.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_route.test.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/router.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/router.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/router.test.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/router.test.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/router.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-router-server-mocks", + "path": "packages/core/http/core-http-router-server-mocks/src/router.mock.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/__mocks__/server.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/connector_types.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/connector_types.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/connector_types.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/connector_types.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/get.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/get.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/get.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/get_all.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/get_all.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/get_all.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/aggregate_rules.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/aggregate_rules.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/aggregate_rules.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/aggregate_rules.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/find_rules.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/find_rules.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/find_rules.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/find_rules.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/find_rules.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_action_error_log.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_action_error_log.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_flapping_settings.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_global_execution_kpi.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_global_execution_logs.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_rule_alert_summary.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_rule_alert_summary.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_rule_execution_kpi.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_rule_execution_kpi.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_rule_execution_log.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_rule_execution_log.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_rule_state.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_rule_state.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_rule_state.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_rule_tags.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_rule_tags.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/get_rule_tags.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/health.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/health.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/health.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/health.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/health.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/health.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/health.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/health.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/resolve_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/resolve_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/resolve_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/rule_types.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/rule_types.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/rule_types.test.ts" + }, + { + "plugin": "ecsDataQualityDashboard", + "path": "x-pack/plugins/ecs_data_quality_dashboard/server/__mocks__/server.ts" + }, + { + "plugin": "features", + "path": "x-pack/plugins/features/server/routes/index.test.ts" + }, + { + "plugin": "globalSearch", + "path": "x-pack/plugins/global_search/server/routes/index.test.ts" + }, + { + "plugin": "globalSearch", + "path": "x-pack/plugins/global_search/server/routes/index.test.ts" + }, + { + "plugin": "ruleRegistry", + "path": "x-pack/plugins/rule_registry/server/routes/__mocks__/server.ts" + }, + { + "plugin": "stackConnectors", + "path": "x-pack/plugins/stack_connectors/server/routes/get_well_known_email_service.test.ts" + }, + { + "plugin": "stackConnectors", + "path": "x-pack/plugins/stack_connectors/server/routes/get_well_known_email_service.test.ts" + }, + { + "plugin": "stackConnectors", + "path": "x-pack/plugins/stack_connectors/server/routes/get_well_known_email_service.test.ts" + }, + { + "plugin": "taskManager", + "path": "x-pack/plugins/task_manager/server/routes/background_task_utilization.test.ts" + }, + { + "plugin": "taskManager", + "path": "x-pack/plugins/task_manager/server/routes/background_task_utilization.test.ts" + }, + { + "plugin": "taskManager", + "path": "x-pack/plugins/task_manager/server/routes/background_task_utilization.test.ts" + }, + { + "plugin": "taskManager", + "path": "x-pack/plugins/task_manager/server/routes/background_task_utilization.test.ts" + }, + { + "plugin": "taskManager", + "path": "x-pack/plugins/task_manager/server/routes/background_task_utilization.test.ts" + }, + { + "plugin": "taskManager", + "path": "x-pack/plugins/task_manager/server/routes/background_task_utilization.test.ts" + }, + { + "plugin": "taskManager", + "path": "x-pack/plugins/task_manager/server/routes/background_task_utilization.test.ts" + }, + { + "plugin": "taskManager", + "path": "x-pack/plugins/task_manager/server/routes/background_task_utilization.test.ts" + }, + { + "plugin": "taskManager", + "path": "x-pack/plugins/task_manager/server/routes/health.test.ts" + }, + { + "plugin": "taskManager", + "path": "x-pack/plugins/task_manager/server/routes/health.test.ts" + }, + { + "plugin": "taskManager", + "path": "x-pack/plugins/task_manager/server/routes/health.test.ts" + }, + { + "plugin": "taskManager", + "path": "x-pack/plugins/task_manager/server/routes/health.test.ts" + }, + { + "plugin": "taskManager", + "path": "x-pack/plugins/task_manager/server/routes/health.test.ts" + }, + { + "plugin": "taskManager", + "path": "x-pack/plugins/task_manager/server/routes/health.test.ts" + }, + { + "plugin": "taskManager", + "path": "x-pack/plugins/task_manager/server/routes/health.test.ts" + }, + { + "plugin": "triggersActionsUi", + "path": "x-pack/plugins/triggers_actions_ui/server/routes/config.test.ts" + }, + { + "plugin": "triggersActionsUi", + "path": "x-pack/plugins/triggers_actions_ui/server/routes/config.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/get.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/get.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/get.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/get.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/get_all.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/get_all.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/get_all.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/get_all.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/list_action_types.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/list_action_types.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/list_action_types.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/list_action_types.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/aggregate.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/aggregate.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/aggregate.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/aggregate.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/aggregate.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/find.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/find.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/find.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/find.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/find.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/find.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/get.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/get.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/get.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/get.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/get_alert_instance_summary.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/get_alert_instance_summary.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/get_alert_instance_summary.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/get_alert_state.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/get_alert_state.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/get_alert_state.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/get_alert_state.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/health.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/health.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/health.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/health.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/health.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/health.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/health.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/health.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/list_alert_types.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/list_alert_types.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/list_alert_types.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/list_alert_types.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/active_maintenance_windows.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/active_maintenance_windows.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/active_maintenance_windows.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/active_maintenance_windows.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/find_maintenance_windows.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/find_maintenance_windows.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/find_maintenance_windows.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/find_maintenance_windows.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/get_maintenance_window.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/get_maintenance_window.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/get_maintenance_window.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/get_maintenance_window.test.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/custom_elements/find.test.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/custom_elements/get.test.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/es_fields/es_fields.test.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/functions/functions.test.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/shareables/download.test.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/templates/list.test.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/workpad/find.test.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/workpad/get.test.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/workpad/resolve.test.ts" + }, + { + "plugin": "cloudDefend", + "path": "x-pack/plugins/cloud_defend/server/routes/policies/policies.test.ts" + }, + { + "plugin": "cloudDefend", + "path": "x-pack/plugins/cloud_defend/server/routes/policies/policies.test.ts" + }, + { + "plugin": "cloudDefend", + "path": "x-pack/plugins/cloud_defend/server/routes/policies/policies.test.ts" + }, + { + "plugin": "cloudDefend", + "path": "x-pack/plugins/cloud_defend/server/routes/status/status.test.ts" + }, + { + "plugin": "cloudDefend", + "path": "x-pack/plugins/cloud_defend/server/routes/status/status.test.ts" + }, + { + "plugin": "cloudDefend", + "path": "x-pack/plugins/cloud_defend/server/routes/status/status.test.ts" + }, + { + "plugin": "cloudDefend", + "path": "x-pack/plugins/cloud_defend/server/routes/status/status.test.ts" + }, + { + "plugin": "cloudDefend", + "path": "x-pack/plugins/cloud_defend/server/routes/status/status.test.ts" + }, + { + "plugin": "cloudDefend", + "path": "x-pack/plugins/cloud_defend/server/routes/status/status.test.ts" + }, + { + "plugin": "cloudDefend", + "path": "x-pack/plugins/cloud_defend/server/routes/status/status.test.ts" + }, + { + "plugin": "cloudDefend", + "path": "x-pack/plugins/cloud_defend/server/routes/status/status.test.ts" + }, + { + "plugin": "cloudDefend", + "path": "x-pack/plugins/cloud_defend/server/routes/status/status.test.ts" + }, + { + "plugin": "cloudChat", + "path": "x-pack/plugins/cloud_integrations/cloud_chat/server/routes/chat.test.ts" + }, + { + "plugin": "cloudChat", + "path": "x-pack/plugins/cloud_integrations/cloud_chat/server/routes/chat.test.ts" + }, + { + "plugin": "cloudChat", + "path": "x-pack/plugins/cloud_integrations/cloud_chat/server/routes/chat.test.ts" + }, + { + "plugin": "cloudChat", + "path": "x-pack/plugins/cloud_integrations/cloud_chat/server/routes/chat.test.ts" + }, + { + "plugin": "cloudChat", + "path": "x-pack/plugins/cloud_integrations/cloud_chat/server/routes/chat.test.ts" + }, + { + "plugin": "cloudChat", + "path": "x-pack/plugins/cloud_integrations/cloud_chat/server/routes/chat.test.ts" + }, + { + "plugin": "cloudSecurityPosture", + "path": "x-pack/plugins/cloud_security_posture/server/routes/benchmarks/benchmarks.test.ts" + }, + { + "plugin": "cloudSecurityPosture", + "path": "x-pack/plugins/cloud_security_posture/server/routes/benchmarks/benchmarks.test.ts" + }, + { + "plugin": "cloudSecurityPosture", + "path": "x-pack/plugins/cloud_security_posture/server/routes/benchmarks/benchmarks.test.ts" + }, + { + "plugin": "cloudSecurityPosture", + "path": "x-pack/plugins/cloud_security_posture/server/routes/compliance_dashboard/compliance_dashboard.test.ts" + }, + { + "plugin": "cloudSecurityPosture", + "path": "x-pack/plugins/cloud_security_posture/server/routes/compliance_dashboard/compliance_dashboard.test.ts" + }, + { + "plugin": "remoteClusters", + "path": "x-pack/plugins/remote_clusters/server/routes/api/get_route.test.ts" + }, + { + "plugin": "crossClusterReplication", + "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/auto_follow_pattern/register_fetch_route.test.ts" + }, + { + "plugin": "crossClusterReplication", + "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/auto_follow_pattern/register_get_route.test.ts" + }, + { + "plugin": "crossClusterReplication", + "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/follower_index/register_fetch_route.test.ts" + }, + { + "plugin": "crossClusterReplication", + "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/follower_index/register_get_route.test.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/component_templates/register_privileges_route.test.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/component_templates/register_privileges_route.test.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/actions/audit_log.test.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/actions/list.test.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/actions/list_handler.test.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/actions/state.test.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/actions/status.test.ts" + }, + { + "plugin": "spaces", + "path": "x-pack/plugins/spaces/server/routes/api/external/get.test.ts" + }, + { + "plugin": "spaces", + "path": "x-pack/plugins/spaces/server/routes/api/external/get_all.test.ts" + }, + { + "plugin": "spaces", + "path": "x-pack/plugins/spaces/server/routes/api/external/get_all.test.ts" + }, + { + "plugin": "spaces", + "path": "x-pack/plugins/spaces/server/routes/api/internal/get_active_space.test.ts" + }, + { + "plugin": "monitoringCollection", + "path": "x-pack/plugins/monitoring_collection/server/routes/api/v1/dynamic_route/get_metrics_by_type.test.ts" + }, + { + "plugin": "monitoringCollection", + "path": "x-pack/plugins/monitoring_collection/server/routes/api/v1/dynamic_route/get_metrics_by_type.test.ts" + }, + { + "plugin": "monitoringCollection", + "path": "x-pack/plugins/monitoring_collection/server/routes/api/v1/prometheus/get_metrics.test.ts" + }, + { + "plugin": "savedObjectsManagement", + "path": "src/plugins/saved_objects_management/server/routes/index.test.ts" + }, + { + "plugin": "savedObjectsManagement", + "path": "src/plugins/saved_objects_management/server/routes/index.test.ts" + }, + { + "plugin": "savedObjectsManagement", + "path": "src/plugins/saved_objects_management/server/routes/index.test.ts" + }, + { + "plugin": "savedObjectsManagement", + "path": "src/plugins/saved_objects_management/server/routes/index.test.ts" + }, + { + "plugin": "@kbn/core-deprecations-server-internal", + "path": "packages/core/deprecations/core-deprecations-server-internal/src/deprecations_service.test.ts" + }, + { + "plugin": "@kbn/core-deprecations-server-internal", + "path": "packages/core/deprecations/core-deprecations-server-internal/src/deprecations_service.test.ts" + }, + { + "plugin": "@kbn/core-http-resources-server-internal", + "path": "packages/core/http/core-http-resources-server-internal/src/http_resources_service.test.ts" + }, + { + "plugin": "@kbn/core-http-resources-server-internal", + "path": "packages/core/http/core-http-resources-server-internal/src/http_resources_service.test.ts" + }, + { + "plugin": "@kbn/core-http-resources-server-internal", + "path": "packages/core/http/core-http-resources-server-internal/src/http_resources_service.test.ts" + }, + { + "plugin": "@kbn/core-http-resources-server-internal", + "path": "packages/core/http/core-http-resources-server-internal/src/http_resources_service.test.ts" + }, + { + "plugin": "@kbn/core-http-resources-server-internal", + "path": "packages/core/http/core-http-resources-server-internal/src/http_resources_service.test.ts" + }, + { + "plugin": "@kbn/core-http-resources-server-internal", + "path": "packages/core/http/core-http-resources-server-internal/src/http_resources_service.test.ts" + }, + { + "plugin": "@kbn/core-http-resources-server-internal", + "path": "packages/core/http/core-http-resources-server-internal/src/http_resources_service.test.ts" + }, + { + "plugin": "@kbn/core-http-resources-server-internal", + "path": "packages/core/http/core-http-resources-server-internal/src/http_resources_service.test.ts" + }, + { + "plugin": "@kbn/core-status-server-internal", + "path": "packages/core/status/core-status-server-internal/src/status_service.test.ts" + }, + { + "plugin": "@kbn/core-status-server-internal", + "path": "packages/core/status/core-status-server-internal/src/status_service.test.ts" + }, + { + "plugin": "@kbn/core-status-server-internal", + "path": "packages/core/status/core-status-server-internal/src/status_service.test.ts" + }, + { + "plugin": "@kbn/core-apps-server-internal", + "path": "packages/core/apps/core-apps-server-internal/src/bundle_routes/bundle_route.test.ts" + }, + { + "plugin": "@kbn/core-apps-server-internal", + "path": "packages/core/apps/core-apps-server-internal/src/bundle_routes/bundle_route.test.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/security/types.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/security/fleet_router.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent_policy/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent_policy/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent_policy/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent_policy/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent_policy/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent_policy/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/package_policy/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/package_policy/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/package_policy/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/data_streams/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/setup/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/enrollment_api_key/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/enrollment_api_key/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/enrollment_api_key/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/enrollment_api_key/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/output/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/output/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/settings/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/app/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/download_source/index.tsx" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/download_source/index.tsx" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/fleet_server_policy_config/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/fleet_server_policy_config/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/fleet_proxies/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/fleet_proxies/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/security/fleet_router.test.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/test/helpers/router_mock.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/security/fleet_router.test.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/security/fleet_router.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/anonymous_access/get_capabilities.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/anonymous_access/get_state.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/api_keys/enabled.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/api_keys/get.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/api_keys/privileges.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/authentication/index.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/indices/get_fields.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/role_mapping/feature_check.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/role_mapping/get.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/role_mapping/get.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/role_mapping/get.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/role_mapping/get.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/security_checkup/get_state.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/views/index.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/views/index.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/views/index.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/views/index.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/authorization/privileges/get.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/authorization/roles/get.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/authorization/roles/get_all.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/authentication/common.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/authentication/common.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/session_management/info.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/user_profile/get_current.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/views/access_agreement.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/views/login.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/authorization/spaces/share_saved_object_permissions.test.ts" + }, + { + "plugin": "snapshotRestore", + "path": "x-pack/plugins/snapshot_restore/server/test/helpers/router_mock.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/metadata/metadata.test.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/metadata/metadata.test.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/metadata/metadata.test.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/metadata/metadata.test.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/metadata/metadata.test.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/metadata/metadata.test.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/metadata/metadata.test.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/metadata/metadata.test.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/metadata/metadata.test.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/metadata/metadata.test.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/metadata/metadata.test.ts" + }, + { + "plugin": "interactiveSetup", + "path": "src/plugins/interactive_setup/server/routes/status.test.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/mocks.ts" + } + ], + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.IRouter.get.$1", + "type": "Object", + "tags": [], + "label": "route", + "description": [ + "{@link RouteConfig } - a route configuration." + ], + "signature": [ + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.RouteConfig", + "text": "RouteConfig" + }, + "" + ], + "path": "packages/core/http/core-http-server/src/router/router.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.IRouter.get.$2", + "type": "Function", + "tags": [], + "label": "handler", + "description": [ + "{@link RequestHandler } - a function to call to respond to an incoming request" + ], + "signature": [ + "(context: Context, request: ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.KibanaRequest", + "text": "KibanaRequest" + }, + ", response: ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.KibanaResponseFactory", + "text": "KibanaResponseFactory" + }, + ") => ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.IKibanaResponse", + "text": "IKibanaResponse" + }, + " | Promise<", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.IKibanaResponse", + "text": "IKibanaResponse" + }, + ">" + ], + "path": "packages/core/http/core-http-server/src/router/router.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.IRouter.get.$2.$1", + "type": "Uncategorized", + "tags": [], + "label": "context", + "description": [], + "signature": [ + "Context" + ], + "path": "packages/core/http/core-http-server/src/router/request_handler.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.IRouter.get.$2.$2", + "type": "Object", + "tags": [], + "label": "request", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.KibanaRequest", + "text": "KibanaRequest" + }, + "" + ], + "path": "packages/core/http/core-http-server/src/router/request_handler.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.IRouter.get.$2.$3", + "type": "Uncategorized", + "tags": [], + "label": "response", + "description": [], + "signature": [ + "ResponseFactory" + ], + "path": "packages/core/http/core-http-server/src/router/request_handler.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ] + }, + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.IRouter.post", + "type": "Function", + "tags": [ + "track-adoption" + ], + "label": "post", + "description": [ + "\nRegister a route handler for `POST` request." + ], + "signature": [ + "(route: ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.RouteConfig", + "text": "RouteConfig" + }, + ", handler: ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.RequestHandler", + "text": "RequestHandler" + }, + ") => void" + ], + "path": "packages/core/http/core-http-server/src/router/router.ts", + "deprecated": false, + "trackAdoption": true, + "references": [ + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/router.ts" + }, + { + "plugin": "@kbn/core-saved-objects-server-internal", + "path": "packages/core/saved-objects/core-saved-objects-server-internal/src/routes/create.ts" + }, + { + "plugin": "@kbn/core-saved-objects-server-internal", + "path": "packages/core/saved-objects/core-saved-objects-server-internal/src/routes/bulk_get.ts" + }, + { + "plugin": "@kbn/core-saved-objects-server-internal", + "path": "packages/core/saved-objects/core-saved-objects-server-internal/src/routes/bulk_create.ts" + }, + { + "plugin": "@kbn/core-saved-objects-server-internal", + "path": "packages/core/saved-objects/core-saved-objects-server-internal/src/routes/bulk_delete.ts" + }, + { + "plugin": "@kbn/core-saved-objects-server-internal", + "path": "packages/core/saved-objects/core-saved-objects-server-internal/src/routes/export.ts" + }, + { + "plugin": "@kbn/core-saved-objects-server-internal", + "path": "packages/core/saved-objects/core-saved-objects-server-internal/src/routes/import.ts" + }, + { + "plugin": "@kbn/core-saved-objects-server-internal", + "path": "packages/core/saved-objects/core-saved-objects-server-internal/src/routes/resolve_import_errors.ts" + }, + { + "plugin": "@kbn/core-saved-objects-server-internal", + "path": "packages/core/saved-objects/core-saved-objects-server-internal/src/routes/migrate.ts" + }, + { + "plugin": "@kbn/core-saved-objects-server-internal", + "path": "packages/core/saved-objects/core-saved-objects-server-internal/src/routes/legacy_import_export/import.ts" + }, + { + "plugin": "@kbn/core-saved-objects-server-internal", + "path": "packages/core/saved-objects/core-saved-objects-server-internal/src/routes/bulk_resolve.ts" + }, + { + "plugin": "@kbn/core-saved-objects-server-internal", + "path": "packages/core/saved-objects/core-saved-objects-server-internal/src/routes/deprecations/delete_unknown_types.ts" + }, + { + "plugin": "@kbn/core-ui-settings-server-internal", + "path": "packages/core/ui-settings/core-ui-settings-server-internal/src/routes/set_many.ts" + }, + { + "plugin": "@kbn/core-ui-settings-server-internal", + "path": "packages/core/ui-settings/core-ui-settings-server-internal/src/routes/set_many.ts" + }, + { + "plugin": "@kbn/core-ui-settings-server-internal", + "path": "packages/core/ui-settings/core-ui-settings-server-internal/src/routes/set.ts" + }, + { + "plugin": "@kbn/core-ui-settings-server-internal", + "path": "packages/core/ui-settings/core-ui-settings-server-internal/src/routes/set.ts" + }, + { + "plugin": "@kbn/core-capabilities-server-internal", + "path": "packages/core/capabilities/core-capabilities-server-internal/src/routes/resolve_capabilities.ts" + }, + { + "plugin": "usageCollection", + "path": "src/plugins/usage_collection/server/routes/ui_counters.ts" + }, + { + "plugin": "licensing", + "path": "x-pack/plugins/licensing/server/routes/internal/notify_feature_usage.ts" + }, + { + "plugin": "licensing", + "path": "x-pack/plugins/licensing/server/routes/internal/register_feature.ts" + }, + { + "plugin": "home", + "path": "src/plugins/home/server/services/sample_data/routes/install.ts" + }, + { + "plugin": "home", + "path": "src/plugins/home/server/routes/fetch_es_hits_status.ts" + }, + { + "plugin": "spaces", + "path": "x-pack/plugins/spaces/server/routes/api/external/copy_to_space.ts" + }, + { + "plugin": "spaces", + "path": "x-pack/plugins/spaces/server/routes/api/external/copy_to_space.ts" + }, + { + "plugin": "spaces", + "path": "x-pack/plugins/spaces/server/routes/api/external/disable_legacy_url_aliases.ts" + }, + { + "plugin": "spaces", + "path": "x-pack/plugins/spaces/server/routes/api/external/get_shareable_references.ts" + }, + { + "plugin": "spaces", + "path": "x-pack/plugins/spaces/server/routes/api/external/post.ts" + }, + { + "plugin": "spaces", + "path": "x-pack/plugins/spaces/server/routes/api/external/update_objects_spaces.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/analytics/authentication_type.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/api_keys/create.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/api_keys/invalidate.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/authentication/common.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/authentication/common.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/authentication/oidc.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/authentication/saml.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/deprecations/kibana_user_role.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/deprecations/kibana_user_role.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/role_mapping/post.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/session_management/extend.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/session_management/invalidate.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/user_profile/bulk_get.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/user_profile/update.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/users/change_password.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/users/create_or_update.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/users/disable.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/users/enable.ts" + }, + { + "plugin": "encryptedSavedObjects", + "path": "x-pack/plugins/encrypted_saved_objects/server/routes/key_rotation.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/get_oauth_access_token.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/create.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/execute.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/create.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/execute.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/get_global_execution_logs.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/get_global_execution_kpi.ts" + }, + { + "plugin": "contentManagement", + "path": "src/plugins/content_management/server/rpc/routes/routes.ts" + }, + { + "plugin": "bfetch", + "path": "src/plugins/bfetch/server/plugin.ts" + }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/server/rest_api_routes/fields/update_fields.ts" + }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/server/rest_api_routes/runtime_fields/create_runtime_field.ts" + }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/server/rest_api_routes/runtime_fields/update_runtime_field.ts" + }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/server/rest_api_routes/scripted_fields/create_scripted_field.ts" + }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/server/rest_api_routes/scripted_fields/update_scripted_field.ts" + }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/server/rest_api_routes/create_data_view.ts" + }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/server/rest_api_routes/default_data_view.ts" + }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/server/rest_api_routes/update_data_view.ts" + }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/server/routes/fields_for.ts" + }, + { + "plugin": "data", + "path": "src/plugins/data/server/search/routes/search.ts" + }, + { + "plugin": "data", + "path": "src/plugins/data/server/search/routes/session.ts" + }, + { + "plugin": "data", + "path": "src/plugins/data/server/search/routes/session.ts" + }, + { + "plugin": "data", + "path": "src/plugins/data/server/search/routes/session.ts" + }, + { + "plugin": "data", + "path": "src/plugins/data/server/search/routes/session.ts" + }, + { + "plugin": "data", + "path": "src/plugins/data/server/query/routes.ts" + }, + { + "plugin": "data", + "path": "src/plugins/data/server/query/routes.ts" + }, + { + "plugin": "data", + "path": "src/plugins/data/server/query/routes.ts" + }, + { + "plugin": "data", + "path": "src/plugins/data/server/kql_telemetry/route.ts" + }, + { + "plugin": "share", + "path": "src/plugins/share/server/url_service/http/short_urls/register_create_route.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/create.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/enable.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/disable.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/update_api_key.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/mute_instance.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/unmute_instance.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/mute_all.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/unmute_all.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/create_rule.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/aggregate_rules.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/disable_rule.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/enable_rule.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/find_rules.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/mute_all_rule.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/mute_alert.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/unmute_all_rule.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/unmute_alert.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/update_rule_api_key.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/snooze_rule.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/unsnooze_rule.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/bulk_edit_rules.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/run_soon.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/clone_rule.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/update_flapping_settings.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/create_maintenance_window.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/update_maintenance_window.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/archive_maintenance_window.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/finish_maintenance_window.ts" + }, + { + "plugin": "ruleRegistry", + "path": "x-pack/plugins/rule_registry/server/routes/update_alert_by_id.ts" + }, + { + "plugin": "ruleRegistry", + "path": "x-pack/plugins/rule_registry/server/routes/bulk_update_alerts.ts" + }, + { + "plugin": "ruleRegistry", + "path": "x-pack/plugins/rule_registry/server/routes/find.ts" + }, + { + "plugin": "ruleRegistry", + "path": "x-pack/plugins/rule_registry/server/routes/get_alert_summary.ts" + }, + { + "plugin": "observability", + "path": "x-pack/plugins/observability/server/lib/annotations/register_annotation_apis.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_service.ts" + }, + { + "plugin": "telemetry", + "path": "src/plugins/telemetry/server/routes/telemetry_opt_in_stats.ts" + }, + { + "plugin": "telemetry", + "path": "src/plugins/telemetry/server/routes/telemetry_opt_in.ts" + }, + { + "plugin": "telemetry", + "path": "src/plugins/telemetry/server/routes/telemetry_usage_stats.ts" + }, + { + "plugin": "savedObjectsTagging", + "path": "x-pack/plugins/saved_objects_tagging/server/routes/tags/create_tag.ts" + }, + { + "plugin": "savedObjectsTagging", + "path": "x-pack/plugins/saved_objects_tagging/server/routes/tags/update_tag.ts" + }, + { + "plugin": "savedObjectsTagging", + "path": "x-pack/plugins/saved_objects_tagging/server/routes/assignments/update_tags_assignments.ts" + }, + { + "plugin": "savedObjectsTagging", + "path": "x-pack/plugins/saved_objects_tagging/server/routes/internal/bulk_delete.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/security/fleet_router.ts" + }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/server/routes/vis.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts" + }, + { + "plugin": "assetManager", + "path": "x-pack/plugins/asset_manager/server/routes/sample_assets.ts" + }, + { + "plugin": "reporting", + "path": "x-pack/plugins/reporting/server/routes/diagnostic/browser.ts" + }, + { + "plugin": "reporting", + "path": "x-pack/plugins/reporting/server/routes/diagnostic/screenshot.ts" + }, + { + "plugin": "reporting", + "path": "x-pack/plugins/reporting/server/routes/generate/csv_searchsource_immediate.ts" + }, + { + "plugin": "reporting", + "path": "x-pack/plugins/reporting/server/routes/generate/generate_from_jobparams.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/custom_elements/create.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/shareables/zip.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/workpad/create.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/workpad/import.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/data_streams/register_delete_route.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/data_streams/register_post_route.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/data_streams/register_post_route.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/indices/register_clear_cache_route.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/indices/register_close_route.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/indices/register_flush_route.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/indices/register_forcemerge_route.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/indices/register_open_route.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/indices/register_refresh_route.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/indices/register_reload_route.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/indices/register_delete_route.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/indices/register_unfreeze_route.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/templates/register_delete_route.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/templates/register_create_route.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/templates/register_simulate_route.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/component_templates/register_create_route.ts" + }, + { + "plugin": "remoteClusters", + "path": "x-pack/plugins/remote_clusters/server/routes/api/add_route.ts" + }, + { + "plugin": "crossClusterReplication", + "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/auto_follow_pattern/register_create_route.ts" + }, + { + "plugin": "crossClusterReplication", + "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/auto_follow_pattern/register_pause_route.ts" + }, + { + "plugin": "crossClusterReplication", + "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/auto_follow_pattern/register_resume_route.ts" + }, + { + "plugin": "crossClusterReplication", + "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/follower_index/register_create_route.ts" + }, + { + "plugin": "ecsDataQualityDashboard", + "path": "x-pack/plugins/ecs_data_quality_dashboard/server/routes/get_unallowed_field_values.ts" + }, + { + "plugin": "globalSearch", + "path": "x-pack/plugins/global_search/server/routes/find.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/crawler/crawler_extraction_rules.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/adaptive_relevance.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/crawler.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/crawler.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/crawler.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/crawler.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/crawler.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/crawler_crawl_rules.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/crawler_entry_points.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/crawler_sitemaps.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/credentials.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/curations.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/curations.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/documents.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/engines.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/engines.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/onboarding.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/role_mappings.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/role_mappings.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/role_mappings.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/schema.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/search.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/search.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/search_settings.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/source_engines.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/synonyms.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/engines.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/engines.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/indices.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/indices.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/indices.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/indices.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/indices.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/indices.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/indices.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/indices.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/indices.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/search.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/analytics.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/analytics.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/connectors.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/connectors.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/connectors.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/connectors.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/connectors.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/crawler/crawler_crawl_rules.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/crawler/crawler_entry_points.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/crawler/crawler_sitemaps.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/crawler/crawler.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/crawler/crawler.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/crawler/crawler.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/crawler/crawler.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/crawler/crawler.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/crawler/crawler.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/crawler/crawler.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/create_api_key.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/api_keys.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/groups.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/groups.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/groups.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/oauth.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/role_mappings.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/role_mappings.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/role_mappings.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/create_endpoint_list_item_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/create_endpoint_list_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/create_exception_list_item_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/create_exception_list_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/create_list_index_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/create_list_item_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/create_list_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/duplicate_exception_list_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/export_exception_list_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/export_list_item_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/get_exception_filter_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/import_exceptions_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/import_list_item_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/internal/create_exceptions_list_route.ts" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/routes/live_query/create_live_query_route.ts" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/routes/saved_query/create_saved_query_route.ts" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/routes/pack/create_pack_route.ts" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/routes/asset/update_assets_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/api/create_legacy_notification/route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/bulk_actions/route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/bulk_create_rules/route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/bulk_delete_rules/route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/create_rule/route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/export_rules/route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/import_rules/route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/create_timelines/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/import_timelines/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/prepackaged_timelines/install_prepackaged_timelines/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/prebuilt_rules/api/generate_assets/generate_assets_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/prebuilt_rules/api/review_rule_installation/review_rule_installation_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/prebuilt_rules/api/review_rule_upgrade/review_rule_upgrade_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/prebuilt_rules/api/perform_rule_installation/perform_rule_installation_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/prebuilt_rules/api/perform_rule_upgrade/perform_rule_upgrade_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/index/create_index_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_exceptions/api/create_rule_exceptions/route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/create_signals_migration_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/finalize_signals_migration_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/query_signals_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/open_close_signals_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/export_timelines/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/draft_timelines/clean_draft_timelines/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/resolver.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/resolver.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/indices/delete_indices_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/routes/create_prebuilt_saved_objects.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/routes/delete_prebuilt_saved_objects.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/onboarding/routes/install_risk_scores.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/exceptions/api/manage_exceptions/route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/dashboards/routes/get_dashboards_by_tags.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/actions/file_upload_handler.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/actions/response_actions.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/actions/response_actions.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/actions/response_actions.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/actions/response_actions.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/actions/response_actions.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/actions/response_actions.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/actions/response_actions.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/actions/response_actions.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/actions/response_actions.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/suggestions/index.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/server/routes/search.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/server/routes/explore.ts" + }, + { + "plugin": "indexLifecycleManagement", + "path": "x-pack/plugins/index_lifecycle_management/server/routes/api/index/register_retry_route.ts" + }, + { + "plugin": "indexLifecycleManagement", + "path": "x-pack/plugins/index_lifecycle_management/server/routes/api/index/register_remove_route.ts" + }, + { + "plugin": "indexLifecycleManagement", + "path": "x-pack/plugins/index_lifecycle_management/server/routes/api/index/register_add_policy_route.ts" + }, + { + "plugin": "indexLifecycleManagement", + "path": "x-pack/plugins/index_lifecycle_management/server/routes/api/policies/register_create_route.ts" + }, + { + "plugin": "indexLifecycleManagement", + "path": "x-pack/plugins/index_lifecycle_management/server/routes/api/templates/register_add_policy_route.ts" + }, + { + "plugin": "ingestPipelines", + "path": "x-pack/plugins/ingest_pipelines/server/routes/api/create.ts" + }, + { + "plugin": "ingestPipelines", + "path": "x-pack/plugins/ingest_pipelines/server/routes/api/simulate.ts" + }, + { + "plugin": "ingestPipelines", + "path": "x-pack/plugins/ingest_pipelines/server/routes/api/parse_csv.ts" + }, + { + "plugin": "licenseManagement", + "path": "x-pack/plugins/license_management/server/routes/api/license/register_start_basic_route.ts" + }, + { + "plugin": "licenseManagement", + "path": "x-pack/plugins/license_management/server/routes/api/license/register_start_trial_routes.ts" + }, + { + "plugin": "licenseManagement", + "path": "x-pack/plugins/license_management/server/routes/api/license/register_permissions_route.ts" + }, + { + "plugin": "logstash", + "path": "x-pack/plugins/logstash/server/routes/pipelines/delete.ts" + }, + { + "plugin": "monitoring", + "path": "x-pack/plugins/monitoring/server/routes/api/v1/alerts/enable.ts" + }, + { + "plugin": "monitoring", + "path": "x-pack/plugins/monitoring/server/routes/api/v1/alerts/status.ts" + }, + { + "plugin": "monitoring", + "path": "x-pack/plugins/monitoring/server/routes/api/v1/elasticsearch_settings/check/internal_monitoring.ts" + }, + { + "plugin": "monitoring", + "path": "x-pack/plugins/monitoring/server/plugin.ts" + }, + { + "plugin": "painlessLab", + "path": "x-pack/plugins/painless_lab/server/routes/api/execute.ts" + }, + { + "plugin": "profiling", + "path": "x-pack/plugins/profiling/server/routes/setup.ts" + }, + { + "plugin": "reporting", + "path": "x-pack/plugins/reporting/server/test_helpers/create_mock_reportingplugin.ts" + }, + { + "plugin": "rollup", + "path": "x-pack/plugins/rollup/server/routes/api/jobs/register_delete_route.ts" + }, + { + "plugin": "rollup", + "path": "x-pack/plugins/rollup/server/routes/api/jobs/register_start_route.ts" + }, + { + "plugin": "rollup", + "path": "x-pack/plugins/rollup/server/routes/api/jobs/register_stop_route.ts" + }, + { + "plugin": "rollup", + "path": "x-pack/plugins/rollup/server/routes/api/search/register_search_route.ts" + }, + { + "plugin": "searchprofiler", + "path": "x-pack/plugins/searchprofiler/server/routes/profile.ts" + }, + { + "plugin": "serverless", + "path": "x-pack/plugins/serverless/server/plugin.ts" + }, + { + "plugin": "snapshotRestore", + "path": "x-pack/plugins/snapshot_restore/server/routes/api/repositories.ts" + }, + { + "plugin": "snapshotRestore", + "path": "x-pack/plugins/snapshot_restore/server/routes/api/snapshots.ts" + }, + { + "plugin": "snapshotRestore", + "path": "x-pack/plugins/snapshot_restore/server/routes/api/restore.ts" + }, + { + "plugin": "snapshotRestore", + "path": "x-pack/plugins/snapshot_restore/server/routes/api/policy.ts" + }, + { + "plugin": "snapshotRestore", + "path": "x-pack/plugins/snapshot_restore/server/routes/api/policy.ts" + }, + { + "plugin": "snapshotRestore", + "path": "x-pack/plugins/snapshot_restore/server/routes/api/policy.ts" + }, + { + "plugin": "triggersActionsUi", + "path": "x-pack/plugins/triggers_actions_ui/server/data/routes/time_series_query.ts" + }, + { + "plugin": "triggersActionsUi", + "path": "x-pack/plugins/triggers_actions_ui/server/data/routes/fields.ts" + }, + { + "plugin": "triggersActionsUi", + "path": "x-pack/plugins/triggers_actions_ui/server/data/routes/indices.ts" + }, + { + "plugin": "synthetics", + "path": "x-pack/plugins/synthetics/server/legacy_uptime/uptime_server.ts" + }, + { + "plugin": "synthetics", + "path": "x-pack/plugins/synthetics/server/server.ts" + }, + { + "plugin": "upgradeAssistant", + "path": "x-pack/plugins/upgrade_assistant/server/routes/reindex_indices/reindex_indices.ts" + }, + { + "plugin": "upgradeAssistant", + "path": "x-pack/plugins/upgrade_assistant/server/routes/reindex_indices/reindex_indices.ts" + }, + { + "plugin": "upgradeAssistant", + "path": "x-pack/plugins/upgrade_assistant/server/routes/reindex_indices/batch_reindex_indices.ts" + }, + { + "plugin": "upgradeAssistant", + "path": "x-pack/plugins/upgrade_assistant/server/routes/system_indices_migration.ts" + }, + { + "plugin": "upgradeAssistant", + "path": "x-pack/plugins/upgrade_assistant/server/routes/update_index_settings.ts" + }, + { + "plugin": "upgradeAssistant", + "path": "x-pack/plugins/upgrade_assistant/server/routes/ml_snapshots.ts" + }, + { + "plugin": "upgradeAssistant", + "path": "x-pack/plugins/upgrade_assistant/server/routes/cluster_settings.ts" + }, + { + "plugin": "watcher", + "path": "x-pack/plugins/watcher/server/routes/api/indices/register_get_route.ts" + }, + { + "plugin": "watcher", + "path": "x-pack/plugins/watcher/server/routes/api/watches/register_delete_route.ts" + }, + { + "plugin": "watcher", + "path": "x-pack/plugins/watcher/server/routes/api/watch/register_visualize_route.ts" + }, + { + "plugin": "watcher", + "path": "x-pack/plugins/watcher/server/routes/api/register_list_fields_route.ts" + }, + { + "plugin": "grokdebugger", + "path": "x-pack/plugins/grokdebugger/server/lib/kibana_framework.ts" + }, + { + "plugin": "console", + "path": "src/plugins/console/server/routes/api/console/proxy/index.ts" + }, + { + "plugin": "console", + "path": "src/plugins/console/server/routes/api/console/spec_definitions/index.ts" + }, + { + "plugin": "contentManagement", + "path": "src/plugins/content_management/server/plugin.test.ts" + }, + { + "plugin": "contentManagement", + "path": "src/plugins/content_management/server/plugin.test.ts" + }, + { + "plugin": "contentManagement", + "path": "src/plugins/content_management/server/plugin.test.ts" + }, + { + "plugin": "contentManagement", + "path": "src/plugins/content_management/server/plugin.test.ts" + }, + { + "plugin": "contentManagement", + "path": "src/plugins/content_management/server/plugin.test.ts" + }, + { + "plugin": "contentManagement", + "path": "src/plugins/content_management/server/plugin.test.ts" + }, + { + "plugin": "contentManagement", + "path": "src/plugins/content_management/server/plugin.test.ts" + }, + { + "plugin": "contentManagement", + "path": "src/plugins/content_management/server/plugin.test.ts" + }, + { + "plugin": "dataViewFieldEditor", + "path": "src/plugins/data_view_field_editor/server/routes/field_preview.ts" + }, + { + "plugin": "dataViewManagement", + "path": "src/plugins/data_view_management/server/routes/preview_scripted_field.ts" + }, + { + "plugin": "ftrApis", + "path": "src/plugins/ftr_apis/server/routes/kbn_client_so/bulk_delete.ts" + }, + { + "plugin": "ftrApis", + "path": "src/plugins/ftr_apis/server/routes/kbn_client_so/create.ts" + }, + { + "plugin": "ftrApis", + "path": "src/plugins/ftr_apis/server/routes/kbn_client_so/clean.ts" + }, + { + "plugin": "interactiveSetup", + "path": "src/plugins/interactive_setup/server/routes/configure.ts" + }, + { + "plugin": "interactiveSetup", + "path": "src/plugins/interactive_setup/server/routes/enroll.ts" + }, + { + "plugin": "interactiveSetup", + "path": "src/plugins/interactive_setup/server/routes/ping.ts" + }, + { + "plugin": "interactiveSetup", + "path": "src/plugins/interactive_setup/server/routes/verify.ts" + }, + { + "plugin": "savedObjectsManagement", + "path": "src/plugins/saved_objects_management/server/routes/bulk_delete.ts" + }, + { + "plugin": "savedObjectsManagement", + "path": "src/plugins/saved_objects_management/server/routes/bulk_get.ts" + }, + { + "plugin": "savedObjectsManagement", + "path": "src/plugins/saved_objects_management/server/routes/scroll_count.ts" + }, + { + "plugin": "telemetry", + "path": "src/plugins/telemetry/server/routes/telemetry_usage_stats.test.ts" + }, + { + "plugin": "telemetry", + "path": "src/plugins/telemetry/server/routes/telemetry_usage_stats.test.ts" + }, + { + "plugin": "telemetry", + "path": "src/plugins/telemetry/server/routes/telemetry_usage_stats.test.ts" + }, + { + "plugin": "telemetry", + "path": "src/plugins/telemetry/server/routes/telemetry_usage_stats.test.ts" + }, + { + "plugin": "visTypeTimelion", + "path": "src/plugins/vis_types/timelion/server/routes/run.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_route.test.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_route.test.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_route.test.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/router.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/router.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/router.test.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/router.test.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/router.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-router-server-mocks", + "path": "packages/core/http/core-http-router-server-mocks/src/router.mock.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/__mocks__/server.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/create.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/create.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/create.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/execute.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/execute.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/execute.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/execute.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/get_global_execution_kpi.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/get_global_execution_logs.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/get_oauth_access_token.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/get_oauth_access_token.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/get_oauth_access_token.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/get_oauth_access_token.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/bulk_edit_rules.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/bulk_edit_rules.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/bulk_edit_rules.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/bulk_edit_rules.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/clone_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/clone_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/clone_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/clone_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/create_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/create_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/create_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/create_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/create_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/create_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/create_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/disable_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/disable_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/enable_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/enable_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/mute_alert.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/mute_alert.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/mute_all_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/mute_all_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/mute_all_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/run_soon.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/run_soon.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/run_soon.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/snooze_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/snooze_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/snooze_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/unmute_alert.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/unmute_alert.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/unmute_all_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/unmute_all_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/unsnooze_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/unsnooze_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/update_flapping_settings.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/update_rule_api_key.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/update_rule_api_key.test.ts" + }, + { + "plugin": "ecsDataQualityDashboard", + "path": "x-pack/plugins/ecs_data_quality_dashboard/server/__mocks__/server.ts" + }, + { + "plugin": "encryptedSavedObjects", + "path": "x-pack/plugins/encrypted_saved_objects/server/routes/key_rotation.test.ts" + }, + { + "plugin": "globalSearch", + "path": "x-pack/plugins/global_search/server/routes/index.test.ts" + }, + { + "plugin": "globalSearch", + "path": "x-pack/plugins/global_search/server/routes/index.test.ts" + }, + { + "plugin": "ruleRegistry", + "path": "x-pack/plugins/rule_registry/server/routes/__mocks__/server.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/create.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/create.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/create.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/create.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/execute.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/execute.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/execute.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/execute.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/execute.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/execute.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/create.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/create.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/create.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/create.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/create.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/create.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/create.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/create.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/disable.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/disable.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/disable.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/enable.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/enable.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/enable.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/mute_all.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/mute_all.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/mute_all.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/mute_instance.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/mute_instance.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/mute_instance.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/unmute_all.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/unmute_all.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/unmute_all.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/unmute_instance.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/unmute_instance.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/unmute_instance.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/update_api_key.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/update_api_key.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/update_api_key.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/archive_maintenance_window.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/archive_maintenance_window.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/archive_maintenance_window.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/archive_maintenance_window.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/create_maintenance_window.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/create_maintenance_window.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/create_maintenance_window.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/create_maintenance_window.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/finish_maintenance_window.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/finish_maintenance_window.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/finish_maintenance_window.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/finish_maintenance_window.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/update_maintenance_window.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/update_maintenance_window.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/update_maintenance_window.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/update_maintenance_window.test.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/custom_elements/create.test.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/shareables/zip.test.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/workpad/create.test.ts" + }, + { + "plugin": "remoteClusters", + "path": "x-pack/plugins/remote_clusters/server/routes/api/add_route.test.ts" + }, + { + "plugin": "crossClusterReplication", + "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/auto_follow_pattern/register_create_route.test.ts" + }, + { + "plugin": "crossClusterReplication", + "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/auto_follow_pattern/register_pause_route.test.ts" + }, + { + "plugin": "crossClusterReplication", + "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/auto_follow_pattern/register_resume_route.test.ts" + }, + { + "plugin": "crossClusterReplication", + "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/follower_index/register_create_route.test.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/actions/response_actions.test.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/endpoint/routes/suggestions/index.test.ts" + }, + { + "plugin": "spaces", + "path": "x-pack/plugins/spaces/server/routes/api/external/copy_to_space.test.ts" + }, + { + "plugin": "spaces", + "path": "x-pack/plugins/spaces/server/routes/api/external/disable_legacy_url_aliases.test.ts" + }, + { + "plugin": "spaces", + "path": "x-pack/plugins/spaces/server/routes/api/external/get_shareable_references.test.ts" + }, + { + "plugin": "spaces", + "path": "x-pack/plugins/spaces/server/routes/api/external/post.test.ts" + }, + { + "plugin": "spaces", + "path": "x-pack/plugins/spaces/server/routes/api/external/update_objects_spaces.test.ts" + }, + { + "plugin": "home", + "path": "src/plugins/home/server/plugin.test.ts" + }, + { + "plugin": "home", + "path": "src/plugins/home/server/plugin.test.ts" + }, + { + "plugin": "savedObjectsManagement", + "path": "src/plugins/saved_objects_management/server/routes/index.test.ts" + }, + { + "plugin": "savedObjectsManagement", + "path": "src/plugins/saved_objects_management/server/routes/index.test.ts" + }, + { + "plugin": "savedObjectsManagement", + "path": "src/plugins/saved_objects_management/server/routes/index.test.ts" + }, + { + "plugin": "savedObjectsManagement", + "path": "src/plugins/saved_objects_management/server/routes/index.test.ts" + }, + { + "plugin": "@kbn/core-capabilities-server-internal", + "path": "packages/core/capabilities/core-capabilities-server-internal/src/capabilities_service.test.ts" + }, + { + "plugin": "@kbn/core-capabilities-server-internal", + "path": "packages/core/capabilities/core-capabilities-server-internal/src/capabilities_service.test.ts" + }, + { + "plugin": "@kbn/core-capabilities-server-internal", + "path": "packages/core/capabilities/core-capabilities-server-internal/src/capabilities_service.test.ts" + }, + { + "plugin": "@kbn/core-capabilities-server-internal", + "path": "packages/core/capabilities/core-capabilities-server-internal/src/capabilities_service.test.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/security/types.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/security/fleet_router.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent_policy/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent_policy/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent_policy/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent_policy/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/package_policy/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/package_policy/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/package_policy/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/package_policy/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/package_policy/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/setup/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/setup/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/enrollment_api_key/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/enrollment_api_key/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/output/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/output/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/app/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/app/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/preconfiguration/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/preconfiguration/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/download_source/index.tsx" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/health_check/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/fleet_server_policy_config/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/fleet_proxies/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/message_signing_service/index.ts" + }, + { + "plugin": "encryptedSavedObjects", + "path": "x-pack/plugins/encrypted_saved_objects/server/routes/key_rotation.test.ts" + }, + { + "plugin": "interactiveSetup", + "path": "src/plugins/interactive_setup/server/routes/configure.test.ts" + }, + { + "plugin": "interactiveSetup", + "path": "src/plugins/interactive_setup/server/routes/enroll.test.ts" + }, + { + "plugin": "interactiveSetup", + "path": "src/plugins/interactive_setup/server/routes/ping.test.ts" + }, + { + "plugin": "interactiveSetup", + "path": "src/plugins/interactive_setup/server/routes/verify.test.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/test/helpers/router_mock.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/analytics/authentication_type.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/api_keys/create.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/api_keys/invalidate.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/api_keys/invalidate.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/authentication/index.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/role_mapping/post.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/role_mapping/post.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/authentication/common.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/authentication/common.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/authentication/saml.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/authentication/saml.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/authentication/saml.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/deprecations/kibana_user_role.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/deprecations/kibana_user_role.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/session_management/extend.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/session_management/invalidate.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/user_profile/bulk_get.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/user_profile/update.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/users/change_password.test.ts" + }, + { + "plugin": "snapshotRestore", + "path": "x-pack/plugins/snapshot_restore/server/test/helpers/router_mock.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/mocks.ts" + } + ], + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.IRouter.post.$1", + "type": "Object", + "tags": [], + "label": "route", + "description": [ + "{@link RouteConfig } - a route configuration." + ], + "signature": [ + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.RouteConfig", + "text": "RouteConfig" + }, + "" + ], + "path": "packages/core/http/core-http-server/src/router/router.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.IRouter.post.$2", + "type": "Function", + "tags": [], + "label": "handler", + "description": [ + "{@link RequestHandler } - a function to call to respond to an incoming request" + ], + "signature": [ + "(context: Context, request: ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.KibanaRequest", + "text": "KibanaRequest" + }, + ", response: ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.KibanaResponseFactory", + "text": "KibanaResponseFactory" + }, + ") => ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.IKibanaResponse", + "text": "IKibanaResponse" + }, + " | Promise<", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.IKibanaResponse", + "text": "IKibanaResponse" + }, + ">" + ], + "path": "packages/core/http/core-http-server/src/router/router.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.IRouter.post.$2.$1", + "type": "Uncategorized", + "tags": [], + "label": "context", + "description": [], + "signature": [ + "Context" + ], + "path": "packages/core/http/core-http-server/src/router/request_handler.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.IRouter.post.$2.$2", + "type": "Object", + "tags": [], + "label": "request", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.KibanaRequest", + "text": "KibanaRequest" + }, + "" + ], + "path": "packages/core/http/core-http-server/src/router/request_handler.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.IRouter.post.$2.$3", + "type": "Uncategorized", + "tags": [], + "label": "response", + "description": [], + "signature": [ + "ResponseFactory" + ], + "path": "packages/core/http/core-http-server/src/router/request_handler.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ] + }, + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.IRouter.put", + "type": "Function", + "tags": [ + "track-adoption" + ], + "label": "put", + "description": [ + "\nRegister a route handler for `PUT` request." + ], + "signature": [ + "(route: ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.RouteConfig", + "text": "RouteConfig" + }, + ", handler: ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.RequestHandler", + "text": "RequestHandler" + }, + ") => void" + ], + "path": "packages/core/http/core-http-server/src/router/router.ts", + "deprecated": false, + "trackAdoption": true, + "references": [ + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/router.ts" + }, + { + "plugin": "@kbn/core-saved-objects-server-internal", + "path": "packages/core/saved-objects/core-saved-objects-server-internal/src/routes/update.ts" + }, + { + "plugin": "@kbn/core-saved-objects-server-internal", + "path": "packages/core/saved-objects/core-saved-objects-server-internal/src/routes/bulk_update.ts" + }, + { + "plugin": "spaces", + "path": "x-pack/plugins/spaces/server/routes/api/external/put.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/api_keys/update.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/authorization/roles/put.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/update.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/update.ts" + }, + { + "plugin": "bfetch", + "path": "src/plugins/bfetch/server/plugin.ts" + }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/server/rest_api_routes/runtime_fields/put_runtime_field.ts" + }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/server/rest_api_routes/scripted_fields/put_scripted_field.ts" + }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/server/routes/fields_for.ts" + }, + { + "plugin": "data", + "path": "src/plugins/data/server/search/routes/session.ts" + }, + { + "plugin": "data", + "path": "src/plugins/data/server/query/routes.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/update.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/update_rule.ts" + }, + { + "plugin": "guidedOnboarding", + "path": "src/plugins/guided_onboarding/server/routes/plugin_state_routes.ts" + }, + { + "plugin": "telemetry", + "path": "src/plugins/telemetry/server/routes/telemetry_user_has_seen_notice.ts" + }, + { + "plugin": "telemetry", + "path": "src/plugins/telemetry/server/routes/telemetry_last_reported.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/security/fleet_router.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts" + }, + { + "plugin": "reporting", + "path": "x-pack/plugins/reporting/server/routes/deprecations/deprecations.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/custom_elements/update.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/workpad/update.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/workpad/update.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/workpad/update.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/templates/register_update_route.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/settings/register_update_route.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/component_templates/register_update_route.ts" + }, + { + "plugin": "remoteClusters", + "path": "x-pack/plugins/remote_clusters/server/routes/api/update_route.ts" + }, + { + "plugin": "crossClusterReplication", + "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/auto_follow_pattern/register_update_route.ts" + }, + { + "plugin": "crossClusterReplication", + "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/follower_index/register_pause_route.ts" + }, + { + "plugin": "crossClusterReplication", + "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/follower_index/register_resume_route.ts" + }, + { + "plugin": "crossClusterReplication", + "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/follower_index/register_unfollow_route.ts" + }, + { + "plugin": "crossClusterReplication", + "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/follower_index/register_update_route.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/crawler/crawler_extraction_rules.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/adaptive_relevance.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/adaptive_relevance.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/crawler.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/crawler.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/crawler_crawl_rules.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/crawler_entry_points.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/crawler_sitemaps.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/credentials.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/curations.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/result_settings.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/role_mappings.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/search_settings.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/settings.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/synonyms.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/engines.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/indices.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/connectors.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/connectors.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/connectors.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/connectors.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/connectors.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/connectors.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/connectors.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/connectors.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/crawler/crawler_crawl_rules.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/crawler/crawler_entry_points.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/crawler/crawler_sitemaps.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/crawler/crawler.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/crawler/crawler.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/crawler/crawler.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/telemetry.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/groups.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/groups.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/role_mappings.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/settings.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/settings.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/settings.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/update_endpoint_list_item_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/update_exception_list_item_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/update_exception_list_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/update_list_item_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/update_list_route.ts" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/routes/saved_query/update_saved_query_route.ts" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/routes/pack/update_pack_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/bulk_update_rules/route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/update_rule/route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/prebuilt_rules/api/install_prebuilt_rules_and_timelines/install_prebuilt_rules_and_timelines_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/indices/create_index_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/stored_scripts/create_script_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/tags/routes/create_tag.ts" + }, + { + "plugin": "ingestPipelines", + "path": "x-pack/plugins/ingest_pipelines/server/routes/api/update.ts" + }, + { + "plugin": "licenseManagement", + "path": "x-pack/plugins/license_management/server/routes/api/license/register_license_route.ts" + }, + { + "plugin": "logstash", + "path": "x-pack/plugins/logstash/server/routes/pipeline/save.ts" + }, + { + "plugin": "monitoring", + "path": "x-pack/plugins/monitoring/server/plugin.ts" + }, + { + "plugin": "reporting", + "path": "x-pack/plugins/reporting/server/test_helpers/create_mock_reportingplugin.ts" + }, + { + "plugin": "rollup", + "path": "x-pack/plugins/rollup/server/routes/api/jobs/register_create_route.ts" + }, + { + "plugin": "snapshotRestore", + "path": "x-pack/plugins/snapshot_restore/server/routes/api/repositories.ts" + }, + { + "plugin": "snapshotRestore", + "path": "x-pack/plugins/snapshot_restore/server/routes/api/repositories.ts" + }, + { + "plugin": "snapshotRestore", + "path": "x-pack/plugins/snapshot_restore/server/routes/api/policy.ts" + }, + { + "plugin": "snapshotRestore", + "path": "x-pack/plugins/snapshot_restore/server/routes/api/policy.ts" + }, + { + "plugin": "synthetics", + "path": "x-pack/plugins/synthetics/server/legacy_uptime/uptime_server.ts" + }, + { + "plugin": "synthetics", + "path": "x-pack/plugins/synthetics/server/server.ts" + }, + { + "plugin": "upgradeAssistant", + "path": "x-pack/plugins/upgrade_assistant/server/routes/deprecation_logging.ts" + }, + { + "plugin": "watcher", + "path": "x-pack/plugins/watcher/server/routes/api/watch/register_execute_route.ts" + }, + { + "plugin": "watcher", + "path": "x-pack/plugins/watcher/server/routes/api/watch/register_save_route.ts" + }, + { + "plugin": "watcher", + "path": "x-pack/plugins/watcher/server/routes/api/watch/register_activate_route.ts" + }, + { + "plugin": "watcher", + "path": "x-pack/plugins/watcher/server/routes/api/watch/register_deactivate_route.ts" + }, + { + "plugin": "watcher", + "path": "x-pack/plugins/watcher/server/routes/api/watch/action/register_acknowledge_route.ts" + }, + { + "plugin": "grokdebugger", + "path": "x-pack/plugins/grokdebugger/server/lib/kibana_framework.ts" + }, + { + "plugin": "ftrApis", + "path": "src/plugins/ftr_apis/server/routes/kbn_client_so/update.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/router.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/router.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-router-server-mocks", + "path": "packages/core/http/core-http-router-server-mocks/src/router.mock.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/__mocks__/server.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/update.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/update.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/update.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/update_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/update_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/update_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/update_rule.test.ts" + }, + { + "plugin": "ecsDataQualityDashboard", + "path": "x-pack/plugins/ecs_data_quality_dashboard/server/__mocks__/server.ts" + }, + { + "plugin": "globalSearch", + "path": "x-pack/plugins/global_search/server/routes/index.test.ts" + }, + { + "plugin": "ruleRegistry", + "path": "x-pack/plugins/rule_registry/server/routes/__mocks__/server.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/update.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/update.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/update.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/update.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/update.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/update.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/update.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/update.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/update.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/update.test.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/custom_elements/update.test.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/workpad/update.test.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/workpad/update.test.ts" + }, + { + "plugin": "remoteClusters", + "path": "x-pack/plugins/remote_clusters/server/routes/api/update_route.test.ts" + }, + { + "plugin": "crossClusterReplication", + "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/auto_follow_pattern/register_update_route.test.ts" + }, + { + "plugin": "crossClusterReplication", + "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/follower_index/register_pause_route.test.ts" + }, + { + "plugin": "crossClusterReplication", + "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/follower_index/register_resume_route.test.ts" + }, + { + "plugin": "crossClusterReplication", + "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/follower_index/register_unfollow_route.test.ts" + }, + { + "plugin": "crossClusterReplication", + "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/follower_index/register_update_route.test.ts" + }, + { + "plugin": "spaces", + "path": "x-pack/plugins/spaces/server/routes/api/external/put.test.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/security/types.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/security/fleet_router.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent_policy/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/package_policy/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/output/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/settings/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/download_source/index.tsx" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/fleet_server_policy_config/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/fleet_proxies/index.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/test/helpers/router_mock.ts" + }, + { + "plugin": "cases", + "path": "x-pack/plugins/cases/server/routes/api/register_routes.test.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/package_policy/handlers.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/api_keys/update.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/authentication/index.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/authorization/roles/put.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/authorization/roles/put.test.ts" + }, + { + "plugin": "snapshotRestore", + "path": "x-pack/plugins/snapshot_restore/server/test/helpers/router_mock.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/mocks.ts" + } + ], + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.IRouter.put.$1", + "type": "Object", + "tags": [], + "label": "route", + "description": [ + "{@link RouteConfig } - a route configuration." + ], + "signature": [ + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.RouteConfig", + "text": "RouteConfig" + }, + "" + ], + "path": "packages/core/http/core-http-server/src/router/router.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.IRouter.put.$2", + "type": "Function", + "tags": [], + "label": "handler", + "description": [ + "{@link RequestHandler } - a function to call to respond to an incoming request" + ], + "signature": [ + "(context: Context, request: ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.KibanaRequest", + "text": "KibanaRequest" + }, + ", response: ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.KibanaResponseFactory", + "text": "KibanaResponseFactory" + }, + ") => ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.IKibanaResponse", + "text": "IKibanaResponse" + }, + " | Promise<", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.IKibanaResponse", + "text": "IKibanaResponse" + }, + ">" + ], + "path": "packages/core/http/core-http-server/src/router/router.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.IRouter.put.$2.$1", + "type": "Uncategorized", + "tags": [], + "label": "context", + "description": [], + "signature": [ + "Context" + ], + "path": "packages/core/http/core-http-server/src/router/request_handler.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.IRouter.put.$2.$2", + "type": "Object", + "tags": [], + "label": "request", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.KibanaRequest", + "text": "KibanaRequest" + }, + "" + ], + "path": "packages/core/http/core-http-server/src/router/request_handler.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.IRouter.put.$2.$3", + "type": "Uncategorized", + "tags": [], + "label": "response", + "description": [], + "signature": [ + "ResponseFactory" + ], + "path": "packages/core/http/core-http-server/src/router/request_handler.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ] + }, + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.IRouter.patch", + "type": "Function", + "tags": [ + "track-adoption" + ], + "label": "patch", + "description": [ + "\nRegister a route handler for `PATCH` request." + ], + "signature": [ + "(route: ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.RouteConfig", + "text": "RouteConfig" + }, + ", handler: ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.RequestHandler", + "text": "RequestHandler" + }, + ") => void" + ], + "path": "packages/core/http/core-http-server/src/router/router.ts", + "deprecated": false, + "trackAdoption": true, + "references": [ + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/router.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/bulk_delete_rules.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/bulk_enable_rules.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/bulk_disable_rules.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/security/fleet_router.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/security.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/patch_list_item_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/patch_list_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/bulk_patch_rules/route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/patch_rule/route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/patch_timelines/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/persist_favorite/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/notes/persist_note.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/pinned_events/persist_pinned_event.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/router.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/router.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-router-server-mocks", + "path": "packages/core/http/core-http-router-server-mocks/src/router.mock.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/__mocks__/server.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/bulk_delete_rules.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/bulk_delete_rules.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/bulk_delete_rules.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/bulk_delete_rules.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/bulk_disable_rules.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/bulk_disable_rules.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/bulk_disable_rules.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/bulk_disable_rules.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/bulk_enable_rules.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/bulk_enable_rules.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/bulk_enable_rules.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/bulk_enable_rules.test.ts" + }, + { + "plugin": "ecsDataQualityDashboard", + "path": "x-pack/plugins/ecs_data_quality_dashboard/server/__mocks__/server.ts" + }, + { + "plugin": "ruleRegistry", + "path": "x-pack/plugins/rule_registry/server/routes/__mocks__/server.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/security/types.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/security/fleet_router.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/test/helpers/router_mock.ts" + }, + { + "plugin": "snapshotRestore", + "path": "x-pack/plugins/snapshot_restore/server/test/helpers/router_mock.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/mocks.ts" + } + ], + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/core-http-server", "id": "def-common.IRouter.patch.$1", "type": "Object", "tags": [], @@ -3630,146 +9925,722 @@ "trackAdoption": false }, { - "parentPluginId": "@kbn/core-http-server", - "id": "def-common.IRouter.patch.$2", - "type": "Function", - "tags": [], - "label": "handler", - "description": [ - "{@link RequestHandler } - a function to call to respond to an incoming request" - ], - "signature": [ - "(context: Context, request: ", - { - "pluginId": "@kbn/core-http-server", - "scope": "common", - "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.KibanaRequest", - "text": "KibanaRequest" - }, - ", response: ", - { - "pluginId": "@kbn/core-http-server", - "scope": "common", - "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.KibanaResponseFactory", - "text": "KibanaResponseFactory" - }, - ") => ", - { - "pluginId": "@kbn/core-http-server", - "scope": "common", - "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.IKibanaResponse", - "text": "IKibanaResponse" - }, - " | Promise<", - { - "pluginId": "@kbn/core-http-server", - "scope": "common", - "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.IKibanaResponse", - "text": "IKibanaResponse" - }, - ">" - ], - "path": "packages/core/http/core-http-server/src/router/router.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "@kbn/core-http-server", - "id": "def-common.IRouter.patch.$2.$1", - "type": "Uncategorized", - "tags": [], - "label": "context", - "description": [], - "signature": [ - "Context" - ], - "path": "packages/core/http/core-http-server/src/router/request_handler.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/core-http-server", - "id": "def-common.IRouter.patch.$2.$2", - "type": "Object", - "tags": [], - "label": "request", - "description": [], - "signature": [ - { - "pluginId": "@kbn/core-http-server", - "scope": "common", - "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.KibanaRequest", - "text": "KibanaRequest" - }, - "" - ], - "path": "packages/core/http/core-http-server/src/router/request_handler.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/core-http-server", - "id": "def-common.IRouter.patch.$2.$3", - "type": "Uncategorized", - "tags": [], - "label": "response", - "description": [], - "signature": [ - "ResponseFactory" - ], - "path": "packages/core/http/core-http-server/src/router/request_handler.ts", - "deprecated": false, - "trackAdoption": false - } - ] - } - ] - }, - { - "parentPluginId": "@kbn/core-http-server", - "id": "def-common.IRouter.delete", - "type": "Function", - "tags": [], - "label": "delete", - "description": [ - "\nRegister a route handler for `DELETE` request." - ], - "signature": [ - "(route: ", + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.IRouter.patch.$2", + "type": "Function", + "tags": [], + "label": "handler", + "description": [ + "{@link RequestHandler } - a function to call to respond to an incoming request" + ], + "signature": [ + "(context: Context, request: ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.KibanaRequest", + "text": "KibanaRequest" + }, + ", response: ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.KibanaResponseFactory", + "text": "KibanaResponseFactory" + }, + ") => ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.IKibanaResponse", + "text": "IKibanaResponse" + }, + " | Promise<", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.IKibanaResponse", + "text": "IKibanaResponse" + }, + ">" + ], + "path": "packages/core/http/core-http-server/src/router/router.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.IRouter.patch.$2.$1", + "type": "Uncategorized", + "tags": [], + "label": "context", + "description": [], + "signature": [ + "Context" + ], + "path": "packages/core/http/core-http-server/src/router/request_handler.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.IRouter.patch.$2.$2", + "type": "Object", + "tags": [], + "label": "request", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.KibanaRequest", + "text": "KibanaRequest" + }, + "" + ], + "path": "packages/core/http/core-http-server/src/router/request_handler.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.IRouter.patch.$2.$3", + "type": "Uncategorized", + "tags": [], + "label": "response", + "description": [], + "signature": [ + "ResponseFactory" + ], + "path": "packages/core/http/core-http-server/src/router/request_handler.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ] + }, + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.IRouter.delete", + "type": "Function", + "tags": [ + "track-adoption" + ], + "label": "delete", + "description": [ + "\nRegister a route handler for `DELETE` request." + ], + "signature": [ + "(route: ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.RouteConfig", + "text": "RouteConfig" + }, + ", handler: ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.RequestHandler", + "text": "RequestHandler" + }, + ") => void" + ], + "path": "packages/core/http/core-http-server/src/router/router.ts", + "deprecated": false, + "trackAdoption": true, + "references": [ + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/router.ts" + }, + { + "plugin": "@kbn/core-saved-objects-server-internal", + "path": "packages/core/saved-objects/core-saved-objects-server-internal/src/routes/delete.ts" + }, + { + "plugin": "@kbn/core-ui-settings-server-internal", + "path": "packages/core/ui-settings/core-ui-settings-server-internal/src/routes/delete.ts" + }, + { + "plugin": "@kbn/core-ui-settings-server-internal", + "path": "packages/core/ui-settings/core-ui-settings-server-internal/src/routes/delete.ts" + }, + { + "plugin": "home", + "path": "src/plugins/home/server/services/sample_data/routes/uninstall.ts" + }, + { + "plugin": "spaces", + "path": "x-pack/plugins/spaces/server/routes/api/external/delete.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/authorization/roles/delete.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/role_mapping/delete.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/users/delete.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/delete.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/delete.ts" + }, + { + "plugin": "bfetch", + "path": "src/plugins/bfetch/server/plugin.ts" + }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/server/rest_api_routes/runtime_fields/delete_runtime_field.ts" + }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/server/rest_api_routes/scripted_fields/delete_scripted_field.ts" + }, + { + "plugin": "dataViews", + "path": "src/plugins/data_views/server/rest_api_routes/delete_data_view.ts" + }, + { + "plugin": "data", + "path": "src/plugins/data/server/search/routes/search.ts" + }, + { + "plugin": "data", + "path": "src/plugins/data/server/search/routes/session.ts" + }, + { + "plugin": "data", + "path": "src/plugins/data/server/query/routes.ts" + }, + { + "plugin": "share", + "path": "src/plugins/share/server/url_service/http/short_urls/register_delete_route.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/delete.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/delete_rule.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/delete_maintenance_window.ts" + }, + { + "plugin": "observability", + "path": "x-pack/plugins/observability/server/lib/annotations/register_annotation_apis.ts" + }, + { + "plugin": "savedObjectsTagging", + "path": "x-pack/plugins/saved_objects_tagging/server/routes/tags/delete_tag.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/security/fleet_router.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts" + }, + { + "plugin": "assetManager", + "path": "x-pack/plugins/asset_manager/server/routes/sample_assets.ts" + }, + { + "plugin": "reporting", + "path": "x-pack/plugins/reporting/server/routes/management/jobs.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/custom_elements/delete.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/workpad/delete.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/routes/api/component_templates/register_delete_route.ts" + }, + { + "plugin": "remoteClusters", + "path": "x-pack/plugins/remote_clusters/server/routes/api/delete_route.ts" + }, + { + "plugin": "crossClusterReplication", + "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/auto_follow_pattern/register_delete_route.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/crawler/crawler_extraction_rules.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/crawler.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/crawler.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/crawler_crawl_rules.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/crawler_entry_points.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/crawler_sitemaps.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/credentials.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/curations.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/documents.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/engines.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/role_mappings.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/source_engines.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/app_search/synonyms.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/engines.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/indices.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/indices.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/indices.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/indices.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/analytics.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/crawler/crawler_crawl_rules.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/crawler/crawler_entry_points.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/crawler/crawler_sitemaps.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/crawler/crawler.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/crawler/crawler.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/api_keys.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/groups.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/oauth.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/role_mappings.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/delete_endpoint_list_item_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/delete_exception_list_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/delete_exception_list_item_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/delete_list_index_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/delete_list_item_route.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/routes/delete_list_route.ts" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/routes/saved_query/delete_saved_query_route.ts" + }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/routes/pack/delete_pack_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/bulk_delete_rules/route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_management/api/rules/delete_rule/route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/delete_signals_migration_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/index/delete_index_route.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/delete_timelines/index.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/notes/delete_note.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/stored_scripts/delete_script_route.ts" + }, + { + "plugin": "indexLifecycleManagement", + "path": "x-pack/plugins/index_lifecycle_management/server/routes/api/policies/register_delete_route.ts" + }, + { + "plugin": "ingestPipelines", + "path": "x-pack/plugins/ingest_pipelines/server/routes/api/delete.ts" + }, + { + "plugin": "logstash", + "path": "x-pack/plugins/logstash/server/routes/pipeline/delete.ts" + }, + { + "plugin": "reporting", + "path": "x-pack/plugins/reporting/server/test_helpers/create_mock_reportingplugin.ts" + }, + { + "plugin": "snapshotRestore", + "path": "x-pack/plugins/snapshot_restore/server/routes/api/repositories.ts" + }, + { + "plugin": "snapshotRestore", + "path": "x-pack/plugins/snapshot_restore/server/routes/api/policy.ts" + }, + { + "plugin": "synthetics", + "path": "x-pack/plugins/synthetics/server/legacy_uptime/uptime_server.ts" + }, + { + "plugin": "synthetics", + "path": "x-pack/plugins/synthetics/server/server.ts" + }, + { + "plugin": "upgradeAssistant", + "path": "x-pack/plugins/upgrade_assistant/server/routes/deprecation_logging.ts" + }, + { + "plugin": "upgradeAssistant", + "path": "x-pack/plugins/upgrade_assistant/server/routes/ml_snapshots.ts" + }, + { + "plugin": "watcher", + "path": "x-pack/plugins/watcher/server/routes/api/watch/register_delete_route.ts" + }, + { + "plugin": "grokdebugger", + "path": "x-pack/plugins/grokdebugger/server/lib/kibana_framework.ts" + }, + { + "plugin": "ftrApis", + "path": "src/plugins/ftr_apis/server/routes/kbn_client_so/delete.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/router.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/router.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-server-internal", + "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" + }, + { + "plugin": "@kbn/core-http-router-server-mocks", + "path": "packages/core/http/core-http-router-server-mocks/src/router.mock.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/__mocks__/server.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/delete.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/delete.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/delete.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/delete_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/delete_rule.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/delete_rule.test.ts" + }, + { + "plugin": "ecsDataQualityDashboard", + "path": "x-pack/plugins/ecs_data_quality_dashboard/server/__mocks__/server.ts" + }, + { + "plugin": "globalSearch", + "path": "x-pack/plugins/global_search/server/routes/index.test.ts" + }, + { + "plugin": "ruleRegistry", + "path": "x-pack/plugins/rule_registry/server/routes/__mocks__/server.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/delete.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/delete.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/delete.test.ts" + }, + { + "plugin": "actions", + "path": "x-pack/plugins/actions/server/routes/legacy/delete.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/delete.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/delete.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/delete.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/legacy/delete.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/delete_maintenance_window.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/delete_maintenance_window.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/delete_maintenance_window.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/maintenance_window/delete_maintenance_window.test.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/custom_elements/delete.test.ts" + }, + { + "plugin": "canvas", + "path": "x-pack/plugins/canvas/server/routes/workpad/delete.test.ts" + }, + { + "plugin": "remoteClusters", + "path": "x-pack/plugins/remote_clusters/server/routes/api/delete_route.test.ts" + }, + { + "plugin": "crossClusterReplication", + "path": "x-pack/plugins/cross_cluster_replication/server/routes/api/auto_follow_pattern/register_delete_route.test.ts" + }, + { + "plugin": "spaces", + "path": "x-pack/plugins/spaces/server/routes/api/external/delete.test.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/security/types.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/security/fleet_router.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/package_policy/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/agent/index.ts" + }, { - "pluginId": "@kbn/core-http-server", - "scope": "common", - "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.RouteConfig", - "text": "RouteConfig" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/enrollment_api_key/index.ts" }, - ", handler: ", { - "pluginId": "@kbn/core-http-server", - "scope": "common", - "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.RequestHandler", - "text": "RequestHandler" + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/enrollment_api_key/index.ts" }, - ") => void" + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/download_source/index.tsx" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/fleet_server_policy_config/index.ts" + }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/fleet_proxies/index.ts" + }, + { + "plugin": "indexManagement", + "path": "x-pack/plugins/index_management/server/test/helpers/router_mock.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/authentication/index.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/role_mapping/delete.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/role_mapping/delete.test.ts" + }, + { + "plugin": "security", + "path": "x-pack/plugins/security/server/routes/authorization/roles/delete.test.ts" + }, + { + "plugin": "snapshotRestore", + "path": "x-pack/plugins/snapshot_restore/server/test/helpers/router_mock.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/mocks.ts" + } ], - "path": "packages/core/http/core-http-server/src/router/router.ts", - "deprecated": false, - "trackAdoption": false, "returnComment": [], "children": [ { @@ -5065,6 +11936,22 @@ "path": "packages/core/http/core-http-server/src/router/request.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.KibanaRequestState.measureElu", + "type": "Function", + "tags": [], + "label": "measureElu", + "description": [], + "signature": [ + "(() => void) | undefined" + ], + "path": "packages/core/http/core-http-server/src/router/request.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] } ], "initialIsOpen": false @@ -7280,7 +14167,8 @@ "id": "def-common.VersionedRouter.get", "type": "Function", "tags": [ - "experimental" + "experimental", + "track-adoption" ], "label": "get", "description": [], @@ -7305,7 +14193,337 @@ ], "path": "packages/core/http/core-http-server/src/versioning/types.ts", "deprecated": false, - "trackAdoption": false, + "trackAdoption": true, + "references": [ + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/json_schema.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/notifications.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/notifications.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/calendars.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/calendars.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/datafeeds.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/datafeeds.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/datafeeds.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/datafeeds.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/datafeeds.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/data_frame_analytics.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/data_frame_analytics.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/data_frame_analytics.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/data_frame_analytics.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/data_frame_analytics.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/data_frame_analytics.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/data_frame_analytics.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/modules.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/modules.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/modules.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/filters.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/filters.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/filters.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_audit_messages.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_audit_messages.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/saved_objects.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/saved_objects.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/saved_objects.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/saved_objects.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/saved_objects.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/results_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/model_management.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/model_management.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/system.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/system.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/system.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/trained_models.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/trained_models.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/trained_models.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/trained_models.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/management.ts" + }, + { + "plugin": "cloudSecurityPosture", + "path": "x-pack/plugins/cloud_security_posture/server/routes/csp_rule_template/get_csp_rule_template.ts" + }, + { + "plugin": "fileUpload", + "path": "x-pack/plugins/file_upload/server/routes.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/server/mvt/mvt_routes.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/server/mvt/mvt_routes.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/server/data_indexing/indexing_routes.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/server/data_indexing/indexing_routes.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/server/routes.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/server/routes.ts" + }, + { + "plugin": "transform", + "path": "x-pack/plugins/transform/server/routes/api/privileges.ts" + }, + { + "plugin": "transform", + "path": "x-pack/plugins/transform/server/routes/api/transforms_audit_messages.ts" + }, + { + "plugin": "transform", + "path": "x-pack/plugins/transform/server/routes/api/transforms_nodes.ts" + }, + { + "plugin": "transform", + "path": "x-pack/plugins/transform/server/routes/api/transforms.ts" + }, + { + "plugin": "transform", + "path": "x-pack/plugins/transform/server/routes/api/transforms.ts" + }, + { + "plugin": "transform", + "path": "x-pack/plugins/transform/server/routes/api/transforms.ts" + }, + { + "plugin": "transform", + "path": "x-pack/plugins/transform/server/routes/api/transforms.ts" + }, + { + "plugin": "controls", + "path": "src/plugins/controls/server/options_list/options_list_cluster_settings_route.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_router.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_route.test.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_route.test.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_route.test.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_route.test.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_route.test.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_route.test.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_route.test.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_route.test.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_route.test.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_route.test.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_router.test.ts" + }, + { + "plugin": "@kbn/core-http-router-server-mocks", + "path": "packages/core/http/core-http-router-server-mocks/src/versioned_router.mock.ts" + } + ], "returnComment": [], "children": [ { @@ -7345,32 +14563,87 @@ "id": "def-common.VersionedRouter.put", "type": "Function", "tags": [ - "experimental" + "experimental", + "track-adoption" ], "label": "put", "description": [], "signature": [ "(config: ", { - "pluginId": "@kbn/core-http-server", - "scope": "common", - "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.VersionedRouteConfig", - "text": "VersionedRouteConfig" + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.VersionedRouteConfig", + "text": "VersionedRouteConfig" + }, + "<\"put\">) => ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.VersionedRoute", + "text": "VersionedRoute" + }, + "<\"put\", Ctx>" + ], + "path": "packages/core/http/core-http-server/src/versioning/types.ts", + "deprecated": false, + "trackAdoption": true, + "references": [ + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/annotations.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/calendars.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/calendars.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/datafeeds.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/data_frame_analytics.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/filters.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/filters.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_audit_messages.ts" }, - "<\"put\">) => ", { - "pluginId": "@kbn/core-http-server", - "scope": "common", - "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.VersionedRoute", - "text": "VersionedRoute" + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" }, - "<\"put\", Ctx>" + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/trained_models.ts" + }, + { + "plugin": "transform", + "path": "x-pack/plugins/transform/server/routes/api/transforms.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_router.ts" + }, + { + "plugin": "@kbn/core-http-router-server-mocks", + "path": "packages/core/http/core-http-router-server-mocks/src/versioned_router.mock.ts" + } ], - "path": "packages/core/http/core-http-server/src/versioning/types.ts", - "deprecated": false, - "trackAdoption": false, "returnComment": [], "children": [ { @@ -7410,7 +14683,8 @@ "id": "def-common.VersionedRouter.post", "type": "Function", "tags": [ - "experimental" + "experimental", + "track-adoption" ], "label": "post", "description": [], @@ -7435,7 +14709,401 @@ ], "path": "packages/core/http/core-http-server/src/versioning/types.ts", "deprecated": false, - "trackAdoption": false, + "trackAdoption": true, + "references": [ + { + "plugin": "aiops", + "path": "x-pack/plugins/aiops/server/routes/explain_log_rate_spikes.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/annotations.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/datafeeds.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/datafeeds.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/datafeeds.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/data_frame_analytics.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/data_frame_analytics.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/data_frame_analytics.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/data_frame_analytics.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/data_frame_analytics.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/data_frame_analytics.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/data_frame_analytics.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/modules.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/data_visualizer.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/fields_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/fields_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/indices.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/saved_objects.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/saved_objects.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/saved_objects.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/saved_objects.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/saved_objects.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_validation.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_validation.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_validation.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_validation.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/job_validation.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/results_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/results_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/results_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/results_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/results_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/results_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/results_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/results_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/results_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/results_service.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/system.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/system.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/system.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/trained_models.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/trained_models.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/trained_models.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/trained_models.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/trained_models.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/alerting.ts" + }, + { + "plugin": "unifiedSearch", + "path": "src/plugins/unified_search/server/autocomplete/value_suggestions_route.ts" + }, + { + "plugin": "fileUpload", + "path": "x-pack/plugins/file_upload/server/routes.ts" + }, + { + "plugin": "fileUpload", + "path": "x-pack/plugins/file_upload/server/routes.ts" + }, + { + "plugin": "fileUpload", + "path": "x-pack/plugins/file_upload/server/routes.ts" + }, + { + "plugin": "fileUpload", + "path": "x-pack/plugins/file_upload/server/routes.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/server/data_indexing/indexing_routes.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/server/data_indexing/indexing_routes.ts" + }, + { + "plugin": "transform", + "path": "x-pack/plugins/transform/server/routes/api/field_histograms.ts" + }, + { + "plugin": "transform", + "path": "x-pack/plugins/transform/server/routes/api/transforms.ts" + }, + { + "plugin": "transform", + "path": "x-pack/plugins/transform/server/routes/api/transforms.ts" + }, + { + "plugin": "transform", + "path": "x-pack/plugins/transform/server/routes/api/transforms.ts" + }, + { + "plugin": "transform", + "path": "x-pack/plugins/transform/server/routes/api/transforms.ts" + }, + { + "plugin": "transform", + "path": "x-pack/plugins/transform/server/routes/api/transforms.ts" + }, + { + "plugin": "transform", + "path": "x-pack/plugins/transform/server/routes/api/transforms.ts" + }, + { + "plugin": "transform", + "path": "x-pack/plugins/transform/server/routes/api/transforms.ts" + }, + { + "plugin": "transform", + "path": "x-pack/plugins/transform/server/routes/api/transforms.ts" + }, + { + "plugin": "controls", + "path": "src/plugins/controls/server/options_list/options_list_suggestions_route.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_router.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_route.test.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_route.test.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_route.test.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_router.test.ts" + }, + { + "plugin": "@kbn/core-http-router-server-mocks", + "path": "packages/core/http/core-http-router-server-mocks/src/versioned_router.mock.ts" + } + ], "returnComment": [], "children": [ { @@ -7475,7 +15143,8 @@ "id": "def-common.VersionedRouter.patch", "type": "Function", "tags": [ - "experimental" + "experimental", + "track-adoption" ], "label": "patch", "description": [], @@ -7500,7 +15169,17 @@ ], "path": "packages/core/http/core-http-server/src/versioning/types.ts", "deprecated": false, - "trackAdoption": false, + "trackAdoption": true, + "references": [ + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_router.ts" + }, + { + "plugin": "@kbn/core-http-router-server-mocks", + "path": "packages/core/http/core-http-router-server-mocks/src/versioned_router.mock.ts" + } + ], "returnComment": [], "children": [ { @@ -7540,7 +15219,8 @@ "id": "def-common.VersionedRouter.delete", "type": "Function", "tags": [ - "experimental" + "experimental", + "track-adoption" ], "label": "delete", "description": [], @@ -7565,7 +15245,57 @@ ], "path": "packages/core/http/core-http-server/src/versioning/types.ts", "deprecated": false, - "trackAdoption": false, + "trackAdoption": true, + "references": [ + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/annotations.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/calendars.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/datafeeds.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/data_frame_analytics.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/filters.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" + }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/trained_models.ts" + }, + { + "plugin": "maps", + "path": "x-pack/plugins/maps/server/data_indexing/indexing_routes.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_router.ts" + }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_router.test.ts" + }, + { + "plugin": "@kbn/core-http-router-server-mocks", + "path": "packages/core/http/core-http-router-server-mocks/src/versioned_router.mock.ts" + } + ], "returnComment": [], "children": [ { diff --git a/api_docs/kbn_core_http_server.mdx b/api_docs/kbn_core_http_server.mdx index 8899766b60987..0edbd4bd79814 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server'] --- import kbnCoreHttpServerObj from './kbn_core_http_server.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 440 | 1 | 176 | 0 | +| 444 | 1 | 178 | 0 | ## Common diff --git a/api_docs/kbn_core_http_server_internal.devdocs.json b/api_docs/kbn_core_http_server_internal.devdocs.json index 10c1e0de34015..5ab81378db238 100644 --- a/api_docs/kbn_core_http_server_internal.devdocs.json +++ b/api_docs/kbn_core_http_server_internal.devdocs.json @@ -535,6 +535,26 @@ "path": "packages/core/http/core-http-server-internal/src/http_config.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-http-server-internal", + "id": "def-common.HttpConfig.eluMonitor", + "type": "Object", + "tags": [], + "label": "eluMonitor", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.IHttpEluMonitorConfig", + "text": "IHttpEluMonitorConfig" + } + ], + "path": "packages/core/http/core-http-server-internal/src/http_config.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false @@ -881,7 +901,7 @@ "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, - "; readonly rewriteBasePath: boolean; readonly keepaliveTimeout: number; readonly socketTimeout: number; readonly xsrf: Readonly<{} & { disableProtection: boolean; allowlist: string[]; }>; readonly requestId: Readonly<{} & { allowFromAnyIp: boolean; ipAllowlist: string[]; }>; readonly restrictInternalApis: boolean; }" + "; readonly rewriteBasePath: boolean; readonly keepaliveTimeout: number; readonly socketTimeout: number; readonly xsrf: Readonly<{} & { disableProtection: boolean; allowlist: string[]; }>; readonly eluMonitor: Readonly<{} & { enabled: boolean; logging: Readonly<{} & { enabled: boolean; threshold: Readonly<{} & { elu: number; ela: number; }>; }>; }>; readonly requestId: Readonly<{} & { allowFromAnyIp: boolean; ipAllowlist: string[]; }>; readonly restrictInternalApis: boolean; }" ], "path": "packages/core/http/core-http-server-internal/src/http_config.ts", "deprecated": false, diff --git a/api_docs/kbn_core_http_server_internal.mdx b/api_docs/kbn_core_http_server_internal.mdx index dc7b86b0b60e5..978b1e063cbff 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server-internal'] --- import kbnCoreHttpServerInternalObj from './kbn_core_http_server_internal.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 56 | 0 | 50 | 6 | +| 57 | 0 | 51 | 6 | ## Common diff --git a/api_docs/kbn_core_http_server_mocks.mdx b/api_docs/kbn_core_http_server_mocks.mdx index da38c28701354..9a935086d111c 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-05-16 +date: 2023-06-07 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 aec54dd82b672..94bc5ef3a0d26 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-05-16 +date: 2023-06-07 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 51da02006c848..787284a7e02c0 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-05-16 +date: 2023-06-07 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 e7233f7caa8d7..285fc3a34939f 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-05-16 +date: 2023-06-07 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 81baa069b2d53..c93aeddc4e46e 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-05-16 +date: 2023-06-07 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 dc48f1dc133d4..0bef9de232042 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-05-16 +date: 2023-06-07 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 ddb392b791ad2..f52b155340d3d 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-05-16 +date: 2023-06-07 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 850604c29cfbf..1e9b2bc7a7e34 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-05-16 +date: 2023-06-07 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 309fa28863b77..0ce9ceb1c7053 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-05-16 +date: 2023-06-07 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.devdocs.json b/api_docs/kbn_core_lifecycle_browser.devdocs.json index 1cc2ffe7326c0..58894c50f5fc3 100644 --- a/api_docs/kbn_core_lifecycle_browser.devdocs.json +++ b/api_docs/kbn_core_lifecycle_browser.devdocs.json @@ -585,10 +585,6 @@ "plugin": "presentationUtil", "path": "src/plugins/presentation_util/public/services/dashboards/dashboards_service.ts" }, - { - "plugin": "visualizations", - "path": "src/plugins/visualizations/public/visualize_app/utils/get_visualization_instance.ts" - }, { "plugin": "visualizations", "path": "src/plugins/visualizations/public/plugin.ts" @@ -602,8 +598,8 @@ "path": "src/plugins/dashboard/public/dashboard_actions/index.ts" }, { - "plugin": "lens", - "path": "x-pack/plugins/lens/public/datasources/form_based/form_based.tsx" + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.tsx" }, { "plugin": "lens", @@ -625,18 +621,6 @@ "plugin": "lens", "path": "x-pack/plugins/lens/public/visualizations/xy/visualization.tsx" }, - { - "plugin": "discover", - "path": "src/plugins/discover/public/application/main/services/discover_saved_search_container.ts" - }, - { - "plugin": "discover", - "path": "src/plugins/discover/public/application/main/services/discover_saved_search_container.ts" - }, - { - "plugin": "discover", - "path": "src/plugins/discover/public/embeddable/search_embeddable_factory.ts" - }, { "plugin": "fileUpload", "path": "x-pack/plugins/file_upload/public/kibana_services.ts" @@ -645,10 +629,6 @@ "plugin": "ml", "path": "x-pack/plugins/ml/public/application/app.tsx" }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/app.tsx" - }, { "plugin": "fleet", "path": "x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/assets/assets.tsx" @@ -669,18 +649,10 @@ "plugin": "dashboardEnhanced", "path": "x-pack/plugins/dashboard_enhanced/public/services/drilldowns/abstract_dashboard_drilldown/components/collect_config_container.tsx" }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/plugin.ts" - }, { "plugin": "monitoring", "path": "x-pack/plugins/monitoring/public/application/pages/elasticsearch/ingest_pipeline_modal.tsx" }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/use_filters.ts" - }, { "plugin": "synthetics", "path": "x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_selector/use_recently_viewed_monitors.ts" @@ -691,23 +663,31 @@ }, { "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/hooks/use_location_monitors.ts" + "path": "x-pack/plugins/synthetics/public/plugin.ts" }, { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/use_monitor_name.ts" + "plugin": "transform", + "path": "x-pack/plugins/transform/public/app/mount_management_section.ts" }, { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/plugin.ts" + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.test.ts" }, { - "plugin": "transform", - "path": "x-pack/plugins/transform/public/app/mount_management_section.ts" + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.test.ts" }, { - "plugin": "discover", - "path": "src/plugins/discover/public/application/main/services/discover_saved_search_container.test.ts" + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.test.ts" + }, + { + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.test.ts" + }, + { + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.test.ts" }, { "plugin": "discover", @@ -732,10 +712,6 @@ { "plugin": "ml", "path": "x-pack/plugins/ml/public/application/services/dashboard_service.ts" - }, - { - "plugin": "cloudSecurityPosture", - "path": "x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_rules.ts" } ] }, diff --git a/api_docs/kbn_core_lifecycle_browser.mdx b/api_docs/kbn_core_lifecycle_browser.mdx index 654ef77892cd3..ac530b15b2bc7 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-05-16 +date: 2023-06-07 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 5b72a22f2c00f..8a68e535fe1bc 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-05-16 +date: 2023-06-07 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 ed7bf9b6ebcde..543858d9c1783 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-05-16 +date: 2023-06-07 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 83bddf413c7b6..1e2063256f068 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-05-16 +date: 2023-06-07 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 ab18f62c40755..8caa171fca449 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-05-16 +date: 2023-06-07 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 f1783eef591e8..cf8155ae496a9 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-05-16 +date: 2023-06-07 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 197e85d31466a..303b5cadef9bd 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-05-16 +date: 2023-06-07 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 6afd80453160c..f951d63044f1d 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-05-16 +date: 2023-06-07 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 c0c56eb04919a..8067be6bd1e22 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-05-16 +date: 2023-06-07 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 d5f498d2a2bc0..7f55aad04dc99 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-05-16 +date: 2023-06-07 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 6c5d68617ab01..eee8976ce50b9 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-05-16 +date: 2023-06-07 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 848bf24c5cdc8..1a8f531ab7c2c 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-05-16 +date: 2023-06-07 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 105dbfb2e8a33..d7a867ccf79c6 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-05-16 +date: 2023-06-07 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 6ac4d287cf8b4..bfa6284d6765b 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-05-16 +date: 2023-06-07 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 dc738e5200e21..aefc2333fa08c 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-05-16 +date: 2023-06-07 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 dfde6079d5574..14b05de0df2c3 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-05-16 +date: 2023-06-07 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 6e70d30bd37a3..b5a889f9949c2 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-05-16 +date: 2023-06-07 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 b3b908ae8309b..6dd20254d5435 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-05-16 +date: 2023-06-07 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 6f4ad2901c159..ad400bb7c9e34 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-05-16 +date: 2023-06-07 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 1eb861c0f9e44..87c54131afea2 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-05-16 +date: 2023-06-07 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 47d951d3b7370..36d81a232dc92 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-05-16 +date: 2023-06-07 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 84912738d2b0f..6112ae6e78114 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-05-16 +date: 2023-06-07 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 5cc32b132e1b7..312f4e47212d9 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-05-16 +date: 2023-06-07 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 a7fb1a06a8097..0f55a2b3c7ec4 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-05-16 +date: 2023-06-07 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 00945cdc047d3..95ff19a157693 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-05-16 +date: 2023-06-07 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 a8cd31b53caad..01ada7759f15a 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-05-16 +date: 2023-06-07 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 098e23da919f2..6beb4191c3ca7 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-05-16 +date: 2023-06-07 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 c63e3f3f96504..6e4d7c3122480 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-05-16 +date: 2023-06-07 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 d306582a58e8c..ef4a542a88442 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-05-16 +date: 2023-06-07 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 2d6ffa83279c8..80e0eb685774b 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-05-16 +date: 2023-06-07 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 1a4c7f498b407..2e2822dd565df 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-05-16 +date: 2023-06-07 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 d03e92a72dcec..238d9d2c34082 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-05-16 +date: 2023-06-07 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 aa703854fbde7..9db8a01e97e44 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-05-16 +date: 2023-06-07 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 89ada4c4b9360..45e93044527f1 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-05-16 +date: 2023-06-07 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.devdocs.json b/api_docs/kbn_core_saved_objects_api_browser.devdocs.json index 84c6911dd2f32..7f5f480318239 100644 --- a/api_docs/kbn_core_saved_objects_api_browser.devdocs.json +++ b/api_docs/kbn_core_saved_objects_api_browser.devdocs.json @@ -978,22 +978,6 @@ "plugin": "savedObjects", "path": "src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.ts" }, - { - "plugin": "savedSearch", - "path": "src/plugins/saved_search/public/services/saved_searches/get_saved_searches.ts" - }, - { - "plugin": "savedSearch", - "path": "src/plugins/saved_search/public/services/saved_searches/get_saved_searches.ts" - }, - { - "plugin": "savedSearch", - "path": "src/plugins/saved_search/public/services/saved_searches/save_saved_searches.ts" - }, - { - "plugin": "savedSearch", - "path": "src/plugins/saved_search/public/services/saved_searches/save_saved_searches.ts" - }, { "plugin": "visualizations", "path": "src/plugins/visualizations/public/plugin.ts" @@ -1059,28 +1043,12 @@ "path": "src/plugins/dashboard/public/plugin.tsx" }, { - "plugin": "lens", - "path": "x-pack/plugins/lens/public/datasources/form_based/dimension_panel/reference_editor.tsx" - }, - { - "plugin": "lens", - "path": "x-pack/plugins/lens/public/datasources/form_based/dimension_panel/reference_editor.tsx" - }, - { - "plugin": "lens", - "path": "x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimension_panel.tsx" - }, - { - "plugin": "lens", - "path": "x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimension_panel.tsx" - }, - { - "plugin": "lens", - "path": "x-pack/plugins/lens/public/datasources/form_based/operations/definitions/index.ts" + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.tsx" }, { - "plugin": "lens", - "path": "x-pack/plugins/lens/public/datasources/form_based/operations/definitions/index.ts" + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.tsx" }, { "plugin": "ml", @@ -1090,18 +1058,6 @@ "plugin": "ml", "path": "x-pack/plugins/ml/public/application/util/dependency_cache.ts" }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/routing/use_resolver.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/routing/use_resolver.ts" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/routing/use_resolver.ts" - }, { "plugin": "ml", "path": "x-pack/plugins/ml/public/application/services/dashboard_service.ts" @@ -1110,14 +1066,6 @@ "plugin": "ml", "path": "x-pack/plugins/ml/public/application/services/dashboard_service.ts" }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/routing/router.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/routing/router.tsx" - }, { "plugin": "canvas", "path": "x-pack/plugins/canvas/public/services/platform.ts" @@ -1126,66 +1074,6 @@ "plugin": "canvas", "path": "x-pack/plugins/canvas/public/services/platform.ts" }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/services/save_modal.tsx" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/services/save_modal.tsx" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/helpers/saved_workspace_utils.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/helpers/saved_workspace_utils.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/helpers/saved_workspace_utils.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/helpers/saved_workspace_utils.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/helpers/saved_workspace_utils.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/state_management/store.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/state_management/store.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/helpers/use_workspace_loader.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/helpers/use_workspace_loader.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/application.tsx" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/application.tsx" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/state_management/mocks.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/state_management/mocks.ts" - }, { "plugin": "lens", "path": "x-pack/plugins/lens/public/persistence/saved_objects_utils/find_object_by_title.test.ts" @@ -1290,10 +1178,6 @@ "plugin": "@kbn/core-saved-objects-browser-mocks", "path": "packages/core/saved-objects/core-saved-objects-browser-mocks/src/saved_objects_service.mock.ts" }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/public/saved_objects_client_wrapper.ts" - }, { "plugin": "savedObjects", "path": "src/plugins/saved_objects/public/saved_object/helpers/create_source.ts" @@ -1314,10 +1198,6 @@ "plugin": "savedObjects", "path": "src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.ts" }, - { - "plugin": "savedSearch", - "path": "src/plugins/saved_search/public/services/saved_searches/save_saved_searches.ts" - }, { "plugin": "dashboard", "path": "src/plugins/dashboard/public/services/dashboard_saved_object/lib/save_dashboard_state_to_saved_object.ts" @@ -1327,12 +1207,16 @@ "path": "src/plugins/dashboard/public/dashboard_actions/clone_panel_action.tsx" }, { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/helpers/saved_workspace_utils.ts" + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.tsx" }, { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/helpers/saved_workspace_utils.test.ts" + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.test.ts" + }, + { + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.test.ts" }, { "plugin": "savedObjects", @@ -1390,10 +1274,6 @@ "plugin": "savedObjects", "path": "src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.test.ts" }, - { - "plugin": "savedSearch", - "path": "src/plugins/saved_search/public/services/saved_searches/save_saved_searches.test.ts" - }, { "plugin": "@kbn/core-saved-objects-browser-internal", "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.test.ts" @@ -1537,6 +1417,10 @@ "plugin": "home", "path": "src/plugins/home/public/application/components/home_app.js" }, + { + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.test.ts" + }, { "plugin": "@kbn/core-saved-objects-browser-internal", "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.ts" @@ -1642,10 +1526,6 @@ "plugin": "@kbn/core-saved-objects-browser-mocks", "path": "packages/core/saved-objects/core-saved-objects-browser-mocks/src/saved_objects_service.mock.ts" }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/public/saved_objects_client_wrapper.ts" - }, { "plugin": "savedObjects", "path": "src/plugins/saved_objects/public/saved_object/helpers/build_saved_object.ts" @@ -1658,10 +1538,6 @@ "plugin": "dashboard", "path": "src/plugins/dashboard/public/dashboard_listing/dashboard_listing.tsx" }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/helpers/saved_workspace_utils.ts" - }, { "plugin": "@kbn/core-saved-objects-browser-internal", "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.ts" @@ -1787,10 +1663,6 @@ "plugin": "@kbn/core-saved-objects-browser-mocks", "path": "packages/core/saved-objects/core-saved-objects-browser-mocks/src/saved_objects_service.mock.ts" }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/components/settings/global_params/delete_param.tsx" - }, { "plugin": "@kbn/core-saved-objects-browser-internal", "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.ts" @@ -1903,10 +1775,6 @@ "plugin": "@kbn/core-saved-objects-browser-mocks", "path": "packages/core/saved-objects/core-saved-objects-browser-mocks/src/saved_objects_service.mock.ts" }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/public/saved_objects_client_wrapper.ts" - }, { "plugin": "savedObjects", "path": "src/plugins/saved_objects/public/saved_object/helpers/find_object_by_title.ts" @@ -1915,10 +1783,6 @@ "plugin": "presentationUtil", "path": "src/plugins/presentation_util/public/services/dashboards/dashboards_service.ts" }, - { - "plugin": "savedSearch", - "path": "src/plugins/saved_search/public/services/saved_searches/save_saved_searches.ts" - }, { "plugin": "dashboard", "path": "src/plugins/dashboard/public/services/dashboard_saved_object/lib/find_dashboard_saved_objects.ts" @@ -1936,8 +1800,8 @@ "path": "src/plugins/dashboard/public/dashboard_actions/clone_panel_action.tsx" }, { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/util/index_utils.ts" + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.tsx" }, { "plugin": "ml", @@ -1947,46 +1811,14 @@ "plugin": "ml", "path": "x-pack/plugins/ml/public/application/services/dashboard_service.ts" }, - { - "plugin": "cloudSecurityPosture", - "path": "x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_rules.ts" - }, { "plugin": "dashboardEnhanced", "path": "x-pack/plugins/dashboard_enhanced/public/services/drilldowns/abstract_dashboard_drilldown/components/collect_config_container.tsx" }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/helpers/saved_workspace_utils.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/use_filters.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/components/settings/private_locations/hooks/use_location_monitors.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/use_monitor_name.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/helpers/saved_workspace_utils.test.ts" - }, { "plugin": "ml", "path": "x-pack/plugins/ml/public/application/services/dashboard_service.test.ts" }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/use_filters.test.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/common/monitor_filters/use_filters.test.ts" - }, { "plugin": "savedObjects", "path": "src/plugins/saved_objects/public/saved_object/saved_object.test.ts" @@ -1999,14 +1831,6 @@ "plugin": "savedObjects", "path": "src/plugins/saved_objects/public/saved_object/helpers/find_object_by_title.test.ts" }, - { - "plugin": "savedSearch", - "path": "src/plugins/saved_search/public/services/saved_searches/save_saved_searches.test.ts" - }, - { - "plugin": "savedSearch", - "path": "src/plugins/saved_search/public/services/saved_searches/save_saved_searches.test.ts" - }, { "plugin": "@kbn/core-saved-objects-browser-internal", "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/saved_objects_client.ts" @@ -2096,8 +1920,8 @@ "path": "src/plugins/dashboard/public/dashboard_actions/clone_panel_action.tsx" }, { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/application/util/index_utils.ts" + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.tsx" }, { "plugin": "ml", @@ -2107,10 +1931,6 @@ "plugin": "ml", "path": "x-pack/plugins/ml/public/application/jobs/new_job/job_from_lens/route_resolver.ts" }, - { - "plugin": "cloudSecurityPosture", - "path": "x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_rules.ts" - }, { "plugin": "dashboardEnhanced", "path": "x-pack/plugins/dashboard_enhanced/public/services/drilldowns/abstract_dashboard_drilldown/components/collect_config_container.tsx" @@ -2119,6 +1939,10 @@ "plugin": "monitoring", "path": "x-pack/plugins/monitoring/public/application/pages/elasticsearch/ingest_pipeline_modal.tsx" }, + { + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.test.ts" + }, { "plugin": "savedObjects", "path": "src/plugins/saved_objects/public/saved_object/saved_object.test.ts" @@ -2356,58 +2180,10 @@ "plugin": "dataViews", "path": "src/plugins/data_views/public/saved_objects_client_wrapper.ts" }, - { - "plugin": "savedSearch", - "path": "src/plugins/saved_search/public/services/saved_searches/get_saved_searches.ts" - }, { "plugin": "dashboard", "path": "src/plugins/dashboard/public/services/dashboard_saved_object/lib/load_dashboard_state_from_saved_object.ts" }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/public/helpers/saved_workspace_utils.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/public/saved_objects_client_wrapper.test.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/public/saved_objects_client_wrapper.test.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/public/saved_objects_client_wrapper.test.ts" - }, - { - "plugin": "savedSearch", - "path": "src/plugins/saved_search/public/services/saved_searches/get_saved_searches.test.ts" - }, - { - "plugin": "savedSearch", - "path": "src/plugins/saved_search/public/services/saved_searches/get_saved_searches.test.ts" - }, - { - "plugin": "savedSearch", - "path": "src/plugins/saved_search/public/services/saved_searches/get_saved_searches.test.ts" - }, - { - "plugin": "savedSearch", - "path": "src/plugins/saved_search/public/services/saved_searches/get_saved_searches.test.ts" - }, - { - "plugin": "savedSearch", - "path": "src/plugins/saved_search/public/services/saved_searches/get_saved_searches.test.ts" - }, - { - "plugin": "savedSearch", - "path": "src/plugins/saved_search/public/services/saved_searches/get_saved_searches.test.ts" - }, - { - "plugin": "discover", - "path": "src/plugins/discover/public/application/main/services/discover_saved_search_container.test.ts" - }, { "plugin": "discover", "path": "src/plugins/discover/public/application/main/services/discover_state.test.ts" @@ -2635,25 +2411,17 @@ "path": "packages/core/saved-objects/core-saved-objects-browser-mocks/src/saved_objects_service.mock.ts" }, { - "plugin": "dataViews", - "path": "src/plugins/data_views/public/saved_objects_client_wrapper.ts" + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.tsx" }, { - "plugin": "savedSearch", - "path": "src/plugins/saved_search/public/services/saved_searches/save_saved_searches.ts" + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.test.ts" }, { "plugin": "savedObjects", "path": "src/plugins/saved_objects/public/saved_object/saved_object.test.ts" }, - { - "plugin": "savedSearch", - "path": "src/plugins/saved_search/public/services/saved_searches/save_saved_searches.test.ts" - }, - { - "plugin": "savedSearch", - "path": "src/plugins/saved_search/public/services/saved_searches/save_saved_searches.test.ts" - }, { "plugin": "@kbn/core-saved-objects-browser-internal", "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.test.ts" @@ -2883,22 +2651,6 @@ "plugin": "@kbn/core", "path": "src/core/public/index.ts" }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/types.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/types.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/public/saved_objects_client_wrapper.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/public/saved_objects_client_wrapper.ts" - }, { "plugin": "savedObjects", "path": "src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.ts" @@ -2915,6 +2667,14 @@ "plugin": "visualizations", "path": "src/plugins/visualizations/public/utils/saved_objects_utils/save_with_confirmation.ts" }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/public/helpers/saved_objects_utils/save_with_confirmation.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/public/helpers/saved_objects_utils/save_with_confirmation.ts" + }, { "plugin": "savedObjects", "path": "src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.test.ts" @@ -3224,22 +2984,6 @@ { "plugin": "@kbn/core", "path": "src/core/public/index.ts" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/saved_queries/use_saved_queries.ts" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/saved_queries/use_saved_queries.ts" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/packs/use_packs.ts" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/packs/use_packs.ts" } ], "children": [ @@ -3337,22 +3081,6 @@ { "plugin": "@kbn/core", "path": "src/core/public/index.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/types.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/types.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/public/saved_objects_client_wrapper.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/public/saved_objects_client_wrapper.ts" } ], "children": [ @@ -3479,14 +3207,6 @@ "plugin": "@kbn/core", "path": "src/core/public/index.ts" }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/public/saved_objects_client_wrapper.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/public/saved_objects_client_wrapper.ts" - }, { "plugin": "savedObjects", "path": "src/plugins/saved_objects/public/saved_object/helpers/find_object_by_title.ts" @@ -3579,18 +3299,6 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/assets/types.ts" }, - { - "plugin": "cloudSecurityPosture", - "path": "x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_rules.ts" - }, - { - "plugin": "cloudSecurityPosture", - "path": "x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_rules.ts" - }, - { - "plugin": "cloudSecurityPosture", - "path": "x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_rules.ts" - }, { "plugin": "dashboardEnhanced", "path": "x-pack/plugins/dashboard_enhanced/public/services/drilldowns/abstract_dashboard_drilldown/components/collect_config_container.tsx" @@ -3615,6 +3323,14 @@ "plugin": "synthetics", "path": "x-pack/plugins/synthetics/common/types/synthetics_monitor.ts" }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/public/helpers/saved_objects_utils/find_object_by_title.test.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/public/helpers/saved_objects_utils/find_object_by_title.test.ts" + }, { "plugin": "lens", "path": "x-pack/plugins/lens/public/persistence/saved_objects_utils/find_object_by_title.test.ts" @@ -3631,6 +3347,14 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/hooks/types.ts" }, + { + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.test.ts" + }, + { + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.test.ts" + }, { "plugin": "savedObjects", "path": "src/plugins/saved_objects/public/saved_object/saved_object.test.ts" @@ -4232,14 +3956,6 @@ { "plugin": "@kbn/core", "path": "src/core/public/index.ts" - }, - { - "plugin": "cloudSecurityPosture", - "path": "x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_rules.ts" - }, - { - "plugin": "cloudSecurityPosture", - "path": "x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_rules.ts" } ], "initialIsOpen": false diff --git a/api_docs/kbn_core_saved_objects_api_browser.mdx b/api_docs/kbn_core_saved_objects_api_browser.mdx index 8912bacb162c4..e2f1045e7c9d0 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-05-16 +date: 2023-06-07 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.devdocs.json b/api_docs/kbn_core_saved_objects_api_server.devdocs.json index 22aef9d53e868..d203f470ce7ba 100644 --- a/api_docs/kbn_core_saved_objects_api_server.devdocs.json +++ b/api_docs/kbn_core_saved_objects_api_server.devdocs.json @@ -2366,22 +2366,6 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts" }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/server/sample_data/logs.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/server/sample_data/ecommerce.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/server/sample_data/flights.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" @@ -2466,6 +2450,22 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/server/sample_data/logs.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/server/sample_data/ecommerce.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/server/sample_data/flights.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts" + }, { "plugin": "alerting", "path": "x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts" @@ -2724,19 +2724,19 @@ }, { "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/saved_objects/geo_containment/migrations.ts" + "path": "x-pack/plugins/alerting/server/rules_client/common/inject_references.ts" }, { "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/saved_objects/geo_containment/migrations.ts" + "path": "x-pack/plugins/alerting/server/rules_client/common/inject_references.ts" }, { "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/rules_client/common/inject_references.ts" + "path": "x-pack/plugins/alerting/server/saved_objects/geo_containment/migrations.ts" }, { "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/rules_client/common/inject_references.ts" + "path": "x-pack/plugins/alerting/server/saved_objects/geo_containment/migrations.ts" }, { "plugin": "alerting", diff --git a/api_docs/kbn_core_saved_objects_api_server.mdx b/api_docs/kbn_core_saved_objects_api_server.mdx index 88fc4efc03ef5..029c0ff6465cd 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-05-16 +date: 2023-06-07 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 13e294d8fca83..6f5b8b9d8863e 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-05-16 +date: 2023-06-07 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.devdocs.json b/api_docs/kbn_core_saved_objects_base_server_internal.devdocs.json index 0df63b7a92fb8..235b4375865d8 100644 --- a/api_docs/kbn_core_saved_objects_base_server_internal.devdocs.json +++ b/api_docs/kbn_core_saved_objects_base_server_internal.devdocs.json @@ -78,6 +78,14 @@ "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, + "; readonly maxReadBatchSizeBytes: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.ByteSizeValue", + "text": "ByteSizeValue" + }, "; readonly scrollDuration: string; readonly retryAttempts: number; }" ], "path": "packages/core/saved-objects/core-saved-objects-base-server-internal/src/saved_objects_config.ts", @@ -137,6 +145,14 @@ "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, + "; maxReadBatchSizeBytes: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.ByteSizeValue", + "text": "ByteSizeValue" + }, "; scrollDuration: string; retryAttempts: number; }>" ], "path": "packages/core/saved-objects/core-saved-objects-base-server-internal/src/saved_objects_config.ts", @@ -356,6 +372,55 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/core-saved-objects-base-server-internal", + "id": "def-common.convertModelVersionBackwardConversionSchema", + "type": "Function", + "tags": [], + "label": "convertModelVersionBackwardConversionSchema", + "description": [], + "signature": [ + "(schema: ", + { + "pluginId": "@kbn/core-saved-objects-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsServerPluginApi", + "section": "def-common.SavedObjectModelVersionForwardCompatibilitySchema", + "text": "SavedObjectModelVersionForwardCompatibilitySchema" + }, + ") => ", + "ConvertedSchema" + ], + "path": "packages/core/saved-objects/core-saved-objects-base-server-internal/src/model_version/backward_conversion_schema.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/core-saved-objects-base-server-internal", + "id": "def-common.convertModelVersionBackwardConversionSchema.$1", + "type": "CompoundType", + "tags": [], + "label": "schema", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-saved-objects-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsServerPluginApi", + "section": "def-common.SavedObjectModelVersionForwardCompatibilitySchema", + "text": "SavedObjectModelVersionForwardCompatibilitySchema" + }, + "" + ], + "path": "packages/core/saved-objects/core-saved-objects-base-server-internal/src/model_version/backward_conversion_schema.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", "id": "def-common.decodeRequestVersion", @@ -1447,6 +1512,23 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "@kbn/core-saved-objects-base-server-internal", + "id": "def-common.globalSwitchToModelVersionAt", + "type": "string", + "tags": [], + "label": "globalSwitchToModelVersionAt", + "description": [ + "\nThe stack version where all types will be forced to switch to using the model version system." + ], + "signature": [ + "\"8.10.0\"" + ], + "path": "packages/core/saved-objects/core-saved-objects-base-server-internal/src/model_version/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", "id": "def-common.ModelVersionMap", @@ -1520,6 +1602,14 @@ "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, + "; readonly maxReadBatchSizeBytes: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.ByteSizeValue", + "text": "ByteSizeValue" + }, "; readonly scrollDuration: string; readonly retryAttempts: number; }" ], "path": "packages/core/saved-objects/core-saved-objects-base-server-internal/src/saved_objects_config.ts", @@ -1546,6 +1636,50 @@ } ], "objects": [ + { + "parentPluginId": "@kbn/core-saved-objects-base-server-internal", + "id": "def-common.DEFAULT_INDEX_TYPES_MAP", + "type": "Object", + "tags": [], + "label": "DEFAULT_INDEX_TYPES_MAP", + "description": [ + "\nThis map holds the default breakdown of SO types per index (pre 8.8.0)" + ], + "path": "packages/core/saved-objects/core-saved-objects-base-server-internal/src/constants.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/core-saved-objects-base-server-internal", + "id": "def-common.DEFAULT_INDEX_TYPES_MAP..kibana_task_manager", + "type": "Array", + "tags": [], + "label": "'.kibana_task_manager'", + "description": [], + "signature": [ + "string[]" + ], + "path": "packages/core/saved-objects/core-saved-objects-base-server-internal/src/constants.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-saved-objects-base-server-internal", + "id": "def-common.DEFAULT_INDEX_TYPES_MAP..kibana", + "type": "Array", + "tags": [], + "label": "'.kibana'", + "description": [], + "signature": [ + "string[]" + ], + "path": "packages/core/saved-objects/core-saved-objects-base-server-internal/src/constants.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", "id": "def-common.savedObjectsConfig", @@ -1693,6 +1827,22 @@ "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, + ">; maxReadBatchSizeBytes: ", + { + "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.ByteSizeValue", + "text": "ByteSizeValue" + }, ">; discardUnknownObjects: ", { "pluginId": "@kbn/config-schema", 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 7534e45428b5c..56b0fae0d1321 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-internal'] --- import kbnCoreSavedObjectsBaseServerInternalObj from './kbn_core_saved_objects_base_server_internal.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 83 | 0 | 57 | 9 | +| 89 | 0 | 61 | 10 | ## Common 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 b7c8d09ae7219..5b013d69769d4 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-05-16 +date: 2023-06-07 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.devdocs.json b/api_docs/kbn_core_saved_objects_browser.devdocs.json index 666074afd3320..8a25fd6271260 100644 --- a/api_docs/kbn_core_saved_objects_browser.devdocs.json +++ b/api_docs/kbn_core_saved_objects_browser.devdocs.json @@ -57,14 +57,6 @@ "plugin": "@kbn/core", "path": "src/core/public/index.ts" }, - { - "plugin": "savedSearch", - "path": "src/plugins/saved_search/public/services/saved_searches/save_saved_searches.ts" - }, - { - "plugin": "savedSearch", - "path": "src/plugins/saved_search/public/services/saved_searches/save_saved_searches.ts" - }, { "plugin": "visualizations", "path": "src/plugins/visualizations/public/services.ts" @@ -89,14 +81,6 @@ "plugin": "exploratoryView", "path": "x-pack/plugins/exploratory_view/public/application/types.ts" }, - { - "plugin": "observability", - "path": "x-pack/plugins/observability/public/application/types.ts" - }, - { - "plugin": "observability", - "path": "x-pack/plugins/observability/public/application/types.ts" - }, { "plugin": "canvas", "path": "x-pack/plugins/canvas/public/services/platform.ts" @@ -113,22 +97,6 @@ "plugin": "transform", "path": "x-pack/plugins/transform/public/app/app_dependencies.tsx" }, - { - "plugin": "savedSearch", - "path": "src/plugins/saved_search/public/services/saved_searches/get_saved_searches.test.ts" - }, - { - "plugin": "savedSearch", - "path": "src/plugins/saved_search/public/services/saved_searches/get_saved_searches.test.ts" - }, - { - "plugin": "savedSearch", - "path": "src/plugins/saved_search/public/services/saved_searches/save_saved_searches.test.ts" - }, - { - "plugin": "savedSearch", - "path": "src/plugins/saved_search/public/services/saved_searches/save_saved_searches.test.ts" - }, { "plugin": "@kbn/core-saved-objects-browser-mocks", "path": "packages/core/saved-objects/core-saved-objects-browser-mocks/src/saved_objects_service.mock.ts" diff --git a/api_docs/kbn_core_saved_objects_browser.mdx b/api_docs/kbn_core_saved_objects_browser.mdx index 2fe8071707758..2526eb5800e99 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-05-16 +date: 2023-06-07 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 3f1b2388131c8..0e616fa8a7bd1 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-05-16 +date: 2023-06-07 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.devdocs.json b/api_docs/kbn_core_saved_objects_browser_mocks.devdocs.json index 161e0e5275430..0213de518fa3d 100644 --- a/api_docs/kbn_core_saved_objects_browser_mocks.devdocs.json +++ b/api_docs/kbn_core_saved_objects_browser_mocks.devdocs.json @@ -72,22 +72,6 @@ "plugin": "dataViews", "path": "src/plugins/data_views/public/saved_objects_client_wrapper.test.ts" }, - { - "plugin": "savedSearch", - "path": "src/plugins/saved_search/public/services/saved_searches/get_saved_searches.test.ts" - }, - { - "plugin": "savedSearch", - "path": "src/plugins/saved_search/public/services/saved_searches/get_saved_searches.test.ts" - }, - { - "plugin": "savedSearch", - "path": "src/plugins/saved_search/public/services/saved_searches/save_saved_searches.test.ts" - }, - { - "plugin": "savedSearch", - "path": "src/plugins/saved_search/public/services/saved_searches/save_saved_searches.test.ts" - }, { "plugin": "@kbn/core-plugins-browser-internal", "path": "packages/core/plugins/core-plugins-browser-internal/src/plugins_service.test.ts" diff --git a/api_docs/kbn_core_saved_objects_browser_mocks.mdx b/api_docs/kbn_core_saved_objects_browser_mocks.mdx index 5c9cec1554413..3b39414fbe816 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser-mocks'] --- import kbnCoreSavedObjectsBrowserMocksObj from './kbn_core_saved_objects_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_common.devdocs.json b/api_docs/kbn_core_saved_objects_common.devdocs.json index c67aaf197d228..76102da843589 100644 --- a/api_docs/kbn_core_saved_objects_common.devdocs.json +++ b/api_docs/kbn_core_saved_objects_common.devdocs.json @@ -1213,138 +1213,6 @@ "plugin": "home", "path": "src/plugins/home/server/services/sample_data/sample_data_registry.ts" }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/types.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/types.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/types.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/types.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/types.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/types.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/index.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_views.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_views.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_views.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_views.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_views.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_views.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_views.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_views.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_views.ts" - }, - { - "plugin": "data", - "path": "src/plugins/data/common/index.ts" - }, - { - "plugin": "data", - "path": "src/plugins/data/public/index.ts" - }, - { - "plugin": "data", - "path": "src/plugins/data/server/query/route_handler_context.test.ts" - }, - { - "plugin": "data", - "path": "src/plugins/data/server/query/route_handler_context.test.ts" - }, - { - "plugin": "data", - "path": "src/plugins/data/server/query/route_handler_context.test.ts" - }, - { - "plugin": "data", - "path": "src/plugins/data/server/query/route_handler_context.test.ts" - }, - { - "plugin": "data", - "path": "src/plugins/data/server/query/route_handler_context.test.ts" - }, - { - "plugin": "data", - "path": "src/plugins/data/server/query/route_handler_context.test.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/server/utils.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/server/utils.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/server/utils.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/public/saved_objects_client_wrapper.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/public/saved_objects_client_wrapper.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/public/saved_objects_client_wrapper.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/public/saved_objects_client_wrapper.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_views.test.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_views/data_views.test.ts" - }, { "plugin": "data", "path": "src/plugins/data/public/search/session/sessions_mgmt/lib/api.ts" @@ -1405,46 +1273,6 @@ "plugin": "canvas", "path": "x-pack/plugins/canvas/public/components/home/hooks/use_upload_workpad.ts" }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/packs/types.ts" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/packs/types.ts" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/routes/saved_queries/list/index.tsx" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/routes/saved_queries/list/index.tsx" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/assets/use_assets_status.ts" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/assets/use_assets_status.ts" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/assets/use_assets_status.ts" - }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/public/assets/use_assets_status.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/monitor_detail_flyout.tsx" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/monitor_detail_flyout.tsx" - }, { "plugin": "savedObjects", "path": "src/plugins/saved_objects/public/saved_object/helpers/find_object_by_title.test.ts" @@ -1553,6 +1381,22 @@ "plugin": "savedObjectsTagging", "path": "x-pack/plugins/saved_objects_tagging/public/utils.ts" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" + }, { "plugin": "lists", "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts" @@ -1585,30 +1429,6 @@ "plugin": "savedObjectsTagging", "path": "x-pack/plugins/saved_objects_tagging/public/utils.test.ts" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/overview/api.ts" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/overview/api.ts" - }, { "plugin": "synthetics", "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_details/api.ts" @@ -1637,14 +1457,6 @@ "plugin": "savedObjectsTagging", "path": "x-pack/plugins/saved_objects_tagging/common/test_utils/index.ts" }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_view.stub.ts" - }, - { - "plugin": "dataViews", - "path": "src/plugins/data_views/common/data_view.stub.ts" - }, { "plugin": "savedObjectsManagement", "path": "src/plugins/saved_objects_management/server/lib/find_relationships.test.ts" @@ -1753,50 +1565,6 @@ "plugin": "synthetics", "path": "x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_list/index.ts" }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" - }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" - }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" - }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" - }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" - }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" - }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" - }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" - }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" - }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" - }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" - }, { "plugin": "@kbn/core-saved-objects-browser-internal", "path": "packages/core/saved-objects/core-saved-objects-browser-internal/src/simple_saved_object.test.ts" @@ -2017,19 +1785,19 @@ }, { "plugin": "visualizations", - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable_factory.tsx" + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx" }, { "plugin": "visualizations", - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable_factory.tsx" + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx" }, { "plugin": "visualizations", - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx" + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable_factory.tsx" }, { "plugin": "visualizations", - "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx" + "path": "src/plugins/visualizations/public/embeddable/visualize_embeddable_factory.tsx" }, { "plugin": "dashboard", @@ -2047,14 +1815,6 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/common/types/models/epm.ts" }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/common/types/models/settings.ts" - }, - { - "plugin": "fleet", - "path": "x-pack/plugins/fleet/common/types/models/settings.ts" - }, { "plugin": "canvas", "path": "x-pack/plugins/canvas/shareable_runtime/types.ts" @@ -2354,6 +2114,14 @@ "plugin": "visualizations", "path": "src/plugins/visualizations/public/visualize_app/components/visualize_listing.tsx" }, + { + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.tsx" + }, + { + "plugin": "eventAnnotation", + "path": "src/plugins/event_annotation/public/event_annotation_service/service.tsx" + }, { "plugin": "savedObjectsTagging", "path": "x-pack/plugins/saved_objects_tagging/public/ui_api/get_table_column_definition.tsx" @@ -2398,6 +2166,10 @@ "plugin": "lens", "path": "x-pack/plugins/lens/public/editor_frame_service/editor_frame/state_helpers.ts" }, + { + "plugin": "lens", + "path": "x-pack/plugins/lens/public/editor_frame_service/editor_frame/state_helpers.ts" + }, { "plugin": "lens", "path": "x-pack/plugins/lens/public/state_management/selectors.ts" @@ -2494,6 +2266,14 @@ "plugin": "lens", "path": "x-pack/plugins/lens/public/types.ts" }, + { + "plugin": "lens", + "path": "x-pack/plugins/lens/public/types.ts" + }, + { + "plugin": "lens", + "path": "x-pack/plugins/lens/public/types.ts" + }, { "plugin": "lens", "path": "x-pack/plugins/lens/public/visualizations/xy/state_helpers.ts" @@ -2506,6 +2286,14 @@ "plugin": "lens", "path": "x-pack/plugins/lens/public/visualizations/xy/state_helpers.ts" }, + { + "plugin": "lens", + "path": "x-pack/plugins/lens/public/visualizations/xy/visualization.tsx" + }, + { + "plugin": "lens", + "path": "x-pack/plugins/lens/public/visualizations/xy/visualization.tsx" + }, { "plugin": "lens", "path": "x-pack/plugins/lens/public/datasources/text_based/text_based_languages.tsx" @@ -3198,14 +2986,6 @@ "plugin": "infra", "path": "x-pack/plugins/infra/public/common/visualizations/types.ts" }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" - }, - { - "plugin": "cases", - "path": "x-pack/plugins/cases/server/services/user_actions/test_utils.ts" - }, { "plugin": "infra", "path": "x-pack/plugins/infra/server/lib/alerting/log_threshold/log_threshold_references_manager.test.ts" diff --git a/api_docs/kbn_core_saved_objects_common.mdx b/api_docs/kbn_core_saved_objects_common.mdx index d3224ae25b7f5..7ce4a3c5cb81c 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-05-16 +date: 2023-06-07 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 9a1af624b3bfe..c815f252052b2 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-05-16 +date: 2023-06-07 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 4388a52c18e46..41764fdbf3861 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-05-16 +date: 2023-06-07 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.devdocs.json b/api_docs/kbn_core_saved_objects_migration_server_internal.devdocs.json index f1fbe10296e72..90d05c7e65438 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_internal.devdocs.json +++ b/api_docs/kbn_core_saved_objects_migration_server_internal.devdocs.json @@ -25,7 +25,7 @@ "tags": [], "label": "DocumentMigrator", "description": [ - "\nA concrete implementation of the VersionedTransformer interface." + "\nA concrete implementation of the {@link VersionedTransformer} interface." ], "signature": [ { @@ -83,14 +83,15 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-common.DocumentMigrator.migrationVersion", - "type": "Object", + "id": "def-common.DocumentMigrator.getMigrationVersion", + "type": "Function", "tags": [], - "label": "migrationVersion", + "label": "getMigrationVersion", "description": [ - "\nGets the latest version of each migrate-able property." + "\nGets the latest pending version of each type.\nSome migration objects won't have a latest migration version (they only contain reference transforms that are applied from other types)." ], "signature": [ + "({ includeDeferred, migrationType, }?: MigrationVersionParams) => ", { "pluginId": "@kbn/core-saved-objects-common", "scope": "common", @@ -101,7 +102,25 @@ ], "path": "packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/document_migrator.ts", "deprecated": false, - "trackAdoption": false + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", + "id": "def-common.DocumentMigrator.getMigrationVersion.$1", + "type": "Object", + "tags": [], + "label": "{\n includeDeferred = true,\n migrationType = 'type',\n }", + "description": [], + "signature": [ + "MigrationVersionParams" + ], + "path": "packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/document_migrator.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", @@ -139,7 +158,9 @@ "section": "def-common.SavedObjectUnsanitizedDoc", "text": "SavedObjectUnsanitizedDoc" }, - ") => ", + ", { allowDowngrade }?: ", + "DocumentMigrateOptions", + ") => ", { "pluginId": "@kbn/core-saved-objects-server", "scope": "common", @@ -174,58 +195,16 @@ "deprecated": false, "trackAdoption": false, "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-common.DocumentMigrator.migrateAndConvert", - "type": "Function", - "tags": [], - "label": "migrateAndConvert", - "description": [ - "\nMigrates a document to the latest version and applies type conversions if applicable. Also returns any additional document(s) that may\nhave been created during the transformation process." - ], - "signature": [ - "(doc: ", - { - "pluginId": "@kbn/core-saved-objects-server", - "scope": "common", - "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-common.SavedObjectUnsanitizedDoc", - "text": "SavedObjectUnsanitizedDoc" }, - ") => ", - { - "pluginId": "@kbn/core-saved-objects-server", - "scope": "common", - "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-common.SavedObjectUnsanitizedDoc", - "text": "SavedObjectUnsanitizedDoc" - }, - "[]" - ], - "path": "packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/document_migrator.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-common.DocumentMigrator.migrateAndConvert.$1", - "type": "CompoundType", + "id": "def-common.DocumentMigrator.migrate.$2", + "type": "Object", "tags": [], - "label": "doc", + "label": "{ allowDowngrade = false }", "description": [], "signature": [ - { - "pluginId": "@kbn/core-saved-objects-server", - "scope": "common", - "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-common.SavedObjectUnsanitizedDoc", - "text": "SavedObjectUnsanitizedDoc" - }, - "" + "DocumentMigrateOptions" ], "path": "packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/document_migrator.ts", "deprecated": false, @@ -237,11 +216,13 @@ }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-common.DocumentMigrator.transformDown", + "id": "def-common.DocumentMigrator.migrateAndConvert", "type": "Function", "tags": [], - "label": "transformDown", - "description": [], + "label": "migrateAndConvert", + "description": [ + "\nMigrates a document to the latest version and applies type conversions if applicable. Also returns any additional document(s) that may\nhave been created during the transformation process." + ], "signature": [ "(doc: ", { @@ -251,7 +232,7 @@ "section": "def-common.SavedObjectUnsanitizedDoc", "text": "SavedObjectUnsanitizedDoc" }, - ", options: { targetTypeVersion: string; }) => ", + ") => ", { "pluginId": "@kbn/core-saved-objects-server", "scope": "common", @@ -259,7 +240,7 @@ "section": "def-common.SavedObjectUnsanitizedDoc", "text": "SavedObjectUnsanitizedDoc" }, - "" + "[]" ], "path": "packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/document_migrator.ts", "deprecated": false, @@ -267,7 +248,7 @@ "children": [ { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-common.DocumentMigrator.transformDown.$1", + "id": "def-common.DocumentMigrator.migrateAndConvert.$1", "type": "CompoundType", "tags": [], "label": "doc", @@ -286,30 +267,6 @@ "deprecated": false, "trackAdoption": false, "isRequired": true - }, - { - "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-common.DocumentMigrator.transformDown.$2", - "type": "Object", - "tags": [], - "label": "options", - "description": [], - "path": "packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/document_migrator.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-common.DocumentMigrator.transformDown.$2.targetTypeVersion", - "type": "string", - "tags": [], - "label": "targetTypeVersion", - "description": [], - "path": "packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/document_migrator.ts", - "deprecated": false, - "trackAdoption": false - } - ] } ], "returnComment": [] @@ -373,7 +330,7 @@ "id": "def-common.KibanaMigrator.Unnamed.$1", "type": "Object", "tags": [], - "label": "{\n client,\n typeRegistry,\n kibanaIndex,\n soMigrationsConfig,\n kibanaVersion,\n logger,\n docLinks,\n defaultIndexTypesMap = DEFAULT_INDEX_TYPES_MAP,\n waitForMigrationCompletion,\n nodeRoles,\n }", + "label": "{\n client,\n typeRegistry,\n kibanaIndex,\n defaultIndexTypesMap,\n soMigrationsConfig,\n kibanaVersion,\n logger,\n docLinks,\n waitForMigrationCompletion,\n nodeRoles,\n }", "description": [], "signature": [ { @@ -507,7 +464,9 @@ "section": "def-common.SavedObjectUnsanitizedDoc", "text": "SavedObjectUnsanitizedDoc" }, - ") => ", + ", { allowDowngrade }?: ", + "MigrateDocumentOptions", + ") => ", { "pluginId": "@kbn/core-saved-objects-server", "scope": "common", @@ -542,6 +501,21 @@ "deprecated": false, "trackAdoption": false, "isRequired": true + }, + { + "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", + "id": "def-common.KibanaMigrator.migrateDocument.$2", + "type": "Object", + "tags": [], + "label": "{ allowDowngrade = false }", + "description": [], + "signature": [ + "MigrateDocumentOptions" + ], + "path": "packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true } ], "returnComment": [] @@ -728,7 +702,7 @@ "\nWrite the up-to-date transformed documents to the index, overwriting any\ndocuments that are still on their outdated version." ], "signature": [ - "({ client, index, operations, refresh, }: ", + "({ client, index, operations, refresh, useAliasToPreventAutoCreate, }: ", "BulkOverwriteTransformedDocumentsParams", ") => ", "TaskEither", @@ -751,7 +725,7 @@ "id": "def-common.bulkOverwriteTransformedDocuments.$1", "type": "Object", "tags": [], - "label": "{\n client,\n index,\n operations,\n refresh = false,\n }", + "label": "{\n client,\n index,\n operations,\n refresh = false,\n useAliasToPreventAutoCreate = false,\n }", "description": [], "signature": [ "BulkOverwriteTransformedDocumentsParams" @@ -1056,7 +1030,9 @@ "IndexNotGreenTimeout", " | ", "ClusterShardLimitExceeded", - ", \"create_index_succeeded\">" + ", ", + "CreateIndexSuccessResponse", + ">" ], "path": "packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/create_index.ts", "deprecated": false, @@ -1370,7 +1346,7 @@ "section": "def-common.ElasticsearchClient", "text": "ElasticsearchClient" }, - ", index: string) => ", + ", index: string, batchSize: number) => ", "TaskEither", "<", "RetryableEsClientError", @@ -1423,6 +1399,21 @@ "deprecated": false, "trackAdoption": false, "isRequired": true + }, + { + "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", + "id": "def-common.pickupUpdatedMappings.$3", + "type": "number", + "tags": [], + "label": "batchSize", + "description": [], + "signature": [ + "number" + ], + "path": "packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/pickup_updated_mappings.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true } ], "returnComment": [], @@ -1436,12 +1427,20 @@ "label": "readWithPit", "description": [], "signature": [ - "({ client, pitId, query, batchSize, searchAfter, seqNoPrimaryTerm, }: ", + "({ client, pitId, query, batchSize, searchAfter, seqNoPrimaryTerm, maxResponseSizeBytes, }: ", "ReadWithPitParams", ") => ", "TaskEither", "<", "RetryableEsClientError", + " | ", + { + "pluginId": "@kbn/core-saved-objects-migration-server-internal", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsMigrationServerInternalPluginApi", + "section": "def-common.EsResponseTooLargeError", + "text": "EsResponseTooLargeError" + }, ", ", "ReadWithPit", ">" @@ -1455,7 +1454,7 @@ "id": "def-common.readWithPit.$1", "type": "Object", "tags": [], - "label": "{\n client,\n pitId,\n query,\n batchSize,\n searchAfter,\n seqNoPrimaryTerm,\n }", + "label": "{\n client,\n pitId,\n query,\n batchSize,\n searchAfter,\n seqNoPrimaryTerm,\n maxResponseSizeBytes,\n }", "description": [], "signature": [ "ReadWithPitParams" @@ -1520,7 +1519,7 @@ "\nReindex documents from the `sourceIndex` into the `targetIndex`. Returns a\ntask ID which can be tracked for progress.\n" ], "signature": [ - "({ client, sourceIndex, targetIndex, reindexScript, requireAlias, excludeOnUpgradeQuery, }: ", + "({ client, sourceIndex, targetIndex, reindexScript, requireAlias, excludeOnUpgradeQuery, batchSize, }: ", "ReindexParams", ") => ", "TaskEither", @@ -1539,7 +1538,7 @@ "id": "def-common.reindex.$1", "type": "Object", "tags": [], - "label": "{\n client,\n sourceIndex,\n targetIndex,\n reindexScript,\n requireAlias,\n excludeOnUpgradeQuery,\n }", + "label": "{\n client,\n sourceIndex,\n targetIndex,\n reindexScript,\n requireAlias,\n excludeOnUpgradeQuery,\n batchSize,\n }", "description": [], "signature": [ "ReindexParams" @@ -1747,7 +1746,7 @@ "\nUpdates an index's mappings and runs an pickupUpdatedMappings task so that the mapping\nchanges are \"picked up\". Returns a taskId to track progress." ], "signature": [ - "({ client, index, mappings, }: ", + "({ client, index, mappings, batchSize, }: ", "UpdateAndPickupMappingsParams", ") => ", "TaskEither", @@ -1766,7 +1765,7 @@ "id": "def-common.updateAndPickupMappings.$1", "type": "Object", "tags": [], - "label": "{\n client,\n index,\n mappings,\n}", + "label": "{\n client,\n index,\n mappings,\n batchSize,\n}", "description": [], "signature": [ "UpdateAndPickupMappingsParams" @@ -2195,6 +2194,45 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", + "id": "def-common.EsResponseTooLargeError", + "type": "Interface", + "tags": [], + "label": "EsResponseTooLargeError", + "description": [], + "path": "packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", + "id": "def-common.EsResponseTooLargeError.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + "\"es_response_too_large\"" + ], + "path": "packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", + "id": "def-common.EsResponseTooLargeError.contentLength", + "type": "number", + "tags": [], + "label": "contentLength", + "description": [], + "path": "packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", "id": "def-common.KibanaMigratorOptions", @@ -2382,7 +2420,7 @@ "TransportRequestOptions", " | undefined): Promise<", "CountResponse", - ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", + ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchApplication]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", "default", "; child: (opts: ", "ClientOptions", @@ -2628,29 +2666,29 @@ "ExplainResponse", ">; }; features: ", "default", - "; fieldCaps: { (this: That, params: ", + "; fieldCaps: { (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithOutMeta", " | undefined): Promise<", "FieldCapsResponse", - ">; (this: That, params: ", + ">; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithMeta", " | undefined): Promise<", "TransportResult", "<", "FieldCapsResponse", - ", unknown>>; (this: That, params: ", + ", unknown>>; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptions", " | undefined): Promise<", "FieldCapsResponse", @@ -2756,7 +2794,33 @@ "TransportRequestOptions", " | undefined): Promise; }; graph: ", "default", - "; ilm: ", + "; healthReport: { (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "HealthReportResponse", + ">; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "HealthReportResponse", + ", unknown>>; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "HealthReportResponse", + ">; }; ilm: ", "default", "; index: { (this: That, params: ", "IndexRequest", @@ -3202,7 +3266,9 @@ "TransportRequestOptions", " | undefined): Promise<", "ScrollResponse", - ">; }; searchMvt: { (this: That, params: ", + ">; }; searchApplication: ", + "default", + "; searchMvt: { (this: That, params: ", "SearchMvtRequest", " | ", "SearchMvtRequest", @@ -3426,6 +3492,20 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", + "id": "def-common.KibanaMigratorOptions.defaultIndexTypesMap", + "type": "Object", + "tags": [], + "label": "defaultIndexTypesMap", + "description": [], + "signature": [ + "{ [x: string]: string[]; }" + ], + "path": "packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", "id": "def-common.KibanaMigratorOptions.soMigrationsConfig", @@ -3442,6 +3522,14 @@ "section": "def-common.ByteSizeValue", "text": "ByteSizeValue" }, + "; readonly maxReadBatchSizeBytes: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.ByteSizeValue", + "text": "ByteSizeValue" + }, "; readonly scrollDuration: string; readonly retryAttempts: number; }" ], "path": "packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator.ts", @@ -3521,21 +3609,6 @@ "deprecated": false, "trackAdoption": false }, - { - "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", - "id": "def-common.KibanaMigratorOptions.defaultIndexTypesMap", - "type": "Object", - "tags": [], - "label": "defaultIndexTypesMap", - "description": [], - "signature": [ - "IndexTypesMap", - " | undefined" - ], - "path": "packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator.ts", - "deprecated": false, - "trackAdoption": false - }, { "parentPluginId": "@kbn/core-saved-objects-migration-server-internal", "id": "def-common.KibanaMigratorOptions.nodeRoles", 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 32c19c173aae7..f58e55d607c5c 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-internal'] --- import kbnCoreSavedObjectsMigrationServerInternalObj from './kbn_core_saved_objects_migration_server_internal.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 120 | 0 | 86 | 44 | +| 123 | 0 | 89 | 46 | ## Common 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 7ffaabb3f915d..759f24179a83f 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-05-16 +date: 2023-06-07 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 4ad48a1f76dc2..354c9766fb6d7 100644 --- a/api_docs/kbn_core_saved_objects_server.devdocs.json +++ b/api_docs/kbn_core_saved_objects_server.devdocs.json @@ -5831,22 +5831,6 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts" }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/server/sample_data/logs.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/server/sample_data/ecommerce.ts" - }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/server/sample_data/flights.ts" - }, - { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts" @@ -5931,6 +5915,22 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/user_risk_score_dashboards.ts" }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/server/sample_data/logs.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/server/sample_data/ecommerce.ts" + }, + { + "plugin": "graph", + "path": "x-pack/plugins/graph/server/sample_data/flights.ts" + }, + { + "plugin": "lists", + "path": "x-pack/plugins/lists/server/services/exception_lists/exception_list_client.mock.ts" + }, { "plugin": "alerting", "path": "x-pack/plugins/alerting/server/rules_client/lib/siem_legacy_actions/retrieve_migrated_legacy_actions.mock.ts" @@ -6189,19 +6189,19 @@ }, { "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/saved_objects/geo_containment/migrations.ts" + "path": "x-pack/plugins/alerting/server/rules_client/common/inject_references.ts" }, { "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/saved_objects/geo_containment/migrations.ts" + "path": "x-pack/plugins/alerting/server/rules_client/common/inject_references.ts" }, { "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/rules_client/common/inject_references.ts" + "path": "x-pack/plugins/alerting/server/saved_objects/geo_containment/migrations.ts" }, { "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/rules_client/common/inject_references.ts" + "path": "x-pack/plugins/alerting/server/saved_objects/geo_containment/migrations.ts" }, { "plugin": "alerting", @@ -6581,7 +6581,7 @@ "tags": [], "label": "SavedObjectMigrationMap", "description": [ - "\nA map of {@link SavedObjectMigrationFn | migration functions} to be used for a given type.\nThe map's keys must be valid semver versions, and they cannot exceed the current Kibana version.\n\nFor a given document, only migrations with a higher version number than that of the document will be applied.\nMigrations are executed in order, starting from the lowest version and ending with the highest one.\n" + "\nA map of {@link SavedObjectMigration | migrations} to be used for a given type.\nThe map's keys must be valid semver versions, and they cannot exceed the current Kibana version.\n\nFor a given document, only migrations with a higher version number than that of the document will be applied.\nMigrations are executed in order, starting from the lowest version and ending with the highest one.\n" ], "path": "packages/core/saved-objects/core-saved-objects-server/src/migration.ts", "deprecated": false, @@ -6592,7 +6592,7 @@ "id": "def-common.SavedObjectMigrationMap.Unnamed", "type": "IndexSignature", "tags": [], - "label": "[version: string]: SavedObjectMigrationFn", + "label": "[version: string]: SavedObjectMigration", "description": [], "signature": [ "[version: string]: ", @@ -6600,8 +6600,8 @@ "pluginId": "@kbn/core-saved-objects-server", "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-common.SavedObjectMigrationFn", - "text": "SavedObjectMigrationFn" + "section": "def-common.SavedObjectMigration", + "text": "SavedObjectMigration" }, "" ], @@ -6612,6 +6612,135 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/core-saved-objects-server", + "id": "def-common.SavedObjectMigrationParams", + "type": "Interface", + "tags": [], + "label": "SavedObjectMigrationParams", + "description": [ + "\nSaved Objects migration with parameters." + ], + "signature": [ + { + "pluginId": "@kbn/core-saved-objects-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsServerPluginApi", + "section": "def-common.SavedObjectMigrationParams", + "text": "SavedObjectMigrationParams" + }, + "" + ], + "path": "packages/core/saved-objects/core-saved-objects-server/src/migration.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/core-saved-objects-server", + "id": "def-common.SavedObjectMigrationParams.deferred", + "type": "boolean", + "tags": [ + "default" + ], + "label": "deferred", + "description": [ + "\nA flag that can defer the migration until either an object is accessed (read) or if there is another non-deferred migration with a higher version." + ], + "signature": [ + "false | undefined" + ], + "path": "packages/core/saved-objects/core-saved-objects-server/src/migration.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-saved-objects-server", + "id": "def-common.SavedObjectMigrationParams.transform", + "type": "Function", + "tags": [], + "label": "transform", + "description": [ + "{@inheritDoc SavedObjectMigrationFn}" + ], + "signature": [ + "(doc: ", + { + "pluginId": "@kbn/core-saved-objects-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsServerPluginApi", + "section": "def-common.SavedObjectUnsanitizedDoc", + "text": "SavedObjectUnsanitizedDoc" + }, + ", context: ", + { + "pluginId": "@kbn/core-saved-objects-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsServerPluginApi", + "section": "def-common.SavedObjectMigrationContext", + "text": "SavedObjectMigrationContext" + }, + ") => ", + { + "pluginId": "@kbn/core-saved-objects-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsServerPluginApi", + "section": "def-common.SavedObjectUnsanitizedDoc", + "text": "SavedObjectUnsanitizedDoc" + }, + "" + ], + "path": "packages/core/saved-objects/core-saved-objects-server/src/migration.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/core-saved-objects-server", + "id": "def-common.SavedObjectMigrationParams.transform.$1", + "type": "CompoundType", + "tags": [], + "label": "doc", + "description": [], + "signature": [ + "SavedObjectDoc & { references?: ", + { + "pluginId": "@kbn/core-saved-objects-common", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObjectReference", + "text": "SavedObjectReference" + }, + "[] | undefined; }" + ], + "path": "packages/core/saved-objects/core-saved-objects-server/src/migration.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-saved-objects-server", + "id": "def-common.SavedObjectMigrationParams.transform.$2", + "type": "Object", + "tags": [], + "label": "context", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-saved-objects-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsServerPluginApi", + "section": "def-common.SavedObjectMigrationContext", + "text": "SavedObjectMigrationContext" + } + ], + "path": "packages/core/saved-objects/core-saved-objects-server/src/migration.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/core-saved-objects-server", "id": "def-common.SavedObjectModelBidirectionalTransformation", @@ -7984,7 +8113,7 @@ "tags": [], "label": "SavedObjectsModelMappingsDeprecationChange", "description": [ - "\nA {@link SavedObjectsModelChange | model change} flagging mappings as being deprecated.\nDeprecated mappings should no longer be used and will eventually be deleted later." + "\nA {@link SavedObjectsModelChange | model change} flagging mappings as being no longer used.\n" ], "path": "packages/core/saved-objects/core-saved-objects-server/src/model_version/model_change.ts", "deprecated": false, @@ -8043,7 +8172,7 @@ "tags": [], "label": "changes", "description": [ - "\nThe list of {@link SavedObjectsModelChange | changes} associated with this version." + "\nThe list of changes associated with this version.\n\nModel version changes are defined via low-level components, allowing to use composition\nto describe the list of changes bound to a given version. Composition also allows to more\neasily merge changes from multiple source when needed.\n" ], "signature": [ { @@ -8066,7 +8195,7 @@ "tags": [], "label": "schemas", "description": [ - "\nThe {@link SavedObjectsModelVersionSchemaDefinitions} associated with this version.\n" + "\nThe {@link SavedObjectsModelVersionSchemaDefinitions | schemas} associated with this version.\n\nSchemas are used to validate / convert the shape and/or content of the documents at various stages of their usages." ], "signature": [ { @@ -8129,26 +8258,51 @@ "tags": [], "label": "SavedObjectsModelVersionSchemaDefinitions", "description": [ - "\nThe schemas associated with this model version.\n" + "\nThe validation and conversion schemas associated with this model version.\n" ], "path": "packages/core/saved-objects/core-saved-objects-server/src/model_version/schemas.ts", "deprecated": false, "trackAdoption": false, "children": [ + { + "parentPluginId": "@kbn/core-saved-objects-server", + "id": "def-common.SavedObjectsModelVersionSchemaDefinitions.forwardCompatibility", + "type": "CompoundType", + "tags": [], + "label": "forwardCompatibility", + "description": [ + "\nThe schema applied when retrieving documents of a higher version from the cluster.\nUsed for multi-version compatibility in managed environments.\n\nWhen retrieving a savedObject document from an index, if the version of the document\nis higher than the latest version known of the Kibana instance, the document will go\nthrough the `forwardCompatibility` schema of the associated model version.\n\nE.g a Kibana instance with model version `2` for type `foo` types fetches a `foo` document\nat model version `3`. The document will then go through the `forwardCompatibility`\nof the model version 2 (if present).\n\nSee {@link SavedObjectModelVersionForwardCompatibilitySchema} for more info." + ], + "signature": [ + { + "pluginId": "@kbn/core-saved-objects-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsServerPluginApi", + "section": "def-common.SavedObjectModelVersionForwardCompatibilitySchema", + "text": "SavedObjectModelVersionForwardCompatibilitySchema" + }, + " | undefined" + ], + "path": "packages/core/saved-objects/core-saved-objects-server/src/model_version/schemas.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "@kbn/core-saved-objects-server", "id": "def-common.SavedObjectsModelVersionSchemaDefinitions.create", "type": "Object", "tags": [], "label": "create", - "description": [], + "description": [ + "\nThe schema applied when creating a document of the current version\nAllows for validating properties using @kbn/config-schema validations" + ], "signature": [ { "pluginId": "@kbn/core-saved-objects-server", "scope": "common", "docId": "kibKbnCoreSavedObjectsServerPluginApi", - "section": "def-common.SavedObjectModelVersionCreateSchema", - "text": "SavedObjectModelVersionCreateSchema" + "section": "def-common.SavedObjectsValidationSpec", + "text": "SavedObjectsValidationSpec" }, " | undefined" ], @@ -9918,7 +10072,9 @@ "type": "Interface", "tags": [], "label": "SavedObjectsType", - "description": [], + "description": [ + "\nDefinition of a type of savedObject.\n" + ], "signature": [ { "pluginId": "@kbn/core-saved-objects-server", @@ -10150,7 +10306,7 @@ "references": [ { "plugin": "@kbn/core-saved-objects-migration-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/internal_transforms.ts" + "path": "packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/utils.ts" }, { "plugin": "@kbn/core-saved-objects-migration-server-internal", @@ -10162,7 +10318,7 @@ }, { "plugin": "@kbn/core-saved-objects-migration-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/validate_migrations.ts" + "path": "packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/internal_transforms.ts" }, { "plugin": "@kbn/core-saved-objects-migration-server-internal", @@ -10170,7 +10326,7 @@ }, { "plugin": "@kbn/core-saved-objects-migration-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/utils.ts" + "path": "packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/validate_migrations.ts" }, { "plugin": "actions", @@ -10220,6 +10376,10 @@ "plugin": "savedObjectsTagging", "path": "x-pack/plugins/saved_objects_tagging/server/saved_objects/tag.ts" }, + { + "plugin": "visualizations", + "path": "src/plugins/visualizations/server/saved_objects/visualization.ts" + }, { "plugin": "savedSearch", "path": "src/plugins/saved_search/server/saved_objects/search.ts" @@ -10232,18 +10392,10 @@ "plugin": "canvas", "path": "x-pack/plugins/canvas/server/saved_objects/custom_element.ts" }, - { - "plugin": "graph", - "path": "x-pack/plugins/graph/server/saved_objects/graph_workspace.ts" - }, { "plugin": "lists", "path": "x-pack/plugins/lists/server/saved_objects/exception_list.ts" }, - { - "plugin": "maps", - "path": "x-pack/plugins/maps/server/saved_objects/setup_saved_objects.ts" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/timeline/saved_object_mappings/timelines.ts" @@ -10261,12 +10413,16 @@ "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_saved_object_mappings.ts" }, { - "plugin": "dashboard", - "path": "src/plugins/dashboard/server/dashboard_saved_object/dashboard_saved_object.ts" + "plugin": "graph", + "path": "x-pack/plugins/graph/server/saved_objects/graph_workspace.ts" }, { - "plugin": "visualizations", - "path": "src/plugins/visualizations/server/saved_objects/visualization.ts" + "plugin": "maps", + "path": "x-pack/plugins/maps/server/saved_objects/setup_saved_objects.ts" + }, + { + "plugin": "dashboard", + "path": "src/plugins/dashboard/server/dashboard_saved_object/dashboard_saved_object.ts" }, { "plugin": "@kbn/core-test-helpers-so-type-serializer", @@ -10364,10 +10520,6 @@ "plugin": "@kbn/core-saved-objects-migration-server-internal", "path": "packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/validate_migration.test.ts" }, - { - "plugin": "@kbn/core-saved-objects-migration-server-internal", - "path": "packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/validate_migration.test.ts" - }, { "plugin": "@kbn/core-saved-objects-migration-server-internal", "path": "packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/validate_migration.test.ts" @@ -10401,12 +10553,10 @@ "parentPluginId": "@kbn/core-saved-objects-server", "id": "def-common.SavedObjectsType.modelVersions", "type": "CompoundType", - "tags": [ - "alpha" - ], + "tags": [], "label": "modelVersions", "description": [ - "\nA map of model versions associated with this type.\n\nModel versions supersede the {@link SavedObjectsType.migrations | migrations} (and {@link SavedObjectsType.schemas | schemas}) APIs\nby exposing an unified way of describing the changes of shape or data of the type.\n\nModel versioning is decoupled from Kibana versioning, and isolated between types.\nModel versions are identified by a single numeric value, starting at `1` and without gaps.\n\nPlease refer to {@link SavedObjectsModelVersion} for details on the API's usages.\n\nA **valid** versioning would be:\n\n```ts\n{\n name: 'foo',\n // other mandatory attributes...\n modelVersions: {\n '1': modelVersion1,\n '2': modelVersion2,\n '3': modelVersion3,\n }\n}\n```\n\nA **invalid** versioning would be:\n\n```ts\n{\n name: 'foo',\n // other mandatory attributes...\n modelVersions: {\n '1': modelVersion1,\n '3': modelVersion3, // ERROR, no model version 2\n '3.1': modelVersion31, // ERROR, model version is a single numeric value\n }\n}\n```\n" + "\nA map of model versions associated with this type.\n\nModel versions supersede the {@link SavedObjectsType.migrations | migrations} (and {@link SavedObjectsType.schemas | schemas}) APIs\nby exposing an unified way of describing the changes of shape or data of the type.\n\nModel versioning is decoupled from Kibana versioning, and isolated between types.\nModel versions are identified by a single numeric value, starting at `1` and without gaps.\n\nPlease refer to {@link SavedObjectsModelVersion} for more details on the model version API.\n" ], "signature": [ { @@ -10437,7 +10587,7 @@ "tags": [], "label": "switchToModelVersionAt", "description": [ - "\nAllows to opt-in to the new model version API.\n\nMust be a valid semver version (with the patch version being necessarily 0)\n\nWhen specified, the type will switch from using the {@link SavedObjectsType.migrations | legacy migration API}\nto use the {@link SavedObjectsType.modelVersions | modelVersion API} after the specified version.\n\nWhen opted in, it will no longer be possible to use the legacy migration API after the specified version.\n\nA **valid** usage example would be:\n\n```ts\n{\n name: 'foo',\n // other mandatory attributes...\n switchToModelVersionAt: '8.8.0',\n migrations: {\n '8.1.0': migrateTo810,\n '8.7.0': migrateTo870,\n },\n modelVersions: {\n '1': modelVersion1\n }\n}\n```\n\nAn **invalid** usage example would be:\n\n```ts\n{\n name: 'foo',\n // other mandatory attributes...\n switchToModelVersionAt: '8.9.0',\n migrations: {\n '8.1.0': migrateTo8_1,\n '8.9.0': migrateTo8_9, // error: migration registered for the switch version\n '8.10.0': migrateTo8_10, // error: migration registered for after the switch version\n },\n modelVersions: {\n '1': modelVersion1\n }\n}\n```\n\nPlease refer to the {@link SavedObjectsType.modelVersions | modelVersion API} for more documentation on\nthe new API.\n" + "\nAllows to opt-in to the new model version API.\n\nMust be a valid semver version (with the patch version being necessarily 0)\n\nWhen specified, the type will switch from using the {@link SavedObjectsType.migrations | legacy migration API}\nto use the {@link SavedObjectsType.modelVersions | modelVersion API} after the specified version.\n\nOnce opted in, it will no longer be possible to use the legacy migration API after the specified version.\n" ], "signature": [ "string | undefined" @@ -10668,7 +10818,7 @@ "section": "def-common.SavedObject", "text": "SavedObject" }, - ") => { path: string; uiCapabilitiesPath: string; }) | undefined" + ") => { path: string; uiCapabilitiesPath: string; } | undefined) | undefined" ], "path": "packages/core/saved-objects/core-saved-objects-server/src/saved_objects_management.ts", "deprecated": false, @@ -10698,7 +10848,7 @@ } ], "returnComment": [ - "an object containing a `path` and `uiCapabilitiesPath` properties. the `path` is the path to\nthe object page, relative to the base path. `uiCapabilitiesPath` is the path to check in the\n{@link Capabilities | uiCapabilities} to check if the user has permission to access the object." + "undefined or an object containing a `path` and `uiCapabilitiesPath` properties. the `path` is the path to\nthe object page, relative to the base path. `uiCapabilitiesPath` is the path to check in the\n{@link Capabilities | uiCapabilities} to check if the user has permission to access the object." ] }, { @@ -11077,6 +11227,38 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "@kbn/core-saved-objects-server", + "id": "def-common.SavedObjectMigration", + "type": "Type", + "tags": [], + "label": "SavedObjectMigration", + "description": [ + "\nSaved Objects migration.\nIt can be either a {@link SavedObjectMigrationFn | migration function} or a {@link SavedObjectMigrationParams | migration object}." + ], + "signature": [ + { + "pluginId": "@kbn/core-saved-objects-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsServerPluginApi", + "section": "def-common.SavedObjectMigrationFn", + "text": "SavedObjectMigrationFn" + }, + " | ", + { + "pluginId": "@kbn/core-saved-objects-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsServerPluginApi", + "section": "def-common.SavedObjectMigrationParams", + "text": "SavedObjectMigrationParams" + }, + "" + ], + "path": "packages/core/saved-objects/core-saved-objects-server/src/migration.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/core-saved-objects-server", "id": "def-common.SavedObjectMigrationFn", @@ -11362,11 +11544,47 @@ }, { "parentPluginId": "@kbn/core-saved-objects-server", - "id": "def-common.SavedObjectModelVersionCreateSchema", + "id": "def-common.SavedObjectModelVersionForwardCompatibilityFn", "type": "Type", "tags": [], - "label": "SavedObjectModelVersionCreateSchema", - "description": [], + "label": "SavedObjectModelVersionForwardCompatibilityFn", + "description": [ + "\nPlain javascript function alternative for {@link SavedObjectModelVersionForwardCompatibilitySchema}\n" + ], + "signature": [ + "(attributes: InAttrs) => OutAttrs" + ], + "path": "packages/core/saved-objects/core-saved-objects-server/src/model_version/schemas.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/core-saved-objects-server", + "id": "def-common.SavedObjectModelVersionForwardCompatibilityFn.$1", + "type": "Uncategorized", + "tags": [], + "label": "attributes", + "description": [], + "signature": [ + "InAttrs" + ], + "path": "packages/core/saved-objects/core-saved-objects-server/src/model_version/schemas.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/core-saved-objects-server", + "id": "def-common.SavedObjectModelVersionForwardCompatibilityObjectSchema", + "type": "Type", + "tags": [], + "label": "SavedObjectModelVersionForwardCompatibilityObjectSchema", + "description": [ + "\nObject-schema (from `@kbn/config-schema`) alternative for {@link SavedObjectModelVersionForwardCompatibilitySchema}\n" + ], "signature": [ { "pluginId": "@kbn/config-schema", @@ -11382,6 +11600,38 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "@kbn/core-saved-objects-server", + "id": "def-common.SavedObjectModelVersionForwardCompatibilitySchema", + "type": "Type", + "tags": [], + "label": "SavedObjectModelVersionForwardCompatibilitySchema", + "description": [ + "\nSchema used when retrieving a document of a higher version to convert them to the older version.\n\nThese schemas can be defined in multiple ways:\n- A `@kbn/config-schema`'s Object schema, that will receive the document's attributes\n- An arbitrary function that will receive the document's attributes as parameter and should return the converted attributes\n" + ], + "signature": [ + { + "pluginId": "@kbn/core-saved-objects-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsServerPluginApi", + "section": "def-common.SavedObjectModelVersionForwardCompatibilityObjectSchema", + "text": "SavedObjectModelVersionForwardCompatibilityObjectSchema" + }, + " | ", + { + "pluginId": "@kbn/core-saved-objects-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsServerPluginApi", + "section": "def-common.SavedObjectModelVersionForwardCompatibilityFn", + "text": "SavedObjectModelVersionForwardCompatibilityFn" + }, + "" + ], + "path": "packages/core/saved-objects/core-saved-objects-server/src/model_version/schemas.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/core-saved-objects-server", "id": "def-common.SavedObjectSanitizedDoc", diff --git a/api_docs/kbn_core_saved_objects_server.mdx b/api_docs/kbn_core_saved_objects_server.mdx index 645150d39a278..c923b923d634a 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server'] --- import kbnCoreSavedObjectsServerObj from './kbn_core_saved_objects_server.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 525 | 1 | 115 | 4 | +| 535 | 1 | 115 | 4 | ## Common diff --git a/api_docs/kbn_core_saved_objects_server_internal.mdx b/api_docs/kbn_core_saved_objects_server_internal.mdx index 8cfceb9b7f94e..ef1adb41fab18 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-05-16 +date: 2023-06-07 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 7b2dc131b65b4..20acafe6e26e2 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-05-16 +date: 2023-06-07 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.devdocs.json b/api_docs/kbn_core_saved_objects_utils_server.devdocs.json index 6410d1a27e5ea..a3b2fb6203fb4 100644 --- a/api_docs/kbn_core_saved_objects_utils_server.devdocs.json +++ b/api_docs/kbn_core_saved_objects_utils_server.devdocs.json @@ -284,6 +284,67 @@ "returnComment": [ "The ID of the saved object after it is converted." ] + }, + { + "parentPluginId": "@kbn/core-saved-objects-utils-server", + "id": "def-common.SavedObjectsUtils.getMigrationFunction", + "type": "Function", + "tags": [], + "label": "getMigrationFunction", + "description": [ + "\nGets the transform function from a migration object." + ], + "signature": [ + "(migration: ", + { + "pluginId": "@kbn/core-saved-objects-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsServerPluginApi", + "section": "def-common.SavedObjectMigration", + "text": "SavedObjectMigration" + }, + ") => ", + { + "pluginId": "@kbn/core-saved-objects-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsServerPluginApi", + "section": "def-common.SavedObjectMigrationFn", + "text": "SavedObjectMigrationFn" + }, + "" + ], + "path": "packages/core/saved-objects/core-saved-objects-utils-server/src/saved_objects_utils.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/core-saved-objects-utils-server", + "id": "def-common.SavedObjectsUtils.getMigrationFunction.$1", + "type": "CompoundType", + "tags": [], + "label": "migration", + "description": [ + "Migration object or a migration function." + ], + "signature": [ + { + "pluginId": "@kbn/core-saved-objects-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsServerPluginApi", + "section": "def-common.SavedObjectMigration", + "text": "SavedObjectMigration" + }, + "" + ], + "path": "packages/core/saved-objects/core-saved-objects-utils-server/src/saved_objects_utils.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [ + "A migration function." + ] } ], "initialIsOpen": false @@ -381,7 +442,7 @@ "text": "SavedObjectMigrationMap" } ], - "path": "packages/core/saved-objects/core-saved-objects-utils-server/src/merge_migration_maps.ts", + "path": "packages/core/saved-objects/core-saved-objects-utils-server/src/merge_migrations.ts", "deprecated": false, "trackAdoption": false, "children": [ @@ -403,7 +464,7 @@ "text": "SavedObjectMigrationMap" } ], - "path": "packages/core/saved-objects/core-saved-objects-utils-server/src/merge_migration_maps.ts", + "path": "packages/core/saved-objects/core-saved-objects-utils-server/src/merge_migrations.ts", "deprecated": false, "trackAdoption": false, "isRequired": true @@ -426,7 +487,7 @@ "text": "SavedObjectMigrationMap" } ], - "path": "packages/core/saved-objects/core-saved-objects-utils-server/src/merge_migration_maps.ts", + "path": "packages/core/saved-objects/core-saved-objects-utils-server/src/merge_migrations.ts", "deprecated": false, "trackAdoption": false, "isRequired": true @@ -437,6 +498,132 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/core-saved-objects-utils-server", + "id": "def-common.mergeSavedObjectMigrations", + "type": "Function", + "tags": [], + "label": "mergeSavedObjectMigrations", + "description": [ + "\nComposes two migrations into a single migration.\n```\nmergeSavedObjectMigrations(outer, inner) -> (doc, context) => outer(inner(doc, context), context) }\n```\n\nIf at least one of the migrations is not deferred, the composed migration will not be deferred.\n" + ], + "signature": [ + "(outer: ", + { + "pluginId": "@kbn/core-saved-objects-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsServerPluginApi", + "section": "def-common.SavedObjectMigration", + "text": "SavedObjectMigration" + }, + ", inner: ", + { + "pluginId": "@kbn/core-saved-objects-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsServerPluginApi", + "section": "def-common.SavedObjectMigration", + "text": "SavedObjectMigration" + }, + ", rest: ", + { + "pluginId": "@kbn/core-saved-objects-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsServerPluginApi", + "section": "def-common.SavedObjectMigration", + "text": "SavedObjectMigration" + }, + "[]) => ", + { + "pluginId": "@kbn/core-saved-objects-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsServerPluginApi", + "section": "def-common.SavedObjectMigration", + "text": "SavedObjectMigration" + }, + "" + ], + "path": "packages/core/saved-objects/core-saved-objects-utils-server/src/merge_migrations.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/core-saved-objects-utils-server", + "id": "def-common.mergeSavedObjectMigrations.$1", + "type": "CompoundType", + "tags": [], + "label": "outer", + "description": [ + "Wrapping migration." + ], + "signature": [ + { + "pluginId": "@kbn/core-saved-objects-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsServerPluginApi", + "section": "def-common.SavedObjectMigration", + "text": "SavedObjectMigration" + }, + "" + ], + "path": "packages/core/saved-objects/core-saved-objects-utils-server/src/merge_migrations.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/core-saved-objects-utils-server", + "id": "def-common.mergeSavedObjectMigrations.$2", + "type": "CompoundType", + "tags": [], + "label": "inner", + "description": [ + "Wrapped migration." + ], + "signature": [ + { + "pluginId": "@kbn/core-saved-objects-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsServerPluginApi", + "section": "def-common.SavedObjectMigration", + "text": "SavedObjectMigration" + }, + "" + ], + "path": "packages/core/saved-objects/core-saved-objects-utils-server/src/merge_migrations.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/core-saved-objects-utils-server", + "id": "def-common.mergeSavedObjectMigrations.$3", + "type": "Array", + "tags": [], + "label": "rest", + "description": [ + "Additional wrapped migrations to compose." + ], + "signature": [ + { + "pluginId": "@kbn/core-saved-objects-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsServerPluginApi", + "section": "def-common.SavedObjectMigration", + "text": "SavedObjectMigration" + }, + "[]" + ], + "path": "packages/core/saved-objects/core-saved-objects-utils-server/src/merge_migrations.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [ + "The composed migration can be either a function or an object depending on the input migrations." + ], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/core-saved-objects-utils-server", "id": "def-common.setMapsAreEqual", diff --git a/api_docs/kbn_core_saved_objects_utils_server.mdx b/api_docs/kbn_core_saved_objects_utils_server.mdx index 65a4c31c8356c..863b2c3763dde 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-utils-server'] --- import kbnCoreSavedObjectsUtilsServerObj from './kbn_core_saved_objects_utils_server.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 30 | 0 | 6 | 0 | +| 36 | 0 | 6 | 0 | ## Common diff --git a/api_docs/kbn_core_status_common.mdx b/api_docs/kbn_core_status_common.mdx index ae3afd9c11b3d..197702d212aa9 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-05-16 +date: 2023-06-07 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.devdocs.json b/api_docs/kbn_core_status_common_internal.devdocs.json index bf962bc7f7b7f..ee881532c5b66 100644 --- a/api_docs/kbn_core_status_common_internal.devdocs.json +++ b/api_docs/kbn_core_status_common_internal.devdocs.json @@ -74,6 +74,17 @@ "path": "packages/core/status/core-status-common-internal/src/status.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "@kbn/core-status-common-internal", + "id": "def-common.ServerVersion.build_date", + "type": "string", + "tags": [], + "label": "build_date", + "description": [], + "path": "packages/core/status/core-status-common-internal/src/status.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false diff --git a/api_docs/kbn_core_status_common_internal.mdx b/api_docs/kbn_core_status_common_internal.mdx index b4730f7a9b1bf..17e36d000c9b6 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common-internal'] --- import kbnCoreStatusCommonInternalObj from './kbn_core_status_common_internal.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 19 | 0 | 18 | 0 | +| 20 | 0 | 19 | 0 | ## Common diff --git a/api_docs/kbn_core_status_server.mdx b/api_docs/kbn_core_status_server.mdx index acb9c2678c0e8..5d7939a262f11 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-05-16 +date: 2023-06-07 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 f92d3d96e8e7e..c93a939869be8 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-05-16 +date: 2023-06-07 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 556eb834ea4fd..798518fc0e9e2 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-05-16 +date: 2023-06-07 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 962adf5056240..228bbf7d0158a 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-05-16 +date: 2023-06-07 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 ac200dc93eb98..82ea1ce9b0241 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-05-16 +date: 2023-06-07 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 ac1b363e2bb24..4496d25653207 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-05-16 +date: 2023-06-07 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 c5dde3c22c1d3..d9a463fdf9679 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-05-16 +date: 2023-06-07 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 4989f3703243d..c537ad89c490e 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-05-16 +date: 2023-06-07 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 7497ce8036506..4530c529cf1de 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser'] --- import kbnCoreThemeBrowserObj from './kbn_core_theme_browser.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser_internal.mdx b/api_docs/kbn_core_theme_browser_internal.mdx index 60414b8864b48..7b8e20da39ca4 100644 --- a/api_docs/kbn_core_theme_browser_internal.mdx +++ b/api_docs/kbn_core_theme_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser-internal title: "@kbn/core-theme-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser-internal plugin -date: 2023-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser-internal'] --- import kbnCoreThemeBrowserInternalObj from './kbn_core_theme_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser_mocks.mdx b/api_docs/kbn_core_theme_browser_mocks.mdx index 03f47e9d9a669..bd7a4ccf777b3 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-05-16 +date: 2023-06-07 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 f6ac7bbedaa3b..64ca22190a3d5 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-05-16 +date: 2023-06-07 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 68cbcbf8096c9..d4bf77629cf20 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-05-16 +date: 2023-06-07 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 0dc043b58f656..402ccc7b1afe2 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-05-16 +date: 2023-06-07 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 6231b1aa1654f..e718da4f78ebe 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-05-16 +date: 2023-06-07 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 d6309c816c6c4..3cc8487128671 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-05-16 +date: 2023-06-07 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 135913566785b..08bd94f050a7f 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-05-16 +date: 2023-06-07 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 1ce7afcac925c..8d675d56a7f20 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-05-16 +date: 2023-06-07 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 8a05ef39e95d3..cd61cbab089ac 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-05-16 +date: 2023-06-07 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 d89b1d43fbf47..c7d3d9f57889c 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-05-16 +date: 2023-06-07 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 b276159095433..395d2e3d6e817 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-05-16 +date: 2023-06-07 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 78c411126831c..1e40d8fc814fa 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-05-16 +date: 2023-06-07 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 4cfef558b8360..8f3ebab164673 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-05-16 +date: 2023-06-07 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 76d5891e340bd..8a20f4153e947 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-05-16 +date: 2023-06-07 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 4a7f599320e6b..94688ad21b0c1 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-05-16 +date: 2023-06-07 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 a40bd4871d3aa..7129ee2c5ccbb 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-05-16 +date: 2023-06-07 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 943f866032971..4572d70f0b679 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cypress-config'] --- import kbnCypressConfigObj from './kbn_cypress_config.devdocs.json'; diff --git a/api_docs/kbn_datemath.mdx b/api_docs/kbn_datemath.mdx index 3c31a77db7c62..481a00ba7402f 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/datemath'] --- import kbnDatemathObj from './kbn_datemath.devdocs.json'; diff --git a/api_docs/kbn_dev_cli_errors.mdx b/api_docs/kbn_dev_cli_errors.mdx index 3c9e183b2641b..313cb22dac25f 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-05-16 +date: 2023-06-07 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 2577924f5ab2a..b86a676da2ba6 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-05-16 +date: 2023-06-07 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.devdocs.json b/api_docs/kbn_dev_proc_runner.devdocs.json index 3d82e419b6421..c4cbe216f32b9 100644 --- a/api_docs/kbn_dev_proc_runner.devdocs.json +++ b/api_docs/kbn_dev_proc_runner.devdocs.json @@ -258,7 +258,7 @@ "section": "def-common.ProcRunner", "text": "ProcRunner" }, - ") => Promise) => Promise" + ") => Promise) => Promise" ], "path": "packages/kbn-dev-proc-runner/src/with_proc_runner.ts", "deprecated": false, @@ -301,7 +301,7 @@ "section": "def-common.ProcRunner", "text": "ProcRunner" }, - ") => Promise" + ") => Promise" ], "path": "packages/kbn-dev-proc-runner/src/with_proc_runner.ts", "deprecated": false, diff --git a/api_docs/kbn_dev_proc_runner.mdx b/api_docs/kbn_dev_proc_runner.mdx index faf18199951ce..b99dc7d8d180b 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-05-16 +date: 2023-06-07 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 771a184ee531e..defc20efef2b3 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-utils'] --- import kbnDevUtilsObj from './kbn_dev_utils.devdocs.json'; diff --git a/api_docs/kbn_doc_links.devdocs.json b/api_docs/kbn_doc_links.devdocs.json index 1c0b9751b04a6..ffc10ee1b4fe1 100644 --- a/api_docs/kbn_doc_links.devdocs.json +++ b/api_docs/kbn_doc_links.devdocs.json @@ -672,7 +672,7 @@ "label": "alerting", "description": [], "signature": [ - "{ readonly guide: string; readonly actionTypes: string; readonly apmRules: string; readonly emailAction: string; readonly emailActionConfig: string; readonly emailExchangeClientSecretConfig: string; readonly emailExchangeClientIdConfig: string; readonly generalSettings: string; readonly indexAction: string; readonly esQuery: string; readonly indexThreshold: string; readonly pagerDutyAction: string; readonly preconfiguredConnectors: string; readonly preconfiguredAlertHistoryConnector: string; readonly serviceNowAction: string; readonly serviceNowSIRAction: string; readonly setupPrerequisites: string; readonly slackAction: string; readonly slackApiAction: string; readonly teamsAction: string; readonly connectors: string; }" + "{ readonly guide: string; readonly actionTypes: string; readonly apmRules: string; readonly emailAction: string; readonly emailActionConfig: string; readonly emailExchangeClientSecretConfig: string; readonly emailExchangeClientIdConfig: string; readonly generalSettings: string; readonly indexAction: string; readonly esQuery: string; readonly indexThreshold: string; readonly maintenanceWindows: string; readonly pagerDutyAction: string; readonly preconfiguredConnectors: string; readonly preconfiguredAlertHistoryConnector: string; readonly serviceNowAction: string; readonly serviceNowSIRAction: string; readonly setupPrerequisites: string; readonly slackAction: string; readonly slackApiAction: string; readonly teamsAction: string; readonly connectors: string; }" ], "path": "packages/kbn-doc-links/src/types.ts", "deprecated": false, @@ -957,6 +957,20 @@ "path": "packages/kbn-doc-links/src/types.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "@kbn/doc-links", + "id": "def-common.DocLinks.telemetry", + "type": "Object", + "tags": [], + "label": "telemetry", + "description": [], + "signature": [ + "{ readonly settings: string; }" + ], + "path": "packages/kbn-doc-links/src/types.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false diff --git a/api_docs/kbn_doc_links.mdx b/api_docs/kbn_doc_links.mdx index 8b737f3b89ab2..592153ef291e0 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/doc-links'] --- import kbnDocLinksObj from './kbn_doc_links.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-docs](https://github.com/orgs/elastic/teams/kibana-docs | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 70 | 0 | 70 | 2 | +| 71 | 0 | 71 | 2 | ## Common diff --git a/api_docs/kbn_docs_utils.mdx b/api_docs/kbn_docs_utils.mdx index 6ef813668db33..60ce8f22fdb07 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-05-16 +date: 2023-06-07 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 9c7a4cb138d34..47c1c84ddacab 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-05-16 +date: 2023-06-07 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 9cd680b734443..fad5a634283ae 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-05-16 +date: 2023-06-07 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 4682d72f57898..cbb96a7e571f6 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs'] --- import kbnEcsObj from './kbn_ecs.devdocs.json'; diff --git a/api_docs/kbn_ecs_data_quality_dashboard.devdocs.json b/api_docs/kbn_ecs_data_quality_dashboard.devdocs.json index bd1a4114e8107..0015a2f6b419c 100644 --- a/api_docs/kbn_ecs_data_quality_dashboard.devdocs.json +++ b/api_docs/kbn_ecs_data_quality_dashboard.devdocs.json @@ -3,6 +3,39 @@ "client": { "classes": [], "functions": [ + { + "parentPluginId": "@kbn/ecs-data-quality-dashboard", + "id": "def-public.DATA_QUALITY_PROMPT_CONTEXT_PILL", + "type": "Function", + "tags": [], + "label": "DATA_QUALITY_PROMPT_CONTEXT_PILL", + "description": [], + "signature": [ + "(indexName: string) => any" + ], + "path": "x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality/translations.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ecs-data-quality-dashboard", + "id": "def-public.DATA_QUALITY_PROMPT_CONTEXT_PILL.$1", + "type": "string", + "tags": [], + "label": "indexName", + "description": [], + "signature": [ + "string" + ], + "path": "x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality/translations.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/ecs-data-quality-dashboard", "id": "def-public.DataQualityPanel", @@ -76,6 +109,21 @@ "interfaces": [], "enums": [], "misc": [ + { + "parentPluginId": "@kbn/ecs-data-quality-dashboard", + "id": "def-public.DATA_QUALITY_PROMPT_CONTEXT_PILL_TOOLTIP", + "type": "Any", + "tags": [], + "label": "DATA_QUALITY_PROMPT_CONTEXT_PILL_TOOLTIP", + "description": [], + "signature": [ + "any" + ], + "path": "x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality/translations.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/ecs-data-quality-dashboard", "id": "def-public.DATA_QUALITY_SUBTITLE", @@ -90,6 +138,21 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "@kbn/ecs-data-quality-dashboard", + "id": "def-public.DATA_QUALITY_SUGGESTED_USER_PROMPT", + "type": "Any", + "tags": [], + "label": "DATA_QUALITY_SUGGESTED_USER_PROMPT", + "description": [], + "signature": [ + "any" + ], + "path": "x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality/translations.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/ecs-data-quality-dashboard", "id": "def-public.ECS_REFERENCE_URL", diff --git a/api_docs/kbn_ecs_data_quality_dashboard.mdx b/api_docs/kbn_ecs_data_quality_dashboard.mdx index a4a78c981c1be..9e235491da702 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs-data-quality-dashboard'] --- import kbnEcsDataQualityDashboardObj from './kbn_ecs_data_quality_dashboard.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/security-threat-hunting-investigations](https://github.com/org | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 9 | 0 | 1 | 0 | +| 13 | 2 | 5 | 0 | ## Client diff --git a/api_docs/kbn_elastic_assistant.devdocs.json b/api_docs/kbn_elastic_assistant.devdocs.json new file mode 100644 index 0000000000000..e77708c1a3d03 --- /dev/null +++ b/api_docs/kbn_elastic_assistant.devdocs.json @@ -0,0 +1,1115 @@ +{ + "id": "@kbn/elastic-assistant", + "client": { + "classes": [], + "functions": [ + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.analyzeMarkdown", + "type": "Function", + "tags": [], + "label": "analyzeMarkdown", + "description": [ + "\n`analyzeMarkdown` is a helper that enriches content returned from a query\nwith action buttons\n\nReturns a list of code block details for each code block in the markdown,\nincluding the type of code block and the content of the code block.\n" + ], + "signature": [ + "(markdown: string) => ", + { + "pluginId": "@kbn/elastic-assistant", + "scope": "public", + "docId": "kibKbnElasticAssistantPluginApi", + "section": "def-public.CodeBlockDetails", + "text": "CodeBlockDetails" + }, + "[]" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/helpers.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.analyzeMarkdown.$1", + "type": "string", + "tags": [], + "label": "markdown", + "description": [], + "signature": [ + "string" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/helpers.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.Assistant", + "type": "Function", + "tags": [], + "label": "Assistant", + "description": [], + "signature": [ + "React.NamedExoticComponent<", + "Props", + ">" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/index.tsx", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.Assistant.$1", + "type": "Uncategorized", + "tags": [], + "label": "props", + "description": [], + "signature": [ + "P" + ], + "path": "node_modules/@types/react/index.d.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.AssistantOverlay", + "type": "Function", + "tags": [], + "label": "AssistantOverlay", + "description": [ + "\nModal container for Security Assistant conversations, receiving the page contents as context, plus whatever\ncomponent currently has focus and any specific context it may provide through the SAssInterface." + ], + "signature": [ + "React.FunctionComponent<{}>" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_overlay/index.tsx", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.AssistantOverlay.$1", + "type": "CompoundType", + "tags": [], + "label": "props", + "description": [], + "signature": [ + "P & { children?: React.ReactNode; }" + ], + "path": "node_modules/@types/react/index.d.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.AssistantOverlay.$2", + "type": "Any", + "tags": [], + "label": "context", + "description": [], + "signature": [ + "any" + ], + "path": "node_modules/@types/react/index.d.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.AssistantProvider", + "type": "Function", + "tags": [], + "label": "AssistantProvider", + "description": [], + "signature": [ + "({ actionTypeRegistry, augmentMessageCodeBlocks, basePromptContexts, baseQuickPrompts, children, getComments, http, getInitialConversations, nameSpace, setConversations, title, }: React.PropsWithChildren) => JSX.Element" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant_context/index.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.AssistantProvider.$1", + "type": "CompoundType", + "tags": [], + "label": "{\n actionTypeRegistry,\n augmentMessageCodeBlocks,\n basePromptContexts = [],\n baseQuickPrompts = [],\n children,\n getComments,\n http,\n getInitialConversations,\n nameSpace = 'elasticAssistantDefault',\n setConversations,\n title = DEFAULT_ASSISTANT_TITLE,\n}", + "description": [], + "signature": [ + "React.PropsWithChildren" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant_context/index.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.NewChat", + "type": "Function", + "tags": [], + "label": "NewChat", + "description": [ + "\n`NewChat` displays a _New chat_ icon button, providing all the context\nnecessary to start a new chat. You may optionally style the button icon,\nor override the default _New chat_ text with custom content, like `🪄✨`\n\nUSE THIS WHEN: All the data necessary to start a new chat is available\nin the same part of the React tree as the _New chat_ button." + ], + "signature": [ + "React.NamedExoticComponent<", + "Props", + ">" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/new_chat/index.tsx", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.NewChat.$1", + "type": "Uncategorized", + "tags": [], + "label": "props", + "description": [], + "signature": [ + "P" + ], + "path": "node_modules/@types/react/index.d.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.NewChatById", + "type": "Function", + "tags": [], + "label": "NewChatById", + "description": [ + "\n`NewChatByID` displays a _New chat_ icon button by providing only the `promptContextId`\nof a context that was (already) registered by the `useAssistantOverlay` hook. You may\noptionally style the button icon, or override the default _New chat_ text with custom\ncontent, like {'🪄✨'}\n\nUSE THIS WHEN: all the data necessary to start a new chat is NOT available\nin the same part of the React tree as the _New chat_ button. When paired\nwith the `useAssistantOverlay` hook, this option enables context to be be\nregistered where the data is available, and then the _New chat_ button can be displayed\nin another part of the tree." + ], + "signature": [ + "React.NamedExoticComponent<", + "Props", + ">" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/new_chat_by_id/index.tsx", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.NewChatById.$1", + "type": "Uncategorized", + "tags": [], + "label": "props", + "description": [], + "signature": [ + "P" + ], + "path": "node_modules/@types/react/index.d.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.useAssistantOverlay", + "type": "Function", + "tags": [], + "label": "useAssistantOverlay", + "description": [ + "\n`useAssistantOverlay` is a hook that registers context with the assistant overlay, and\nreturns an optional `showAssistantOverlay` function to display the assistant overlay.\nAs an alterative to using the `showAssistantOverlay` returned from this hook, you may\nuse the `NewChatById` component and pass it the `promptContextId` returned by this hook.\n\nUSE THIS WHEN: You want to register context in one part of the tree, and then show\na _New chat_ button in another part of the tree without passing around the data, or when\nyou want to build a custom `New chat` button with features not not provided by the\n`NewChat` component." + ], + "signature": [ + "(category: string, conversationId: string | null, description: string, getPromptContext: () => Promise, id: string | null, suggestedUserPrompt: string | null | undefined, tooltip: React.ReactNode) => UseAssistantOverlay" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_assistant_overlay/index.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.useAssistantOverlay.$1", + "type": "string", + "tags": [], + "label": "category", + "description": [], + "signature": [ + "string" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_assistant_overlay/index.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.useAssistantOverlay.$2", + "type": "CompoundType", + "tags": [], + "label": "conversationId", + "description": [], + "signature": [ + "string | null" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_assistant_overlay/index.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.useAssistantOverlay.$3", + "type": "string", + "tags": [], + "label": "description", + "description": [], + "signature": [ + "string" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_assistant_overlay/index.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.useAssistantOverlay.$4", + "type": "Function", + "tags": [], + "label": "getPromptContext", + "description": [], + "signature": [ + "() => Promise" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_assistant_overlay/index.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.useAssistantOverlay.$5", + "type": "CompoundType", + "tags": [], + "label": "id", + "description": [], + "signature": [ + "string | null" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_assistant_overlay/index.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.useAssistantOverlay.$6", + "type": "CompoundType", + "tags": [], + "label": "suggestedUserPrompt", + "description": [], + "signature": [ + "string | null | undefined" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_assistant_overlay/index.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.useAssistantOverlay.$7", + "type": "CompoundType", + "tags": [], + "label": "tooltip", + "description": [], + "signature": [ + "React.ReactNode" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_assistant_overlay/index.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [ + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.CodeBlockDetails", + "type": "Interface", + "tags": [], + "label": "CodeBlockDetails", + "description": [], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/helpers.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.CodeBlockDetails.type", + "type": "CompoundType", + "tags": [], + "label": "type", + "description": [], + "signature": [ + "\"eql\" | \"json\" | \"kql\" | \"dsl\" | \"no-type\"" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/helpers.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.CodeBlockDetails.content", + "type": "string", + "tags": [], + "label": "content", + "description": [], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/helpers.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.CodeBlockDetails.start", + "type": "number", + "tags": [], + "label": "start", + "description": [], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/helpers.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.CodeBlockDetails.end", + "type": "number", + "tags": [], + "label": "end", + "description": [], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/helpers.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.CodeBlockDetails.controlContainer", + "type": "CompoundType", + "tags": [], + "label": "controlContainer", + "description": [], + "signature": [ + "boolean | React.ReactChild | React.ReactFragment | React.ReactPortal | null | undefined" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/helpers.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.CodeBlockDetails.button", + "type": "CompoundType", + "tags": [], + "label": "button", + "description": [], + "signature": [ + "boolean | React.ReactChild | React.ReactFragment | React.ReactPortal | null | undefined" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/helpers.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.Conversation", + "type": "Interface", + "tags": [], + "label": "Conversation", + "description": [ + "\nComplete state to reconstruct a conversation instance.\nIncludes all messages, connector configured, and relevant UI state.\n" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant_context/types.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.Conversation.apiConfig", + "type": "Object", + "tags": [], + "label": "apiConfig", + "description": [], + "signature": [ + "{ connectorId?: string | undefined; provider?: ", + "OpenAiProviderType", + " | undefined; }" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant_context/types.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.Conversation.id", + "type": "string", + "tags": [], + "label": "id", + "description": [], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant_context/types.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.Conversation.messages", + "type": "Array", + "tags": [], + "label": "messages", + "description": [], + "signature": [ + { + "pluginId": "@kbn/elastic-assistant", + "scope": "public", + "docId": "kibKbnElasticAssistantPluginApi", + "section": "def-public.Message", + "text": "Message" + }, + "[]" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant_context/types.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.Conversation.theme", + "type": "Object", + "tags": [], + "label": "theme", + "description": [], + "signature": [ + "ConversationTheme", + " | undefined" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant_context/types.tsx", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.Message", + "type": "Interface", + "tags": [], + "label": "Message", + "description": [], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant_context/types.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.Message.role", + "type": "CompoundType", + "tags": [], + "label": "role", + "description": [], + "signature": [ + "\"user\" | \"system\" | \"assistant\"" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant_context/types.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.Message.content", + "type": "string", + "tags": [], + "label": "content", + "description": [], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant_context/types.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.Message.timestamp", + "type": "string", + "tags": [], + "label": "timestamp", + "description": [], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant_context/types.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.Message.presentation", + "type": "Object", + "tags": [], + "label": "presentation", + "description": [], + "signature": [ + "MessagePresentation", + " | undefined" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant_context/types.tsx", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.PromptContext", + "type": "Interface", + "tags": [], + "label": "PromptContext", + "description": [ + "\nThis interface is used to pass context to the Elastic Assistant,\nfor the purpose of building prompts. Examples of context include:\n- a single alert\n- multiple alerts\n- a single event\n- multiple events\n- markdown\n- csv\n- anything else that the LLM can interpret" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_context/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.PromptContext.category", + "type": "string", + "tags": [], + "label": "category", + "description": [ + "\nThe category of data, e.g. `alert | alerts | event | events | string`\n\n`category` helps the Elastic Assistant display the most relevant user prompts" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_context/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.PromptContext.description", + "type": "string", + "tags": [], + "label": "description", + "description": [ + "\nThe Elastic Assistant will display this **short**, static description\nin the context pill" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_context/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.PromptContext.getPromptContext", + "type": "Function", + "tags": [], + "label": "getPromptContext", + "description": [ + "\nThe Elastic Assistant will invoke this function to retrieve the context data,\nwhich will be included in a prompt (e.g. the contents of an alert or an event)" + ], + "signature": [ + "() => Promise" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_context/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.PromptContext.id", + "type": "string", + "tags": [], + "label": "id", + "description": [ + "\nA unique identifier for this prompt context" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_context/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.PromptContext.suggestedUserPrompt", + "type": "string", + "tags": [], + "label": "suggestedUserPrompt", + "description": [ + "\nAn optional user prompt that's filled in, but not sent, when the Elastic Assistant opens" + ], + "signature": [ + "string | undefined" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_context/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.PromptContext.tooltip", + "type": "CompoundType", + "tags": [], + "label": "tooltip", + "description": [ + "\nThe Elastic Assistant will display this tooltip when the user hovers over the context pill" + ], + "signature": [ + "boolean | React.ReactChild | React.ReactFragment | React.ReactPortal | null | undefined" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_context/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.QuickPrompt", + "type": "Interface", + "tags": [], + "label": "QuickPrompt", + "description": [ + "\nA QuickPrompt is a badge that is displayed below the Assistant's input field. They provide\na quick way for users to insert prompts as templates into the Assistant's input field. If no\ncategories are provided they will always display with the assistant, however categories can be\nsupplied to only display the QuickPrompt when the Assistant is registered with corresponding\nPromptContext's containing the same category.\n\nisDefault: If true, this QuickPrompt cannot be deleted by the user" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/quick_prompts/types.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.QuickPrompt.title", + "type": "string", + "tags": [], + "label": "title", + "description": [], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/quick_prompts/types.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.QuickPrompt.prompt", + "type": "string", + "tags": [], + "label": "prompt", + "description": [], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/quick_prompts/types.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.QuickPrompt.color", + "type": "string", + "tags": [], + "label": "color", + "description": [], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/quick_prompts/types.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.QuickPrompt.categories", + "type": "Array", + "tags": [], + "label": "categories", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/quick_prompts/types.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.QuickPrompt.isDefault", + "type": "CompoundType", + "tags": [], + "label": "isDefault", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/quick_prompts/types.tsx", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], + "enums": [], + "misc": [ + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.PromptContextTemplate", + "type": "Type", + "tags": [], + "label": "PromptContextTemplate", + "description": [ + "\nThis interface is used to pass a default or base set of contexts to the Elastic Assistant when\ninitializing it. This is used to provide 'category' options when users create Quick Prompts.\nAlso, useful for collating all of a solutions' prompts in one place.\n\ne.g. see Security Solution's x-pack/plugins/security_solution/public/assistant/prompt_contexts/index.tsx" + ], + "signature": [ + "{ description: string; category: string; tooltip: React.ReactNode; suggestedUserPrompt?: string | undefined; }" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_context/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.QueryType", + "type": "Type", + "tags": [], + "label": "QueryType", + "description": [], + "signature": [ + "\"eql\" | \"json\" | \"kql\" | \"dsl\" | \"no-type\"" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/helpers.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "objects": [ + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.BASE_CONVERSATIONS", + "type": "Object", + "tags": [], + "label": "BASE_CONVERSATIONS", + "description": [], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.BASE_CONVERSATIONS.DEFAULT_CONVERSATION_TITLE", + "type": "Object", + "tags": [], + "label": "[DEFAULT_CONVERSATION_TITLE]", + "description": [], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.BASE_CONVERSATIONS.DEFAULT_CONVERSATION_TITLE.id", + "type": "Any", + "tags": [], + "label": "id", + "description": [], + "signature": [ + "any" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.BASE_CONVERSATIONS.DEFAULT_CONVERSATION_TITLE.messages", + "type": "Array", + "tags": [], + "label": "messages", + "description": [], + "signature": [ + "({ role: \"user\"; content: string; timestamp: string; } | { role: \"assistant\"; content: string; timestamp: string; })[]" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.BASE_CONVERSATIONS.DEFAULT_CONVERSATION_TITLE.apiConfig", + "type": "Object", + "tags": [], + "label": "apiConfig", + "description": [], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [] + } + ] + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.BASE_CONVERSATIONS.timeline", + "type": "Object", + "tags": [], + "label": "timeline", + "description": [], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.BASE_CONVERSATIONS.timeline.id", + "type": "string", + "tags": [], + "label": "id", + "description": [], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.BASE_CONVERSATIONS.timeline.messages", + "type": "Array", + "tags": [], + "label": "messages", + "description": [], + "signature": [ + "never[]" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.BASE_CONVERSATIONS.timeline.apiConfig", + "type": "Object", + "tags": [], + "label": "apiConfig", + "description": [], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [] + } + ] + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.BASE_CONVERSATIONS.WELCOME_CONVERSATION_TITLE", + "type": "Object", + "tags": [], + "label": "[WELCOME_CONVERSATION_TITLE]", + "description": [], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.BASE_CONVERSATIONS.WELCOME_CONVERSATION_TITLE.id", + "type": "Any", + "tags": [], + "label": "id", + "description": [], + "signature": [ + "any" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.BASE_CONVERSATIONS.WELCOME_CONVERSATION_TITLE.theme", + "type": "Object", + "tags": [], + "label": "theme", + "description": [], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.BASE_CONVERSATIONS.WELCOME_CONVERSATION_TITLE.theme.title", + "type": "Any", + "tags": [], + "label": "title", + "description": [], + "signature": [ + "any" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.BASE_CONVERSATIONS.WELCOME_CONVERSATION_TITLE.theme.titleIcon", + "type": "string", + "tags": [], + "label": "titleIcon", + "description": [], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.BASE_CONVERSATIONS.WELCOME_CONVERSATION_TITLE.theme.assistant", + "type": "Object", + "tags": [], + "label": "assistant", + "description": [], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.BASE_CONVERSATIONS.WELCOME_CONVERSATION_TITLE.theme.assistant.name", + "type": "Any", + "tags": [], + "label": "name", + "description": [], + "signature": [ + "any" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.BASE_CONVERSATIONS.WELCOME_CONVERSATION_TITLE.theme.assistant.icon", + "type": "string", + "tags": [], + "label": "icon", + "description": [], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.BASE_CONVERSATIONS.WELCOME_CONVERSATION_TITLE.theme.system", + "type": "Object", + "tags": [], + "label": "system", + "description": [], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.BASE_CONVERSATIONS.WELCOME_CONVERSATION_TITLE.theme.system.icon", + "type": "string", + "tags": [], + "label": "icon", + "description": [], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.BASE_CONVERSATIONS.WELCOME_CONVERSATION_TITLE.theme.user", + "type": "Object", + "tags": [], + "label": "user", + "description": [], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [] + } + ] + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.BASE_CONVERSATIONS.WELCOME_CONVERSATION_TITLE.messages", + "type": "Array", + "tags": [], + "label": "messages", + "description": [], + "signature": [ + "{ role: \"assistant\"; content: any; timestamp: string; presentation: { delay: number; stream: true; }; }[]" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.BASE_CONVERSATIONS.WELCOME_CONVERSATION_TITLE.apiConfig", + "type": "Object", + "tags": [], + "label": "apiConfig", + "description": [], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [] + } + ] + } + ], + "initialIsOpen": false + } + ] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_elastic_assistant.mdx b/api_docs/kbn_elastic_assistant.mdx new file mode 100644 index 0000000000000..f7a08b705f574 --- /dev/null +++ b/api_docs/kbn_elastic_assistant.mdx @@ -0,0 +1,39 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnElasticAssistantPluginApi +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-06-07 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant'] +--- +import kbnElasticAssistantObj from './kbn_elastic_assistant.devdocs.json'; + + + +Contact [@elastic/security-solution](https://github.com/orgs/elastic/teams/security-solution) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 75 | 4 | 55 | 3 | + +## Client + +### Objects + + +### Functions + + +### Interfaces + + +### Consts, variables and types + + diff --git a/api_docs/kbn_es.mdx b/api_docs/kbn_es.mdx index 36999ee7365c2..caa796b7e32b5 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-05-16 +date: 2023-06-07 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 42f20cdb1dc77..fb2eb9778139b 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-05-16 +date: 2023-06-07 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 65e0b4690ee29..a229a48598cac 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-05-16 +date: 2023-06-07 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 e75d1132d2a56..b02485bda7921 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-query'] --- import kbnEsQueryObj from './kbn_es_query.devdocs.json'; diff --git a/api_docs/kbn_es_types.devdocs.json b/api_docs/kbn_es_types.devdocs.json index fc197d24736da..841ef1a65eb26 100644 --- a/api_docs/kbn_es_types.devdocs.json +++ b/api_docs/kbn_es_types.devdocs.json @@ -166,6 +166,8 @@ "AggregationsExtendedStatsAggregation", "; extended_stats_bucket: ", "AggregationsExtendedStatsBucketAggregation", + "; frequent_item_sets: ", + "AggregationsFrequentItemSetsAggregation", "; filter: ", "QueryDslQueryContainer", "; filters: ", @@ -190,6 +192,8 @@ "AggregationsHistogramAggregation", "; ip_range: ", "AggregationsIpRangeAggregation", + "; ip_prefix: ", + "AggregationsIpPrefixAggregation", "; inference: ", "AggregationsInferenceAggregation", "; line: ", diff --git a/api_docs/kbn_es_types.mdx b/api_docs/kbn_es_types.mdx index 1c3aefbd12869..846c66be6eff2 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-05-16 +date: 2023-06-07 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 d195fc3aa375f..006d92c1a50b1 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/eslint-plugin-imports'] --- import kbnEslintPluginImportsObj from './kbn_eslint_plugin_imports.devdocs.json'; diff --git a/api_docs/kbn_expandable_flyout.mdx b/api_docs/kbn_expandable_flyout.mdx index fc24c4170f948..6aa12842b29b6 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-05-16 +date: 2023-06-07 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 b38d5dd8caee3..d77b5375e7568 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-05-16 +date: 2023-06-07 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 cb9685f889f27..7ac72adaeca44 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-05-16 +date: 2023-06-07 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 1f03b428020e3..727bb4b6d7ee0 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-05-16 +date: 2023-06-07 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 d788671e057f2..38b6ad16f8def 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate'] --- import kbnGenerateObj from './kbn_generate.devdocs.json'; diff --git a/api_docs/kbn_generate_csv.mdx b/api_docs/kbn_generate_csv.mdx index 6972820d0e435..9dff3396e8116 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-05-16 +date: 2023-06-07 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 359640c3f4f6a..e7c6e818f1b8a 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-05-16 +date: 2023-06-07 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 9ab7e66086991..0426264162cd6 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-05-16 +date: 2023-06-07 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 28e9ad0e68488..5cedd3c4c46a9 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-05-16 +date: 2023-06-07 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 598ccaec7a44b..3dbe2f2aa0d9b 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-05-16 +date: 2023-06-07 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 aa6b7a7a705cc..2d77ad61bc47c 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-05-16 +date: 2023-06-07 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 f592ffae9b08e..d7fda861fb425 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-05-16 +date: 2023-06-07 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 2e4618cbd4910..742a54e2b5837 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-05-16 +date: 2023-06-07 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 10d26fda9c83e..effbad93c55dd 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-05-16 +date: 2023-06-07 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 96ffc490efaec..99eae9897c9a4 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-05-16 +date: 2023-06-07 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 40531c1b903c7..3179bb878b687 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/import-resolver'] --- import kbnImportResolverObj from './kbn_import_resolver.devdocs.json'; diff --git a/api_docs/kbn_infra_forge.devdocs.json b/api_docs/kbn_infra_forge.devdocs.json new file mode 100644 index 0000000000000..51660ce739fbc --- /dev/null +++ b/api_docs/kbn_infra_forge.devdocs.json @@ -0,0 +1,189 @@ +{ + "id": "@kbn/infra-forge", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [ + { + "parentPluginId": "@kbn/infra-forge", + "id": "def-common.cleanup", + "type": "Function", + "tags": [], + "label": "cleanup", + "description": [], + "signature": [ + "({ esClient, logger }: { esClient: ", + "default", + "; logger: ", + { + "pluginId": "@kbn/tooling-log", + "scope": "common", + "docId": "kibKbnToolingLogPluginApi", + "section": "def-common.ToolingLog", + "text": "ToolingLog" + }, + "; }) => Promise" + ], + "path": "x-pack/packages/kbn-infra-forge/src/run.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/infra-forge", + "id": "def-common.cleanup.$1", + "type": "Object", + "tags": [], + "label": "{ esClient, logger }", + "description": [], + "path": "x-pack/packages/kbn-infra-forge/src/run.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/infra-forge", + "id": "def-common.cleanup.$1.esClient", + "type": "Object", + "tags": [], + "label": "esClient", + "description": [], + "signature": [ + "default" + ], + "path": "x-pack/packages/kbn-infra-forge/src/run.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/infra-forge", + "id": "def-common.cleanup.$1.logger", + "type": "Object", + "tags": [], + "label": "logger", + "description": [], + "signature": [ + { + "pluginId": "@kbn/tooling-log", + "scope": "common", + "docId": "kibKbnToolingLogPluginApi", + "section": "def-common.ToolingLog", + "text": "ToolingLog" + } + ], + "path": "x-pack/packages/kbn-infra-forge/src/run.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/infra-forge", + "id": "def-common.generate", + "type": "Function", + "tags": [], + "label": "generate", + "description": [], + "signature": [ + "({ esClient, lookback, logger, }: { esClient: ", + "default", + "; lookback: string; logger: ", + { + "pluginId": "@kbn/tooling-log", + "scope": "common", + "docId": "kibKbnToolingLogPluginApi", + "section": "def-common.ToolingLog", + "text": "ToolingLog" + }, + "; }) => Promise" + ], + "path": "x-pack/packages/kbn-infra-forge/src/run.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/infra-forge", + "id": "def-common.generate.$1", + "type": "Object", + "tags": [], + "label": "{\n esClient,\n lookback,\n logger,\n}", + "description": [], + "path": "x-pack/packages/kbn-infra-forge/src/run.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/infra-forge", + "id": "def-common.generate.$1.esClient", + "type": "Object", + "tags": [], + "label": "esClient", + "description": [], + "signature": [ + "default" + ], + "path": "x-pack/packages/kbn-infra-forge/src/run.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/infra-forge", + "id": "def-common.generate.$1.lookback", + "type": "string", + "tags": [], + "label": "lookback", + "description": [], + "path": "x-pack/packages/kbn-infra-forge/src/run.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/infra-forge", + "id": "def-common.generate.$1.logger", + "type": "Object", + "tags": [], + "label": "logger", + "description": [], + "signature": [ + { + "pluginId": "@kbn/tooling-log", + "scope": "common", + "docId": "kibKbnToolingLogPluginApi", + "section": "def-common.ToolingLog", + "text": "ToolingLog" + } + ], + "path": "x-pack/packages/kbn-infra-forge/src/run.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_infra_forge.mdx b/api_docs/kbn_infra_forge.mdx new file mode 100644 index 0000000000000..cbd37f8fa9eea --- /dev/null +++ b/api_docs/kbn_infra_forge.mdx @@ -0,0 +1,30 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnInfraForgePluginApi +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-06-07 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/infra-forge'] +--- +import kbnInfraForgeObj from './kbn_infra_forge.devdocs.json'; + + + +Contact [@elastic/actionable-observability](https://github.com/orgs/elastic/teams/actionable-observability) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 9 | 0 | 9 | 0 | + +## Common + +### Functions + + diff --git a/api_docs/kbn_interpreter.mdx b/api_docs/kbn_interpreter.mdx index 62a5ca1a1bc23..ac9b61689bc6a 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/interpreter'] --- import kbnInterpreterObj from './kbn_interpreter.devdocs.json'; diff --git a/api_docs/kbn_io_ts_utils.devdocs.json b/api_docs/kbn_io_ts_utils.devdocs.json index 40cd0884ecb9d..c52cf0c809d50 100644 --- a/api_docs/kbn_io_ts_utils.devdocs.json +++ b/api_docs/kbn_io_ts_utils.devdocs.json @@ -200,6 +200,66 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/io-ts-utils", + "id": "def-common.inRangeFromStringRt", + "type": "Function", + "tags": [], + "label": "inRangeFromStringRt", + "description": [], + "signature": [ + "(start: number, end: number) => ", + "Type", + "<", + "Branded", + ", unknown, unknown>" + ], + "path": "packages/kbn-io-ts-utils/src/in_range_rt/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/io-ts-utils", + "id": "def-common.inRangeFromStringRt.$1", + "type": "number", + "tags": [], + "label": "start", + "description": [], + "signature": [ + "number" + ], + "path": "packages/kbn-io-ts-utils/src/in_range_rt/index.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/io-ts-utils", + "id": "def-common.inRangeFromStringRt.$2", + "type": "number", + "tags": [], + "label": "end", + "description": [], + "signature": [ + "number" + ], + "path": "packages/kbn-io-ts-utils/src/in_range_rt/index.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/io-ts-utils", "id": "def-common.inRangeRt", @@ -678,6 +738,22 @@ } ], "objects": [ + { + "parentPluginId": "@kbn/io-ts-utils", + "id": "def-common.datemathStringRt", + "type": "Object", + "tags": [], + "label": "datemathStringRt", + "description": [], + "signature": [ + "Type", + "" + ], + "path": "packages/kbn-io-ts-utils/src/datemath_string_rt/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/io-ts-utils", "id": "def-common.dateRt", diff --git a/api_docs/kbn_io_ts_utils.mdx b/api_docs/kbn_io_ts_utils.mdx index b59a5befa9973..36c9a713ae4b6 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/io-ts-utils'] --- import kbnIoTsUtilsObj from './kbn_io_ts_utils.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) for ques | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 39 | 0 | 39 | 4 | +| 43 | 0 | 43 | 4 | ## Common diff --git a/api_docs/kbn_jest_serializers.mdx b/api_docs/kbn_jest_serializers.mdx index 22f3fe5e60b09..9a66e796cef04 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-05-16 +date: 2023-06-07 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 9323058758b4d..c85bcfb0822a5 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-05-16 +date: 2023-06-07 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 5e053f199ef79..0b8c595a52b95 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-05-16 +date: 2023-06-07 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 887f1d12d4707..b7d20969b0cac 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-05-16 +date: 2023-06-07 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 7b4f3b6da96d0..4734c5c3ec5b6 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/language-documentation-popover'] --- import kbnLanguageDocumentationPopoverObj from './kbn_language_documentation_popover.devdocs.json'; diff --git a/api_docs/kbn_logging.mdx b/api_docs/kbn_logging.mdx index 5d72faac25232..5f6b97e4f9bee 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-05-16 +date: 2023-06-07 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 b39d2080f2b5d..309326732a485 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-05-16 +date: 2023-06-07 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 59521b4701d3e..e0c927e52c4e2 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/managed-vscode-config'] --- import kbnManagedVscodeConfigObj from './kbn_managed_vscode_config.devdocs.json'; diff --git a/api_docs/kbn_mapbox_gl.devdocs.json b/api_docs/kbn_mapbox_gl.devdocs.json index 1ea33a1ad2373..77583b59f73f0 100644 --- a/api_docs/kbn_mapbox_gl.devdocs.json +++ b/api_docs/kbn_mapbox_gl.devdocs.json @@ -8719,6 +8719,21 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.SourceSpecification", + "type": "Type", + "tags": [], + "label": "SourceSpecification", + "description": [], + "signature": [ + "maplibregl.VectorSourceSpecification | maplibregl.RasterSourceSpecification | maplibregl.RasterDEMSourceSpecification | maplibregl.GeoJSONSourceSpecification | maplibregl.VideoSourceSpecification | maplibregl.ImageSourceSpecification" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/mapbox-gl", "id": "def-common.StyleSpecification", diff --git a/api_docs/kbn_mapbox_gl.mdx b/api_docs/kbn_mapbox_gl.mdx index 9954dcf6e7dd6..b863ef4c57dbe 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/mapbox-gl'] --- import kbnMapboxGlObj from './kbn_mapbox_gl.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-gis](https://github.com/orgs/elastic/teams/kibana-gis) | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 534 | 1 | 1 | 0 | +| 535 | 1 | 1 | 0 | ## Common diff --git a/api_docs/kbn_maps_vector_tile_utils.devdocs.json b/api_docs/kbn_maps_vector_tile_utils.devdocs.json new file mode 100644 index 0000000000000..d9dd62f526990 --- /dev/null +++ b/api_docs/kbn_maps_vector_tile_utils.devdocs.json @@ -0,0 +1,61 @@ +{ + "id": "@kbn/maps-vector-tile-utils", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [ + { + "parentPluginId": "@kbn/maps-vector-tile-utils", + "id": "def-common.getTileUrlParams", + "type": "Function", + "tags": [], + "label": "getTileUrlParams", + "description": [], + "signature": [ + "(params: Record) => string" + ], + "path": "x-pack/packages/maps/vector_tile_utils/src/get_tile_url_params.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/maps-vector-tile-utils", + "id": "def-common.getTileUrlParams.$1", + "type": "Object", + "tags": [], + "label": "params", + "description": [], + "signature": [ + "Record" + ], + "path": "x-pack/packages/maps/vector_tile_utils/src/get_tile_url_params.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_maps_vector_tile_utils.mdx b/api_docs/kbn_maps_vector_tile_utils.mdx new file mode 100644 index 0000000000000..2e9e99a993163 --- /dev/null +++ b/api_docs/kbn_maps_vector_tile_utils.mdx @@ -0,0 +1,30 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnMapsVectorTileUtilsPluginApi +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-06-07 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/maps-vector-tile-utils'] +--- +import kbnMapsVectorTileUtilsObj from './kbn_maps_vector_tile_utils.devdocs.json'; + + + +Contact [@elastic/kibana-gis](https://github.com/orgs/elastic/teams/kibana-gis) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 2 | 0 | 2 | 0 | + +## Common + +### Functions + + diff --git a/api_docs/kbn_ml_agg_utils.devdocs.json b/api_docs/kbn_ml_agg_utils.devdocs.json index 7b5e9220bf728..b0d081192c460 100644 --- a/api_docs/kbn_ml_agg_utils.devdocs.json +++ b/api_docs/kbn_ml_agg_utils.devdocs.json @@ -621,6 +621,47 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/ml-agg-utils", + "id": "def-common.isMultiBucketAggregate", + "type": "Function", + "tags": [ + "template" + ], + "label": "isMultiBucketAggregate", + "description": [ + "\nType guard to validate multi bucket aggregate format.\n" + ], + "signature": [ + "(arg: unknown) => arg is ", + "AggregationsMultiBucketAggregateBase", + "" + ], + "path": "x-pack/packages/ml/agg_utils/src/is_multi_bucket_aggregate.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-agg-utils", + "id": "def-common.isMultiBucketAggregate.$1", + "type": "Unknown", + "tags": [], + "label": "arg", + "description": [ + "- The item to be checked." + ], + "signature": [ + "unknown" + ], + "path": "x-pack/packages/ml/agg_utils/src/is_multi_bucket_aggregate.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/ml-agg-utils", "id": "def-common.isSignificantTerm", @@ -1593,6 +1634,23 @@ } ], "misc": [ + { + "parentPluginId": "@kbn/ml-agg-utils", + "id": "def-common.DEFAULT_SAMPLER_SHARD_SIZE", + "type": "number", + "tags": [], + "label": "DEFAULT_SAMPLER_SHARD_SIZE", + "description": [ + "\nDefault sampler shard size used for field histograms" + ], + "signature": [ + "5000" + ], + "path": "x-pack/packages/ml/agg_utils/src/field_histograms.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/ml-agg-utils", "id": "def-common.FieldsForHistograms", diff --git a/api_docs/kbn_ml_agg_utils.mdx b/api_docs/kbn_ml_agg_utils.mdx index e203a662e628b..e39e7898a0927 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-agg-utils'] --- import kbnMlAggUtilsObj from './kbn_ml_agg_utils.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) for questi | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 93 | 2 | 61 | 0 | +| 96 | 2 | 61 | 0 | ## Common diff --git a/api_docs/kbn_ml_anomaly_utils.devdocs.json b/api_docs/kbn_ml_anomaly_utils.devdocs.json index 7c11cd275eb11..0051aabd534d1 100644 --- a/api_docs/kbn_ml_anomaly_utils.devdocs.json +++ b/api_docs/kbn_ml_anomaly_utils.devdocs.json @@ -480,9 +480,7 @@ "parentPluginId": "@kbn/ml-anomaly-utils", "id": "def-common.isMlKibanaUrlConfigWithTimeRange", "type": "Function", - "tags": [ - "export" - ], + "tags": [], "label": "isMlKibanaUrlConfigWithTimeRange", "description": [ "\nType guard to idenfity MlKibanaUrlConfigWithTimeRange.\n" @@ -697,297 +695,420 @@ "interfaces": [ { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomaliesTableRecord", + "id": "def-common.AggFieldNamePair", "type": "Interface", "tags": [], - "label": "MlAnomaliesTableRecord", + "label": "AggFieldNamePair", "description": [ - "\nAnomaly table record, representing the fields shown in the ML UI anomalies table." + "\nDefinition for a pair of aggregation and field name." ], - "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomaliesTableRecord.time", - "type": "number", + "id": "def-common.AggFieldNamePair.agg", + "type": "string", "tags": [], - "label": "time", + "label": "agg", "description": [ - "\nThe start time of the interval for which the anomaly data in the table is being aggregated.\nAnomalies in the table are commonly aggregated by day, hour, or at the bucket span of the job." + "\nThe aggregation definition." ], - "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomaliesTableRecord.source", + "id": "def-common.AggFieldNamePair.field", + "type": "string", + "tags": [], + "label": "field", + "description": [ + "\nThe field name" + ], + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.AggFieldNamePair.by", "type": "Object", "tags": [], - "label": "source", + "label": "by", "description": [ - "\nThe source anomaly record document, containing the full source anomaly record fields." + "\nOptional by-field configuration" ], "signature": [ - { - "pluginId": "@kbn/ml-anomaly-utils", - "scope": "common", - "docId": "kibKbnMlAnomalyUtilsPluginApi", - "section": "def-common.MlAnomalyRecordDoc", - "text": "MlAnomalyRecordDoc" - } + "{ field: string | null; value: string | null; } | undefined" ], - "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomaliesTableRecord.rowId", - "type": "string", + "id": "def-common.AggFieldNamePair.over", + "type": "Object", "tags": [], - "label": "rowId", + "label": "over", "description": [ - "\nUnique identifier for the table row." + "\nOptional over-field configuration" ], - "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "signature": [ + "{ field: string | null; value: string | null; } | undefined" + ], + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomaliesTableRecord.jobId", - "type": "string", + "id": "def-common.AggFieldNamePair.partition", + "type": "Object", "tags": [], - "label": "jobId", + "label": "partition", "description": [ - "\nIdentifier for the anomaly detection job." + "\nOptional partition-field configuration" ], - "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "signature": [ + "{ field: string | null; value: string | null; } | undefined" + ], + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomaliesTableRecord.detectorIndex", - "type": "number", + "id": "def-common.AggFieldNamePair.excludeFrequent", + "type": "string", "tags": [], - "label": "detectorIndex", + "label": "excludeFrequent", "description": [ - "\nA unique identifier for the detector.\nThis identifier is based on the order of the detectors in the analysis configuration, starting at zero." + "\nOptional exclude frequent." ], - "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "signature": [ + "string | undefined" + ], + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", "deprecated": false, "trackAdoption": false - }, + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.AggFieldPair", + "type": "Interface", + "tags": [], + "label": "AggFieldPair", + "description": [ + "\nDefinition for a pair of aggregation and field." + ], + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomaliesTableRecord.severity", - "type": "number", + "id": "def-common.AggFieldPair.agg", + "type": "Object", "tags": [], - "label": "severity", + "label": "agg", "description": [ - "\nSeverity of the anomaly displaying the anomaly record_score, a normalized score between 0-100,\nwhich is based on the probability of the anomalousness of this record." + "\nThe aggregation." ], - "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "signature": [ + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.Aggregation", + "text": "Aggregation" + } + ], + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomaliesTableRecord.entityName", - "type": "string", + "id": "def-common.AggFieldPair.field", + "type": "Object", "tags": [], - "label": "entityName", + "label": "field", "description": [ - "\nThe entity name of the anomaly, looking first for a by_field, then over_field,\nthen partition_field, returning undefined if none of these fields are present." + "\nThe field." ], "signature": [ - "string | undefined" + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.Field", + "text": "Field" + } ], - "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomaliesTableRecord.entityValue", - "type": "Any", + "id": "def-common.AggFieldPair.by", + "type": "Object", "tags": [], - "label": "entityValue", + "label": "by", "description": [ - "\nThe value of the entity field." + "\nOptional by-field configuration." ], "signature": [ - "any" + "{ field: ", + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.SplitField", + "text": "SplitField" + }, + "; value: string | null; } | undefined" ], - "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomaliesTableRecord.influencers", - "type": "Array", + "id": "def-common.AggFieldPair.over", + "type": "Object", "tags": [], - "label": "influencers", + "label": "over", "description": [ - "\nIf influencers was specified in the detector configuration, this array contains influencers\nthat contributed to or were to blame for an anomaly." + "\nOptional over-field configuration" ], "signature": [ - "{ [key: string]: any; }[] | undefined" + "{ field: ", + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.SplitField", + "text": "SplitField" + }, + "; value: string | null; } | undefined" ], - "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomaliesTableRecord.actual", - "type": "Array", + "id": "def-common.AggFieldPair.partition", + "type": "Object", "tags": [], - "label": "actual", + "label": "partition", "description": [ - "\nThe actual value for the anomaly." + "\nOptional partition field configuration" ], "signature": [ - "number[] | undefined" + "{ field: ", + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.SplitField", + "text": "SplitField" + }, + "; value: string | null; } | undefined" ], - "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomaliesTableRecord.actualSort", - "type": "Any", + "id": "def-common.AggFieldPair.excludeFrequent", + "type": "string", "tags": [], - "label": "actualSort", + "label": "excludeFrequent", "description": [ - "\nProperty used by the table to sort anomalies by their actual value,\nwhich is a single numeric value rather than the underlying arrays." + "\nOptional exclude frequent." ], "signature": [ - "any" + "string | undefined" ], - "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", "deprecated": false, "trackAdoption": false - }, + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.Aggregation", + "type": "Interface", + "tags": [], + "label": "Aggregation", + "description": [ + "\nAggregation definition." + ], + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomaliesTableRecord.typical", - "type": "Array", + "id": "def-common.Aggregation.id", + "type": "Enum", "tags": [], - "label": "typical", + "label": "id", "description": [ - "\nThe typical value for the anomaly." + "\nThe aggregation id." ], "signature": [ - "number[] | undefined" + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.ML_JOB_AGGREGATION", + "text": "ML_JOB_AGGREGATION" + } ], - "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomaliesTableRecord.typicalSort", - "type": "Any", + "id": "def-common.Aggregation.title", + "type": "string", "tags": [], - "label": "typicalSort", + "label": "title", "description": [ - "\nProperty used by the table to sort anomalies by their typical value,\nwhich is a single numeric value rather than the underlying arrays." - ], - "signature": [ - "any" + "\nThe aggregation title." ], - "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomaliesTableRecord.metricDescriptionSort", - "type": "number", + "id": "def-common.Aggregation.kibanaName", + "type": "CompoundType", "tags": [], - "label": "metricDescriptionSort", + "label": "kibanaName", "description": [ - "\nProperty used by the table to sort anomalies by the description of how the\nactual value compares to the typical value." + "\nThe Kibana name for the aggregation." ], "signature": [ - "number | undefined" + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.KIBANA_AGGREGATION", + "text": "KIBANA_AGGREGATION" + }, + " | null" ], - "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomaliesTableRecord.customUrls", - "type": "Array", + "id": "def-common.Aggregation.dslName", + "type": "CompoundType", "tags": [], - "label": "customUrls", + "label": "dslName", "description": [ - "\nList of custom URL drilldowns from the table row to other pages such as\nDiscover, Dashboard or other web pages." + "\nThe ES DSL name for the aggregation." ], "signature": [ { "pluginId": "@kbn/ml-anomaly-utils", "scope": "common", "docId": "kibKbnMlAnomalyUtilsPluginApi", - "section": "def-common.MlKibanaUrlConfig", - "text": "MlKibanaUrlConfig" + "section": "def-common.ES_AGGREGATION", + "text": "ES_AGGREGATION" }, - "[] | undefined" + " | null" ], - "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomaliesTableRecord.isTimeSeriesViewRecord", - "type": "CompoundType", + "id": "def-common.Aggregation.type", + "type": "string", "tags": [], - "label": "isTimeSeriesViewRecord", + "label": "type", "description": [ - "\nReturns true if the anomaly record represented by the table row is for a time series\nwhich can be plotted by the ML UI in an anomaly chart." + "\nThe metric agg type." ], "signature": [ - "boolean | undefined" + "\"metrics\"" ], - "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomaliesTableRecord.isGeoRecord", - "type": "CompoundType", + "id": "def-common.Aggregation.mlModelPlotAgg", + "type": "Object", "tags": [], - "label": "isGeoRecord", + "label": "mlModelPlotAgg", "description": [ - "\nReturns true if the anomaly record represented by the table row can be shown in the maps plugin" + "\nThe model plot agg definition." ], "signature": [ - "boolean | undefined" + "{ min: string; max: string; }" ], - "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomaliesTableRecord.modelPlotEnabled", - "type": "boolean", + "id": "def-common.Aggregation.fieldIds", + "type": "Array", "tags": [], - "label": "modelPlotEnabled", + "label": "fieldIds", "description": [ - "\nReturns true if the job has the model plot enabled" + "\nOptional array of field ids." ], - "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "signature": [ + "string[] | undefined" + ], + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.Aggregation.fields", + "type": "Array", + "tags": [], + "label": "fields", + "description": [ + "\nOptional array or fields." + ], + "signature": [ + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.Field", + "text": "Field" + }, + "[] | undefined" + ], + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", "deprecated": false, "trackAdoption": false } @@ -996,182 +1117,178 @@ }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomaliesTableRecordExtended", + "id": "def-common.Field", "type": "Interface", "tags": [], - "label": "MlAnomaliesTableRecordExtended", + "label": "Field", "description": [ - "\nCustomized version of AnomaliesTableRecord which inserts the detector description\nand rules length.\nUsed by the AnomaliesTable component" + "\nField definition" ], - "signature": [ - { - "pluginId": "@kbn/ml-anomaly-utils", - "scope": "common", - "docId": "kibKbnMlAnomalyUtilsPluginApi", - "section": "def-common.MlAnomaliesTableRecordExtended", - "text": "MlAnomaliesTableRecordExtended" - }, - " extends ", - { - "pluginId": "@kbn/ml-anomaly-utils", - "scope": "common", - "docId": "kibKbnMlAnomalyUtilsPluginApi", - "section": "def-common.MlAnomaliesTableRecord", - "text": "MlAnomaliesTableRecord" - } - ], - "path": "x-pack/packages/ml/anomaly_utils/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomaliesTableRecordExtended.detector", + "id": "def-common.Field.id", "type": "string", - "tags": [ - "type" - ], - "label": "detector", + "tags": [], + "label": "id", "description": [ - "\nThe detector name." + "\nThe field id" ], - "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomaliesTableRecordExtended.rulesLength", - "type": "number", - "tags": [ - "type" - ], - "label": "rulesLength", + "id": "def-common.Field.name", + "type": "string", + "tags": [], + "label": "name", "description": [ - "\nThe length of the rule." - ], - "signature": [ - "number | undefined" + "\nThe field name" ], - "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", "deprecated": false, "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyCategorizerStatsDoc", - "type": "Interface", - "tags": [ - "export", - "interface", - "typedef" - ], - "label": "MlAnomalyCategorizerStatsDoc", - "description": [ - "\nAnomaly record document for categorizer stats.\n" - ], - "path": "x-pack/packages/ml/anomaly_utils/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyCategorizerStatsDoc.Unnamed", - "type": "IndexSignature", + "id": "def-common.Field.type", + "type": "Enum", "tags": [], - "label": "[key: string]: any", + "label": "type", "description": [ - "\nIndex signature to cover dynamic attributes added to the record depending on the fields being analyzed.\nFor example, if the job is analyzing hostname as a by field, then a field hostname is added to the result document." + "\nThe field type is based on ES field types." ], "signature": [ - "[key: string]: any" + { + "pluginId": "@kbn/field-types", + "scope": "common", + "docId": "kibKbnFieldTypesPluginApi", + "section": "def-common.ES_FIELD_TYPES", + "text": "ES_FIELD_TYPES" + } ], - "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyCategorizerStatsDoc.job_id", - "type": "string", - "tags": [ - "type" - ], - "label": "job_id", + "id": "def-common.Field.aggregatable", + "type": "boolean", + "tags": [], + "label": "aggregatable", "description": [ - "\nThe identifier for the anomaly detection job." + "\nFlag whether the field is aggregatable." ], - "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyCategorizerStatsDoc.result_type", - "type": "string", - "tags": [ - "type" + "id": "def-common.Field.counter", + "type": "boolean", + "tags": [], + "label": "counter", + "description": [ + "\nFlag for counter." ], - "label": "result_type", + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.Field.aggIds", + "type": "Array", + "tags": [], + "label": "aggIds", "description": [ - "\nThe type of the result document." + "\nOptional array of AggId." ], "signature": [ - "\"categorizer_stats\"" + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.ML_JOB_AGGREGATION", + "text": "ML_JOB_AGGREGATION" + }, + "[] | undefined" ], - "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyCategorizerStatsDoc.partition_field_name", - "type": "string", - "tags": [ - "type" - ], - "label": "partition_field_name", + "id": "def-common.Field.aggs", + "type": "Array", + "tags": [], + "label": "aggs", "description": [ - "\nThe field used to segment the analysis.\nWhen you use this property, you have completely independent baselines for each value of this field." + "\nOptional array fo aggregations." ], "signature": [ - "string | undefined" + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.Aggregation", + "text": "Aggregation" + }, + "[] | undefined" ], - "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyCategorizerStatsDoc.partition_field_value", - "type": "string", - "tags": [ - "type" - ], - "label": "partition_field_value", + "id": "def-common.Field.runtimeField", + "type": "Object", + "tags": [], + "label": "runtimeField", "description": [ - "\nThe value of the partition field." + "\nOptional runtime field." ], "signature": [ - "string | undefined" + "MappingRuntimeField", + " | undefined" ], - "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", "deprecated": false, "trackAdoption": false - }, + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.MlAnomaliesTableRecord", + "type": "Interface", + "tags": [], + "label": "MlAnomaliesTableRecord", + "description": [ + "\nAnomaly table record, representing the fields shown in the ML UI anomalies table." + ], + "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyCategorizerStatsDoc.categorized_doc_count", + "id": "def-common.MlAnomaliesTableRecord.time", "type": "number", - "tags": [ - "type" - ], - "label": "categorized_doc_count", + "tags": [], + "label": "time", "description": [ - "\nThe number of documents." + "\nThe start time of the interval for which the anomaly data in the table is being aggregated.\nAnomalies in the table are commonly aggregated by day, hour, or at the bucket span of the job." ], "path": "x-pack/packages/ml/anomaly_utils/types.ts", "deprecated": false, @@ -1179,14 +1296,21 @@ }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyCategorizerStatsDoc.total_category_count", - "type": "number", - "tags": [ - "type" - ], - "label": "total_category_count", + "id": "def-common.MlAnomaliesTableRecord.source", + "type": "Object", + "tags": [], + "label": "source", "description": [ - "\nThe total number of categories." + "\nThe source anomaly record document, containing the full source anomaly record fields." + ], + "signature": [ + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.MlAnomalyRecordDoc", + "text": "MlAnomalyRecordDoc" + } ], "path": "x-pack/packages/ml/anomaly_utils/types.ts", "deprecated": false, @@ -1194,14 +1318,12 @@ }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyCategorizerStatsDoc.frequent_category_count", - "type": "number", - "tags": [ - "type" - ], - "label": "frequent_category_count", + "id": "def-common.MlAnomaliesTableRecord.rowId", + "type": "string", + "tags": [], + "label": "rowId", "description": [ - "\nThe number of frequent categories." + "\nUnique identifier for the table row." ], "path": "x-pack/packages/ml/anomaly_utils/types.ts", "deprecated": false, @@ -1209,14 +1331,12 @@ }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyCategorizerStatsDoc.rare_category_count", - "type": "number", - "tags": [ - "type" - ], - "label": "rare_category_count", + "id": "def-common.MlAnomaliesTableRecord.jobId", + "type": "string", + "tags": [], + "label": "jobId", "description": [ - "\nThe number of rare categories." + "\nIdentifier for the anomaly detection job." ], "path": "x-pack/packages/ml/anomaly_utils/types.ts", "deprecated": false, @@ -1224,14 +1344,12 @@ }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyCategorizerStatsDoc.dead_category_count", + "id": "def-common.MlAnomaliesTableRecord.detectorIndex", "type": "number", - "tags": [ - "type" - ], - "label": "dead_category_count", + "tags": [], + "label": "detectorIndex", "description": [ - "\nThe number of dead categories." + "\nA unique identifier for the detector.\nThis identifier is based on the order of the detectors in the analysis configuration, starting at zero." ], "path": "x-pack/packages/ml/anomaly_utils/types.ts", "deprecated": false, @@ -1239,14 +1357,12 @@ }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyCategorizerStatsDoc.failed_category_count", + "id": "def-common.MlAnomaliesTableRecord.severity", "type": "number", - "tags": [ - "type" - ], - "label": "failed_category_count", + "tags": [], + "label": "severity", "description": [ - "\nThe number of failed categories." + "\nSeverity of the anomaly displaying the anomaly record_score, a normalized score between 0-100,\nwhich is based on the probability of the anomalousness of this record." ], "path": "x-pack/packages/ml/anomaly_utils/types.ts", "deprecated": false, @@ -1254,17 +1370,15 @@ }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyCategorizerStatsDoc.categorization_status", - "type": "CompoundType", - "tags": [ - "type" - ], - "label": "categorization_status", + "id": "def-common.MlAnomaliesTableRecord.entityName", + "type": "string", + "tags": [], + "label": "entityName", "description": [ - "\nThe categorization status." + "\nThe entity name of the anomaly, looking first for a by_field, then over_field,\nthen partition_field, returning undefined if none of these fields are present." ], "signature": [ - "\"ok\" | \"warn\"" + "string | undefined" ], "path": "x-pack/packages/ml/anomaly_utils/types.ts", "deprecated": false, @@ -1272,14 +1386,15 @@ }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyCategorizerStatsDoc.log_time", - "type": "number", - "tags": [ - "type" - ], - "label": "log_time", + "id": "def-common.MlAnomaliesTableRecord.entityValue", + "type": "Any", + "tags": [], + "label": "entityValue", "description": [ - "\nThe log time." + "\nThe value of the entity field." + ], + "signature": [ + "any" ], "path": "x-pack/packages/ml/anomaly_utils/types.ts", "deprecated": false, @@ -1287,46 +1402,31 @@ }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyCategorizerStatsDoc.timestamp", - "type": "number", - "tags": [ - "type" - ], - "label": "timestamp", + "id": "def-common.MlAnomaliesTableRecord.influencers", + "type": "Array", + "tags": [], + "label": "influencers", "description": [ - "\nThe start time of the bucket for which these results were calculated." + "\nIf influencers was specified in the detector configuration, this array contains influencers\nthat contributed to or were to blame for an anomaly." + ], + "signature": [ + "{ [key: string]: any; }[] | undefined" ], "path": "x-pack/packages/ml/anomaly_utils/types.ts", "deprecated": false, "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyRecordDoc", - "type": "Interface", - "tags": [], - "label": "MlAnomalyRecordDoc", - "description": [ - "\nAnomaly record document. Records contain the detailed analytical results.\nThey describe the anomalous activity that has been identified in the input data based on the detector configuration." - ], - "path": "x-pack/packages/ml/anomaly_utils/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyRecordDoc.Unnamed", - "type": "IndexSignature", + "id": "def-common.MlAnomaliesTableRecord.actual", + "type": "Array", "tags": [], - "label": "[key: string]: any", + "label": "actual", "description": [ - "\nIndex signature to cover dynamic attributes added to the record depending on the fields being analyzed.\nFor example, if the job is analyzing hostname as a by field, then a field hostname is added to the result document." + "\nThe actual value for the anomaly." ], "signature": [ - "[key: string]: any" + "number[] | undefined" ], "path": "x-pack/packages/ml/anomaly_utils/types.ts", "deprecated": false, @@ -1334,12 +1434,15 @@ }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyRecordDoc.job_id", - "type": "string", + "id": "def-common.MlAnomaliesTableRecord.actualSort", + "type": "Any", "tags": [], - "label": "job_id", + "label": "actualSort", "description": [ - "\nThe identifier for the anomaly detection job." + "\nProperty used by the table to sort anomalies by their actual value,\nwhich is a single numeric value rather than the underlying arrays." + ], + "signature": [ + "any" ], "path": "x-pack/packages/ml/anomaly_utils/types.ts", "deprecated": false, @@ -1347,12 +1450,15 @@ }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyRecordDoc.result_type", - "type": "string", + "id": "def-common.MlAnomaliesTableRecord.typical", + "type": "Array", "tags": [], - "label": "result_type", + "label": "typical", "description": [ - "\nThe type of the result document, which is 'record' for record level results." + "\nThe typical value for the anomaly." + ], + "signature": [ + "number[] | undefined" ], "path": "x-pack/packages/ml/anomaly_utils/types.ts", "deprecated": false, @@ -1360,12 +1466,15 @@ }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyRecordDoc.probability", - "type": "number", + "id": "def-common.MlAnomaliesTableRecord.typicalSort", + "type": "Any", "tags": [], - "label": "probability", + "label": "typicalSort", "description": [ - "\nThe probability of the individual anomaly occurring, in the range 0 to 1.\nThis value can be held to a high precision of over 300 decimal places,\nso the record_score is provided as a human-readable and friendly interpretation of this." + "\nProperty used by the table to sort anomalies by their typical value,\nwhich is a single numeric value rather than the underlying arrays." + ], + "signature": [ + "any" ], "path": "x-pack/packages/ml/anomaly_utils/types.ts", "deprecated": false, @@ -1373,12 +1482,15 @@ }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyRecordDoc.record_score", + "id": "def-common.MlAnomaliesTableRecord.metricDescriptionSort", "type": "number", "tags": [], - "label": "record_score", + "label": "metricDescriptionSort", "description": [ - "\nA normalized score between 0-100, which is based on the probability of the anomalousness of this record.\nUnlike initial_record_score, this value will be updated by a re-normalization process as new data is analyzed." + "\nProperty used by the table to sort anomalies by the description of how the\nactual value compares to the typical value." + ], + "signature": [ + "number | undefined" ], "path": "x-pack/packages/ml/anomaly_utils/types.ts", "deprecated": false, @@ -1386,12 +1498,22 @@ }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyRecordDoc.initial_record_score", - "type": "number", + "id": "def-common.MlAnomaliesTableRecord.customUrls", + "type": "Array", "tags": [], - "label": "initial_record_score", + "label": "customUrls", "description": [ - "\nA normalized score between 0-100, which is based on the probability of the anomalousness of this record.\nThis is the initial value that was calculated at the time the bucket was processed." + "\nList of custom URL drilldowns from the table row to other pages such as\nDiscover, Dashboard or other web pages." + ], + "signature": [ + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.MlKibanaUrlConfig", + "text": "MlKibanaUrlConfig" + }, + "[] | undefined" ], "path": "x-pack/packages/ml/anomaly_utils/types.ts", "deprecated": false, @@ -1399,12 +1521,15 @@ }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyRecordDoc.bucket_span", - "type": "number", + "id": "def-common.MlAnomaliesTableRecord.isTimeSeriesViewRecord", + "type": "CompoundType", "tags": [], - "label": "bucket_span", + "label": "isTimeSeriesViewRecord", "description": [ - "\nThe length of the bucket in seconds. This value matches the bucket_span that is specified in the job." + "\nReturns true if the anomaly record represented by the table row is for a time series\nwhich can be plotted by the ML UI in an anomaly chart." + ], + "signature": [ + "boolean | undefined" ], "path": "x-pack/packages/ml/anomaly_utils/types.ts", "deprecated": false, @@ -1412,12 +1537,15 @@ }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyRecordDoc.detector_index", - "type": "number", + "id": "def-common.MlAnomaliesTableRecord.isGeoRecord", + "type": "CompoundType", "tags": [], - "label": "detector_index", + "label": "isGeoRecord", "description": [ - "\nA unique identifier for the detector. This identifier is based on the order of the detectors\nin the analysis configuration, starting at zero." + "\nReturns true if the anomaly record represented by the table row can be shown in the maps plugin" + ], + "signature": [ + "boolean | undefined" ], "path": "x-pack/packages/ml/anomaly_utils/types.ts", "deprecated": false, @@ -1425,25 +1553,58 @@ }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyRecordDoc.is_interim", + "id": "def-common.MlAnomaliesTableRecord.modelPlotEnabled", "type": "boolean", "tags": [], - "label": "is_interim", + "label": "modelPlotEnabled", "description": [ - "\nIf true, this is an interim result. In other words, the results are calculated based on partial input data." + "\nReturns true if the job has the model plot enabled" ], "path": "x-pack/packages/ml/anomaly_utils/types.ts", "deprecated": false, "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.MlAnomaliesTableRecordExtended", + "type": "Interface", + "tags": [], + "label": "MlAnomaliesTableRecordExtended", + "description": [ + "\nCustomized version of AnomaliesTableRecord which inserts the detector description\nand rules length.\nUsed by the AnomaliesTable component" + ], + "signature": [ + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.MlAnomaliesTableRecordExtended", + "text": "MlAnomaliesTableRecordExtended" }, + " extends ", + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.MlAnomaliesTableRecord", + "text": "MlAnomaliesTableRecord" + } + ], + "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyRecordDoc.timestamp", - "type": "number", + "id": "def-common.MlAnomaliesTableRecordExtended.detector", + "type": "string", "tags": [], - "label": "timestamp", + "label": "detector", "description": [ - "\nThe start time of the bucket for which these results were calculated." + "\nThe detector name." ], "path": "x-pack/packages/ml/anomaly_utils/types.ts", "deprecated": false, @@ -1451,31 +1612,47 @@ }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyRecordDoc.partition_field_name", - "type": "string", + "id": "def-common.MlAnomaliesTableRecordExtended.rulesLength", + "type": "number", "tags": [], - "label": "partition_field_name", + "label": "rulesLength", "description": [ - "\nThe field used to segment the analysis.\nWhen you use this property, you have completely independent baselines for each value of this field." + "\nThe length of the rule." ], "signature": [ - "string | undefined" + "number | undefined" ], "path": "x-pack/packages/ml/anomaly_utils/types.ts", "deprecated": false, "trackAdoption": false - }, + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.MlAnomalyCategorizerStatsDoc", + "type": "Interface", + "tags": [], + "label": "MlAnomalyCategorizerStatsDoc", + "description": [ + "\nAnomaly record document for categorizer stats." + ], + "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyRecordDoc.partition_field_value", - "type": "CompoundType", + "id": "def-common.MlAnomalyCategorizerStatsDoc.Unnamed", + "type": "IndexSignature", "tags": [], - "label": "partition_field_value", + "label": "[key: string]: any", "description": [ - "\nThe value of the partition field." + "\nIndex signature to cover dynamic attributes added to the record depending on the fields being analyzed.\nFor example, if the job is analyzing hostname as a by field, then a field hostname is added to the result document." ], "signature": [ - "string | number | undefined" + "[key: string]: any" ], "path": "x-pack/packages/ml/anomaly_utils/types.ts", "deprecated": false, @@ -1483,12 +1660,12 @@ }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyRecordDoc.function", + "id": "def-common.MlAnomalyCategorizerStatsDoc.job_id", "type": "string", "tags": [], - "label": "function", + "label": "job_id", "description": [ - "\nThe function in which the anomaly occurs, as specified in the detector configuration. For example, max." + "\nThe identifier for the anomaly detection job." ], "path": "x-pack/packages/ml/anomaly_utils/types.ts", "deprecated": false, @@ -1496,12 +1673,15 @@ }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyRecordDoc.function_description", + "id": "def-common.MlAnomalyCategorizerStatsDoc.result_type", "type": "string", "tags": [], - "label": "function_description", + "label": "result_type", "description": [ - "\nThe description of the function in which the anomaly occurs, as specified in the detector configuration." + "\nThe type of the result document." + ], + "signature": [ + "\"categorizer_stats\"" ], "path": "x-pack/packages/ml/anomaly_utils/types.ts", "deprecated": false, @@ -1509,12 +1689,12 @@ }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyRecordDoc.field_name", + "id": "def-common.MlAnomalyCategorizerStatsDoc.partition_field_name", "type": "string", "tags": [], - "label": "field_name", + "label": "partition_field_name", "description": [ - "\nCertain functions require a field to operate on, for example, sum().\nFor those functions, this value is the name of the field to be analyzed." + "\nThe field used to segment the analysis.\nWhen you use this property, you have completely independent baselines for each value of this field." ], "signature": [ "string | undefined" @@ -1525,15 +1705,15 @@ }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyRecordDoc.typical", - "type": "Array", + "id": "def-common.MlAnomalyCategorizerStatsDoc.partition_field_value", + "type": "string", "tags": [], - "label": "typical", + "label": "partition_field_value", "description": [ - "\nThe typical value for the bucket, according to analytical modeling." + "\nThe value of the partition field." ], "signature": [ - "number[] | undefined" + "string | undefined" ], "path": "x-pack/packages/ml/anomaly_utils/types.ts", "deprecated": false, @@ -1541,15 +1721,12 @@ }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyRecordDoc.actual", - "type": "Array", + "id": "def-common.MlAnomalyCategorizerStatsDoc.categorized_doc_count", + "type": "number", "tags": [], - "label": "actual", + "label": "categorized_doc_count", "description": [ - "\nThe actual value for the bucket." - ], - "signature": [ - "number[] | undefined" + "\nThe number of documents." ], "path": "x-pack/packages/ml/anomaly_utils/types.ts", "deprecated": false, @@ -1557,22 +1734,12 @@ }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyRecordDoc.influencers", - "type": "Array", + "id": "def-common.MlAnomalyCategorizerStatsDoc.total_category_count", + "type": "number", "tags": [], - "label": "influencers", + "label": "total_category_count", "description": [ - "\nIf influencers was specified in the detector configuration, this array contains influencers\nthat contributed to or were to blame for an anomaly." - ], - "signature": [ - { - "pluginId": "@kbn/ml-anomaly-utils", - "scope": "common", - "docId": "kibKbnMlAnomalyUtilsPluginApi", - "section": "def-common.MlInfluencer", - "text": "MlInfluencer" - }, - "[] | undefined" + "\nThe total number of categories." ], "path": "x-pack/packages/ml/anomaly_utils/types.ts", "deprecated": false, @@ -1580,15 +1747,12 @@ }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyRecordDoc.by_field_name", - "type": "string", + "id": "def-common.MlAnomalyCategorizerStatsDoc.frequent_category_count", + "type": "number", "tags": [], - "label": "by_field_name", + "label": "frequent_category_count", "description": [ - "\nThe field used to split the data. In particular, this property is used for analyzing the splits\nwith respect to their own history. It is used for finding unusual values in the context of the split." - ], - "signature": [ - "string | undefined" + "\nThe number of frequent categories." ], "path": "x-pack/packages/ml/anomaly_utils/types.ts", "deprecated": false, @@ -1596,15 +1760,12 @@ }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyRecordDoc.by_field_value", - "type": "string", + "id": "def-common.MlAnomalyCategorizerStatsDoc.rare_category_count", + "type": "number", "tags": [], - "label": "by_field_value", + "label": "rare_category_count", "description": [ - "\nThe value of the by field." - ], - "signature": [ - "string | undefined" + "\nThe number of rare categories." ], "path": "x-pack/packages/ml/anomaly_utils/types.ts", "deprecated": false, @@ -1612,12 +1773,390 @@ }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyRecordDoc.over_field_name", - "type": "string", + "id": "def-common.MlAnomalyCategorizerStatsDoc.dead_category_count", + "type": "number", "tags": [], - "label": "over_field_name", + "label": "dead_category_count", "description": [ - "\nThe field used to split the data. In particular, this property is used for analyzing\nthe splits with respect to the history of all splits.\nIt is used for finding unusual values in the population of all splits." + "\nThe number of dead categories." + ], + "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.MlAnomalyCategorizerStatsDoc.failed_category_count", + "type": "number", + "tags": [], + "label": "failed_category_count", + "description": [ + "\nThe number of failed categories." + ], + "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.MlAnomalyCategorizerStatsDoc.categorization_status", + "type": "CompoundType", + "tags": [], + "label": "categorization_status", + "description": [ + "\nThe categorization status." + ], + "signature": [ + "\"ok\" | \"warn\"" + ], + "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.MlAnomalyCategorizerStatsDoc.log_time", + "type": "number", + "tags": [], + "label": "log_time", + "description": [ + "\nThe log time." + ], + "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.MlAnomalyCategorizerStatsDoc.timestamp", + "type": "number", + "tags": [], + "label": "timestamp", + "description": [ + "\nThe start time of the bucket for which these results were calculated." + ], + "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.MlAnomalyRecordDoc", + "type": "Interface", + "tags": [], + "label": "MlAnomalyRecordDoc", + "description": [ + "\nAnomaly record document. Records contain the detailed analytical results.\nThey describe the anomalous activity that has been identified in the input data based on the detector configuration." + ], + "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.MlAnomalyRecordDoc.Unnamed", + "type": "IndexSignature", + "tags": [], + "label": "[key: string]: any", + "description": [ + "\nIndex signature to cover dynamic attributes added to the record depending on the fields being analyzed.\nFor example, if the job is analyzing hostname as a by field, then a field hostname is added to the result document." + ], + "signature": [ + "[key: string]: any" + ], + "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.MlAnomalyRecordDoc.job_id", + "type": "string", + "tags": [], + "label": "job_id", + "description": [ + "\nThe identifier for the anomaly detection job." + ], + "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.MlAnomalyRecordDoc.result_type", + "type": "string", + "tags": [], + "label": "result_type", + "description": [ + "\nThe type of the result document, which is 'record' for record level results." + ], + "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.MlAnomalyRecordDoc.probability", + "type": "number", + "tags": [], + "label": "probability", + "description": [ + "\nThe probability of the individual anomaly occurring, in the range 0 to 1.\nThis value can be held to a high precision of over 300 decimal places,\nso the record_score is provided as a human-readable and friendly interpretation of this." + ], + "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.MlAnomalyRecordDoc.record_score", + "type": "number", + "tags": [], + "label": "record_score", + "description": [ + "\nA normalized score between 0-100, which is based on the probability of the anomalousness of this record.\nUnlike initial_record_score, this value will be updated by a re-normalization process as new data is analyzed." + ], + "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.MlAnomalyRecordDoc.initial_record_score", + "type": "number", + "tags": [], + "label": "initial_record_score", + "description": [ + "\nA normalized score between 0-100, which is based on the probability of the anomalousness of this record.\nThis is the initial value that was calculated at the time the bucket was processed." + ], + "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.MlAnomalyRecordDoc.bucket_span", + "type": "number", + "tags": [], + "label": "bucket_span", + "description": [ + "\nThe length of the bucket in seconds. This value matches the bucket_span that is specified in the job." + ], + "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.MlAnomalyRecordDoc.detector_index", + "type": "number", + "tags": [], + "label": "detector_index", + "description": [ + "\nA unique identifier for the detector. This identifier is based on the order of the detectors\nin the analysis configuration, starting at zero." + ], + "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.MlAnomalyRecordDoc.is_interim", + "type": "boolean", + "tags": [], + "label": "is_interim", + "description": [ + "\nIf true, this is an interim result. In other words, the results are calculated based on partial input data." + ], + "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.MlAnomalyRecordDoc.timestamp", + "type": "number", + "tags": [], + "label": "timestamp", + "description": [ + "\nThe start time of the bucket for which these results were calculated." + ], + "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.MlAnomalyRecordDoc.partition_field_name", + "type": "string", + "tags": [], + "label": "partition_field_name", + "description": [ + "\nThe field used to segment the analysis.\nWhen you use this property, you have completely independent baselines for each value of this field." + ], + "signature": [ + "string | undefined" + ], + "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.MlAnomalyRecordDoc.partition_field_value", + "type": "CompoundType", + "tags": [], + "label": "partition_field_value", + "description": [ + "\nThe value of the partition field." + ], + "signature": [ + "string | number | undefined" + ], + "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.MlAnomalyRecordDoc.function", + "type": "string", + "tags": [], + "label": "function", + "description": [ + "\nThe function in which the anomaly occurs, as specified in the detector configuration. For example, max." + ], + "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.MlAnomalyRecordDoc.function_description", + "type": "string", + "tags": [], + "label": "function_description", + "description": [ + "\nThe description of the function in which the anomaly occurs, as specified in the detector configuration." + ], + "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.MlAnomalyRecordDoc.field_name", + "type": "string", + "tags": [], + "label": "field_name", + "description": [ + "\nCertain functions require a field to operate on, for example, sum().\nFor those functions, this value is the name of the field to be analyzed." + ], + "signature": [ + "string | undefined" + ], + "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.MlAnomalyRecordDoc.typical", + "type": "Array", + "tags": [], + "label": "typical", + "description": [ + "\nThe typical value for the bucket, according to analytical modeling." + ], + "signature": [ + "number[] | undefined" + ], + "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.MlAnomalyRecordDoc.actual", + "type": "Array", + "tags": [], + "label": "actual", + "description": [ + "\nThe actual value for the bucket." + ], + "signature": [ + "number[] | undefined" + ], + "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.MlAnomalyRecordDoc.influencers", + "type": "Array", + "tags": [], + "label": "influencers", + "description": [ + "\nIf influencers was specified in the detector configuration, this array contains influencers\nthat contributed to or were to blame for an anomaly." + ], + "signature": [ + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.MlInfluencer", + "text": "MlInfluencer" + }, + "[] | undefined" + ], + "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.MlAnomalyRecordDoc.by_field_name", + "type": "string", + "tags": [], + "label": "by_field_name", + "description": [ + "\nThe field used to split the data. In particular, this property is used for analyzing the splits\nwith respect to their own history. It is used for finding unusual values in the context of the split." + ], + "signature": [ + "string | undefined" + ], + "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.MlAnomalyRecordDoc.by_field_value", + "type": "string", + "tags": [], + "label": "by_field_value", + "description": [ + "\nThe value of the by field." + ], + "signature": [ + "string | undefined" + ], + "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.MlAnomalyRecordDoc.over_field_name", + "type": "string", + "tags": [], + "label": "over_field_name", + "description": [ + "\nThe field used to split the data. In particular, this property is used for analyzing\nthe splits with respect to the history of all splits.\nIt is used for finding unusual values in the population of all splits." ], "signature": [ "string | undefined" @@ -1697,15 +2236,10 @@ "parentPluginId": "@kbn/ml-anomaly-utils", "id": "def-common.MlCustomUrlAnomalyRecordDoc", "type": "Interface", - "tags": [ - "export", - "interface", - "typedef", - "extends" - ], + "tags": [], "label": "MlCustomUrlAnomalyRecordDoc", "description": [ - "\nExtended interface of MlAnomalyRecordDoc to include time range information.\n" + "\nExtended interface of MlAnomalyRecordDoc to include time range information." ], "signature": [ { @@ -1732,9 +2266,7 @@ "parentPluginId": "@kbn/ml-anomaly-utils", "id": "def-common.MlCustomUrlAnomalyRecordDoc.earliest", "type": "string", - "tags": [ - "type" - ], + "tags": [], "label": "earliest", "description": [ "\nThe `earliest` timestamp." @@ -1747,9 +2279,7 @@ "parentPluginId": "@kbn/ml-anomaly-utils", "id": "def-common.MlCustomUrlAnomalyRecordDoc.latest", "type": "string", - "tags": [ - "type" - ], + "tags": [], "label": "latest", "description": [ "\nThe `latest` timestamp." @@ -1765,11 +2295,7 @@ "parentPluginId": "@kbn/ml-anomaly-utils", "id": "def-common.MlEntityField", "type": "Interface", - "tags": [ - "export", - "interface", - "typedef" - ], + "tags": [], "label": "MlEntityField", "description": [ "\nInterface of an entity field" @@ -1782,9 +2308,7 @@ "parentPluginId": "@kbn/ml-anomaly-utils", "id": "def-common.MlEntityField.fieldName", "type": "string", - "tags": [ - "type" - ], + "tags": [], "label": "fieldName", "description": [ "\nThe field name" @@ -1797,9 +2321,7 @@ "parentPluginId": "@kbn/ml-anomaly-utils", "id": "def-common.MlEntityField.fieldValue", "type": "CompoundType", - "tags": [ - "type" - ], + "tags": [], "label": "fieldValue", "description": [ "\nThe field value" @@ -1815,9 +2337,7 @@ "parentPluginId": "@kbn/ml-anomaly-utils", "id": "def-common.MlEntityField.fieldType", "type": "CompoundType", - "tags": [ - "type" - ], + "tags": [], "label": "fieldType", "description": [ "\nOptional field type" @@ -1840,9 +2360,7 @@ "parentPluginId": "@kbn/ml-anomaly-utils", "id": "def-common.MlEntityField.operation", "type": "CompoundType", - "tags": [ - "type" - ], + "tags": [], "label": "operation", "description": [ "\nOptional entity field operation" @@ -1913,15 +2431,10 @@ "parentPluginId": "@kbn/ml-anomaly-utils", "id": "def-common.MlKibanaUrlConfig", "type": "Interface", - "tags": [ - "export", - "interface", - "typedef", - "extends" - ], + "tags": [], "label": "MlKibanaUrlConfig", "description": [ - "\nExtended interface for custom URLs including an optional time range.\n" + "\nExtended interface for custom URLs including an optional time range." ], "signature": [ { @@ -1941,9 +2454,7 @@ "parentPluginId": "@kbn/ml-anomaly-utils", "id": "def-common.MlKibanaUrlConfig.time_range", "type": "string", - "tags": [ - "type" - ], + "tags": [], "label": "time_range", "description": [ "\nThe optional time range for the custom URL configuration" @@ -1962,14 +2473,10 @@ "parentPluginId": "@kbn/ml-anomaly-utils", "id": "def-common.MlSeverityType", "type": "Interface", - "tags": [ - "export", - "interface", - "typedef" - ], + "tags": [], "label": "MlSeverityType", "description": [ - "\nInterface for severity types to be used in ML_ANOMALY_SEVERITY_TYPES.\n" + "\nInterface for severity types to be used in ML_ANOMALY_SEVERITY_TYPES." ], "path": "x-pack/packages/ml/anomaly_utils/anomaly_severity.ts", "deprecated": false, @@ -1979,9 +2486,7 @@ "parentPluginId": "@kbn/ml-anomaly-utils", "id": "def-common.MlSeverityType.id", "type": "Enum", - "tags": [ - "type" - ], + "tags": [], "label": "id", "description": [ "\nOne of ML_ANOMALY_SEVERITY" @@ -2003,9 +2508,7 @@ "parentPluginId": "@kbn/ml-anomaly-utils", "id": "def-common.MlSeverityType.label", "type": "string", - "tags": [ - "type" - ], + "tags": [], "label": "label", "description": [ "\nTranslated ML_ANOMALY_SEVERITY" @@ -2016,9 +2519,138 @@ } ], "initialIsOpen": false - } - ], - "enums": [ + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.NewJobCaps", + "type": "Interface", + "tags": [], + "label": "NewJobCaps", + "description": [ + "\nJob caps for a new job." + ], + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.NewJobCaps.fields", + "type": "Array", + "tags": [], + "label": "fields", + "description": [ + "\nArray of fields." + ], + "signature": [ + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.Field", + "text": "Field" + }, + "[]" + ], + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.NewJobCaps.aggs", + "type": "Array", + "tags": [], + "label": "aggs", + "description": [ + "\nArray of aggregations." + ], + "signature": [ + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.Aggregation", + "text": "Aggregation" + }, + "[]" + ], + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.NewJobCapsResponse", + "type": "Interface", + "tags": [], + "label": "NewJobCapsResponse", + "description": [ + "\nJob caps response for a new job." + ], + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.NewJobCapsResponse.Unnamed", + "type": "IndexSignature", + "tags": [], + "label": "[indexPattern: string]: NewJobCaps", + "description": [ + "\nIndex pattern" + ], + "signature": [ + "[indexPattern: string]: ", + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.NewJobCaps", + "text": "NewJobCaps" + } + ], + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], + "enums": [ + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.ES_AGGREGATION", + "type": "Enum", + "tags": [], + "label": "ES_AGGREGATION", + "description": [ + "\nEnum for ES aggregatins." + ], + "path": "x-pack/packages/ml/anomaly_utils/aggregation_types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.KIBANA_AGGREGATION", + "type": "Enum", + "tags": [], + "label": "KIBANA_AGGREGATION", + "description": [ + "\nEnum for Kibana aggregations." + ], + "path": "x-pack/packages/ml/anomaly_utils/aggregation_types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/ml-anomaly-utils", "id": "def-common.ML_ANOMALY_SEVERITY", @@ -2051,10 +2683,7 @@ "parentPluginId": "@kbn/ml-anomaly-utils", "id": "def-common.ML_DETECTOR_RULE_ACTION", "type": "Enum", - "tags": [ - "export", - "enum" - ], + "tags": [], "label": "ML_DETECTOR_RULE_ACTION", "description": [ "\nEnum ML_DETECTOR_RULE_ACTION" @@ -2068,10 +2697,7 @@ "parentPluginId": "@kbn/ml-anomaly-utils", "id": "def-common.ML_DETECTOR_RULE_APPLIES_TO", "type": "Enum", - "tags": [ - "export", - "enum" - ], + "tags": [], "label": "ML_DETECTOR_RULE_APPLIES_TO", "description": [ "\nEnum ML_DETECTOR_RULE_APPLIES_TO" @@ -2085,10 +2711,7 @@ "parentPluginId": "@kbn/ml-anomaly-utils", "id": "def-common.ML_DETECTOR_RULE_FILTER_TYPE", "type": "Enum", - "tags": [ - "export", - "enum" - ], + "tags": [], "label": "ML_DETECTOR_RULE_FILTER_TYPE", "description": [ "\nEnum ML_DETECTOR_RULE_FILTER_TYPE" @@ -2102,10 +2725,7 @@ "parentPluginId": "@kbn/ml-anomaly-utils", "id": "def-common.ML_DETECTOR_RULE_OPERATOR", "type": "Enum", - "tags": [ - "export", - "enum" - ], + "tags": [], "label": "ML_DETECTOR_RULE_OPERATOR", "description": [ "\nEnum ML_DETECTOR_RULE_OPERATOR" @@ -2119,10 +2739,7 @@ "parentPluginId": "@kbn/ml-anomaly-utils", "id": "def-common.ML_ENTITY_FIELD_TYPE", "type": "Enum", - "tags": [ - "export", - "enum" - ], + "tags": [], "label": "ML_ENTITY_FIELD_TYPE", "description": [ "\nEnum of entity field types" @@ -2131,9 +2748,148 @@ "deprecated": false, "trackAdoption": false, "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.ML_JOB_AGGREGATION", + "type": "Enum", + "tags": [], + "label": "ML_JOB_AGGREGATION", + "description": [ + "\nEnum for ML job aggregations." + ], + "path": "x-pack/packages/ml/anomaly_utils/aggregation_types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false } ], "misc": [ + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common._DOC_COUNT", + "type": "string", + "tags": [], + "label": "_DOC_COUNT", + "description": [ + "\nElasticsearch field showing number of documents aggregated in a single summary field for\npre-aggregated data. For use as summary_count_field_name in datafeeds which do not use aggregations." + ], + "signature": [ + "\"_doc_count\"" + ], + "path": "x-pack/packages/ml/anomaly_utils/field_types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.AggId", + "type": "Type", + "tags": [], + "label": "AggId", + "description": [ + "\nAggId is an alias of ML_JOB_AGGREGATION" + ], + "signature": [ + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.ML_JOB_AGGREGATION", + "text": "ML_JOB_AGGREGATION" + } + ], + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.DOC_COUNT", + "type": "string", + "tags": [], + "label": "DOC_COUNT", + "description": [ + "\nFor use as summary_count_field_name in datafeeds which use aggregations." + ], + "signature": [ + "\"doc_count\"" + ], + "path": "x-pack/packages/ml/anomaly_utils/field_types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.EVENT_RATE_FIELD_ID", + "type": "string", + "tags": [], + "label": "EVENT_RATE_FIELD_ID", + "description": [ + "\nEVENT_RATE_FIELD_ID" + ], + "signature": [ + "\"__ml_event_rate_count__\"" + ], + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.FieldId", + "type": "Type", + "tags": [], + "label": "FieldId", + "description": [ + "\nField id" + ], + "signature": [ + "string" + ], + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.InfluencersFilterQuery", + "type": "Type", + "tags": [], + "label": "InfluencersFilterQuery", + "description": [ + "\nAlias for QueryDslQueryContainer" + ], + "signature": [ + "QueryDslQueryContainer" + ], + "path": "x-pack/packages/ml/anomaly_utils/es_client.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.METRIC_AGG_TYPE", + "type": "string", + "tags": [], + "label": "METRIC_AGG_TYPE", + "description": [ + "\nMETRIC_AGG_TYPE" + ], + "signature": [ + "\"metrics\"" + ], + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/ml-anomaly-utils", "id": "def-common.ML_DETECTOR_RULE_CONDITIONS_NOT_SUPPORTED_FUNCTIONS", @@ -2155,9 +2911,7 @@ "parentPluginId": "@kbn/ml-anomaly-utils", "id": "def-common.ML_JOB_ID", "type": "string", - "tags": [ - "type" - ], + "tags": [], "label": "ML_JOB_ID", "description": [ "\nMachine learning job id attribute name." @@ -2174,9 +2928,7 @@ "parentPluginId": "@kbn/ml-anomaly-utils", "id": "def-common.ML_PARTITION_FIELD_VALUE", "type": "string", - "tags": [ - "type" - ], + "tags": [], "label": "ML_PARTITION_FIELD_VALUE", "description": [ "\nMachine learning partition field value attribute name." @@ -2184,73 +2936,203 @@ "signature": [ "\"partition_field_value\"" ], - "path": "x-pack/packages/ml/anomaly_utils/constants.ts", + "path": "x-pack/packages/ml/anomaly_utils/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.ML_SEVERITY_COLOR_RAMP", + "type": "Array", + "tags": [], + "label": "ML_SEVERITY_COLOR_RAMP", + "description": [ + "\nSeverity color ramp." + ], + "signature": [ + "{ stop: ", + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.ML_ANOMALY_THRESHOLD", + "text": "ML_ANOMALY_THRESHOLD" + }, + "; color: string; }[]" + ], + "path": "x-pack/packages/ml/anomaly_utils/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.MLAnomalyDoc", + "type": "Type", + "tags": [], + "label": "MLAnomalyDoc", + "description": [ + "\nAlias of MlAnomalyRecordDoc" + ], + "signature": [ + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.MlAnomalyRecordDoc", + "text": "MlAnomalyRecordDoc" + } + ], + "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.MlAnomalyResultType", + "type": "Type", + "tags": [], + "label": "MlAnomalyResultType", + "description": [ + "\nThe type of the anomaly result, such as bucket, influencer or record." + ], + "signature": [ + "\"bucket\" | \"record\" | \"influencer\"" + ], + "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.MLCATEGORY", + "type": "string", + "tags": [], + "label": "MLCATEGORY", + "description": [ + "\nMLCATEGORY" + ], + "signature": [ + "\"mlcategory\"" + ], + "path": "x-pack/packages/ml/anomaly_utils/field_types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.MlEntityFieldOperation", + "type": "Type", + "tags": [], + "label": "MlEntityFieldOperation", + "description": [ + "\nUnion type of entity field operations" + ], + "signature": [ + "\"+\" | \"-\"" + ], + "path": "x-pack/packages/ml/anomaly_utils/anomaly_utils.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.MlEntityFieldType", + "type": "Type", + "tags": [], + "label": "MlEntityFieldType", + "description": [ + "\nUnion type for entity field types." + ], + "signature": [ + "\"partition_field\" | \"over_field\" | \"by_field\"" + ], + "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.mlJobAggregations", + "type": "Array", + "tags": [], + "label": "mlJobAggregations", + "description": [ + "\nML job aggregation definitions." + ], + "signature": [ + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.Aggregation", + "text": "Aggregation" + }, + "[]" + ], + "path": "x-pack/packages/ml/anomaly_utils/aggregation_types.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.ML_SEVERITY_COLOR_RAMP", + "id": "def-common.mlJobAggregationsWithoutEsEquivalent", "type": "Array", "tags": [], - "label": "ML_SEVERITY_COLOR_RAMP", + "label": "mlJobAggregationsWithoutEsEquivalent", "description": [ - "\nSeverity color ramp." + "\nList of aggregations only supported by ML and which don't have an equivalent ES aggregation.\nNote, not all aggs have a field list. Some aggs cannot be used with a field." ], "signature": [ - "{ stop: ", { "pluginId": "@kbn/ml-anomaly-utils", "scope": "common", "docId": "kibKbnMlAnomalyUtilsPluginApi", - "section": "def-common.ML_ANOMALY_THRESHOLD", - "text": "ML_ANOMALY_THRESHOLD" + "section": "def-common.Aggregation", + "text": "Aggregation" }, - "; color: string; }[]" + "[]" ], - "path": "x-pack/packages/ml/anomaly_utils/constants.ts", + "path": "x-pack/packages/ml/anomaly_utils/aggregation_types.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MLAnomalyDoc", + "id": "def-common.MlJobFieldType", "type": "Type", - "tags": [ - "export", - "typedef" - ], - "label": "MLAnomalyDoc", + "tags": [], + "label": "MlJobFieldType", "description": [ - "\nAlias of MlAnomalyRecordDoc" + "\nUnion type for ML_JOB_FIELD_TYPES" ], "signature": [ - { - "pluginId": "@kbn/ml-anomaly-utils", - "scope": "common", - "docId": "kibKbnMlAnomalyUtilsPluginApi", - "section": "def-common.MlAnomalyRecordDoc", - "text": "MlAnomalyRecordDoc" - } + "\"number\" | \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"keyword\" | \"text\" | \"date\" | \"unknown\"" ], - "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "path": "x-pack/packages/ml/anomaly_utils/field_types.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlAnomalyResultType", + "id": "def-common.MlPartitionFieldsType", "type": "Type", "tags": [], - "label": "MlAnomalyResultType", + "label": "MlPartitionFieldsType", "description": [ - "\nThe type of the anomaly result, such as bucket, influencer or record." + "\nUnion type for partitiion field types." ], "signature": [ - "\"bucket\" | \"record\" | \"influencer\"" + "\"partition_field\" | \"over_field\" | \"by_field\"" ], "path": "x-pack/packages/ml/anomaly_utils/types.ts", "deprecated": false, @@ -2259,113 +3141,177 @@ }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlEntityFieldOperation", + "id": "def-common.MlRecordForInfluencer", "type": "Type", - "tags": [ - "export", - "typedef" - ], - "label": "MlEntityFieldOperation", + "tags": [], + "label": "MlRecordForInfluencer", "description": [ - "\nUnion type of entity field operations" + "\nMlRecordForInfluencer, an alias based on MlAnomalyRecordDoc." ], "signature": [ - "\"+\" | \"-\"" + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.MlAnomalyRecordDoc", + "text": "MlAnomalyRecordDoc" + } ], - "path": "x-pack/packages/ml/anomaly_utils/anomaly_utils.ts", + "path": "x-pack/packages/ml/anomaly_utils/types.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlEntityFieldType", + "id": "def-common.MlUrlConfig", "type": "Type", - "tags": [ - "export", - "typedef" + "tags": [], + "label": "MlUrlConfig", + "description": [ + "\nUnion type of different custom URL configurations" ], - "label": "MlEntityFieldType", + "signature": [ + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.MlKibanaUrlConfig", + "text": "MlKibanaUrlConfig" + }, + " | BaseUrlConfig" + ], + "path": "x-pack/packages/ml/anomaly_utils/custom_urls.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.OMIT_FIELDS", + "type": "Array", + "tags": [], + "label": "OMIT_FIELDS", "description": [ - "\nUnion type for entity field types.\n" + "\nList of system fields we don't want to display." ], "signature": [ - "\"partition_field\" | \"over_field\" | \"by_field\"" + "string[]" ], - "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "path": "x-pack/packages/ml/anomaly_utils/field_types.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlPartitionFieldsType", + "id": "def-common.RollupFields", "type": "Type", - "tags": [ - "export", - "typedef" - ], - "label": "MlPartitionFieldsType", + "tags": [], + "label": "RollupFields", "description": [ - "\nUnion type for partitiion field types.\n" + "\nRollup fields are a nested record of field ids and ES aggregations." ], "signature": [ - "\"partition_field\" | \"over_field\" | \"by_field\"" + "{ [x: string]: [Record<\"agg\", ", + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.ES_AGGREGATION", + "text": "ES_AGGREGATION" + }, + ">]; }" ], - "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlRecordForInfluencer", + "id": "def-common.SparseDataAggregation", "type": "Type", - "tags": [ - "export", - "typedef" - ], - "label": "MlRecordForInfluencer", + "tags": [], + "label": "SparseDataAggregation", "description": [ - "\nMlRecordForInfluencer, an alias based on MlAnomalyRecordDoc.\n" + "\nType definition of SPARSE_DATA_AGGREGATIONS values." ], "signature": [ { "pluginId": "@kbn/ml-anomaly-utils", "scope": "common", "docId": "kibKbnMlAnomalyUtilsPluginApi", - "section": "def-common.MlAnomalyRecordDoc", - "text": "MlAnomalyRecordDoc" - } + "section": "def-common.ML_JOB_AGGREGATION", + "text": "ML_JOB_AGGREGATION" + }, + ".NON_ZERO_COUNT | ", + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.ML_JOB_AGGREGATION", + "text": "ML_JOB_AGGREGATION" + }, + ".HIGH_NON_ZERO_COUNT | ", + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.ML_JOB_AGGREGATION", + "text": "ML_JOB_AGGREGATION" + }, + ".LOW_NON_ZERO_COUNT | ", + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.ML_JOB_AGGREGATION", + "text": "ML_JOB_AGGREGATION" + }, + ".NON_NULL_SUM | ", + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.ML_JOB_AGGREGATION", + "text": "ML_JOB_AGGREGATION" + }, + ".HIGH_NON_NULL_SUM | ", + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.ML_JOB_AGGREGATION", + "text": "ML_JOB_AGGREGATION" + }, + ".LOW_NON_NULL_SUM" ], - "path": "x-pack/packages/ml/anomaly_utils/types.ts", + "path": "x-pack/packages/ml/anomaly_utils/aggregation_types.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.MlUrlConfig", + "id": "def-common.SplitField", "type": "Type", - "tags": [ - "export", - "typedef" - ], - "label": "MlUrlConfig", + "tags": [], + "label": "SplitField", "description": [ - "\nUnion type of different custom URL configurations\n" + "\nSplit field can be Field or null." ], "signature": [ { "pluginId": "@kbn/ml-anomaly-utils", "scope": "common", "docId": "kibKbnMlAnomalyUtilsPluginApi", - "section": "def-common.MlKibanaUrlConfig", - "text": "MlKibanaUrlConfig" + "section": "def-common.Field", + "text": "Field" }, - " | BaseUrlConfig" + " | null" ], - "path": "x-pack/packages/ml/anomaly_utils/custom_urls.ts", + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -2464,9 +3410,7 @@ "parentPluginId": "@kbn/ml-anomaly-utils", "id": "def-common.ML_ANOMALY_RESULT_TYPE", "type": "Object", - "tags": [ - "type" - ], + "tags": [], "label": "ML_ANOMALY_RESULT_TYPE", "description": [ "\nCustom enum for anomaly result type" @@ -2483,9 +3427,7 @@ "parentPluginId": "@kbn/ml-anomaly-utils", "id": "def-common.ML_ENTITY_FIELD_OPERATIONS", "type": "Object", - "tags": [ - "type" - ], + "tags": [], "label": "ML_ENTITY_FIELD_OPERATIONS", "description": [ "\nCustom enum of entity field operations" @@ -2500,11 +3442,26 @@ }, { "parentPluginId": "@kbn/ml-anomaly-utils", - "id": "def-common.ML_PARTITION_FIELDS", + "id": "def-common.ML_JOB_FIELD_TYPES", "type": "Object", - "tags": [ - "type" + "tags": [], + "label": "ML_JOB_FIELD_TYPES", + "description": [ + "\nCustom enum for ML job field types" ], + "signature": [ + "{ readonly BOOLEAN: \"boolean\"; readonly DATE: \"date\"; readonly GEO_POINT: \"geo_point\"; readonly GEO_SHAPE: \"geo_shape\"; readonly IP: \"ip\"; readonly KEYWORD: \"keyword\"; readonly NUMBER: \"number\"; readonly TEXT: \"text\"; readonly UNKNOWN: \"unknown\"; }" + ], + "path": "x-pack/packages/ml/anomaly_utils/field_types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.ML_PARTITION_FIELDS", + "type": "Object", + "tags": [], "label": "ML_PARTITION_FIELDS", "description": [ "\nArray of partition fields." @@ -2610,6 +3567,168 @@ } ], "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.mlCategory", + "type": "Object", + "tags": [], + "label": "mlCategory", + "description": [ + "\nDefinition for an ml category." + ], + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.mlCategory.id", + "type": "string", + "tags": [], + "label": "id", + "description": [ + "/**\n * id `mlcategory` id\n */" + ], + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.mlCategory.name", + "type": "string", + "tags": [], + "label": "name", + "description": [ + "/**\n * name `mlcategory`\n */" + ], + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.mlCategory.type", + "type": "string", + "tags": [], + "label": "type", + "description": [ + "/**\n * type `keyword`\n */" + ], + "signature": [ + { + "pluginId": "@kbn/field-types", + "scope": "common", + "docId": "kibKbnFieldTypesPluginApi", + "section": "def-common.ES_FIELD_TYPES", + "text": "ES_FIELD_TYPES" + }, + ".KEYWORD" + ], + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.mlCategory.aggregatable", + "type": "boolean", + "tags": [], + "label": "aggregatable", + "description": [ + "/**\n * non-aggregatable\n */" + ], + "signature": [ + "false" + ], + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.mlCategory.counter", + "type": "boolean", + "tags": [], + "label": "counter", + "description": [ + "/**\n * no counter\n */" + ], + "signature": [ + "false" + ], + "path": "x-pack/packages/ml/anomaly_utils/fields.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-anomaly-utils", + "id": "def-common.SPARSE_DATA_AGGREGATIONS", + "type": "Object", + "tags": [], + "label": "SPARSE_DATA_AGGREGATIONS", + "description": [ + "\nCustom enum for sparse data aggregations." + ], + "signature": [ + "readonly [", + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.ML_JOB_AGGREGATION", + "text": "ML_JOB_AGGREGATION" + }, + ".NON_ZERO_COUNT, ", + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.ML_JOB_AGGREGATION", + "text": "ML_JOB_AGGREGATION" + }, + ".HIGH_NON_ZERO_COUNT, ", + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.ML_JOB_AGGREGATION", + "text": "ML_JOB_AGGREGATION" + }, + ".LOW_NON_ZERO_COUNT, ", + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.ML_JOB_AGGREGATION", + "text": "ML_JOB_AGGREGATION" + }, + ".NON_NULL_SUM, ", + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.ML_JOB_AGGREGATION", + "text": "ML_JOB_AGGREGATION" + }, + ".HIGH_NON_NULL_SUM, ", + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.ML_JOB_AGGREGATION", + "text": "ML_JOB_AGGREGATION" + }, + ".LOW_NON_NULL_SUM]" + ], + "path": "x-pack/packages/ml/anomaly_utils/aggregation_types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false } ] } diff --git a/api_docs/kbn_ml_anomaly_utils.mdx b/api_docs/kbn_ml_anomaly_utils.mdx index b8f338efaaf9c..6332cf2763e86 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-anomaly-utils'] --- import kbnMlAnomalyUtilsObj from './kbn_ml_anomaly_utils.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) for questi | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 142 | 3 | 0 | 0 | +| 205 | 3 | 0 | 0 | ## Common diff --git a/api_docs/kbn_ml_data_frame_analytics_utils.devdocs.json b/api_docs/kbn_ml_data_frame_analytics_utils.devdocs.json new file mode 100644 index 0000000000000..8c6a7440e1e09 --- /dev/null +++ b/api_docs/kbn_ml_data_frame_analytics_utils.devdocs.json @@ -0,0 +1,2754 @@ +{ + "id": "@kbn/ml-data-frame-analytics-utils", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.getAnalysisType", + "type": "Function", + "tags": [], + "label": "getAnalysisType", + "description": [ + "\nHelper function to get the analysis type of a DFA configuration\n" + ], + "signature": [ + "(analysis: ", + "MlDataframeAnalysisContainer", + ") => \"unknown\" | ", + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.DataFrameAnalysisConfigType", + "text": "DataFrameAnalysisConfigType" + } + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/analytics_utils.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.getAnalysisType.$1", + "type": "Object", + "tags": [], + "label": "analysis", + "description": [ + "The analysis configuration" + ], + "signature": [ + "MlDataframeAnalysisContainer" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/analytics_utils.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.getDefaultPredictionFieldName", + "type": "Function", + "tags": [], + "label": "getDefaultPredictionFieldName", + "description": [ + "\nHelper function to get the default prediction field name\n" + ], + "signature": [ + "(analysis: ", + "MlDataframeAnalysisContainer", + ") => string" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/analytics_utils.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.getDefaultPredictionFieldName.$1", + "type": "Object", + "tags": [], + "label": "analysis", + "description": [ + "The analysis configuration" + ], + "signature": [ + "MlDataframeAnalysisContainer" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/analytics_utils.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.getDependentVar", + "type": "Function", + "tags": [], + "label": "getDependentVar", + "description": [ + "\nHelper function to get the dependent variable of a DFA configuration\n" + ], + "signature": [ + "(analysis: ", + "MlDataframeAnalysisContainer", + ") => string" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/analytics_utils.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.getDependentVar.$1", + "type": "Object", + "tags": [], + "label": "analysis", + "description": [ + "The analysis configuration" + ], + "signature": [ + "MlDataframeAnalysisContainer" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/analytics_utils.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.getNumTopClasses", + "type": "Function", + "tags": [], + "label": "getNumTopClasses", + "description": [ + "\nGet the `num_top_classes` attribute of a DFA classification configuration\n" + ], + "signature": [ + "(analysis: ", + "MlDataframeAnalysisContainer", + ") => number | undefined" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/get_num_top_classes.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.getNumTopClasses.$1", + "type": "Object", + "tags": [], + "label": "analysis", + "description": [ + "The analysis configuration" + ], + "signature": [ + "MlDataframeAnalysisContainer" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/get_num_top_classes.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.getNumTopFeatureImportanceValues", + "type": "Function", + "tags": [], + "label": "getNumTopFeatureImportanceValues", + "description": [ + "\nGet the `num_top_feature_importance_values` attribute of DFA regression and classification configurations\n" + ], + "signature": [ + "(analysis: ", + "MlDataframeAnalysisContainer", + ") => number | undefined" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/get_num_top_feature_importance_values.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.getNumTopFeatureImportanceValues.$1", + "type": "Object", + "tags": [], + "label": "analysis", + "description": [ + "The analysis configuration" + ], + "signature": [ + "MlDataframeAnalysisContainer" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/get_num_top_feature_importance_values.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.getPredictionFieldName", + "type": "Function", + "tags": [], + "label": "getPredictionFieldName", + "description": [ + "\nHelper function to get the prediction field name of a DFA configuration\n" + ], + "signature": [ + "(analysis: ", + "MlDataframeAnalysisContainer", + ") => string | undefined" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/analytics_utils.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.getPredictionFieldName.$1", + "type": "Object", + "tags": [], + "label": "analysis", + "description": [ + "The analysis configuration" + ], + "signature": [ + "MlDataframeAnalysisContainer" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/analytics_utils.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.getTrainingPercent", + "type": "Function", + "tags": [], + "label": "getTrainingPercent", + "description": [ + "\nHelper function to get the training percent of a DFA configuration\n" + ], + "signature": [ + "(analysis: ", + "MlDataframeAnalysisContainer", + ") => number | undefined" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/analytics_utils.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.getTrainingPercent.$1", + "type": "Object", + "tags": [], + "label": "analysis", + "description": [ + "The analysis configuration" + ], + "signature": [ + "MlDataframeAnalysisContainer" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/analytics_utils.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.isClassificationAnalysis", + "type": "Function", + "tags": [], + "label": "isClassificationAnalysis", + "description": [ + "\nType guard for DFA classification analysis configurations\n" + ], + "signature": [ + "(arg: unknown) => arg is ", + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.ClassificationAnalysis", + "text": "ClassificationAnalysis" + } + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/analytics_utils.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.isClassificationAnalysis.$1", + "type": "Unknown", + "tags": [], + "label": "arg", + "description": [ + "The config to identify" + ], + "signature": [ + "unknown" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/analytics_utils.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.isClassificationFeatureImportanceBaseline", + "type": "Function", + "tags": [], + "label": "isClassificationFeatureImportanceBaseline", + "description": [ + "\nType guard for classification feature importance baseline\n" + ], + "signature": [ + "(arg: unknown) => boolean" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.isClassificationFeatureImportanceBaseline.$1", + "type": "Unknown", + "tags": [], + "label": "arg", + "description": [ + "The baseline to identify" + ], + "signature": [ + "unknown" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.isClassificationTotalFeatureImportance", + "type": "Function", + "tags": [], + "label": "isClassificationTotalFeatureImportance", + "description": [ + "\nType guard for total feature importance\n" + ], + "signature": [ + "(arg: unknown) => boolean" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.isClassificationTotalFeatureImportance.$1", + "type": "Unknown", + "tags": [], + "label": "arg", + "description": [ + "The feature importance to identify" + ], + "signature": [ + "unknown" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.isDataFrameAnalyticsConfigs", + "type": "Function", + "tags": [], + "label": "isDataFrameAnalyticsConfigs", + "description": [ + "\nType guard for a DFA config\n" + ], + "signature": [ + "(arg: unknown) => boolean" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.isDataFrameAnalyticsConfigs.$1", + "type": "Unknown", + "tags": [], + "label": "arg", + "description": [ + "The config to identify" + ], + "signature": [ + "unknown" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.isOutlierAnalysis", + "type": "Function", + "tags": [], + "label": "isOutlierAnalysis", + "description": [ + "\nType guard for DFA outlier analysis configurations\n" + ], + "signature": [ + "(arg: unknown) => arg is ", + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.OutlierAnalysis", + "text": "OutlierAnalysis" + } + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/analytics_utils.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.isOutlierAnalysis.$1", + "type": "Unknown", + "tags": [], + "label": "arg", + "description": [ + "The config to identify" + ], + "signature": [ + "unknown" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/analytics_utils.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.isRegressionAnalysis", + "type": "Function", + "tags": [], + "label": "isRegressionAnalysis", + "description": [ + "\nType guard for DFA regression analysis configurations\n" + ], + "signature": [ + "(arg: unknown) => arg is ", + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.RegressionAnalysis", + "text": "RegressionAnalysis" + } + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/analytics_utils.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.isRegressionAnalysis.$1", + "type": "Unknown", + "tags": [], + "label": "arg", + "description": [ + "The config to identify" + ], + "signature": [ + "unknown" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/analytics_utils.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.isRegressionFeatureImportanceBaseline", + "type": "Function", + "tags": [], + "label": "isRegressionFeatureImportanceBaseline", + "description": [ + "\nType guard for regression feature importance baseline\n" + ], + "signature": [ + "(arg: unknown) => boolean" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.isRegressionFeatureImportanceBaseline.$1", + "type": "Unknown", + "tags": [], + "label": "arg", + "description": [ + "The baseline to identify" + ], + "signature": [ + "unknown" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.isRegressionTotalFeatureImportance", + "type": "Function", + "tags": [], + "label": "isRegressionTotalFeatureImportance", + "description": [ + "\nType guard for regression total feature importance\n" + ], + "signature": [ + "(arg: unknown) => boolean" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.isRegressionTotalFeatureImportance.$1", + "type": "Unknown", + "tags": [], + "label": "arg", + "description": [ + "The feature importance to identify" + ], + "signature": [ + "unknown" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.sortExplorationResultsFields", + "type": "Function", + "tags": [], + "label": "sortExplorationResultsFields", + "description": [ + "\nUsed to sort columns:\n- Anchor on the left ml.outlier_score, ml.is_training, , \n- string based columns are moved to the left\n- feature_influence/feature_importance fields get moved next to the corresponding field column\n- overall fields get sorted alphabetically\n" + ], + "signature": [ + "(a: string, b: string, jobConfig: ", + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.DataFrameAnalyticsConfig", + "text": "DataFrameAnalyticsConfig" + }, + ") => number" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/fields.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.sortExplorationResultsFields.$1", + "type": "string", + "tags": [], + "label": "a", + "description": [ + "First field name to compare for sorting" + ], + "signature": [ + "string" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/fields.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.sortExplorationResultsFields.$2", + "type": "string", + "tags": [], + "label": "b", + "description": [ + "Second field name to compare for sorting" + ], + "signature": [ + "string" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/fields.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.sortExplorationResultsFields.$3", + "type": "Object", + "tags": [], + "label": "jobConfig", + "description": [ + "The DFA analysis config" + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.DataFrameAnalyticsConfig", + "text": "DataFrameAnalyticsConfig" + } + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/fields.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.AnalyticsMapEdgeElement", + "type": "Interface", + "tags": [], + "label": "AnalyticsMapEdgeElement", + "description": [ + "\nInterface for an edge element for the map view" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.AnalyticsMapEdgeElement.data", + "type": "Object", + "tags": [], + "label": "data", + "description": [ + "\nInner data of the edge element" + ], + "signature": [ + "{ id: string; source: string; target: string; }" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.AnalyticsMapNodeElement", + "type": "Interface", + "tags": [], + "label": "AnalyticsMapNodeElement", + "description": [ + "\nInterface for a node element for the map view" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.AnalyticsMapNodeElement.data", + "type": "Object", + "tags": [], + "label": "data", + "description": [ + "\nInner data of the node element" + ], + "signature": [ + "{ id: string; label: string; type: string; analysisType?: string | undefined; }" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.AnalyticsMapReturnType", + "type": "Interface", + "tags": [], + "label": "AnalyticsMapReturnType", + "description": [ + "\nInterface for DFA map return type" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.AnalyticsMapReturnType.elements", + "type": "Array", + "tags": [], + "label": "elements", + "description": [ + "\nMap elements" + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.MapElements", + "text": "MapElements" + }, + "[]" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.AnalyticsMapReturnType.details", + "type": "Object", + "tags": [], + "label": "details", + "description": [ + "\nTransform, job or index details" + ], + "signature": [ + "{ [x: string]: any; }" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.AnalyticsMapReturnType.error", + "type": "Any", + "tags": [], + "label": "error", + "description": [ + "\nError" + ], + "signature": [ + "any" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ClassFeatureImportance", + "type": "Interface", + "tags": [], + "label": "ClassFeatureImportance", + "description": [ + "\nES result class feature importance" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ClassFeatureImportance.class_name", + "type": "CompoundType", + "tags": [], + "label": "class_name", + "description": [ + "\nThe class name" + ], + "signature": [ + "string | number | boolean" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ClassFeatureImportance.importance", + "type": "number", + "tags": [], + "label": "importance", + "description": [ + "\nThe importance" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ClassFeatureImportanceSummary", + "type": "Interface", + "tags": [], + "label": "ClassFeatureImportanceSummary", + "description": [ + "\nES result for class feature importance summary" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ClassFeatureImportanceSummary.class_name", + "type": "CompoundType", + "tags": [], + "label": "class_name", + "description": [ + "\nThe class name" + ], + "signature": [ + "string | number | boolean" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ClassFeatureImportanceSummary.importance", + "type": "Object", + "tags": [], + "label": "importance", + "description": [ + "\nThe importance" + ], + "signature": [ + "{ max: number; min: number; mean_magnitude: number; }" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ClassificationAnalysis", + "type": "Interface", + "tags": [], + "label": "ClassificationAnalysis", + "description": [ + "\nInterface for classification job configuation" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ClassificationAnalysis.Unnamed", + "type": "IndexSignature", + "tags": [], + "label": "[key: string]: Classification", + "description": [ + "\nKey spec for interface" + ], + "signature": [ + "[key: string]: Classification" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ClassificationAnalysis.classification", + "type": "Object", + "tags": [], + "label": "classification", + "description": [ + "\nOutlier detection options" + ], + "signature": [ + "Classification" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ClassificationEvaluateResponse", + "type": "Interface", + "tags": [], + "label": "ClassificationEvaluateResponse", + "description": [ + "\nInterface for classification evaluate response" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ClassificationEvaluateResponse.classification", + "type": "Object", + "tags": [], + "label": "classification", + "description": [ + "\nClassification evaluation" + ], + "signature": [ + "{ multiclass_confusion_matrix?: { confusion_matrix: ", + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.ConfusionMatrix", + "text": "ConfusionMatrix" + }, + "[]; } | undefined; recall?: { classes: EvalClass[]; avg_recall: number; } | undefined; accuracy?: { classes: EvalClass[]; overall_accuracy: number; } | undefined; auc_roc?: { curve?: ", + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.RocCurveItem", + "text": "RocCurveItem" + }, + "[] | undefined; value: number; } | undefined; }" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ClassificationFeatureImportanceBaseline", + "type": "Interface", + "tags": [], + "label": "ClassificationFeatureImportanceBaseline", + "description": [ + "\nBaseline interface for ES result classification feature importance" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ClassificationFeatureImportanceBaseline.classes", + "type": "Array", + "tags": [], + "label": "classes", + "description": [ + "\nClasses" + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.FeatureImportanceClassBaseline", + "text": "FeatureImportanceClassBaseline" + }, + "[]" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ClassificationTotalFeatureImportance", + "type": "Interface", + "tags": [], + "label": "ClassificationTotalFeatureImportance", + "description": [ + "\nES result classification total feature importance" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ClassificationTotalFeatureImportance.feature_name", + "type": "string", + "tags": [], + "label": "feature_name", + "description": [ + "\nThe feature name" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ClassificationTotalFeatureImportance.classes", + "type": "Array", + "tags": [], + "label": "classes", + "description": [ + "\nThe classes, array of ClassFeatureImportanceSummary" + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.ClassFeatureImportanceSummary", + "text": "ClassFeatureImportanceSummary" + }, + "[]" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ConfusionMatrix", + "type": "Interface", + "tags": [], + "label": "ConfusionMatrix", + "description": [ + "\nInterface for confusion matrix" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ConfusionMatrix.actual_class", + "type": "string", + "tags": [], + "label": "actual_class", + "description": [ + "\nActual class" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ConfusionMatrix.actual_class_doc_count", + "type": "number", + "tags": [], + "label": "actual_class_doc_count", + "description": [ + "\nActual class doc count" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ConfusionMatrix.predicted_classes", + "type": "Array", + "tags": [], + "label": "predicted_classes", + "description": [ + "\nArray of predicted classes" + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.PredictedClass", + "text": "PredictedClass" + }, + "[]" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ConfusionMatrix.other_predicted_class_doc_count", + "type": "number", + "tags": [], + "label": "other_predicted_class_doc_count", + "description": [ + "\nDoc count of other predicted classes" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DataFrameAnalyticsConfig", + "type": "Interface", + "tags": [], + "label": "DataFrameAnalyticsConfig", + "description": [ + "\nInterface for a DFA config with fix for estypes provided types" + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.DataFrameAnalyticsConfig", + "text": "DataFrameAnalyticsConfig" + }, + " extends Omit<", + "MlDataframeAnalyticsSummary", + ", \"analyzed_fields\">" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DataFrameAnalyticsConfig.analyzed_fields", + "type": "Object", + "tags": [], + "label": "analyzed_fields", + "description": [ + "\nOptional analyzed fields" + ], + "signature": [ + "MlDataframeAnalysisAnalyzedFields", + " | undefined" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DataFrameAnalyticsConfig._meta", + "type": "Object", + "tags": [], + "label": "_meta", + "description": [ + "\nOptional meta data" + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.DataFrameAnalyticsMeta", + "text": "DataFrameAnalyticsMeta" + }, + " | undefined" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DataFrameAnalyticsMeta", + "type": "Interface", + "tags": [], + "label": "DataFrameAnalyticsMeta", + "description": [ + "\nMeta data for a DFA job" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DataFrameAnalyticsMeta.custom_urls", + "type": "Array", + "tags": [], + "label": "custom_urls", + "description": [ + "\nOptional custom urls" + ], + "signature": [ + { + "pluginId": "@kbn/ml-anomaly-utils", + "scope": "common", + "docId": "kibKbnMlAnomalyUtilsPluginApi", + "section": "def-common.MlUrlConfig", + "text": "MlUrlConfig" + }, + "[] | undefined" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DataFrameAnalyticsMeta.Unnamed", + "type": "IndexSignature", + "tags": [], + "label": "[key: string]: any", + "description": [ + "\nKey spec for interface" + ], + "signature": [ + "[key: string]: any" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DataFrameAnalyticsStats", + "type": "Interface", + "tags": [], + "label": "DataFrameAnalyticsStats", + "description": [ + "\nInterface for DFA stats" + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.DataFrameAnalyticsStats", + "text": "DataFrameAnalyticsStats" + }, + " extends Omit<", + "MlDataframeAnalytics", + ", \"state\">" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DataFrameAnalyticsStats.failure_reason", + "type": "string", + "tags": [], + "label": "failure_reason", + "description": [ + "\nOptional failure reason" + ], + "signature": [ + "string | undefined" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DataFrameAnalyticsStats.state", + "type": "CompoundType", + "tags": [], + "label": "state", + "description": [ + "\nTask state" + ], + "signature": [ + "\"analyzing\" | \"reindexing\" | ", + "MlDataframeState" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DeleteDataFrameAnalyticsWithIndexStatus", + "type": "Interface", + "tags": [], + "label": "DeleteDataFrameAnalyticsWithIndexStatus", + "description": [ + "\nInterface for DFA API response for deletion status" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DeleteDataFrameAnalyticsWithIndexStatus.success", + "type": "boolean", + "tags": [], + "label": "success", + "description": [ + "\nSuccess" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DeleteDataFrameAnalyticsWithIndexStatus.error", + "type": "CompoundType", + "tags": [], + "label": "error", + "description": [ + "\nOptional error" + ], + "signature": [ + "Boom", + " | ", + "ErrorResponseBase", + " | undefined" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.EvaluateMetrics", + "type": "Interface", + "tags": [], + "label": "EvaluateMetrics", + "description": [ + "\nInterface for evalute metrics" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.EvaluateMetrics.classification", + "type": "Object", + "tags": [], + "label": "classification", + "description": [ + "\nClassification evalute metrics" + ], + "signature": [ + "{ accuracy?: object | undefined; recall?: object | undefined; multiclass_confusion_matrix?: object | undefined; auc_roc?: { include_curve: boolean; class_name: string; } | undefined; }" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.EvaluateMetrics.regression", + "type": "Object", + "tags": [], + "label": "regression", + "description": [ + "\nRegression evaluate metrics" + ], + "signature": [ + "{ r_squared: object; mse: object; msle: object; huber: object; }" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.FeatureImportance", + "type": "Interface", + "tags": [], + "label": "FeatureImportance", + "description": [ + "\nES result feature importance interface\nTODO We should separate the interface because classes/importance\nisn't both optional but either/or." + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.FeatureImportance.feature_name", + "type": "string", + "tags": [], + "label": "feature_name", + "description": [ + "\nThe feature name" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.FeatureImportance.classes", + "type": "Array", + "tags": [], + "label": "classes", + "description": [ + "\nOptional classes" + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.ClassFeatureImportance", + "text": "ClassFeatureImportance" + }, + "[] | undefined" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.FeatureImportance.importance", + "type": "number", + "tags": [], + "label": "importance", + "description": [ + "\nOptional importance" + ], + "signature": [ + "number | undefined" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.FeatureImportanceClassBaseline", + "type": "Interface", + "tags": [], + "label": "FeatureImportanceClassBaseline", + "description": [ + "\nBaseline interface for ES result feature importance class" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.FeatureImportanceClassBaseline.class_name", + "type": "CompoundType", + "tags": [], + "label": "class_name", + "description": [ + "\nClass name" + ], + "signature": [ + "string | number | boolean" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.FeatureImportanceClassBaseline.baseline", + "type": "number", + "tags": [], + "label": "baseline", + "description": [ + "\nBaseline" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.FieldSelectionItem", + "type": "Interface", + "tags": [], + "label": "FieldSelectionItem", + "description": [ + "\nInterface for field selection item" + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.FieldSelectionItem", + "text": "FieldSelectionItem" + }, + " extends Omit<", + "MlDataframeAnalyticsFieldSelection", + ", \"mapping_types\">" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.FieldSelectionItem.mapping_types", + "type": "Array", + "tags": [ + "type" + ], + "label": "mapping_types", + "description": [ + "\nOptional mapping types" + ], + "signature": [ + "string[] | undefined" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.OutlierAnalysis", + "type": "Interface", + "tags": [], + "label": "OutlierAnalysis", + "description": [ + "\nInterface for outlier analysis job configuation" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.OutlierAnalysis.Unnamed", + "type": "IndexSignature", + "tags": [], + "label": "[key: string]: {}", + "description": [ + "\nKey spec for interface" + ], + "signature": [ + "[key: string]: {}" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.OutlierAnalysis.outlier_detection", + "type": "Object", + "tags": [], + "label": "outlier_detection", + "description": [ + "\nOutlier detection options" + ], + "signature": [ + "{ compute_feature_influence?: boolean | undefined; }" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.PredictedClass", + "type": "Interface", + "tags": [], + "label": "PredictedClass", + "description": [ + "\nInterface for predicted class" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.PredictedClass.predicted_class", + "type": "string", + "tags": [], + "label": "predicted_class", + "description": [ + "\nPredicted class" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.PredictedClass.count", + "type": "number", + "tags": [], + "label": "count", + "description": [ + "\nCount" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.RegressionAnalysis", + "type": "Interface", + "tags": [], + "label": "RegressionAnalysis", + "description": [ + "\nInterface for regression analysis job configuation" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.RegressionAnalysis.Unnamed", + "type": "IndexSignature", + "tags": [], + "label": "[key: string]: Regression", + "description": [ + "\nKey spec for interface" + ], + "signature": [ + "[key: string]: Regression" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.RegressionAnalysis.regression", + "type": "Object", + "tags": [], + "label": "regression", + "description": [ + "\nRegression options" + ], + "signature": [ + "Regression" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.RegressionFeatureImportanceBaseline", + "type": "Interface", + "tags": [], + "label": "RegressionFeatureImportanceBaseline", + "description": [ + "\nBaseline interface for ES result regression feature importance" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.RegressionFeatureImportanceBaseline.baseline", + "type": "number", + "tags": [], + "label": "baseline", + "description": [ + "\nBaseline" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.RegressionFeatureImportanceSummary", + "type": "Interface", + "tags": [], + "label": "RegressionFeatureImportanceSummary", + "description": [ + "\nES result regression feature importance summary" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.RegressionFeatureImportanceSummary.max", + "type": "number", + "tags": [], + "label": "max", + "description": [ + "\nMax feature importance" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.RegressionFeatureImportanceSummary.min", + "type": "number", + "tags": [], + "label": "min", + "description": [ + "\nMin feature importance" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.RegressionFeatureImportanceSummary.mean_magnitude", + "type": "number", + "tags": [], + "label": "mean_magnitude", + "description": [ + "\nMean magnitude" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.RegressionTotalFeatureImportance", + "type": "Interface", + "tags": [], + "label": "RegressionTotalFeatureImportance", + "description": [ + "\nES result for regression total feature importance" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.RegressionTotalFeatureImportance.feature_name", + "type": "string", + "tags": [], + "label": "feature_name", + "description": [ + "\nFeature name" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.RegressionTotalFeatureImportance.importance", + "type": "Object", + "tags": [], + "label": "importance", + "description": [ + "\nImportance" + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.RegressionFeatureImportanceSummary", + "text": "RegressionFeatureImportanceSummary" + } + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.RocCurveItem", + "type": "Interface", + "tags": [], + "label": "RocCurveItem", + "description": [ + "\nData item for ROC curve" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.RocCurveItem.fpr", + "type": "number", + "tags": [], + "label": "fpr", + "description": [ + "\nFPR" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.RocCurveItem.threshold", + "type": "number", + "tags": [], + "label": "threshold", + "description": [ + "\nThreshold" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.RocCurveItem.tpr", + "type": "number", + "tags": [], + "label": "tpr", + "description": [ + "\nTPR" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.TopClass", + "type": "Interface", + "tags": [], + "label": "TopClass", + "description": [ + "\nES result top class interface" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.TopClass.class_name", + "type": "CompoundType", + "tags": [], + "label": "class_name", + "description": [ + "\nThe class name" + ], + "signature": [ + "string | number | boolean" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.TopClass.class_probability", + "type": "number", + "tags": [], + "label": "class_probability", + "description": [ + "\nThe class probability" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.TopClass.class_score", + "type": "number", + "tags": [], + "label": "class_score", + "description": [ + "\nThe class score" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.TrackTotalHitsSearchResponse", + "type": "Interface", + "tags": [], + "label": "TrackTotalHitsSearchResponse", + "description": [ + "\nInterface for a search response's track total hits option" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.TrackTotalHitsSearchResponse.hits", + "type": "Object", + "tags": [], + "label": "hits", + "description": [ + "\nInner structure of the response" + ], + "signature": [ + "{ total: { value: number; relation: string; }; hits: any[]; }" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.UpdateDataFrameAnalyticsConfig", + "type": "Interface", + "tags": [], + "label": "UpdateDataFrameAnalyticsConfig", + "description": [ + "\nInterface for a requect object to update a DFA job" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.UpdateDataFrameAnalyticsConfig.allow_lazy_start", + "type": "string", + "tags": [], + "label": "allow_lazy_start", + "description": [ + "\nOptional allow lazy start" + ], + "signature": [ + "string | undefined" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.UpdateDataFrameAnalyticsConfig.description", + "type": "string", + "tags": [], + "label": "description", + "description": [ + "\nOptional description" + ], + "signature": [ + "string | undefined" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.UpdateDataFrameAnalyticsConfig.model_memory_limit", + "type": "string", + "tags": [], + "label": "model_memory_limit", + "description": [ + "\nOptional model memory limit" + ], + "signature": [ + "string | undefined" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.UpdateDataFrameAnalyticsConfig.max_num_threads", + "type": "number", + "tags": [], + "label": "max_num_threads", + "description": [ + "\nOptional max num threads" + ], + "signature": [ + "number | undefined" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.UpdateDataFrameAnalyticsConfig._meta", + "type": "Object", + "tags": [], + "label": "_meta", + "description": [ + "\nOptional meta data" + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.DataFrameAnalyticsMeta", + "text": "DataFrameAnalyticsMeta" + }, + " | undefined" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], + "enums": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ANALYSIS_ADVANCED_FIELDS", + "type": "Enum", + "tags": [], + "label": "ANALYSIS_ADVANCED_FIELDS", + "description": [ + "\nEnum for a DFA configuration's advanced fields" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.OUTLIER_ANALYSIS_METHOD", + "type": "Enum", + "tags": [], + "label": "OUTLIER_ANALYSIS_METHOD", + "description": [ + "\nEnum for a DFA configuration's outlier analysis method" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "misc": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.AnalysisConfig", + "type": "Type", + "tags": [], + "label": "AnalysisConfig", + "description": [ + "\nAlias of estypes.MlDataframeAnalysisContainer" + ], + "signature": [ + "MlDataframeAnalysisContainer" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DataFrameAnalysisConfigType", + "type": "Type", + "tags": [], + "label": "DataFrameAnalysisConfigType", + "description": [ + "\nUnion type of DFA anlaysis config types" + ], + "signature": [ + "\"classification\" | \"outlier_detection\" | \"regression\"" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DataFrameAnalyticsId", + "type": "Type", + "tags": [], + "label": "DataFrameAnalyticsId", + "description": [ + "\nData frame analytics id" + ], + "signature": [ + "string" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DataFrameTaskStateType", + "type": "Type", + "tags": [], + "label": "DataFrameTaskStateType", + "description": [ + "\nUnion type of DFA task states" + ], + "signature": [ + "\"analyzing\" | \"reindexing\" | ", + "MlDataframeState" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DEFAULT_REGRESSION_COLUMNS", + "type": "number", + "tags": [], + "label": "DEFAULT_REGRESSION_COLUMNS", + "description": [ + "\nDefault regression columns" + ], + "signature": [ + "8" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/fields.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DEFAULT_RESULTS_FIELD", + "type": "string", + "tags": [], + "label": "DEFAULT_RESULTS_FIELD", + "description": [ + "\nDefault results field" + ], + "signature": [ + "\"ml\"" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DfAnalyticsExplainResponse", + "type": "Type", + "tags": [], + "label": "DfAnalyticsExplainResponse", + "description": [ + "\nAlias for estypes.MlExplainDataFrameAnalyticsResponse" + ], + "signature": [ + "MlExplainDataFrameAnalyticsResponse" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.FEATURE_IMPORTANCE", + "type": "string", + "tags": [], + "label": "FEATURE_IMPORTANCE", + "description": [ + "\nFeature importance constant" + ], + "signature": [ + "\"feature_importance\"" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.FEATURE_INFLUENCE", + "type": "string", + "tags": [], + "label": "FEATURE_INFLUENCE", + "description": [ + "\nFeature influence constant" + ], + "signature": [ + "\"feature_influence\"" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.FeatureImportanceBaseline", + "type": "Type", + "tags": [], + "label": "FeatureImportanceBaseline", + "description": [ + "\nUnion type of feature importance baseline types" + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.ClassificationFeatureImportanceBaseline", + "text": "ClassificationFeatureImportanceBaseline" + }, + " | ", + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.RegressionFeatureImportanceBaseline", + "text": "RegressionFeatureImportanceBaseline" + } + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.FeatureImportanceClassName", + "type": "Type", + "tags": [], + "label": "FeatureImportanceClassName", + "description": [ + "\nUnion type for ES result feature importance class name" + ], + "signature": [ + "string | number | boolean" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.FeatureProcessor", + "type": "Type", + "tags": [], + "label": "FeatureProcessor", + "description": [ + "\nAlias for estypes.MlDataframeAnalysisFeatureProcessor" + ], + "signature": [ + "MlDataframeAnalysisFeatureProcessor" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.JobMapNodeTypes", + "type": "Type", + "tags": [], + "label": "JobMapNodeTypes", + "description": [ + "\nUnion type of JOB_MAP_NODE_TYPES" + ], + "signature": [ + "\"index\" | \"transform\" | \"analytics\" | \"trainedModel\"" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.MapElements", + "type": "Type", + "tags": [], + "label": "MapElements", + "description": [ + "\nUnion type of map node and edge elements" + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.AnalyticsMapEdgeElement", + "text": "AnalyticsMapEdgeElement" + }, + " | ", + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.AnalyticsMapNodeElement", + "text": "AnalyticsMapNodeElement" + } + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ML__ID_COPY", + "type": "string", + "tags": [], + "label": "ML__ID_COPY", + "description": [ + "\nES field name for copy of the doc _id" + ], + "signature": [ + "\"ml__id_copy\"" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/fields.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ML__INCREMENTAL_ID", + "type": "string", + "tags": [], + "label": "ML__INCREMENTAL_ID", + "description": [ + "\nES field name for ML's incremental id" + ], + "signature": [ + "\"ml__incremental_id\"" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/fields.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.NUM_TOP_FEATURE_IMPORTANCE_VALUES_MIN", + "type": "number", + "tags": [], + "label": "NUM_TOP_FEATURE_IMPORTANCE_VALUES_MIN", + "description": [ + "\nMinimum value for feature importance" + ], + "signature": [ + "0" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.OUTLIER_SCORE", + "type": "string", + "tags": [], + "label": "OUTLIER_SCORE", + "description": [ + "\nOutlier score constant" + ], + "signature": [ + "\"outlier_score\"" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.TOP_CLASSES", + "type": "string", + "tags": [], + "label": "TOP_CLASSES", + "description": [ + "\nTop classes constant" + ], + "signature": [ + "\"top_classes\"" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.TopClasses", + "type": "Type", + "tags": [], + "label": "TopClasses", + "description": [ + "\nArray of TopClass" + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.TopClass", + "text": "TopClass" + }, + "[]" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.TotalFeatureImportance", + "type": "Type", + "tags": [], + "label": "TotalFeatureImportance", + "description": [ + "\nUnion type of total feature importance types" + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.ClassificationTotalFeatureImportance", + "text": "ClassificationTotalFeatureImportance" + }, + " | ", + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.RegressionTotalFeatureImportance", + "text": "RegressionTotalFeatureImportance" + } + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/feature_importance.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.TRAINING_PERCENT_MAX", + "type": "number", + "tags": [], + "label": "TRAINING_PERCENT_MAX", + "description": [ + "\nMaximum training percent" + ], + "signature": [ + "100" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.TRAINING_PERCENT_MIN", + "type": "number", + "tags": [], + "label": "TRAINING_PERCENT_MIN", + "description": [ + "\nMinimum training percent" + ], + "signature": [ + "1" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "objects": [ + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.ANALYSIS_CONFIG_TYPE", + "type": "Object", + "tags": [], + "label": "ANALYSIS_CONFIG_TYPE", + "description": [ + "\nCustom enum for DFA config types" + ], + "signature": [ + "{ readonly OUTLIER_DETECTION: \"outlier_detection\"; readonly REGRESSION: \"regression\"; readonly CLASSIFICATION: \"classification\"; }" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.BASIC_NUMERICAL_TYPES", + "type": "Object", + "tags": [], + "label": "BASIC_NUMERICAL_TYPES", + "description": [ + "\nSet of basic numerical types" + ], + "signature": [ + "Set<", + { + "pluginId": "@kbn/field-types", + "scope": "common", + "docId": "kibKbnFieldTypesPluginApi", + "section": "def-common.ES_FIELD_TYPES", + "text": "ES_FIELD_TYPES" + }, + ">" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/fields.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.DATA_FRAME_TASK_STATE", + "type": "Object", + "tags": [], + "label": "DATA_FRAME_TASK_STATE", + "description": [ + "\nCustom enum for DFA task states" + ], + "signature": [ + "{ readonly ANALYZING: \"analyzing\"; readonly FAILED: \"failed\"; readonly REINDEXING: \"reindexing\"; readonly STARTED: \"started\"; readonly STARTING: \"starting\"; readonly STOPPED: \"stopped\"; }" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.EXTENDED_NUMERICAL_TYPES", + "type": "Object", + "tags": [], + "label": "EXTENDED_NUMERICAL_TYPES", + "description": [ + "\nSet of extended numerical types" + ], + "signature": [ + "Set<", + { + "pluginId": "@kbn/field-types", + "scope": "common", + "docId": "kibKbnFieldTypesPluginApi", + "section": "def-common.ES_FIELD_TYPES", + "text": "ES_FIELD_TYPES" + }, + ">" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/fields.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.INDEX_CREATED_BY", + "type": "Object", + "tags": [], + "label": "INDEX_CREATED_BY", + "description": [ + "\nCustom enum for the metadata to be stored about which tool was used to create an index" + ], + "signature": [ + "{ readonly FILE_DATA_VISUALIZER: \"file-data-visualizer\"; readonly DATA_FRAME_ANALYTICS: \"data-frame-analytics\"; }" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-frame-analytics-utils", + "id": "def-common.JOB_MAP_NODE_TYPES", + "type": "Object", + "tags": [], + "label": "JOB_MAP_NODE_TYPES", + "description": [ + "\nCustom enum for job map node types for the DFA map view" + ], + "signature": [ + "{ readonly ANALYTICS: \"analytics\"; readonly TRANSFORM: \"transform\"; readonly INDEX: \"index\"; readonly TRAINED_MODEL: \"trainedModel\"; }" + ], + "path": "x-pack/packages/ml/data_frame_analytics_utils/src/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ] + } +} \ No newline at end of file diff --git a/api_docs/kbn_ml_data_frame_analytics_utils.mdx b/api_docs/kbn_ml_data_frame_analytics_utils.mdx new file mode 100644 index 0000000000000..17bd4b6496a99 --- /dev/null +++ b/api_docs/kbn_ml_data_frame_analytics_utils.mdx @@ -0,0 +1,42 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnMlDataFrameAnalyticsUtilsPluginApi +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-06-07 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-frame-analytics-utils'] +--- +import kbnMlDataFrameAnalyticsUtilsObj from './kbn_ml_data_frame_analytics_utils.devdocs.json'; + + + +Contact [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 152 | 1 | 0 | 0 | + +## Common + +### Objects + + +### Functions + + +### Interfaces + + +### Enums + + +### Consts, variables and types + + diff --git a/api_docs/kbn_ml_data_grid.devdocs.json b/api_docs/kbn_ml_data_grid.devdocs.json new file mode 100644 index 0000000000000..abe46fdfa608d --- /dev/null +++ b/api_docs/kbn_ml_data_grid.devdocs.json @@ -0,0 +1,2758 @@ +{ + "id": "@kbn/ml-data-grid", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.DataGrid", + "type": "Function", + "tags": [], + "label": "DataGrid", + "description": [ + "\nCustom data grid component with support for mini histograms." + ], + "signature": [ + "React.FunctionComponent" + ], + "path": "x-pack/packages/ml/data_grid/components/data_grid.tsx", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.DataGrid.$1", + "type": "CompoundType", + "tags": [], + "label": "props", + "description": [], + "signature": [ + "P & { children?: React.ReactNode; }" + ], + "path": "node_modules/@types/react/index.d.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.DataGrid.$2", + "type": "Any", + "tags": [], + "label": "context", + "description": [], + "signature": [ + "any" + ], + "path": "node_modules/@types/react/index.d.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.getDataGridSchemaFromESFieldType", + "type": "Function", + "tags": [], + "label": "getDataGridSchemaFromESFieldType", + "description": [ + "\nCreates a data grid schema from an ES field type." + ], + "signature": [ + "(fieldType: \"number\" | ", + { + "pluginId": "@kbn/field-types", + "scope": "common", + "docId": "kibKbnFieldTypesPluginApi", + "section": "def-common.ES_FIELD_TYPES", + "text": "ES_FIELD_TYPES" + }, + " | ", + "MappingRuntimeFieldType", + " | undefined) => string | undefined" + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.getDataGridSchemaFromESFieldType.$1", + "type": "CompoundType", + "tags": [], + "label": "fieldType", + "description": [ + "- The ES field type." + ], + "signature": [ + "\"number\" | ", + { + "pluginId": "@kbn/field-types", + "scope": "common", + "docId": "kibKbnFieldTypesPluginApi", + "section": "def-common.ES_FIELD_TYPES", + "text": "ES_FIELD_TYPES" + }, + " | ", + "MappingRuntimeFieldType", + " | undefined" + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [ + "- The data grid schema corresponding to the field type." + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.getDataGridSchemaFromKibanaFieldType", + "type": "Function", + "tags": [], + "label": "getDataGridSchemaFromKibanaFieldType", + "description": [ + "\nRetrieves the data grid schema from the Kibana field type." + ], + "signature": [ + "(field: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewField", + "text": "DataViewField" + }, + " | undefined) => string | undefined" + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.getDataGridSchemaFromKibanaFieldType.$1", + "type": "Object", + "tags": [], + "label": "field", + "description": [ + "- The Kibana field object." + ], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewField", + "text": "DataViewField" + }, + " | undefined" + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [ + "- The data grid schema corresponding to the field type." + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.getDataGridSchemasFromFieldTypes", + "type": "Function", + "tags": [], + "label": "getDataGridSchemasFromFieldTypes", + "description": [ + "\nCreates an array of objects representing the data grid schemas for each field." + ], + "signature": [ + "(fieldTypes: ", + { + "pluginId": "@kbn/ml-data-grid", + "scope": "common", + "docId": "kibKbnMlDataGridPluginApi", + "section": "def-common.FieldTypes", + "text": "FieldTypes" + }, + ", resultsField: string) => { id: string; schema: string | undefined; isSortable: boolean; }[]" + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.getDataGridSchemasFromFieldTypes.$1", + "type": "Object", + "tags": [], + "label": "fieldTypes", + "description": [ + "- The field types object." + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-grid", + "scope": "common", + "docId": "kibKbnMlDataGridPluginApi", + "section": "def-common.FieldTypes", + "text": "FieldTypes" + } + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.getDataGridSchemasFromFieldTypes.$2", + "type": "string", + "tags": [], + "label": "resultsField", + "description": [ + "- The results field." + ], + "signature": [ + "string" + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [ + "- The array of data grid schemas." + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.getFeatureImportance", + "type": "Function", + "tags": [], + "label": "getFeatureImportance", + "description": [ + "\nHelper to transform feature importance fields with arrays back to primitive value\n" + ], + "signature": [ + "(row: ", + { + "pluginId": "@kbn/ml-data-grid", + "scope": "common", + "docId": "kibKbnMlDataGridPluginApi", + "section": "def-common.DataGridItem", + "text": "DataGridItem" + }, + ", mlResultsField: string, isClassTypeBoolean?: boolean) => ", + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.FeatureImportance", + "text": "FeatureImportance" + }, + "[]" + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.getFeatureImportance.$1", + "type": "Object", + "tags": [], + "label": "row", + "description": [ + "- EUI data grid data row" + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-grid", + "scope": "common", + "docId": "kibKbnMlDataGridPluginApi", + "section": "def-common.DataGridItem", + "text": "DataGridItem" + } + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.getFeatureImportance.$2", + "type": "string", + "tags": [], + "label": "mlResultsField", + "description": [ + "- Data frame analytics results field" + ], + "signature": [ + "string" + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.getFeatureImportance.$3", + "type": "boolean", + "tags": [], + "label": "isClassTypeBoolean", + "description": [ + "- Flag if the class type is boolean" + ], + "signature": [ + "boolean" + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [ + "nested object structure of feature importance values" + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.getFieldsFromKibanaIndexPattern", + "type": "Function", + "tags": [], + "label": "getFieldsFromKibanaIndexPattern", + "description": [ + "\nRetrieves fields from a Kibana data view." + ], + "signature": [ + "(dataView: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + ") => string[]" + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.getFieldsFromKibanaIndexPattern.$1", + "type": "Object", + "tags": [], + "label": "dataView", + "description": [ + "- The Kibana data view." + ], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + } + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [ + "- The array of field names from the data view." + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.getFieldType", + "type": "Function", + "tags": [], + "label": "getFieldType", + "description": [ + "\nGets the Kibana field type from a EUI data grid column schema.\n" + ], + "signature": [ + "(schema: string | undefined) => ", + { + "pluginId": "@kbn/field-types", + "scope": "common", + "docId": "kibKbnFieldTypesPluginApi", + "section": "def-common.KBN_FIELD_TYPES", + "text": "KBN_FIELD_TYPES" + }, + " | undefined" + ], + "path": "x-pack/packages/ml/data_grid/hooks/use_column_chart.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.getFieldType.$1", + "type": "string", + "tags": [], + "label": "schema", + "description": [ + "- EUI data grid column schema." + ], + "signature": [ + "string | undefined" + ], + "path": "x-pack/packages/ml/data_grid/hooks/use_column_chart.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.getNestedOrEscapedVal", + "type": "Function", + "tags": [], + "label": "getNestedOrEscapedVal", + "description": [ + "\nValue can be nested or the fieldName itself might contain other special characters like `.`" + ], + "signature": [ + "(obj: unknown, sortId: string) => any" + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.getNestedOrEscapedVal.$1", + "type": "Unknown", + "tags": [], + "label": "obj", + "description": [ + "- The object to get the nested property from." + ], + "signature": [ + "unknown" + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.getNestedOrEscapedVal.$2", + "type": "string", + "tags": [], + "label": "sortId", + "description": [ + "- The sort id attribute." + ], + "signature": [ + "string" + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.getProcessedFields", + "type": "Function", + "tags": [], + "label": "getProcessedFields", + "description": [ + "\nHelper function to transform { [key]: [val] } => { [key]: val }\nfor when `fields` is used in es.search since response is always an array of values\nsince response always returns an array of values for each field\n" + ], + "signature": [ + "(originalObj: object, omitBy?: ((key: string) => boolean) | undefined) => { [key: string]: any; }" + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.getProcessedFields.$1", + "type": "Uncategorized", + "tags": [], + "label": "originalObj", + "description": [ + "- The original object to get the processed fields from." + ], + "signature": [ + "object" + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.getProcessedFields.$2", + "type": "Function", + "tags": [], + "label": "omitBy", + "description": [ + "- Optional callback." + ], + "signature": [ + "((key: string) => boolean) | undefined" + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [ + ") => { [key: string]: any; }}" + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.getTopClasses", + "type": "Function", + "tags": [], + "label": "getTopClasses", + "description": [ + "\nHelper to transforms top classes fields with arrays back to original primitive value\n" + ], + "signature": [ + "(row: ", + { + "pluginId": "@kbn/ml-data-grid", + "scope": "common", + "docId": "kibKbnMlDataGridPluginApi", + "section": "def-common.DataGridItem", + "text": "DataGridItem" + }, + ", mlResultsField: string) => ", + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.TopClasses", + "text": "TopClasses" + } + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.getTopClasses.$1", + "type": "Object", + "tags": [], + "label": "row", + "description": [ + "- EUI data grid data row" + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-grid", + "scope": "common", + "docId": "kibKbnMlDataGridPluginApi", + "section": "def-common.DataGridItem", + "text": "DataGridItem" + } + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.getTopClasses.$2", + "type": "string", + "tags": [], + "label": "mlResultsField", + "description": [ + "- Data frame analytics results field" + ], + "signature": [ + "string" + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [ + "nested object structure of feature importance values" + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.isNumericChartData", + "type": "Function", + "tags": [], + "label": "isNumericChartData", + "description": [ + "\nDetermines if the provided argument is of type NumericChartData." + ], + "signature": [ + "(arg: unknown) => arg is ", + { + "pluginId": "@kbn/ml-data-grid", + "scope": "common", + "docId": "kibKbnMlDataGridPluginApi", + "section": "def-common.NumericChartData", + "text": "NumericChartData" + } + ], + "path": "x-pack/packages/ml/data_grid/lib/field_histograms.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.isNumericChartData.$1", + "type": "Unknown", + "tags": [], + "label": "arg", + "description": [ + "- The argument to check." + ], + "signature": [ + "unknown" + ], + "path": "x-pack/packages/ml/data_grid/lib/field_histograms.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.isOrdinalChartData", + "type": "Function", + "tags": [], + "label": "isOrdinalChartData", + "description": [ + "\nDetermines if the provided argument is of type OrdinalChartData." + ], + "signature": [ + "(arg: unknown) => arg is ", + { + "pluginId": "@kbn/ml-data-grid", + "scope": "common", + "docId": "kibKbnMlDataGridPluginApi", + "section": "def-common.OrdinalChartData", + "text": "OrdinalChartData" + } + ], + "path": "x-pack/packages/ml/data_grid/lib/field_histograms.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.isOrdinalChartData.$1", + "type": "Unknown", + "tags": [], + "label": "arg", + "description": [ + "- The argument to check." + ], + "signature": [ + "unknown" + ], + "path": "x-pack/packages/ml/data_grid/lib/field_histograms.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.isUnsupportedChartData", + "type": "Function", + "tags": [], + "label": "isUnsupportedChartData", + "description": [ + "\nDetermines if the provided argument is of type UnsupportedChartData." + ], + "signature": [ + "(arg: unknown) => arg is ", + { + "pluginId": "@kbn/ml-data-grid", + "scope": "common", + "docId": "kibKbnMlDataGridPluginApi", + "section": "def-common.UnsupportedChartData", + "text": "UnsupportedChartData" + } + ], + "path": "x-pack/packages/ml/data_grid/lib/field_histograms.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.isUnsupportedChartData.$1", + "type": "Unknown", + "tags": [], + "label": "arg", + "description": [ + "- The argument to check." + ], + "signature": [ + "unknown" + ], + "path": "x-pack/packages/ml/data_grid/lib/field_histograms.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.multiColumnSortFactory", + "type": "Function", + "tags": [], + "label": "multiColumnSortFactory", + "description": [ + "\nHelper to sort an array of objects based on an EuiDataGrid sorting configuration.\n`sortFn()` is recursive to support sorting on multiple columns.\n" + ], + "signature": [ + "(sortingColumns: ", + { + "pluginId": "@kbn/ml-data-grid", + "scope": "common", + "docId": "kibKbnMlDataGridPluginApi", + "section": "def-common.MultiColumnSorter", + "text": "MultiColumnSorter" + }, + "[]) => (a: any, b: any, sortingColumnIndex?: number) => number" + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.multiColumnSortFactory.$1", + "type": "Array", + "tags": [], + "label": "sortingColumns", + "description": [ + "- The EUI data grid sorting configuration" + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-grid", + "scope": "common", + "docId": "kibKbnMlDataGridPluginApi", + "section": "def-common.MultiColumnSorter", + "text": "MultiColumnSorter" + }, + "[]" + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [ + "The sorting function which can be used with an array's sort() function." + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.showDataGridColumnChartErrorMessageToast", + "type": "Function", + "tags": [], + "label": "showDataGridColumnChartErrorMessageToast", + "description": [ + "\nDisplays an error toast message for the data grid column chart.\n" + ], + "signature": [ + "(e: unknown, toastNotifications: ", + { + "pluginId": "@kbn/core-notifications-browser", + "scope": "common", + "docId": "kibKbnCoreNotificationsBrowserPluginApi", + "section": "def-common.IToasts", + "text": "IToasts" + }, + ") => void" + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.showDataGridColumnChartErrorMessageToast.$1", + "type": "Unknown", + "tags": [], + "label": "e", + "description": [ + "- The error object or message." + ], + "signature": [ + "unknown" + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.showDataGridColumnChartErrorMessageToast.$2", + "type": "Object", + "tags": [], + "label": "toastNotifications", + "description": [ + "- The toast notifications service." + ], + "signature": [ + { + "pluginId": "@kbn/core-notifications-browser", + "scope": "common", + "docId": "kibKbnCoreNotificationsBrowserPluginApi", + "section": "def-common.IToasts", + "text": "IToasts" + } + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.useDataGrid", + "type": "Function", + "tags": [], + "label": "useDataGrid", + "description": [ + "\nCustom hook to manage DataGrid state.\n" + ], + "signature": [ + "(columns: ", + "EuiDataGridColumn", + "[], defaultPageSize?: number, defaultVisibleColumnsCount?: number, defaultVisibleColumnsFilter?: ((id: string) => boolean) | undefined) => ", + { + "pluginId": "@kbn/ml-data-grid", + "scope": "common", + "docId": "kibKbnMlDataGridPluginApi", + "section": "def-common.UseDataGridReturnType", + "text": "UseDataGridReturnType" + } + ], + "path": "x-pack/packages/ml/data_grid/hooks/use_data_grid.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.useDataGrid.$1", + "type": "Array", + "tags": [], + "label": "columns", + "description": [ + "- EUI column spec" + ], + "signature": [ + "EuiDataGridColumn", + "[]" + ], + "path": "x-pack/packages/ml/data_grid/hooks/use_data_grid.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.useDataGrid.$2", + "type": "number", + "tags": [], + "label": "defaultPageSize", + "description": [ + "- Default page size" + ], + "signature": [ + "number" + ], + "path": "x-pack/packages/ml/data_grid/hooks/use_data_grid.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.useDataGrid.$3", + "type": "number", + "tags": [], + "label": "defaultVisibleColumnsCount", + "description": [ + "- Default count of visible columns" + ], + "signature": [ + "number" + ], + "path": "x-pack/packages/ml/data_grid/hooks/use_data_grid.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.useDataGrid.$4", + "type": "Function", + "tags": [], + "label": "defaultVisibleColumnsFilter", + "description": [ + "- Optional external columns filter" + ], + "signature": [ + "((id: string) => boolean) | undefined" + ], + "path": "x-pack/packages/ml/data_grid/hooks/use_data_grid.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.useRenderCellValue", + "type": "Function", + "tags": [], + "label": "useRenderCellValue", + "description": [ + "\nCustom hook for rendering cell values in the data grid.\n" + ], + "signature": [ + "(dataView: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + " | undefined, pagination: ", + { + "pluginId": "@kbn/ml-data-grid", + "scope": "common", + "docId": "kibKbnMlDataGridPluginApi", + "section": "def-common.IndexPagination", + "text": "IndexPagination" + }, + ", tableItems: ", + { + "pluginId": "@kbn/ml-data-grid", + "scope": "common", + "docId": "kibKbnMlDataGridPluginApi", + "section": "def-common.DataGridItem", + "text": "DataGridItem" + }, + "[], resultsField?: string | undefined, cellPropsCallback?: ((columnId: string, cellValue: any, fullItem: ", + { + "pluginId": "@kbn/ml-data-grid", + "scope": "common", + "docId": "kibKbnMlDataGridPluginApi", + "section": "def-common.DataGridItem", + "text": "DataGridItem" + }, + ", setCellProps: (props: ", + "EuiDataGridSetCellProps", + ") => void) => void) | undefined) => ", + { + "pluginId": "@kbn/ml-data-grid", + "scope": "common", + "docId": "kibKbnMlDataGridPluginApi", + "section": "def-common.RenderCellValue", + "text": "RenderCellValue" + } + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.useRenderCellValue.$1", + "type": "Object", + "tags": [], + "label": "dataView", + "description": [ + "- The data view." + ], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + " | undefined" + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.useRenderCellValue.$2", + "type": "Object", + "tags": [], + "label": "pagination", + "description": [ + "- The pagination settings." + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-grid", + "scope": "common", + "docId": "kibKbnMlDataGridPluginApi", + "section": "def-common.IndexPagination", + "text": "IndexPagination" + } + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.useRenderCellValue.$3", + "type": "Array", + "tags": [], + "label": "tableItems", + "description": [ + "- The table items." + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-grid", + "scope": "common", + "docId": "kibKbnMlDataGridPluginApi", + "section": "def-common.DataGridItem", + "text": "DataGridItem" + }, + "[]" + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.useRenderCellValue.$4", + "type": "string", + "tags": [], + "label": "resultsField", + "description": [ + "- The results field." + ], + "signature": [ + "string | undefined" + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.useRenderCellValue.$5", + "type": "Function", + "tags": [], + "label": "cellPropsCallback", + "description": [ + "- The callback function for setting cell properties." + ], + "signature": [ + "((columnId: string, cellValue: any, fullItem: ", + { + "pluginId": "@kbn/ml-data-grid", + "scope": "common", + "docId": "kibKbnMlDataGridPluginApi", + "section": "def-common.DataGridItem", + "text": "DataGridItem" + }, + ", setCellProps: (props: ", + "EuiDataGridSetCellProps", + ") => void) => void) | undefined" + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [ + "- The render cell value function." + ], + "initialIsOpen": false + } + ], + "interfaces": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.FieldTypes", + "type": "Interface", + "tags": [], + "label": "FieldTypes", + "description": [ + "\nRecord of ES field types." + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.FieldTypes.Unnamed", + "type": "IndexSignature", + "tags": [], + "label": "[key: string]: ES_FIELD_TYPES", + "description": [], + "signature": [ + "[key: string]: ", + { + "pluginId": "@kbn/field-types", + "scope": "common", + "docId": "kibKbnFieldTypesPluginApi", + "section": "def-common.ES_FIELD_TYPES", + "text": "ES_FIELD_TYPES" + } + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.MultiColumnSorter", + "type": "Interface", + "tags": [], + "label": "MultiColumnSorter", + "description": [ + "\nInterface definition for multi column sorter" + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.MultiColumnSorter.id", + "type": "string", + "tags": [], + "label": "id", + "description": [ + "\nThe id." + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.MultiColumnSorter.direction", + "type": "CompoundType", + "tags": [], + "label": "direction", + "description": [ + "\nThe direction." + ], + "signature": [ + "\"asc\" | \"desc\"" + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.MultiColumnSorter.type", + "type": "string", + "tags": [], + "label": "type", + "description": [ + "\nThe type of the sorter." + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.NumericChartData", + "type": "Interface", + "tags": [], + "label": "NumericChartData", + "description": [ + "\nRepresents numeric chart data." + ], + "path": "x-pack/packages/ml/data_grid/lib/field_histograms.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.NumericChartData.data", + "type": "Array", + "tags": [], + "label": "data", + "description": [ + "\nArray of numeric data items." + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-grid", + "scope": "common", + "docId": "kibKbnMlDataGridPluginApi", + "section": "def-common.NumericDataItem", + "text": "NumericDataItem" + }, + "[]" + ], + "path": "x-pack/packages/ml/data_grid/lib/field_histograms.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.NumericChartData.id", + "type": "string", + "tags": [], + "label": "id", + "description": [ + "\nIdentifier of the chart." + ], + "path": "x-pack/packages/ml/data_grid/lib/field_histograms.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.NumericChartData.interval", + "type": "number", + "tags": [], + "label": "interval", + "description": [ + "\nInterval value." + ], + "path": "x-pack/packages/ml/data_grid/lib/field_histograms.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.NumericChartData.stats", + "type": "Object", + "tags": [], + "label": "stats", + "description": [ + "\nStatistics values." + ], + "signature": [ + "[number, number]" + ], + "path": "x-pack/packages/ml/data_grid/lib/field_histograms.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.NumericChartData.type", + "type": "string", + "tags": [], + "label": "type", + "description": [ + "\nType of the chart data (numeric)." + ], + "signature": [ + "\"numeric\"" + ], + "path": "x-pack/packages/ml/data_grid/lib/field_histograms.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.NumericDataItem", + "type": "Interface", + "tags": [], + "label": "NumericDataItem", + "description": [ + "\nRepresents a numeric data item." + ], + "path": "x-pack/packages/ml/data_grid/lib/field_histograms.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.NumericDataItem.key", + "type": "number", + "tags": [], + "label": "key", + "description": [ + "\nNumeric key." + ], + "path": "x-pack/packages/ml/data_grid/lib/field_histograms.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.NumericDataItem.key_as_string", + "type": "CompoundType", + "tags": [], + "label": "key_as_string", + "description": [ + "\nOptional string or numeric key." + ], + "signature": [ + "string | number | undefined" + ], + "path": "x-pack/packages/ml/data_grid/lib/field_histograms.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.NumericDataItem.doc_count", + "type": "number", + "tags": [], + "label": "doc_count", + "description": [ + "\nNumber of documents." + ], + "path": "x-pack/packages/ml/data_grid/lib/field_histograms.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.OrdinalChartData", + "type": "Interface", + "tags": [], + "label": "OrdinalChartData", + "description": [ + "\nRepresents ordinal chart data." + ], + "path": "x-pack/packages/ml/data_grid/lib/field_histograms.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.OrdinalChartData.cardinality", + "type": "number", + "tags": [], + "label": "cardinality", + "description": [ + "\nCardinality value." + ], + "path": "x-pack/packages/ml/data_grid/lib/field_histograms.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.OrdinalChartData.data", + "type": "Array", + "tags": [], + "label": "data", + "description": [ + "\nArray of ordinal data items." + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-grid", + "scope": "common", + "docId": "kibKbnMlDataGridPluginApi", + "section": "def-common.OrdinalDataItem", + "text": "OrdinalDataItem" + }, + "[]" + ], + "path": "x-pack/packages/ml/data_grid/lib/field_histograms.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.OrdinalChartData.id", + "type": "string", + "tags": [], + "label": "id", + "description": [ + "\nIdentifier of the chart." + ], + "path": "x-pack/packages/ml/data_grid/lib/field_histograms.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.OrdinalChartData.type", + "type": "CompoundType", + "tags": [], + "label": "type", + "description": [ + "\nType of the chart data (ordinal or boolean)." + ], + "signature": [ + "\"boolean\" | \"ordinal\"" + ], + "path": "x-pack/packages/ml/data_grid/lib/field_histograms.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.OrdinalDataItem", + "type": "Interface", + "tags": [], + "label": "OrdinalDataItem", + "description": [ + "\nRepresents an ordinal data item." + ], + "path": "x-pack/packages/ml/data_grid/lib/field_histograms.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.OrdinalDataItem.key", + "type": "string", + "tags": [], + "label": "key", + "description": [ + "\nKey." + ], + "path": "x-pack/packages/ml/data_grid/lib/field_histograms.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.OrdinalDataItem.key_as_string", + "type": "string", + "tags": [], + "label": "key_as_string", + "description": [ + "\nOptional key as string." + ], + "signature": [ + "string | undefined" + ], + "path": "x-pack/packages/ml/data_grid/lib/field_histograms.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.OrdinalDataItem.doc_count", + "type": "number", + "tags": [], + "label": "doc_count", + "description": [ + "\nNumber of documents." + ], + "path": "x-pack/packages/ml/data_grid/lib/field_histograms.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.RowCountInfo", + "type": "Interface", + "tags": [], + "label": "RowCountInfo", + "description": [ + "\nInformation about the row count." + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.RowCountInfo.rowCount", + "type": "number", + "tags": [], + "label": "rowCount", + "description": [ + "\nRow count." + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.RowCountInfo.rowCountRelation", + "type": "CompoundType", + "tags": [], + "label": "rowCountRelation", + "description": [ + "\nRow count relation." + ], + "signature": [ + "SearchTotalHitsRelation", + " | undefined" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UnsupportedChartData", + "type": "Interface", + "tags": [], + "label": "UnsupportedChartData", + "description": [ + "\nRepresents unsupported chart data." + ], + "path": "x-pack/packages/ml/data_grid/lib/field_histograms.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UnsupportedChartData.id", + "type": "string", + "tags": [], + "label": "id", + "description": [ + "\nIdentifier of the chart." + ], + "path": "x-pack/packages/ml/data_grid/lib/field_histograms.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UnsupportedChartData.type", + "type": "string", + "tags": [], + "label": "type", + "description": [ + "\nType of the chart data (unsupported)." + ], + "signature": [ + "\"unsupported\"" + ], + "path": "x-pack/packages/ml/data_grid/lib/field_histograms.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType", + "type": "Interface", + "tags": [], + "label": "UseDataGridReturnType", + "description": [ + "\nReturn type of the `useDataGrid` custom hook." + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.ccsWarning", + "type": "boolean", + "tags": [], + "label": "ccsWarning", + "description": [ + "\nBoolean flag for CCS warning." + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.chartsVisible", + "type": "CompoundType", + "tags": [], + "label": "chartsVisible", + "description": [ + "\nBoolean flag for charts visibility." + ], + "signature": [ + "boolean | undefined" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.chartsButtonVisible", + "type": "boolean", + "tags": [], + "label": "chartsButtonVisible", + "description": [ + "\nBoolean flag for charts button visibily." + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.columnsWithCharts", + "type": "Array", + "tags": [], + "label": "columnsWithCharts", + "description": [ + "\nArray of columns with charts data." + ], + "signature": [ + "EuiDataGridColumn", + "[]" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.errorMessage", + "type": "string", + "tags": [], + "label": "errorMessage", + "description": [ + "\nError message." + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.invalidSortingColumnns", + "type": "Array", + "tags": [], + "label": "invalidSortingColumnns", + "description": [ + "\nArray of invalid sorting columns." + ], + "signature": [ + "string[]" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.noDataMessage", + "type": "string", + "tags": [], + "label": "noDataMessage", + "description": [ + "\nNo data message." + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.onChangeItemsPerPage", + "type": "Function", + "tags": [], + "label": "onChangeItemsPerPage", + "description": [ + "\nCallback function for changing the number of items per page." + ], + "signature": [ + "(pageSize: number) => void" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.onChangeItemsPerPage.$1", + "type": "number", + "tags": [], + "label": "pageSize", + "description": [], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.onChangePage", + "type": "Function", + "tags": [], + "label": "onChangePage", + "description": [ + "\nCallback function for handling change of current page." + ], + "signature": [ + "(pageIndex: number) => void" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.onChangePage.$1", + "type": "number", + "tags": [], + "label": "pageIndex", + "description": [], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.onSort", + "type": "Function", + "tags": [], + "label": "onSort", + "description": [ + "\nCallback function for handling sort." + ], + "signature": [ + "(sortSettings: SortSettings) => void" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.onSort.$1", + "type": "Array", + "tags": [], + "label": "sortSettings", + "description": [], + "signature": [ + "{ id: string; direction: \"asc\" | \"desc\"; }[]" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.pagination", + "type": "Object", + "tags": [], + "label": "pagination", + "description": [ + "\nIndex pagination information." + ], + "signature": [ + "{ pageSize: number; pageIndex: number; }" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.resetPagination", + "type": "Function", + "tags": [], + "label": "resetPagination", + "description": [ + "\nFunction to reset pagination." + ], + "signature": [ + "() => void" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.rowCount", + "type": "number", + "tags": [], + "label": "rowCount", + "description": [ + "\nRow count." + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.rowCountRelation", + "type": "CompoundType", + "tags": [], + "label": "rowCountRelation", + "description": [ + "\nRow count relation." + ], + "signature": [ + "SearchTotalHitsRelation", + " | undefined" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.setCcsWarning", + "type": "Function", + "tags": [], + "label": "setCcsWarning", + "description": [ + "\nSetter function for the CCS warning flag." + ], + "signature": [ + "(value: React.SetStateAction) => void" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.setCcsWarning.$1", + "type": "Uncategorized", + "tags": [], + "label": "value", + "description": [], + "signature": [ + "A" + ], + "path": "node_modules/@types/react/index.d.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.setColumnCharts", + "type": "Function", + "tags": [], + "label": "setColumnCharts", + "description": [ + "\nSetter function for the column charts." + ], + "signature": [ + "(value: React.SetStateAction<", + { + "pluginId": "@kbn/ml-data-grid", + "scope": "common", + "docId": "kibKbnMlDataGridPluginApi", + "section": "def-common.ChartData", + "text": "ChartData" + }, + "[]>) => void" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.setColumnCharts.$1", + "type": "Uncategorized", + "tags": [], + "label": "value", + "description": [], + "signature": [ + "A" + ], + "path": "node_modules/@types/react/index.d.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.setErrorMessage", + "type": "Function", + "tags": [], + "label": "setErrorMessage", + "description": [ + "\nSetter function for the error message." + ], + "signature": [ + "(value: React.SetStateAction) => void" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.setErrorMessage.$1", + "type": "Uncategorized", + "tags": [], + "label": "value", + "description": [], + "signature": [ + "A" + ], + "path": "node_modules/@types/react/index.d.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.setNoDataMessage", + "type": "Function", + "tags": [], + "label": "setNoDataMessage", + "description": [ + "\nSetter function for the no data message." + ], + "signature": [ + "(value: React.SetStateAction) => void" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.setNoDataMessage.$1", + "type": "Uncategorized", + "tags": [], + "label": "value", + "description": [], + "signature": [ + "A" + ], + "path": "node_modules/@types/react/index.d.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.setPagination", + "type": "Function", + "tags": [], + "label": "setPagination", + "description": [ + "\nSetter function for pagination." + ], + "signature": [ + "(value: React.SetStateAction<", + { + "pluginId": "@kbn/ml-data-grid", + "scope": "common", + "docId": "kibKbnMlDataGridPluginApi", + "section": "def-common.IndexPagination", + "text": "IndexPagination" + }, + ">) => void" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.setPagination.$1", + "type": "Uncategorized", + "tags": [], + "label": "value", + "description": [], + "signature": [ + "A" + ], + "path": "node_modules/@types/react/index.d.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.setRowCountInfo", + "type": "Function", + "tags": [], + "label": "setRowCountInfo", + "description": [ + "\nSetter function for the row count info." + ], + "signature": [ + "(value: React.SetStateAction<", + { + "pluginId": "@kbn/ml-data-grid", + "scope": "common", + "docId": "kibKbnMlDataGridPluginApi", + "section": "def-common.RowCountInfo", + "text": "RowCountInfo" + }, + ">) => void" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.setRowCountInfo.$1", + "type": "Uncategorized", + "tags": [], + "label": "value", + "description": [], + "signature": [ + "A" + ], + "path": "node_modules/@types/react/index.d.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.setSortingColumns", + "type": "Function", + "tags": [], + "label": "setSortingColumns", + "description": [ + "\nSetter function for the sorting columns." + ], + "signature": [ + "(value: React.SetStateAction<{ id: string; direction: \"asc\" | \"desc\"; }[]>) => void" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.setSortingColumns.$1", + "type": "Uncategorized", + "tags": [], + "label": "value", + "description": [], + "signature": [ + "A" + ], + "path": "node_modules/@types/react/index.d.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.setStatus", + "type": "Function", + "tags": [], + "label": "setStatus", + "description": [ + "\nSetter function for the index status." + ], + "signature": [ + "(value: React.SetStateAction<", + { + "pluginId": "@kbn/ml-data-grid", + "scope": "common", + "docId": "kibKbnMlDataGridPluginApi", + "section": "def-common.INDEX_STATUS", + "text": "INDEX_STATUS" + }, + ">) => void" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.setStatus.$1", + "type": "Uncategorized", + "tags": [], + "label": "value", + "description": [], + "signature": [ + "A" + ], + "path": "node_modules/@types/react/index.d.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.setTableItems", + "type": "Function", + "tags": [], + "label": "setTableItems", + "description": [ + "\nSetter function for the table items." + ], + "signature": [ + "(value: React.SetStateAction<", + { + "pluginId": "@kbn/ml-data-grid", + "scope": "common", + "docId": "kibKbnMlDataGridPluginApi", + "section": "def-common.DataGridItem", + "text": "DataGridItem" + }, + "[]>) => void" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.setTableItems.$1", + "type": "Uncategorized", + "tags": [], + "label": "value", + "description": [], + "signature": [ + "A" + ], + "path": "node_modules/@types/react/index.d.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.setVisibleColumns", + "type": "Function", + "tags": [], + "label": "setVisibleColumns", + "description": [ + "\nSetter function for the visible columns." + ], + "signature": [ + "(value: React.SetStateAction) => void" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.setVisibleColumns.$1", + "type": "Uncategorized", + "tags": [], + "label": "value", + "description": [], + "signature": [ + "A" + ], + "path": "node_modules/@types/react/index.d.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.sortingColumns", + "type": "Array", + "tags": [], + "label": "sortingColumns", + "description": [ + "\nSorting columns." + ], + "signature": [ + "{ id: string; direction: \"asc\" | \"desc\"; }[]" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.status", + "type": "Enum", + "tags": [], + "label": "status", + "description": [ + "\nIndex status." + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-grid", + "scope": "common", + "docId": "kibKbnMlDataGridPluginApi", + "section": "def-common.INDEX_STATUS", + "text": "INDEX_STATUS" + } + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.tableItems", + "type": "Array", + "tags": [], + "label": "tableItems", + "description": [ + "\nTable items." + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-grid", + "scope": "common", + "docId": "kibKbnMlDataGridPluginApi", + "section": "def-common.DataGridItem", + "text": "DataGridItem" + }, + "[]" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.toggleChartVisibility", + "type": "Function", + "tags": [], + "label": "toggleChartVisibility", + "description": [ + "\nFunction to toggle chart visibility." + ], + "signature": [ + "() => void" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.visibleColumns", + "type": "Array", + "tags": [], + "label": "visibleColumns", + "description": [ + "\nArray of visible columns." + ], + "signature": [ + "string[]" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.baseline", + "type": "CompoundType", + "tags": [], + "label": "baseline", + "description": [ + "\nOptional feature importance baseline." + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-frame-analytics-utils", + "scope": "common", + "docId": "kibKbnMlDataFrameAnalyticsUtilsPluginApi", + "section": "def-common.FeatureImportanceBaseline", + "text": "FeatureImportanceBaseline" + }, + " | undefined" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.predictionFieldName", + "type": "string", + "tags": [], + "label": "predictionFieldName", + "description": [ + "\nOptional prediction field name." + ], + "signature": [ + "string | undefined" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseDataGridReturnType.resultsField", + "type": "string", + "tags": [], + "label": "resultsField", + "description": [ + "\nOptional results field." + ], + "signature": [ + "string | undefined" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseIndexDataReturnType", + "type": "Interface", + "tags": [], + "label": "UseIndexDataReturnType", + "description": [ + "\nReturn type of the `useIndexData` custom hook." + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-grid", + "scope": "common", + "docId": "kibKbnMlDataGridPluginApi", + "section": "def-common.UseIndexDataReturnType", + "text": "UseIndexDataReturnType" + }, + " extends Pick<", + { + "pluginId": "@kbn/ml-data-grid", + "scope": "common", + "docId": "kibKbnMlDataGridPluginApi", + "section": "def-common.UseDataGridReturnType", + "text": "UseDataGridReturnType" + }, + ", \"status\" | \"rowCount\" | \"errorMessage\" | \"baseline\" | \"pagination\" | \"chartsVisible\" | \"chartsButtonVisible\" | \"ccsWarning\" | \"columnsWithCharts\" | \"invalidSortingColumnns\" | \"noDataMessage\" | \"onChangeItemsPerPage\" | \"onChangePage\" | \"onSort\" | \"setPagination\" | \"setVisibleColumns\" | \"rowCountRelation\" | \"sortingColumns\" | \"tableItems\" | \"toggleChartVisibility\" | \"visibleColumns\" | \"predictionFieldName\" | \"resultsField\">" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseIndexDataReturnType.renderCellValue", + "type": "Function", + "tags": [], + "label": "renderCellValue", + "description": [ + "\nCallback to render cell values." + ], + "signature": [ + "(options: CellValue) => any" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseIndexDataReturnType.renderCellValue.$1", + "type": "Object", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "CellValue" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseIndexDataReturnType.indexPatternFields", + "type": "Array", + "tags": [], + "label": "indexPatternFields", + "description": [ + "\nOptional index pattern fields." + ], + "signature": [ + "string[] | undefined" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.UseIndexDataReturnType.timeRangeMs", + "type": "Object", + "tags": [], + "label": "timeRangeMs", + "description": [ + "\nOptional time range." + ], + "signature": [ + { + "pluginId": "@kbn/ml-date-picker", + "scope": "common", + "docId": "kibKbnMlDatePickerPluginApi", + "section": "def-common.TimeRange", + "text": "TimeRange" + }, + " | undefined" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], + "enums": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.INDEX_STATUS", + "type": "Enum", + "tags": [], + "label": "INDEX_STATUS", + "description": [ + "\nEnum for index status" + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "misc": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.ChartData", + "type": "Type", + "tags": [], + "label": "ChartData", + "description": [ + "\nRepresents chart data that can be either numeric, ordinal, or unsupported." + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-grid", + "scope": "common", + "docId": "kibKbnMlDataGridPluginApi", + "section": "def-common.NumericChartData", + "text": "NumericChartData" + }, + " | ", + { + "pluginId": "@kbn/ml-data-grid", + "scope": "common", + "docId": "kibKbnMlDataGridPluginApi", + "section": "def-common.OrdinalChartData", + "text": "OrdinalChartData" + }, + " | ", + { + "pluginId": "@kbn/ml-data-grid", + "scope": "common", + "docId": "kibKbnMlDataGridPluginApi", + "section": "def-common.UnsupportedChartData", + "text": "UnsupportedChartData" + } + ], + "path": "x-pack/packages/ml/data_grid/lib/field_histograms.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.ChartDataItem", + "type": "Type", + "tags": [], + "label": "ChartDataItem", + "description": [ + "\nRepresents a chart data item that can be either numeric or ordinal." + ], + "signature": [ + { + "pluginId": "@kbn/ml-data-grid", + "scope": "common", + "docId": "kibKbnMlDataGridPluginApi", + "section": "def-common.NumericDataItem", + "text": "NumericDataItem" + }, + " | ", + { + "pluginId": "@kbn/ml-data-grid", + "scope": "common", + "docId": "kibKbnMlDataGridPluginApi", + "section": "def-common.OrdinalDataItem", + "text": "OrdinalDataItem" + } + ], + "path": "x-pack/packages/ml/data_grid/lib/field_histograms.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.DataGridItem", + "type": "Type", + "tags": [], + "label": "DataGridItem", + "description": [ + "\nType definition for a data grid item." + ], + "signature": [ + "{ [x: string]: any; }" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.EsSorting", + "type": "Type", + "tags": [], + "label": "EsSorting", + "description": [ + "\nType representing ES sorting configuration." + ], + "signature": [ + "Dictionary<{ order: \"asc\" | \"desc\"; }>" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.IndexPagination", + "type": "Type", + "tags": [], + "label": "IndexPagination", + "description": [ + "\nType representing the pagination settings for an index." + ], + "signature": [ + "{ pageSize: number; pageIndex: number; }" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.INIT_MAX_COLUMNS", + "type": "number", + "tags": [], + "label": "INIT_MAX_COLUMNS", + "description": [ + "\nThe initial maximum number of columns for the data grid." + ], + "signature": [ + "10" + ], + "path": "x-pack/packages/ml/data_grid/lib/common.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.RenderCellValue", + "type": "Type", + "tags": [], + "label": "RenderCellValue", + "description": [ + "\nFunction used to render the cell value in a data grid." + ], + "signature": [ + "(options: CellValue) => any" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.RenderCellValue.$1", + "type": "Object", + "tags": [], + "label": "options", + "description": [ + "- The options for rendering the cell value." + ], + "signature": [ + "CellValue" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-data-grid", + "id": "def-common.RowCountRelation", + "type": "Type", + "tags": [], + "label": "RowCountRelation", + "description": [ + "\nRow count relation for the data grid's number of rows.\nIt's an alias of `estypes.SearchTotalHitsRelation` (\"eq\" or \"gte\")\nthat can also be undefined." + ], + "signature": [ + "SearchTotalHitsRelation", + " | undefined" + ], + "path": "x-pack/packages/ml/data_grid/lib/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_ml_data_grid.mdx b/api_docs/kbn_ml_data_grid.mdx new file mode 100644 index 0000000000000..93635bc76a774 --- /dev/null +++ b/api_docs/kbn_ml_data_grid.mdx @@ -0,0 +1,39 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnMlDataGridPluginApi +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-06-07 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-grid'] +--- +import kbnMlDataGridObj from './kbn_ml_data_grid.devdocs.json'; + + + +Contact [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 141 | 0 | 5 | 0 | + +## Common + +### Functions + + +### Interfaces + + +### Enums + + +### Consts, variables and types + + diff --git a/api_docs/kbn_ml_date_picker.devdocs.json b/api_docs/kbn_ml_date_picker.devdocs.json index 83b689f7e7183..31d967f9e7585 100644 --- a/api_docs/kbn_ml_date_picker.devdocs.json +++ b/api_docs/kbn_ml_date_picker.devdocs.json @@ -1230,7 +1230,7 @@ "\nAllowed API paths to be passed to `setFullTimeRange`." ], "signature": [ - "\"/internal/file_upload/time_field_range\" | \"/api/ml/fields_service/time_field_range\"" + "\"/internal/file_upload/time_field_range\" | \"/internal/ml/fields_service/time_field_range\"" ], "path": "x-pack/packages/ml/date_picker/src/services/full_time_range_selector_service.ts", "deprecated": false, diff --git a/api_docs/kbn_ml_date_picker.mdx b/api_docs/kbn_ml_date_picker.mdx index ae8883a538a9f..37fa06c3ce9c0 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-05-16 +date: 2023-06-07 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.devdocs.json b/api_docs/kbn_ml_date_utils.devdocs.json new file mode 100644 index 0000000000000..ec0f00a08fa94 --- /dev/null +++ b/api_docs/kbn_ml_date_utils.devdocs.json @@ -0,0 +1,246 @@ +{ + "id": "@kbn/ml-date-utils", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [ + { + "parentPluginId": "@kbn/ml-date-utils", + "id": "def-common.formatHumanReadableDate", + "type": "Function", + "tags": [], + "label": "formatHumanReadableDate", + "description": [ + "\nFormat a timestamp as human readable date.\n" + ], + "signature": [ + "(ts: number) => string" + ], + "path": "x-pack/packages/ml/date_utils/src/date_utils.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-date-utils", + "id": "def-common.formatHumanReadableDate.$1", + "type": "number", + "tags": [], + "label": "ts", + "description": [ + "- The timestamp to be formatted." + ], + "signature": [ + "number" + ], + "path": "x-pack/packages/ml/date_utils/src/date_utils.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-date-utils", + "id": "def-common.formatHumanReadableDateTime", + "type": "Function", + "tags": [], + "label": "formatHumanReadableDateTime", + "description": [ + "\nFormat a timestamp as human readable date including hours and minutes.\n" + ], + "signature": [ + "(ts: number) => string" + ], + "path": "x-pack/packages/ml/date_utils/src/date_utils.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-date-utils", + "id": "def-common.formatHumanReadableDateTime.$1", + "type": "number", + "tags": [], + "label": "ts", + "description": [ + "- The timestamp to be formatted." + ], + "signature": [ + "number" + ], + "path": "x-pack/packages/ml/date_utils/src/date_utils.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-date-utils", + "id": "def-common.formatHumanReadableDateTimeSeconds", + "type": "Function", + "tags": [], + "label": "formatHumanReadableDateTimeSeconds", + "description": [ + "\nFormat a timestamp as human readable date including hours, minutes and seconds.\n" + ], + "signature": [ + "(ts: number) => string" + ], + "path": "x-pack/packages/ml/date_utils/src/date_utils.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-date-utils", + "id": "def-common.formatHumanReadableDateTimeSeconds.$1", + "type": "number", + "tags": [], + "label": "ts", + "description": [ + "- The timestamp to be formatted." + ], + "signature": [ + "number" + ], + "path": "x-pack/packages/ml/date_utils/src/date_utils.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-date-utils", + "id": "def-common.timeFormatter", + "type": "Function", + "tags": [], + "label": "timeFormatter", + "description": [ + "\nFormat a timestamp into a human readable date based on the `TIME_FORMAT` spec.\n" + ], + "signature": [ + "(value: number) => string" + ], + "path": "x-pack/packages/ml/date_utils/src/date_utils.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-date-utils", + "id": "def-common.timeFormatter.$1", + "type": "number", + "tags": [], + "label": "value", + "description": [ + "- The timestamp to be formatted." + ], + "signature": [ + "number" + ], + "path": "x-pack/packages/ml/date_utils/src/date_utils.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-date-utils", + "id": "def-common.validateTimeRange", + "type": "Function", + "tags": [], + "label": "validateTimeRange", + "description": [ + "\nValidate a time range of two string based dates.\nCopy of `src/plugins/data/public/query/timefilter/lib/validate_timerange.ts`\nfor the time being so it can be used in packages.\n" + ], + "signature": [ + "(time: ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.TimeRange", + "text": "TimeRange" + }, + " | undefined) => boolean" + ], + "path": "x-pack/packages/ml/date_utils/src/date_utils.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-date-utils", + "id": "def-common.validateTimeRange.$1", + "type": "Object", + "tags": [], + "label": "time", + "description": [ + "- The time range to be validated." + ], + "signature": [ + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.TimeRange", + "text": "TimeRange" + }, + " | undefined" + ], + "path": "x-pack/packages/ml/date_utils/src/date_utils.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [], + "enums": [], + "misc": [ + { + "parentPluginId": "@kbn/ml-date-utils", + "id": "def-common.TIME_FORMAT", + "type": "string", + "tags": [], + "label": "TIME_FORMAT", + "description": [ + "\nTime format spec for string parsing." + ], + "signature": [ + "\"YYYY-MM-DD HH:mm:ss\"" + ], + "path": "x-pack/packages/ml/date_utils/src/time_format.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_ml_date_utils.mdx b/api_docs/kbn_ml_date_utils.mdx new file mode 100644 index 0000000000000..19277254444f2 --- /dev/null +++ b/api_docs/kbn_ml_date_utils.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: kibKbnMlDateUtilsPluginApi +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-06-07 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-utils'] +--- +import kbnMlDateUtilsObj from './kbn_ml_date_utils.devdocs.json'; + + + +Contact [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 11 | 0 | 0 | 0 | + +## Common + +### Functions + + +### Consts, variables and types + + diff --git a/api_docs/kbn_ml_error_utils.devdocs.json b/api_docs/kbn_ml_error_utils.devdocs.json index 8872d1df30f9a..fa95dba9755f5 100644 --- a/api_docs/kbn_ml_error_utils.devdocs.json +++ b/api_docs/kbn_ml_error_utils.devdocs.json @@ -702,6 +702,8 @@ ], "signature": [ "string | ", + "ErrorResponseBase", + " | ", { "pluginId": "@kbn/ml-error-utils", "scope": "common", @@ -710,8 +712,6 @@ "text": "MLHttpFetchError" }, " | ", - "ErrorResponseBase", - " | ", "Boom", " | undefined" ], diff --git a/api_docs/kbn_ml_error_utils.mdx b/api_docs/kbn_ml_error_utils.mdx index dc08783e4e05a..d5cfad5040c18 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-05-16 +date: 2023-06-07 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_is_defined.mdx b/api_docs/kbn_ml_is_defined.mdx index abaade678d530..37b2bcd7a862f 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-05-16 +date: 2023-06-07 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 502f7ddc05c73..47f844152cf6b 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-05-16 +date: 2023-06-07 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.devdocs.json b/api_docs/kbn_ml_kibana_theme.devdocs.json new file mode 100644 index 0000000000000..56668eebb2023 --- /dev/null +++ b/api_docs/kbn_ml_kibana_theme.devdocs.json @@ -0,0 +1,146 @@ +{ + "id": "@kbn/ml-kibana-theme", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [ + { + "parentPluginId": "@kbn/ml-kibana-theme", + "id": "def-common.useCurrentEuiThemeVars", + "type": "Function", + "tags": [], + "label": "useCurrentEuiThemeVars", + "description": [ + "\nReturns an EUI theme definition based on the currently applied theme." + ], + "signature": [ + "(theme: ", + { + "pluginId": "@kbn/core-theme-browser", + "scope": "common", + "docId": "kibKbnCoreThemeBrowserPluginApi", + "section": "def-common.ThemeServiceStart", + "text": "ThemeServiceStart" + }, + ") => { euiTheme: { euiZDataGrid: number; euiZHeaderBelowDataGrid: number; euiZDataGridCellPopover: number; euiDataGridCellPaddingS: string; euiDataGridCellPaddingM: string; euiDataGridCellPaddingL: string; euiTableHoverColor: string; euiTableSelectedColor: string; euiTableHoverSelectedColor: string; euiTableActionsBorderColor: string; euiTableHoverClickableColor: string; euiTableFocusClickableColor: string; euiContrastRatioText: number; euiContrastRatioGraphic: number; euiContrastRatioDisabled: number; euiAnimSlightBounce: string; euiAnimSlightResistance: string; euiAnimSpeedExtraFast: string; euiAnimSpeedFast: string; euiAnimSpeedNormal: string; euiAnimSpeedSlow: string; euiAnimSpeedExtraSlow: string; euiBorderWidthThin: string; euiBorderWidthThick: string; euiBorderColor: string; euiBorderRadius: string; euiBorderRadiusSmall: string; euiBorderThick: string; euiBorderThin: string; euiBorderEditable: string; euiButtonHeight: string; euiButtonHeightSmall: string; euiButtonHeightXSmall: string; euiButtonColorDisabled: string; euiButtonColorDisabledText: string; euiButtonColorGhostDisabled: string; euiButtonTypes: { primary: string; accent: string; success: string; warning: string; danger: string; ghost: string; text: string; }; euiPaletteColorBlind: { euiColorVis0: { graphic: string; behindText: string; }; euiColorVis1: { graphic: string; behindText: string; }; euiColorVis2: { graphic: string; behindText: string; }; euiColorVis3: { graphic: string; behindText: string; }; euiColorVis4: { graphic: string; behindText: string; }; euiColorVis5: { graphic: string; behindText: string; }; euiColorVis6: { graphic: string; behindText: string; }; euiColorVis7: { graphic: string; behindText: string; }; euiColorVis8: { graphic: string; behindText: string; }; euiColorVis9: { graphic: string; behindText: string; }; }; euiPaletteColorBlindKeys: string; euiColorVis0: string; euiColorVis1: string; euiColorVis2: string; euiColorVis3: string; euiColorVis4: string; euiColorVis5: string; euiColorVis6: string; euiColorVis7: string; euiColorVis8: string; euiColorVis9: string; euiColorVis0_behindText: string; euiColorVis1_behindText: string; euiColorVis2_behindText: string; euiColorVis3_behindText: string; euiColorVis4_behindText: string; euiColorVis5_behindText: string; euiColorVis6_behindText: string; euiColorVis7_behindText: string; euiColorVis8_behindText: string; euiColorVis9_behindText: string; euiFontWeightLight: number; euiFontWeightRegular: number; euiFontWeightMedium: number; euiFontWeightSemiBold: number; euiFontWeightBold: number; euiCodeFontWeightRegular: number; euiCodeFontWeightBold: number; euiFormMaxWidth: string; euiFormControlHeight: string; euiFormControlCompressedHeight: string; euiFormControlPadding: string; euiFormControlCompressedPadding: string; euiFormControlBorderRadius: string; euiFormControlCompressedBorderRadius: string; euiRadioSize: string; euiCheckBoxSize: string; euiCheckboxBorderRadius: string; euiSwitchHeight: string; euiSwitchWidth: string; euiSwitchThumbSize: string; euiSwitchIconHeight: string; euiSwitchHeightCompressed: string; euiSwitchWidthCompressed: string; euiSwitchThumbSizeCompressed: string; euiSwitchHeightMini: string; euiSwitchWidthMini: string; euiSwitchThumbSizeMini: string; euiFormBackgroundColor: string; euiFormBackgroundDisabledColor: string; euiFormBackgroundReadOnlyColor: string; euiFormBorderOpaqueColor: string; euiFormBorderColor: string; euiFormBorderDisabledColor: string; euiFormCustomControlDisabledIconColor: string; euiFormCustomControlBorderColor: string; euiFormControlDisabledColor: string; euiFormControlBoxShadow: string; euiFormControlPlaceholderText: string; euiFormInputGroupLabelBackground: string; euiFormInputGroupBorder: string; euiSwitchOffColor: string; euiFormControlIconSizes: { small: string; medium: string; large: string; xLarge: string; xxLarge: string; }; euiFormControlLayoutGroupInputHeight: string; euiFormControlLayoutGroupInputCompressedHeight: string; euiFormControlLayoutGroupInputCompressedBorderRadius: string; euiHeaderBackgroundColor: string; euiHeaderDarkBackgroundColor: string; euiHeaderBorderColor: string; euiHeaderBreadcrumbColor: string; euiHeaderHeight: string; euiHeaderChildSize: string; euiHeaderHeightCompensation: string; euiPageDefaultMaxWidth: string; euiPageSidebarMinWidth: string; euiPanelPaddingModifiers: { paddingSmall: string; paddingMedium: string; paddingLarge: string; }; euiPanelBorderRadiusModifiers: { borderRadiusNone: number; borderRadiusMedium: string; }; euiPanelBackgroundColorModifiers: { transparent: string; plain: string; subdued: string; accent: string; primary: string; success: string; warning: string; danger: string; }; euiBreakpoints: { xs: number; s: string; m: string; l: string; xl: string; }; euiBreakpointKeys: string; euiShadowColor: string; euiSize: string; euiSizeXS: string; euiSizeS: string; euiSizeM: string; euiSizeL: string; euiSizeXL: string; euiSizeXXL: string; euiScrollBar: string; euiScrollBarCorner: string; euiScrollBarCornerThin: string; euiFocusRingColor: string; euiFocusRingAnimStartColor: string; euiFocusRingAnimStartSize: string; euiFocusRingAnimStartSizeLarge: string; euiFocusRingSizeLarge: string; euiFocusRingSize: string; euiFocusTransparency: number; euiFocusTransparencyPercent: string; euiFocusBackgroundColor: string; euiFontFamily: string; euiCodeFontFamily: string; euiFontFeatureSettings: string; euiTextScale: string; euiFontSize: string; euiFontSizeXS: string; euiFontSizeS: string; euiFontSizeM: string; euiFontSizeL: string; euiFontSizeXL: string; euiFontSizeXXL: string; euiLineHeight: number; euiBodyLineHeight: number; euiTitles: { xxxs: { 'font-size': string; 'line-height': string; 'font-weight': number; }; xxs: { 'font-size': string; 'line-height': string; 'font-weight': number; }; xs: { 'font-size': string; 'line-height': string; 'font-weight': number; }; s: { 'font-size': string; 'line-height': string; 'font-weight': number; }; m: { 'font-size': string; 'line-height': string; 'font-weight': number; }; l: { 'font-size': string; 'line-height': string; 'font-weight': number; }; }; euiZLevel0: number; euiZLevel1: number; euiZLevel2: number; euiZLevel3: number; euiZLevel4: number; euiZLevel5: number; euiZLevel6: number; euiZLevel7: number; euiZLevel8: number; euiZLevel9: number; euiZToastList: number; euiZModal: number; euiZMask: number; euiZNavigation: number; euiZContentMenu: number; euiZHeader: number; euiZFlyout: number; euiZMaskBelowHeader: number; euiZContent: number; euiColorGhost: string; euiColorInk: string; euiColorPrimary: string; euiColorAccent: string; euiColorSuccess: string; euiColorWarning: string; euiColorDanger: string; euiColorEmptyShade: string; euiColorLightestShade: string; euiColorLightShade: string; euiColorMediumShade: string; euiColorDarkShade: string; euiColorDarkestShade: string; euiColorFullShade: string; euiPageBackgroundColor: string; euiColorHighlight: string; euiTextColor: string; euiTitleColor: string; euiTextSubduedColor: string; euiColorDisabled: string; euiColorPrimaryText: string; euiColorSuccessText: string; euiColorAccentText: string; euiColorWarningText: string; euiColorDangerText: string; euiColorDisabledText: string; euiLinkColor: string; euiColorChartLines: string; euiColorChartBand: string; }; }" + ], + "path": "x-pack/packages/ml/kibana_theme/src/hooks.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-kibana-theme", + "id": "def-common.useCurrentEuiThemeVars.$1", + "type": "Object", + "tags": [], + "label": "theme", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-theme-browser", + "scope": "common", + "docId": "kibKbnCoreThemeBrowserPluginApi", + "section": "def-common.ThemeServiceStart", + "text": "ThemeServiceStart" + } + ], + "path": "x-pack/packages/ml/kibana_theme/src/hooks.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-kibana-theme", + "id": "def-common.useIsDarkTheme", + "type": "Function", + "tags": [ + "return" + ], + "label": "useIsDarkTheme", + "description": [ + "\nIndicates if the currently applied theme is either dark or light." + ], + "signature": [ + "(theme: ", + { + "pluginId": "@kbn/core-theme-browser", + "scope": "common", + "docId": "kibKbnCoreThemeBrowserPluginApi", + "section": "def-common.ThemeServiceStart", + "text": "ThemeServiceStart" + }, + ") => boolean" + ], + "path": "x-pack/packages/ml/kibana_theme/src/hooks.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-kibana-theme", + "id": "def-common.useIsDarkTheme.$1", + "type": "Object", + "tags": [], + "label": "theme", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-theme-browser", + "scope": "common", + "docId": "kibKbnCoreThemeBrowserPluginApi", + "section": "def-common.ThemeServiceStart", + "text": "ThemeServiceStart" + } + ], + "path": "x-pack/packages/ml/kibana_theme/src/hooks.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [ + "- Returns true if the currently applied theme is dark." + ], + "initialIsOpen": false + } + ], + "interfaces": [], + "enums": [], + "misc": [ + { + "parentPluginId": "@kbn/ml-kibana-theme", + "id": "def-common.EuiThemeType", + "type": "Type", + "tags": [], + "label": "EuiThemeType", + "description": [], + "signature": [ + "{ euiZDataGrid: number; euiZHeaderBelowDataGrid: number; euiZDataGridCellPopover: number; euiDataGridCellPaddingS: string; euiDataGridCellPaddingM: string; euiDataGridCellPaddingL: string; euiTableHoverColor: string; euiTableSelectedColor: string; euiTableHoverSelectedColor: string; euiTableActionsBorderColor: string; euiTableHoverClickableColor: string; euiTableFocusClickableColor: string; euiContrastRatioText: number; euiContrastRatioGraphic: number; euiContrastRatioDisabled: number; euiAnimSlightBounce: string; euiAnimSlightResistance: string; euiAnimSpeedExtraFast: string; euiAnimSpeedFast: string; euiAnimSpeedNormal: string; euiAnimSpeedSlow: string; euiAnimSpeedExtraSlow: string; euiBorderWidthThin: string; euiBorderWidthThick: string; euiBorderColor: string; euiBorderRadius: string; euiBorderRadiusSmall: string; euiBorderThick: string; euiBorderThin: string; euiBorderEditable: string; euiButtonHeight: string; euiButtonHeightSmall: string; euiButtonHeightXSmall: string; euiButtonColorDisabled: string; euiButtonColorDisabledText: string; euiButtonColorGhostDisabled: string; euiButtonTypes: { primary: string; accent: string; success: string; warning: string; danger: string; ghost: string; text: string; }; euiPaletteColorBlind: { euiColorVis0: { graphic: string; behindText: string; }; euiColorVis1: { graphic: string; behindText: string; }; euiColorVis2: { graphic: string; behindText: string; }; euiColorVis3: { graphic: string; behindText: string; }; euiColorVis4: { graphic: string; behindText: string; }; euiColorVis5: { graphic: string; behindText: string; }; euiColorVis6: { graphic: string; behindText: string; }; euiColorVis7: { graphic: string; behindText: string; }; euiColorVis8: { graphic: string; behindText: string; }; euiColorVis9: { graphic: string; behindText: string; }; }; euiPaletteColorBlindKeys: string; euiColorVis0: string; euiColorVis1: string; euiColorVis2: string; euiColorVis3: string; euiColorVis4: string; euiColorVis5: string; euiColorVis6: string; euiColorVis7: string; euiColorVis8: string; euiColorVis9: string; euiColorVis0_behindText: string; euiColorVis1_behindText: string; euiColorVis2_behindText: string; euiColorVis3_behindText: string; euiColorVis4_behindText: string; euiColorVis5_behindText: string; euiColorVis6_behindText: string; euiColorVis7_behindText: string; euiColorVis8_behindText: string; euiColorVis9_behindText: string; euiFontWeightLight: number; euiFontWeightRegular: number; euiFontWeightMedium: number; euiFontWeightSemiBold: number; euiFontWeightBold: number; euiCodeFontWeightRegular: number; euiCodeFontWeightBold: number; euiFormMaxWidth: string; euiFormControlHeight: string; euiFormControlCompressedHeight: string; euiFormControlPadding: string; euiFormControlCompressedPadding: string; euiFormControlBorderRadius: string; euiFormControlCompressedBorderRadius: string; euiRadioSize: string; euiCheckBoxSize: string; euiCheckboxBorderRadius: string; euiSwitchHeight: string; euiSwitchWidth: string; euiSwitchThumbSize: string; euiSwitchIconHeight: string; euiSwitchHeightCompressed: string; euiSwitchWidthCompressed: string; euiSwitchThumbSizeCompressed: string; euiSwitchHeightMini: string; euiSwitchWidthMini: string; euiSwitchThumbSizeMini: string; euiFormBackgroundColor: string; euiFormBackgroundDisabledColor: string; euiFormBackgroundReadOnlyColor: string; euiFormBorderOpaqueColor: string; euiFormBorderColor: string; euiFormBorderDisabledColor: string; euiFormCustomControlDisabledIconColor: string; euiFormCustomControlBorderColor: string; euiFormControlDisabledColor: string; euiFormControlBoxShadow: string; euiFormControlPlaceholderText: string; euiFormInputGroupLabelBackground: string; euiFormInputGroupBorder: string; euiSwitchOffColor: string; euiFormControlIconSizes: { small: string; medium: string; large: string; xLarge: string; xxLarge: string; }; euiFormControlLayoutGroupInputHeight: string; euiFormControlLayoutGroupInputCompressedHeight: string; euiFormControlLayoutGroupInputCompressedBorderRadius: string; euiHeaderBackgroundColor: string; euiHeaderDarkBackgroundColor: string; euiHeaderBorderColor: string; euiHeaderBreadcrumbColor: string; euiHeaderHeight: string; euiHeaderChildSize: string; euiHeaderHeightCompensation: string; euiPageDefaultMaxWidth: string; euiPageSidebarMinWidth: string; euiPanelPaddingModifiers: { paddingSmall: string; paddingMedium: string; paddingLarge: string; }; euiPanelBorderRadiusModifiers: { borderRadiusNone: number; borderRadiusMedium: string; }; euiPanelBackgroundColorModifiers: { transparent: string; plain: string; subdued: string; accent: string; primary: string; success: string; warning: string; danger: string; }; euiBreakpoints: { xs: number; s: string; m: string; l: string; xl: string; }; euiBreakpointKeys: string; euiShadowColor: string; euiSize: string; euiSizeXS: string; euiSizeS: string; euiSizeM: string; euiSizeL: string; euiSizeXL: string; euiSizeXXL: string; euiScrollBar: string; euiScrollBarCorner: string; euiScrollBarCornerThin: string; euiFocusRingColor: string; euiFocusRingAnimStartColor: string; euiFocusRingAnimStartSize: string; euiFocusRingAnimStartSizeLarge: string; euiFocusRingSizeLarge: string; euiFocusRingSize: string; euiFocusTransparency: number; euiFocusTransparencyPercent: string; euiFocusBackgroundColor: string; euiFontFamily: string; euiCodeFontFamily: string; euiFontFeatureSettings: string; euiTextScale: string; euiFontSize: string; euiFontSizeXS: string; euiFontSizeS: string; euiFontSizeM: string; euiFontSizeL: string; euiFontSizeXL: string; euiFontSizeXXL: string; euiLineHeight: number; euiBodyLineHeight: number; euiTitles: { xxxs: { 'font-size': string; 'line-height': string; 'font-weight': number; }; xxs: { 'font-size': string; 'line-height': string; 'font-weight': number; }; xs: { 'font-size': string; 'line-height': string; 'font-weight': number; }; s: { 'font-size': string; 'line-height': string; 'font-weight': number; }; m: { 'font-size': string; 'line-height': string; 'font-weight': number; }; l: { 'font-size': string; 'line-height': string; 'font-weight': number; }; }; euiZLevel0: number; euiZLevel1: number; euiZLevel2: number; euiZLevel3: number; euiZLevel4: number; euiZLevel5: number; euiZLevel6: number; euiZLevel7: number; euiZLevel8: number; euiZLevel9: number; euiZToastList: number; euiZModal: number; euiZMask: number; euiZNavigation: number; euiZContentMenu: number; euiZHeader: number; euiZFlyout: number; euiZMaskBelowHeader: number; euiZContent: number; euiColorGhost: string; euiColorInk: string; euiColorPrimary: string; euiColorAccent: string; euiColorSuccess: string; euiColorWarning: string; euiColorDanger: string; euiColorEmptyShade: string; euiColorLightestShade: string; euiColorLightShade: string; euiColorMediumShade: string; euiColorDarkShade: string; euiColorDarkestShade: string; euiColorFullShade: string; euiPageBackgroundColor: string; euiColorHighlight: string; euiTextColor: string; euiTitleColor: string; euiTextSubduedColor: string; euiColorDisabled: string; euiColorPrimaryText: string; euiColorSuccessText: string; euiColorAccentText: string; euiColorWarningText: string; euiColorDangerText: string; euiColorDisabledText: string; euiLinkColor: string; euiColorChartLines: string; euiColorChartBand: string; }" + ], + "path": "x-pack/packages/ml/kibana_theme/src/hooks.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_ml_kibana_theme.mdx b/api_docs/kbn_ml_kibana_theme.mdx new file mode 100644 index 0000000000000..10abd4b5ce3ec --- /dev/null +++ b/api_docs/kbn_ml_kibana_theme.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: kibKbnMlKibanaThemePluginApi +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-06-07 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-kibana-theme'] +--- +import kbnMlKibanaThemeObj from './kbn_ml_kibana_theme.devdocs.json'; + + + +Contact [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 5 | 0 | 3 | 0 | + +## Common + +### Functions + + +### Consts, variables and types + + diff --git a/api_docs/kbn_ml_local_storage.mdx b/api_docs/kbn_ml_local_storage.mdx index b144f9149c154..75b4abdbc1537 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-05-16 +date: 2023-06-07 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 19163d7787033..50fb6dea9e5b6 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-05-16 +date: 2023-06-07 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 c7cde90f718ac..e83cde17c653b 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-05-16 +date: 2023-06-07 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.devdocs.json b/api_docs/kbn_ml_query_utils.devdocs.json index bfbf2cfd4aa35..15a6380de170a 100644 --- a/api_docs/kbn_ml_query_utils.devdocs.json +++ b/api_docs/kbn_ml_query_utils.devdocs.json @@ -215,6 +215,28 @@ "interfaces": [], "enums": [], "misc": [], - "objects": [] + "objects": [ + { + "parentPluginId": "@kbn/ml-query-utils", + "id": "def-common.ES_CLIENT_TOTAL_HITS_RELATION", + "type": "Object", + "tags": [], + "label": "ES_CLIENT_TOTAL_HITS_RELATION", + "description": [ + "\nCustom enum for total hits relation values" + ], + "signature": [ + "{ GTE: ", + "SearchTotalHitsRelation", + "; EQ: ", + "SearchTotalHitsRelation", + "; }" + ], + "path": "x-pack/packages/ml/query_utils/src/es_client_total_hits_relation.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ] } } \ No newline at end of file diff --git a/api_docs/kbn_ml_query_utils.mdx b/api_docs/kbn_ml_query_utils.mdx index 910f76f1bdfdc..07378db952049 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-query-utils'] --- import kbnMlQueryUtilsObj from './kbn_ml_query_utils.devdocs.json'; @@ -21,10 +21,13 @@ Contact [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) for questi | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 10 | 0 | 0 | 0 | +| 11 | 0 | 0 | 0 | ## Common +### Objects + + ### Functions diff --git a/api_docs/kbn_ml_random_sampler_utils.mdx b/api_docs/kbn_ml_random_sampler_utils.mdx index c82c1f8a2c88d..a2918261b8c4e 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-05-16 +date: 2023-06-07 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 cf4929a702cee..5c1cc3ab86b3a 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-05-16 +date: 2023-06-07 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.devdocs.json b/api_docs/kbn_ml_runtime_field_utils.devdocs.json new file mode 100644 index 0000000000000..091befd71f2a1 --- /dev/null +++ b/api_docs/kbn_ml_runtime_field_utils.devdocs.json @@ -0,0 +1,196 @@ +{ + "id": "@kbn/ml-runtime-field-utils", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [ + { + "parentPluginId": "@kbn/ml-runtime-field-utils", + "id": "def-common.getCombinedRuntimeMappings", + "type": "Function", + "tags": [], + "label": "getCombinedRuntimeMappings", + "description": [ + "\nReturn a map of runtime_mappings for each of the data view field provided\nto provide in ES search queries" + ], + "signature": [ + "(dataView: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + " | undefined, runtimeMappings: ", + "MappingRuntimeFields", + " | undefined) => ", + "MappingRuntimeFields", + " | undefined" + ], + "path": "x-pack/packages/ml/runtime_field_utils/src/get_combined_runtime_mappings.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-runtime-field-utils", + "id": "def-common.getCombinedRuntimeMappings.$1", + "type": "Object", + "tags": [], + "label": "dataView", + "description": [ + "- The Kibana data view." + ], + "signature": [ + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + " | undefined" + ], + "path": "x-pack/packages/ml/runtime_field_utils/src/get_combined_runtime_mappings.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + }, + { + "parentPluginId": "@kbn/ml-runtime-field-utils", + "id": "def-common.getCombinedRuntimeMappings.$2", + "type": "Object", + "tags": [], + "label": "runtimeMappings", + "description": [ + "- Optional runtime mappings." + ], + "signature": [ + "MappingRuntimeFields", + " | undefined" + ], + "path": "x-pack/packages/ml/runtime_field_utils/src/get_combined_runtime_mappings.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-runtime-field-utils", + "id": "def-common.isRuntimeField", + "type": "Function", + "tags": [], + "label": "isRuntimeField", + "description": [ + "\nType guard for a runtime field\n" + ], + "signature": [ + "(arg: unknown) => boolean" + ], + "path": "x-pack/packages/ml/runtime_field_utils/src/is_runtime_field.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-runtime-field-utils", + "id": "def-common.isRuntimeField.$1", + "type": "Unknown", + "tags": [], + "label": "arg", + "description": [ + "- The item to be checked" + ], + "signature": [ + "unknown" + ], + "path": "x-pack/packages/ml/runtime_field_utils/src/is_runtime_field.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ml-runtime-field-utils", + "id": "def-common.isRuntimeMappings", + "type": "Function", + "tags": [], + "label": "isRuntimeMappings", + "description": [ + "\nType guard for runtime mappings\n" + ], + "signature": [ + "(arg: unknown) => boolean" + ], + "path": "x-pack/packages/ml/runtime_field_utils/src/is_runtime_mappings.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ml-runtime-field-utils", + "id": "def-common.isRuntimeMappings.$1", + "type": "Unknown", + "tags": [], + "label": "arg", + "description": [ + "- The item to be checked" + ], + "signature": [ + "unknown" + ], + "path": "x-pack/packages/ml/runtime_field_utils/src/is_runtime_mappings.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [], + "enums": [], + "misc": [ + { + "parentPluginId": "@kbn/ml-runtime-field-utils", + "id": "def-common.RuntimeMappings", + "type": "Type", + "tags": [], + "label": "RuntimeMappings", + "description": [ + "\nAlias for `estypes.MappingRuntimeFields`." + ], + "signature": [ + "{ [x: string]: ", + "MappingRuntimeField", + "; }" + ], + "path": "x-pack/packages/ml/runtime_field_utils/src/is_runtime_mappings.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_ml_runtime_field_utils.mdx b/api_docs/kbn_ml_runtime_field_utils.mdx new file mode 100644 index 0000000000000..a1b47ccb2ed93 --- /dev/null +++ b/api_docs/kbn_ml_runtime_field_utils.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: kibKbnMlRuntimeFieldUtilsPluginApi +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-06-07 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-runtime-field-utils'] +--- +import kbnMlRuntimeFieldUtilsObj from './kbn_ml_runtime_field_utils.devdocs.json'; + + + +Contact [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 8 | 0 | 0 | 0 | + +## Common + +### Functions + + +### Consts, variables and types + + diff --git a/api_docs/kbn_ml_string_hash.mdx b/api_docs/kbn_ml_string_hash.mdx index e0c4cacace833..9f6b464db31e4 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-05-16 +date: 2023-06-07 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 0120d1361e426..fd82ff49e6dc6 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-05-16 +date: 2023-06-07 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 30e2c99205b1f..c834c3c774c10 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-05-16 +date: 2023-06-07 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 8dd666bf6c00b..631daeedd7b0d 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-05-16 +date: 2023-06-07 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 f6780cff8d56f..0d221c4b3762c 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-05-16 +date: 2023-06-07 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.devdocs.json b/api_docs/kbn_observability_alert_details.devdocs.json index a7f16d862b6d7..29dfc1bbc3794 100644 --- a/api_docs/kbn_observability_alert_details.devdocs.json +++ b/api_docs/kbn_observability_alert_details.devdocs.json @@ -85,6 +85,72 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/observability-alert-details", + "id": "def-common.AlertThresholdAnnotation", + "type": "Function", + "tags": [], + "label": "AlertThresholdAnnotation", + "description": [], + "signature": [ + "({ threshold, color, id }: Props) => JSX.Element" + ], + "path": "x-pack/packages/observability/alert_details/src/components/alert_threshold_annotation.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/observability-alert-details", + "id": "def-common.AlertThresholdAnnotation.$1", + "type": "Object", + "tags": [], + "label": "{ threshold, color, id }", + "description": [], + "signature": [ + "Props" + ], + "path": "x-pack/packages/observability/alert_details/src/components/alert_threshold_annotation.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/observability-alert-details", + "id": "def-common.AlertThresholdTimeRangeRect", + "type": "Function", + "tags": [], + "label": "AlertThresholdTimeRangeRect", + "description": [], + "signature": [ + "({ alertStarted, color, id, threshold }: Props) => JSX.Element" + ], + "path": "x-pack/packages/observability/alert_details/src/components/alert_threshold_time_range_rect.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/observability-alert-details", + "id": "def-common.AlertThresholdTimeRangeRect.$1", + "type": "Object", + "tags": [], + "label": "{ alertStarted, color, id, threshold }", + "description": [], + "signature": [ + "Props" + ], + "path": "x-pack/packages/observability/alert_details/src/components/alert_threshold_time_range_rect.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/observability-alert-details", "id": "def-common.getPaddedAlertTimeRange", @@ -133,6 +199,42 @@ ], "returnComment": [], "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/observability-alert-details", + "id": "def-common.useAlertsHistory", + "type": "Function", + "tags": [], + "label": "useAlertsHistory", + "description": [], + "signature": [ + "({ featureIds, ruleId, dateRange, http }: ", + "Props", + ") => ", + "UseAlertsHistory" + ], + "path": "x-pack/packages/observability/alert_details/src/hooks/use_alerts_history.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/observability-alert-details", + "id": "def-common.useAlertsHistory.$1", + "type": "Object", + "tags": [], + "label": "{ featureIds, ruleId, dateRange, http }", + "description": [], + "signature": [ + "Props" + ], + "path": "x-pack/packages/observability/alert_details/src/hooks/use_alerts_history.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false } ], "interfaces": [], diff --git a/api_docs/kbn_observability_alert_details.mdx b/api_docs/kbn_observability_alert_details.mdx index d1fc3e26b4c5f..de448abbd2863 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-alert-details'] --- import kbnObservabilityAlertDetailsObj from './kbn_observability_alert_details.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/actionable-observability](https://github.com/orgs/elastic/team | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 7 | 0 | 7 | 1 | +| 13 | 0 | 13 | 3 | ## Common diff --git a/api_docs/kbn_optimizer.mdx b/api_docs/kbn_optimizer.mdx index 31ef55338278c..95110d231968a 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-05-16 +date: 2023-06-07 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 9b602ff109c85..f398521afcaaa 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-05-16 +date: 2023-06-07 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 744a7113cba9f..8846a69a9889f 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-05-16 +date: 2023-06-07 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 1ff5084324874..0550c17ce6239 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-05-16 +date: 2023-06-07 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 0161179eaa946..16a121ec749bb 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-05-16 +date: 2023-06-07 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 1d9a192ac1ea6..460dbaf4119ed 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-05-16 +date: 2023-06-07 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 c8485a5599a2d..4ff9091f7c143 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-05-16 +date: 2023-06-07 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 857d3233c94a5..894957f730608 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-field'] --- import kbnReactFieldObj from './kbn_react_field.devdocs.json'; diff --git a/api_docs/kbn_repo_file_maps.mdx b/api_docs/kbn_repo_file_maps.mdx index c2501766a249c..1bdd3f62ff834 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-05-16 +date: 2023-06-07 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 669940a17e1fa..85e75b51ae9b4 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-05-16 +date: 2023-06-07 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 18a487d83e047..40d204dfb25dd 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-05-16 +date: 2023-06-07 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 1517885a4d5ed..0edff5032264b 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-05-16 +date: 2023-06-07 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 0841af1b21cf2..13529fe7602d9 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-05-16 +date: 2023-06-07 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 7ed96206fc516..5dd355f11e389 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rison'] --- import kbnRisonObj from './kbn_rison.devdocs.json'; diff --git a/api_docs/kbn_rule_data_utils.devdocs.json b/api_docs/kbn_rule_data_utils.devdocs.json index 1a1ce4cb71360..daf886436798e 100644 --- a/api_docs/kbn_rule_data_utils.devdocs.json +++ b/api_docs/kbn_rule_data_utils.devdocs.json @@ -104,7 +104,7 @@ "signature": [ "(sortIds: ", "SortResults", - " | null | undefined) => (string | number)[] | null | undefined" + " | null | undefined) => any[] | null | undefined" ], "path": "packages/kbn-rule-data-utils/src/alerts_as_data_rbac.ts", "deprecated": false, diff --git a/api_docs/kbn_rule_data_utils.mdx b/api_docs/kbn_rule_data_utils.mdx index e2df147850219..da7bc85bdc221 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-05-16 +date: 2023-06-07 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 c76d5f31effe8..170f0361754e5 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/saved-objects-settings'] --- import kbnSavedObjectsSettingsObj from './kbn_saved_objects_settings.devdocs.json'; diff --git a/api_docs/kbn_security_solution_side_nav.mdx b/api_docs/kbn_security_solution_side_nav.mdx index 2074d7e298a08..3fa61a5633315 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-05-16 +date: 2023-06-07 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 1f82f9ec2eb6a..7023a187537d3 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-05-16 +date: 2023-06-07 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 e269fb4d1644d..5ca6d99a2d56a 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-05-16 +date: 2023-06-07 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.devdocs.json b/api_docs/kbn_securitysolution_data_table.devdocs.json index 6cb74e6716356..a9bffd5d52c6c 100644 --- a/api_docs/kbn_securitysolution_data_table.devdocs.json +++ b/api_docs/kbn_securitysolution_data_table.devdocs.json @@ -238,15 +238,15 @@ "signature": [ "(headers: ", "ColumnHeaderOptions", - "[], browserFields: Readonly>>, isEventRenderedView?: boolean | undefined) => ", + ", isEventRenderedView?: boolean | undefined) => ", "ColumnHeaderOptions", "[]" ], @@ -278,15 +278,13 @@ "label": "browserFields", "description": [], "signature": [ - "Readonly>>" + "section": "def-common.BrowserFields", + "text": "BrowserFields" + } ], "path": "x-pack/packages/security-solution/data_table/components/data_table/column_headers/helpers.tsx", "deprecated": false, diff --git a/api_docs/kbn_securitysolution_data_table.mdx b/api_docs/kbn_securitysolution_data_table.mdx index d26245c796b5b..c555c05e08eda 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-05-16 +date: 2023-06-07 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 e2f1a9d07777a..725c3abae474d 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-05-16 +date: 2023-06-07 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.devdocs.json b/api_docs/kbn_securitysolution_es_utils.devdocs.json index bf407ff025957..2d9d633bd644e 100644 --- a/api_docs/kbn_securitysolution_es_utils.devdocs.json +++ b/api_docs/kbn_securitysolution_es_utils.devdocs.json @@ -652,7 +652,7 @@ "TransportRequestOptions", " | undefined): Promise<", "CountResponse", - ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", + ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchApplication]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", "default", "; asyncSearch: ", "default", @@ -894,29 +894,29 @@ "ExplainResponse", ">; }; features: ", "default", - "; fieldCaps: { (this: That, params: ", + "; fieldCaps: { (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithOutMeta", " | undefined): Promise<", "FieldCapsResponse", - ">; (this: That, params: ", + ">; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithMeta", " | undefined): Promise<", "TransportResult", "<", "FieldCapsResponse", - ", unknown>>; (this: That, params: ", + ", unknown>>; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptions", " | undefined): Promise<", "FieldCapsResponse", @@ -1022,7 +1022,33 @@ "TransportRequestOptions", " | undefined): Promise; }; graph: ", "default", - "; ilm: ", + "; healthReport: { (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "HealthReportResponse", + ">; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "HealthReportResponse", + ", unknown>>; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "HealthReportResponse", + ">; }; ilm: ", "default", "; index: { (this: That, params: ", "IndexRequest", @@ -1468,7 +1494,9 @@ "TransportRequestOptions", " | undefined): Promise<", "ScrollResponse", - ">; }; searchMvt: { (this: That, params: ", + ">; }; searchApplication: ", + "default", + "; searchMvt: { (this: That, params: ", "SearchMvtRequest", " | ", "SearchMvtRequest", @@ -1896,7 +1924,7 @@ "TransportRequestOptions", " | undefined): Promise<", "CountResponse", - ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", + ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchApplication]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", "default", "; asyncSearch: ", "default", @@ -2138,29 +2166,29 @@ "ExplainResponse", ">; }; features: ", "default", - "; fieldCaps: { (this: That, params: ", + "; fieldCaps: { (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithOutMeta", " | undefined): Promise<", "FieldCapsResponse", - ">; (this: That, params: ", + ">; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithMeta", " | undefined): Promise<", "TransportResult", "<", "FieldCapsResponse", - ", unknown>>; (this: That, params: ", + ", unknown>>; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptions", " | undefined): Promise<", "FieldCapsResponse", @@ -2266,7 +2294,33 @@ "TransportRequestOptions", " | undefined): Promise; }; graph: ", "default", - "; ilm: ", + "; healthReport: { (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "HealthReportResponse", + ">; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "HealthReportResponse", + ", unknown>>; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "HealthReportResponse", + ">; }; ilm: ", "default", "; index: { (this: That, params: ", "IndexRequest", @@ -2712,7 +2766,9 @@ "TransportRequestOptions", " | undefined): Promise<", "ScrollResponse", - ">; }; searchMvt: { (this: That, params: ", + ">; }; searchApplication: ", + "default", + "; searchMvt: { (this: That, params: ", "SearchMvtRequest", " | ", "SearchMvtRequest", diff --git a/api_docs/kbn_securitysolution_es_utils.mdx b/api_docs/kbn_securitysolution_es_utils.mdx index adce7c1331eb8..1ddefa4cb4132 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-05-16 +date: 2023-06-07 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 066e89c9a59fb..b986cc62bfcba 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-05-16 +date: 2023-06-07 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.devdocs.json b/api_docs/kbn_securitysolution_grouping.devdocs.json index 8a5731edeca99..2e18758ff84be 100644 --- a/api_docs/kbn_securitysolution_grouping.devdocs.json +++ b/api_docs/kbn_securitysolution_grouping.devdocs.json @@ -108,7 +108,7 @@ "\nHook to configure grouping component" ], "signature": [ - "({ componentProps, defaultGroupingOptions, fields, groupingId, maxGroupingLevels, onGroupChange, tracker, }: GroupingArgs) => Grouping" + "({ componentProps, defaultGroupingOptions, fields, groupingId, maxGroupingLevels, onGroupChange, onOptionsChange, tracker, }: GroupingArgs) => Grouping" ], "path": "packages/kbn-securitysolution-grouping/src/hooks/use_grouping.tsx", "deprecated": false, @@ -119,7 +119,7 @@ "id": "def-common.useGrouping.$1", "type": "Object", "tags": [], - "label": "{\n componentProps,\n defaultGroupingOptions,\n fields,\n groupingId,\n maxGroupingLevels,\n onGroupChange,\n tracker,\n}", + "label": "{\n componentProps,\n defaultGroupingOptions,\n fields,\n groupingId,\n maxGroupingLevels,\n onGroupChange,\n onOptionsChange,\n tracker,\n}", "description": [], "signature": [ "GroupingArgs" diff --git a/api_docs/kbn_securitysolution_grouping.mdx b/api_docs/kbn_securitysolution_grouping.mdx index 0de3bfd299501..8d18f3a624431 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-05-16 +date: 2023-06-07 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 3a3ec1e3a8698..3a65ea7541daa 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-05-16 +date: 2023-06-07 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 38e51ee2cc6aa..ec49421414253 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-05-16 +date: 2023-06-07 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 23bb7460aac51..a0b67666f43cd 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-05-16 +date: 2023-06-07 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 2b8061ca135c7..10226f79c19bf 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-05-16 +date: 2023-06-07 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 aeffca17369c6..879584e4f97f7 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-05-16 +date: 2023-06-07 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 9175b2b9a3018..94a3cbe12024b 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-05-16 +date: 2023-06-07 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.devdocs.json b/api_docs/kbn_securitysolution_list_constants.devdocs.json index 4b06a6e96b7c8..62cb9d420c145 100644 --- a/api_docs/kbn_securitysolution_list_constants.devdocs.json +++ b/api_docs/kbn_securitysolution_list_constants.devdocs.json @@ -317,19 +317,19 @@ }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts" + "path": "x-pack/plugins/security_solution/server/lib/telemetry/tasks/security_lists.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts" + "path": "x-pack/plugins/security_solution/server/lib/telemetry/tasks/security_lists.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts" + "path": "x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts" + "path": "x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.ts" }, { "plugin": "securitySolution", @@ -337,19 +337,19 @@ }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/event_filter_validator.ts" + "path": "x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/event_filter_validator.ts" + "path": "x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/telemetry/tasks/security_lists.ts" + "path": "x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/event_filter_validator.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/telemetry/tasks/security_lists.ts" + "path": "x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/event_filter_validator.ts" }, { "plugin": "securitySolution", @@ -752,6 +752,14 @@ "deprecated": true, "trackAdoption": false, "references": [ + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts" + }, { "plugin": "lists", "path": "x-pack/plugins/lists/server/services/exception_lists/create_endpoint_trusted_apps_list.ts" @@ -768,14 +776,6 @@ "plugin": "lists", "path": "x-pack/plugins/lists/common/schemas/response/exception_list_schema.mock.ts" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/scripts/endpoint/trusted_apps/index.ts" @@ -809,68 +809,68 @@ "trackAdoption": false, "references": [ { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/services/exception_lists/create_endpoint_trusted_apps_list.ts" + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts" }, { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/services/exception_lists/create_endpoint_trusted_apps_list.ts" + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts" }, { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/services/exception_lists/create_endpoint_trusted_apps_list.ts" + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts" }, { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/saved_objects/migrations.ts" + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts" }, { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/saved_objects/migrations.ts" + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/management/pages/trusted_apps/service/api_client.ts" }, { - "plugin": "lists", - "path": "x-pack/plugins/lists/server/saved_objects/migrations.ts" + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/management/pages/trusted_apps/service/api_client.ts" }, { - "plugin": "lists", - "path": "x-pack/plugins/lists/common/schemas/response/exception_list_schema.mock.ts" + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/management/pages/trusted_apps/service/api_client.ts" }, { "plugin": "lists", - "path": "x-pack/plugins/lists/common/schemas/response/exception_list_schema.mock.ts" + "path": "x-pack/plugins/lists/server/services/exception_lists/create_endpoint_trusted_apps_list.ts" }, { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts" + "plugin": "lists", + "path": "x-pack/plugins/lists/server/services/exception_lists/create_endpoint_trusted_apps_list.ts" }, { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts" + "plugin": "lists", + "path": "x-pack/plugins/lists/server/services/exception_lists/create_endpoint_trusted_apps_list.ts" }, { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts" + "plugin": "lists", + "path": "x-pack/plugins/lists/server/saved_objects/migrations.ts" }, { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts" + "plugin": "lists", + "path": "x-pack/plugins/lists/server/saved_objects/migrations.ts" }, { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/trusted_apps/service/api_client.ts" + "plugin": "lists", + "path": "x-pack/plugins/lists/server/saved_objects/migrations.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/trusted_apps/service/api_client.ts" + "path": "x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/trusted_apps/service/api_client.ts" + "path": "x-pack/plugins/security_solution/server/lib/telemetry/receiver.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts" + "path": "x-pack/plugins/security_solution/server/lib/telemetry/receiver.ts" }, { "plugin": "securitySolution", @@ -889,12 +889,12 @@ "path": "x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/trusted_app_validator.ts" }, { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/telemetry/receiver.ts" + "plugin": "lists", + "path": "x-pack/plugins/lists/common/schemas/response/exception_list_schema.mock.ts" }, { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/telemetry/receiver.ts" + "plugin": "lists", + "path": "x-pack/plugins/lists/common/schemas/response/exception_list_schema.mock.ts" }, { "plugin": "lists", @@ -1076,6 +1076,14 @@ "deprecated": true, "trackAdoption": false, "references": [ + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts" + }, { "plugin": "lists", "path": "x-pack/plugins/lists/server/services/exception_lists/create_endpoint_trusted_apps_list.ts" @@ -1092,14 +1100,6 @@ "plugin": "lists", "path": "x-pack/plugins/lists/common/schemas/response/exception_list_schema.mock.ts" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/scripts/endpoint/trusted_apps/index.ts" diff --git a/api_docs/kbn_securitysolution_list_constants.mdx b/api_docs/kbn_securitysolution_list_constants.mdx index 96afb2869f3cb..189a76f2a113b 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-05-16 +date: 2023-06-07 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 1f597952933ce..39619341161a8 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-05-16 +date: 2023-06-07 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.devdocs.json b/api_docs/kbn_securitysolution_list_utils.devdocs.json index af3d575d05602..105e99b93091e 100644 --- a/api_docs/kbn_securitysolution_list_utils.devdocs.json +++ b/api_docs/kbn_securitysolution_list_utils.devdocs.json @@ -3380,7 +3380,7 @@ "label": "SavedObjectType", "description": [], "signature": [ - "\"exception-list-agnostic\" | \"exception-list\"" + "\"exception-list\" | \"exception-list-agnostic\"" ], "path": "packages/kbn-securitysolution-list-utils/src/types/index.ts", "deprecated": false, diff --git a/api_docs/kbn_securitysolution_list_utils.mdx b/api_docs/kbn_securitysolution_list_utils.mdx index 3a2b08b7a3da9..c25f6a189f998 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-05-16 +date: 2023-06-07 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 2ecce066c7061..ce8e27eadb8a0 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-05-16 +date: 2023-06-07 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 905ba2cef0b43..e3e4adaf3aa7d 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-05-16 +date: 2023-06-07 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 ab9d9b7f5f49f..53429c268a83c 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-05-16 +date: 2023-06-07 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 f0fc401cb3d43..ca4c1aa63c397 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-05-16 +date: 2023-06-07 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.devdocs.json b/api_docs/kbn_server_route_repository.devdocs.json index e9b6b60f30318..f8edeb098ba85 100644 --- a/api_docs/kbn_server_route_repository.devdocs.json +++ b/api_docs/kbn_server_route_repository.devdocs.json @@ -118,7 +118,7 @@ "label": "formatRequest", "description": [], "signature": [ - "(endpoint: string, pathParams: Record) => { method: Method; pathname: string; }" + "(endpoint: string, pathParams: Record) => { method: Method; pathname: string; version: string; }" ], "path": "packages/kbn-server-route-repository/src/format_request.ts", "deprecated": false, @@ -166,7 +166,7 @@ "label": "parseEndpoint", "description": [], "signature": [ - "(endpoint: string) => { method: Method; pathname: string; }" + "(endpoint: string) => { method: Method; pathname: string; version: string; }" ], "path": "packages/kbn-server-route-repository/src/parse_endpoint.ts", "deprecated": false, @@ -232,17 +232,9 @@ "label": "ClientRequestParamsOf", "description": [], "signature": [ - "TServerRouteRepository[TEndpoint] extends ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - " Promise; } & ", "ServerRouteCreateOptions", - "> ? TRouteParamsRT extends ", + " ? TRouteParamsRT extends ", { "pluginId": "@kbn/server-route-repository", "scope": "common", @@ -265,17 +257,9 @@ "label": "DecodedRequestParamsOf", "description": [], "signature": [ - "TServerRouteRepository[TEndpoint] extends ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - " Promise; } & ", "ServerRouteCreateOptions", - "> ? TRouteParamsRT extends ", + " ? TRouteParamsRT extends ", { "pluginId": "@kbn/server-route-repository", "scope": "common", @@ -313,17 +297,9 @@ "label": "ReturnOf", "description": [], "signature": [ - "TServerRouteRepository[TEndpoint] extends ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - " Promise; } & ", "ServerRouteCreateOptions", - "> ? TReturnType : never" + " ? TReturnType : never" ], "path": "packages/kbn-server-route-repository/src/typings.ts", "deprecated": false, @@ -446,7 +422,7 @@ "label": "ServerRoute", "description": [], "signature": [ - "{ endpoint: TEndpoint; params?: TRouteParamsRT | undefined; handler: ({}: TRouteHandlerResources & (TRouteParamsRT extends ", + "ValidateEndpoint extends true ? { endpoint: TEndpoint; params?: TRouteParamsRT | undefined; handler: ({}: TRouteHandlerResources & (TRouteParamsRT extends ", { "pluginId": "@kbn/server-route-repository", "scope": "common", @@ -454,7 +430,7 @@ "section": "def-common.RouteParamsRT", "text": "RouteParamsRT" }, - " ? DecodedRequestParamsOfType : {})) => Promise; } & TRouteCreateOptions" + " ? DecodedRequestParamsOfType : {})) => Promise; } & TRouteCreateOptions : never" ], "path": "packages/kbn-server-route-repository/src/typings.ts", "deprecated": false, @@ -469,15 +445,7 @@ "label": "ServerRouteRepository", "description": [], "signature": [ - "{ [x: string]: ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - ">; }" + " | undefined; handler: ({}: any) => Promise; } & Record; }" ], "path": "packages/kbn-server-route-repository/src/typings.ts", "deprecated": false, diff --git a/api_docs/kbn_server_route_repository.mdx b/api_docs/kbn_server_route_repository.mdx index 004da2cf7b4b1..486e9a0b2702b 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-05-16 +date: 2023-06-07 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 ada5e738784c8..64268c834dd53 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-05-16 +date: 2023-06-07 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 78da7fa9e6c40..5163fc4464a1c 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-05-16 +date: 2023-06-07 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 44de5622d9879..d88c33a0f7c53 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-05-16 +date: 2023-06-07 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 042dabc2f5905..ae0daa16f64a9 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-05-16 +date: 2023-06-07 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.devdocs.json b/api_docs/kbn_shared_ux_avatar_user_profile_components.devdocs.json index 8db820277866f..09788bfaa286c 100644 --- a/api_docs/kbn_shared_ux_avatar_user_profile_components.devdocs.json +++ b/api_docs/kbn_shared_ux_avatar_user_profile_components.devdocs.json @@ -386,14 +386,14 @@ { "parentPluginId": "@kbn/shared-ux-avatar-user-profile-components", "id": "def-common.UserProfileAvatarData.imageUrl", - "type": "string", + "type": "CompoundType", "tags": [], "label": "imageUrl", "description": [ "\nBase64 data URL for the user avatar image." ], "signature": [ - "string | undefined" + "string | null | undefined" ], "path": "packages/shared-ux/avatar/user_profile/impl/user_profile.ts", "deprecated": false, 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 77771b3e82579..71cb6cb2e0b0e 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-05-16 +date: 2023-06-07 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 c52197e37180f..d992119cc9548 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-05-16 +date: 2023-06-07 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 3393c6df30440..7841114ce121d 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-05-16 +date: 2023-06-07 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 23e56192c2920..c59b57a21b5ab 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-05-16 +date: 2023-06-07 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 d9f166e5b26c5..df4fd24f98d62 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-05-16 +date: 2023-06-07 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 b5e6eab3af746..cf5adbf70af8a 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-05-16 +date: 2023-06-07 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.devdocs.json b/api_docs/kbn_shared_ux_chrome_navigation.devdocs.json index 931df887806eb..b568491bb05c8 100644 --- a/api_docs/kbn_shared_ux_chrome_navigation.devdocs.json +++ b/api_docs/kbn_shared_ux_chrome_navigation.devdocs.json @@ -19,6 +19,332 @@ "common": { "classes": [], "functions": [ + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.DefaultNavigation", + "type": "Function", + "tags": [], + "label": "DefaultNavigation", + "description": [], + "signature": [ + "({ homeRef, projectNavigationTree, navigationTree, dataTestSubj, }: React.PropsWithChildren<", + { + "pluginId": "@kbn/shared-ux-chrome-navigation", + "scope": "common", + "docId": "kibKbnSharedUxChromeNavigationPluginApi", + "section": "def-common.ProjectNavigationDefinition", + "text": "ProjectNavigationDefinition" + }, + " & { dataTestSubj?: string | undefined; }>) => JSX.Element" + ], + "path": "packages/shared-ux/chrome/navigation/src/ui/default_navigation.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.DefaultNavigation.$1", + "type": "CompoundType", + "tags": [], + "label": "{\n homeRef,\n projectNavigationTree,\n navigationTree,\n dataTestSubj,\n}", + "description": [], + "signature": [ + "React.PropsWithChildren<", + { + "pluginId": "@kbn/shared-ux-chrome-navigation", + "scope": "common", + "docId": "kibKbnSharedUxChromeNavigationPluginApi", + "section": "def-common.ProjectNavigationDefinition", + "text": "ProjectNavigationDefinition" + }, + " & { dataTestSubj?: string | undefined; }>" + ], + "path": "packages/shared-ux/chrome/navigation/src/ui/default_navigation.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.getPresets", + "type": "Function", + "tags": [], + "label": "getPresets", + "description": [], + "signature": [ + "(preset: \"devtools\") => ", + "NodeDefinitionWithChildren", + "<", + "ID", + ">" + ], + "path": "packages/shared-ux/chrome/navigation/src/ui/nav_tree_presets/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.getPresets.$1", + "type": "string", + "tags": [], + "label": "preset", + "description": [], + "signature": [ + "\"devtools\"" + ], + "path": "packages/shared-ux/chrome/navigation/src/ui/nav_tree_presets/index.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.getPresets", + "type": "Function", + "tags": [], + "label": "getPresets", + "description": [], + "signature": [ + "(preset: \"management\") => ", + "NodeDefinitionWithChildren", + "<", + "ID", + ">" + ], + "path": "packages/shared-ux/chrome/navigation/src/ui/nav_tree_presets/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.getPresets.$1", + "type": "string", + "tags": [], + "label": "preset", + "description": [], + "signature": [ + "\"management\"" + ], + "path": "packages/shared-ux/chrome/navigation/src/ui/nav_tree_presets/index.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.getPresets", + "type": "Function", + "tags": [], + "label": "getPresets", + "description": [], + "signature": [ + "(preset: \"ml\") => ", + "NodeDefinitionWithChildren", + "<", + "ID", + ">" + ], + "path": "packages/shared-ux/chrome/navigation/src/ui/nav_tree_presets/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.getPresets.$1", + "type": "string", + "tags": [], + "label": "preset", + "description": [], + "signature": [ + "\"ml\"" + ], + "path": "packages/shared-ux/chrome/navigation/src/ui/nav_tree_presets/index.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.getPresets", + "type": "Function", + "tags": [], + "label": "getPresets", + "description": [], + "signature": [ + "(preset: \"analytics\") => ", + "NodeDefinitionWithChildren", + "<", + "ID", + ">" + ], + "path": "packages/shared-ux/chrome/navigation/src/ui/nav_tree_presets/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.getPresets.$1", + "type": "string", + "tags": [], + "label": "preset", + "description": [], + "signature": [ + "\"analytics\"" + ], + "path": "packages/shared-ux/chrome/navigation/src/ui/nav_tree_presets/index.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.getPresets", + "type": "Function", + "tags": [], + "label": "getPresets", + "description": [], + "signature": [ + "(preset: \"all\") => { analytics: ", + "NodeDefinitionWithChildren", + "<", + "ID", + ">; devtools: ", + "NodeDefinitionWithChildren", + "<", + "ID", + ">; ml: ", + "NodeDefinitionWithChildren", + "<", + "ID", + ">; management: ", + "NodeDefinitionWithChildren", + "<", + "ID", + ">; }" + ], + "path": "packages/shared-ux/chrome/navigation/src/ui/nav_tree_presets/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.getPresets.$1", + "type": "string", + "tags": [], + "label": "preset", + "description": [], + "signature": [ + "\"all\"" + ], + "path": "packages/shared-ux/chrome/navigation/src/ui/nav_tree_presets/index.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.getPresets", + "type": "Function", + "tags": [], + "label": "getPresets", + "description": [], + "signature": [ + "(preset: \"all\" | ", + { + "pluginId": "@kbn/shared-ux-chrome-navigation", + "scope": "common", + "docId": "kibKbnSharedUxChromeNavigationPluginApi", + "section": "def-common.NavigationGroupPreset", + "text": "NavigationGroupPreset" + }, + ") => ", + "NodeDefinitionWithChildren", + "<", + "ID", + "> | ", + "NodeDefinitionWithChildren", + "<", + "ID", + "> | ", + "NodeDefinitionWithChildren", + "<", + "ID", + "> | ", + "NodeDefinitionWithChildren", + "<", + "ID", + "> | { analytics: ", + "NodeDefinitionWithChildren", + "<", + "ID", + ">; devtools: ", + "NodeDefinitionWithChildren", + "<", + "ID", + ">; ml: ", + "NodeDefinitionWithChildren", + "<", + "ID", + ">; management: ", + "NodeDefinitionWithChildren", + "<", + "ID", + ">; }" + ], + "path": "packages/shared-ux/chrome/navigation/src/ui/nav_tree_presets/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.getPresets.$1", + "type": "CompoundType", + "tags": [], + "label": "preset", + "description": [], + "signature": [ + "\"all\" | ", + { + "pluginId": "@kbn/shared-ux-chrome-navigation", + "scope": "common", + "docId": "kibKbnSharedUxChromeNavigationPluginApi", + "section": "def-common.NavigationGroupPreset", + "text": "NavigationGroupPreset" + } + ], + "path": "packages/shared-ux/chrome/navigation/src/ui/nav_tree_presets/index.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/shared-ux-chrome-navigation", "id": "def-common.Navigation", @@ -27,9 +353,9 @@ "label": "Navigation", "description": [], "signature": [ - "({ platformConfig, navigationTree, homeHref, linkToCloud, activeNavItemId: activeNavItemIdProps, ...props }: Props) => JSX.Element" + "({ children, homeRef, unstyled = false, dataTestSubj }: Props) => JSX.Element" ], - "path": "packages/shared-ux/chrome/navigation/src/ui/navigation.tsx", + "path": "packages/shared-ux/chrome/navigation/src/ui/components/navigation.tsx", "deprecated": false, "trackAdoption": false, "children": [ @@ -38,12 +364,12 @@ "id": "def-common.Navigation.$1", "type": "Object", "tags": [], - "label": "{\n platformConfig,\n navigationTree,\n homeHref,\n linkToCloud,\n activeNavItemId: activeNavItemIdProps,\n ...props\n}", + "label": "{ children, homeRef, unstyled = false, dataTestSubj }", "description": [], "signature": [ "Props" ], - "path": "packages/shared-ux/chrome/navigation/src/ui/navigation.tsx", + "path": "packages/shared-ux/chrome/navigation/src/ui/components/navigation.tsx", "deprecated": false, "trackAdoption": false, "isRequired": true @@ -484,66 +810,209 @@ }, { "parentPluginId": "@kbn/shared-ux-chrome-navigation", - "id": "def-common.NavigationServices", + "id": "def-common.CloudLinkDefinition", "type": "Interface", "tags": [], - "label": "NavigationServices", - "description": [ - "\nA list of services that are consumed by this component." + "label": "CloudLinkDefinition", + "description": [], + "signature": [ + { + "pluginId": "@kbn/shared-ux-chrome-navigation", + "scope": "common", + "docId": "kibKbnSharedUxChromeNavigationPluginApi", + "section": "def-common.CloudLinkDefinition", + "text": "CloudLinkDefinition" + }, + " extends ", + "Props" ], - "path": "packages/shared-ux/chrome/navigation/types/index.ts", + "path": "packages/shared-ux/chrome/navigation/src/ui/types.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "@kbn/shared-ux-chrome-navigation", - "id": "def-common.NavigationServices.activeNavItemId", + "id": "def-common.CloudLinkDefinition.type", "type": "string", "tags": [], - "label": "activeNavItemId", + "label": "type", "description": [], "signature": [ - "string | undefined" + "\"cloudLink\"" ], - "path": "packages/shared-ux/chrome/navigation/types/index.ts", + "path": "packages/shared-ux/chrome/navigation/src/ui/types.ts", "deprecated": false, "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.GroupDefinition", + "type": "Interface", + "tags": [], + "label": "GroupDefinition", + "description": [], + "signature": [ + { + "pluginId": "@kbn/shared-ux-chrome-navigation", + "scope": "common", + "docId": "kibKbnSharedUxChromeNavigationPluginApi", + "section": "def-common.GroupDefinition", + "text": "GroupDefinition" + }, + " extends ", + { + "pluginId": "@kbn/shared-ux-chrome-navigation", + "scope": "common", + "docId": "kibKbnSharedUxChromeNavigationPluginApi", + "section": "def-common.NodeDefinition", + "text": "NodeDefinition" }, + "" + ], + "path": "packages/shared-ux/chrome/navigation/src/ui/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "@kbn/shared-ux-chrome-navigation", - "id": "def-common.NavigationServices.basePath", - "type": "Object", + "id": "def-common.GroupDefinition.type", + "type": "string", "tags": [], - "label": "basePath", + "label": "type", "description": [], "signature": [ - "{ prepend: (url: string) => string; }" + "\"navGroup\"" ], - "path": "packages/shared-ux/chrome/navigation/types/index.ts", + "path": "packages/shared-ux/chrome/navigation/src/ui/types.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/shared-ux-chrome-navigation", - "id": "def-common.NavigationServices.loadingCount$", - "type": "Object", + "id": "def-common.GroupDefinition.defaultIsCollapsed", + "type": "CompoundType", "tags": [], - "label": "loadingCount$", - "description": [], + "label": "defaultIsCollapsed", + "description": [ + "Flag to indicate if the group is initially collapsed or not." + ], "signature": [ - "Observable", - "" + "boolean | undefined" ], - "path": "packages/shared-ux/chrome/navigation/types/index.ts", + "path": "packages/shared-ux/chrome/navigation/src/ui/types.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "@kbn/shared-ux-chrome-navigation", - "id": "def-common.NavigationServices.recentlyAccessed$", - "type": "Object", + "id": "def-common.GroupDefinition.children", + "type": "Array", "tags": [], - "label": "recentlyAccessed$", + "label": "children", + "description": [], + "signature": [ + { + "pluginId": "@kbn/shared-ux-chrome-navigation", + "scope": "common", + "docId": "kibKbnSharedUxChromeNavigationPluginApi", + "section": "def-common.NodeDefinition", + "text": "NodeDefinition" + }, + "[] | undefined" + ], + "path": "packages/shared-ux/chrome/navigation/src/ui/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.GroupDefinition.preset", + "type": "CompoundType", + "tags": [], + "label": "preset", + "description": [], + "signature": [ + { + "pluginId": "@kbn/shared-ux-chrome-navigation", + "scope": "common", + "docId": "kibKbnSharedUxChromeNavigationPluginApi", + "section": "def-common.NavigationGroupPreset", + "text": "NavigationGroupPreset" + }, + " | undefined" + ], + "path": "packages/shared-ux/chrome/navigation/src/ui/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.NavigationServices", + "type": "Interface", + "tags": [], + "label": "NavigationServices", + "description": [ + "\nA list of services that are consumed by this component." + ], + "path": "packages/shared-ux/chrome/navigation/types/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.NavigationServices.activeNavItemId", + "type": "string", + "tags": [], + "label": "activeNavItemId", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/shared-ux/chrome/navigation/types/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.NavigationServices.basePath", + "type": "Object", + "tags": [], + "label": "basePath", + "description": [], + "signature": [ + "{ prepend: (url: string) => string; }" + ], + "path": "packages/shared-ux/chrome/navigation/types/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.NavigationServices.loadingCount$", + "type": "Object", + "tags": [], + "label": "loadingCount$", + "description": [], + "signature": [ + "Observable", + "" + ], + "path": "packages/shared-ux/chrome/navigation/types/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.NavigationServices.recentlyAccessed$", + "type": "Object", + "tags": [], + "label": "recentlyAccessed$", "description": [], "signature": [ "Observable", @@ -555,6 +1024,29 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.NavigationServices.navLinks$", + "type": "Object", + "tags": [], + "label": "navLinks$", + "description": [], + "signature": [ + "Observable", + "" + ], + "path": "packages/shared-ux/chrome/navigation/types/index.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "@kbn/shared-ux-chrome-navigation", "id": "def-common.NavigationServices.navIsOpen", @@ -622,13 +1114,407 @@ "trackAdoption": false } ] + }, + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.NavigationServices.onProjectNavigationChange", + "type": "Function", + "tags": [], + "label": "onProjectNavigationChange", + "description": [], + "signature": [ + "(chromeProjectNavigation: ", + { + "pluginId": "@kbn/core-chrome-browser", + "scope": "common", + "docId": "kibKbnCoreChromeBrowserPluginApi", + "section": "def-common.ChromeProjectNavigation", + "text": "ChromeProjectNavigation" + }, + ") => void" + ], + "path": "packages/shared-ux/chrome/navigation/types/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.NavigationServices.onProjectNavigationChange.$1", + "type": "Object", + "tags": [], + "label": "chromeProjectNavigation", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-chrome-browser", + "scope": "common", + "docId": "kibKbnCoreChromeBrowserPluginApi", + "section": "def-common.ChromeProjectNavigation", + "text": "ChromeProjectNavigation" + } + ], + "path": "packages/shared-ux/chrome/navigation/types/index.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.NavigationTreeDefinition", + "type": "Interface", + "tags": [], + "label": "NavigationTreeDefinition", + "description": [], + "path": "packages/shared-ux/chrome/navigation/src/ui/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.NavigationTreeDefinition.body", + "type": "Array", + "tags": [], + "label": "body", + "description": [ + "\nMain content of the navigation. Can contain any number of \"cloudLink\", \"recentlyAccessed\"\nor \"group\" items. Be mindeful though, with great power comes great responsibility." + ], + "signature": [ + { + "pluginId": "@kbn/shared-ux-chrome-navigation", + "scope": "common", + "docId": "kibKbnSharedUxChromeNavigationPluginApi", + "section": "def-common.RootNavigationItemDefinition", + "text": "RootNavigationItemDefinition" + }, + "[] | undefined" + ], + "path": "packages/shared-ux/chrome/navigation/src/ui/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.NavigationTreeDefinition.footer", + "type": "Array", + "tags": [], + "label": "footer", + "description": [ + "\nFooter content of the navigation. Can contain any number of \"cloudLink\", \"recentlyAccessed\"\nor \"group\" items. Be mindeful though, with great power comes great responsibility." + ], + "signature": [ + { + "pluginId": "@kbn/shared-ux-chrome-navigation", + "scope": "common", + "docId": "kibKbnSharedUxChromeNavigationPluginApi", + "section": "def-common.RootNavigationItemDefinition", + "text": "RootNavigationItemDefinition" + }, + "[] | undefined" + ], + "path": "packages/shared-ux/chrome/navigation/src/ui/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.NodeDefinition", + "type": "Interface", + "tags": [], + "label": "NodeDefinition", + "description": [], + "signature": [ + { + "pluginId": "@kbn/shared-ux-chrome-navigation", + "scope": "common", + "docId": "kibKbnSharedUxChromeNavigationPluginApi", + "section": "def-common.NodeDefinition", + "text": "NodeDefinition" + }, + "" + ], + "path": "packages/shared-ux/chrome/navigation/src/ui/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.NodeDefinition.id", + "type": "Uncategorized", + "tags": [], + "label": "id", + "description": [ + "Optional id, if not passed a \"link\" must be provided." + ], + "signature": [ + "T | undefined" + ], + "path": "packages/shared-ux/chrome/navigation/src/ui/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.NodeDefinition.title", + "type": "string", + "tags": [], + "label": "title", + "description": [ + "Optional title. If not provided and a \"link\" is provided the title will be the Deep link title" + ], + "signature": [ + "string | undefined" + ], + "path": "packages/shared-ux/chrome/navigation/src/ui/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.NodeDefinition.link", + "type": "string", + "tags": [], + "label": "link", + "description": [ + "App id or deeplink id" + ], + "signature": [ + "string | undefined" + ], + "path": "packages/shared-ux/chrome/navigation/src/ui/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.NodeDefinition.icon", + "type": "string", + "tags": [], + "label": "icon", + "description": [ + "Optional icon for the navigation node. Note: not all navigation depth will render the icon" + ], + "signature": [ + "string | undefined" + ], + "path": "packages/shared-ux/chrome/navigation/src/ui/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.NodeDefinition.children", + "type": "Array", + "tags": [], + "label": "children", + "description": [ + "Optional children of the navigation node" + ], + "signature": [ + { + "pluginId": "@kbn/shared-ux-chrome-navigation", + "scope": "common", + "docId": "kibKbnSharedUxChromeNavigationPluginApi", + "section": "def-common.NodeDefinition", + "text": "NodeDefinition" + }, + "[] | undefined" + ], + "path": "packages/shared-ux/chrome/navigation/src/ui/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.NodeDefinition.href", + "type": "string", + "tags": [], + "label": "href", + "description": [ + "\nTemporarilly we allow href to be passed.\nOnce all the deeplinks will be exposed in packages we will not allow href anymore\nand force deeplink id to be passed" + ], + "signature": [ + "string | undefined" + ], + "path": "packages/shared-ux/chrome/navigation/src/ui/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.ProjectNavigationDefinition", + "type": "Interface", + "tags": [], + "label": "ProjectNavigationDefinition", + "description": [], + "path": "packages/shared-ux/chrome/navigation/src/ui/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.ProjectNavigationDefinition.homeRef", + "type": "string", + "tags": [], + "label": "homeRef", + "description": [ + "\nThe URL href for the home link" + ], + "path": "packages/shared-ux/chrome/navigation/src/ui/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.ProjectNavigationDefinition.projectNavigationTree", + "type": "Array", + "tags": [], + "label": "projectNavigationTree", + "description": [ + "\nA navigation tree structure with object items containing labels, links, and sub-items\nfor a project. Use it if you only need to configure your project navigation and leave\nall the other navigation items to the default (Recently viewed items, Management, etc.)" + ], + "signature": [ + "ProjectNavigationTreeDefinition", + " | undefined" + ], + "path": "packages/shared-ux/chrome/navigation/src/ui/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.ProjectNavigationDefinition.navigationTree", + "type": "Object", + "tags": [], + "label": "navigationTree", + "description": [ + "\nA navigation tree structure with object items containing labels, links, and sub-items\nthat defines a complete side navigation. This configuration overrides `projectNavigationTree`\nif both are provided." + ], + "signature": [ + { + "pluginId": "@kbn/shared-ux-chrome-navigation", + "scope": "common", + "docId": "kibKbnSharedUxChromeNavigationPluginApi", + "section": "def-common.NavigationTreeDefinition", + "text": "NavigationTreeDefinition" + }, + " | undefined" + ], + "path": "packages/shared-ux/chrome/navigation/src/ui/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.RecentlyAccessedDefinition", + "type": "Interface", + "tags": [], + "label": "RecentlyAccessedDefinition", + "description": [], + "signature": [ + { + "pluginId": "@kbn/shared-ux-chrome-navigation", + "scope": "common", + "docId": "kibKbnSharedUxChromeNavigationPluginApi", + "section": "def-common.RecentlyAccessedDefinition", + "text": "RecentlyAccessedDefinition" + }, + " extends ", + "Props" + ], + "path": "packages/shared-ux/chrome/navigation/src/ui/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.RecentlyAccessedDefinition.type", + "type": "string", + "tags": [], + "label": "type", + "description": [], + "signature": [ + "\"recentlyAccessed\"" + ], + "path": "packages/shared-ux/chrome/navigation/src/ui/types.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false } ], "enums": [], - "misc": [], + "misc": [ + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.NavigationGroupPreset", + "type": "Type", + "tags": [], + "label": "NavigationGroupPreset", + "description": [ + "The preset that can be pass to the NavigationBucket component" + ], + "signature": [ + "\"ml\" | \"analytics\" | \"management\" | \"devtools\"" + ], + "path": "packages/shared-ux/chrome/navigation/src/ui/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/shared-ux-chrome-navigation", + "id": "def-common.RootNavigationItemDefinition", + "type": "Type", + "tags": [], + "label": "RootNavigationItemDefinition", + "description": [], + "signature": [ + { + "pluginId": "@kbn/shared-ux-chrome-navigation", + "scope": "common", + "docId": "kibKbnSharedUxChromeNavigationPluginApi", + "section": "def-common.CloudLinkDefinition", + "text": "CloudLinkDefinition" + }, + " | ", + { + "pluginId": "@kbn/shared-ux-chrome-navigation", + "scope": "common", + "docId": "kibKbnSharedUxChromeNavigationPluginApi", + "section": "def-common.GroupDefinition", + "text": "GroupDefinition" + }, + " | ", + { + "pluginId": "@kbn/shared-ux-chrome-navigation", + "scope": "common", + "docId": "kibKbnSharedUxChromeNavigationPluginApi", + "section": "def-common.RecentlyAccessedDefinition", + "text": "RecentlyAccessedDefinition" + } + ], + "path": "packages/shared-ux/chrome/navigation/src/ui/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_shared_ux_chrome_navigation.mdx b/api_docs/kbn_shared_ux_chrome_navigation.mdx index 5d71ffc1ecc8f..2167b5d3874d6 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-chrome-navigation'] --- import kbnSharedUxChromeNavigationObj from './kbn_shared_ux_chrome_navigation.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 34 | 0 | 17 | 3 | +| 76 | 0 | 46 | 7 | ## Common @@ -31,3 +31,6 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh ### Interfaces +### Consts, variables and types + + diff --git a/api_docs/kbn_shared_ux_file_context.mdx b/api_docs/kbn_shared_ux_file_context.mdx index 3b64acacfd43d..f4e4042d2394c 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-05-16 +date: 2023-06-07 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 bc1322d57b158..191d805d213d9 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-05-16 +date: 2023-06-07 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 a5e8ec51ef0e8..5fe6ab0958378 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-05-16 +date: 2023-06-07 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 db18dbe5a1d55..ad62ed200960d 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-05-16 +date: 2023-06-07 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 b2d47a77d8fa1..e14c733ca3b96 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-05-16 +date: 2023-06-07 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 7a4da117bac9c..1513c7d24c3b2 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-05-16 +date: 2023-06-07 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 1c648ebee4182..1de02a3f00ebd 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-05-16 +date: 2023-06-07 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 957c5367415c8..5970af12f0972 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-05-16 +date: 2023-06-07 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 e2342493131ca..ea28d049416f6 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-05-16 +date: 2023-06-07 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 e3d4305faf786..a400be98aae18 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-05-16 +date: 2023-06-07 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 d5ef3d0de276f..cbd81e0c7f0f2 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-05-16 +date: 2023-06-07 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 37504e1b04d2b..641a58619da6e 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-05-16 +date: 2023-06-07 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 63c273abf6092..f3669149a918d 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-05-16 +date: 2023-06-07 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 7ebc3ac1001a8..3666b90eaf945 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-05-16 +date: 2023-06-07 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 c3c26b281e75b..8c22950769b15 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-05-16 +date: 2023-06-07 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 829889811c969..1bd430a7f3db3 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-05-16 +date: 2023-06-07 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 7d9af6b6580d3..c9509c4ede735 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-05-16 +date: 2023-06-07 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 8c83d4300e223..e00ab38343d9f 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-05-16 +date: 2023-06-07 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 8f712a96003fd..5ff4d7eefc105 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-05-16 +date: 2023-06-07 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 98b85673e337c..f3878c1c9ce3f 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-05-16 +date: 2023-06-07 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 8397bb2b63dc1..d468a68ee7f3c 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-05-16 +date: 2023-06-07 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 ce1c2277e412e..67b8a1b7c2d89 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-05-16 +date: 2023-06-07 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 e925f9ec2c607..a68063227eadd 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-05-16 +date: 2023-06-07 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 6d6c01436c533..ca99204950830 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-05-16 +date: 2023-06-07 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 9009f1da7a40c..a3b6c4c362f60 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-05-16 +date: 2023-06-07 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 300e4e643e1f8..1352cf38074cf 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-05-16 +date: 2023-06-07 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 b9a4108d28be9..6de01bdf83567 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-05-16 +date: 2023-06-07 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 a067833208d82..ed9c7230ea0a7 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-05-16 +date: 2023-06-07 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 9c9b2b0482625..822d89c7dbc8b 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-05-16 +date: 2023-06-07 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 831d451757626..db7262d4eee17 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-05-16 +date: 2023-06-07 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 c8d4dc889fe15..4ea11cce7f2b0 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-05-16 +date: 2023-06-07 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.devdocs.json b/api_docs/kbn_slo_schema.devdocs.json index e24a485b0838a..06f96c6af29b0 100644 --- a/api_docs/kbn_slo_schema.devdocs.json +++ b/api_docs/kbn_slo_schema.devdocs.json @@ -227,6 +227,52 @@ ], "returnComment": [] }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.Duration.isEqual", + "type": "Function", + "tags": [], + "label": "isEqual", + "description": [], + "signature": [ + "(other: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ") => boolean" + ], + "path": "packages/kbn-slo-schema/src/models/duration.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.Duration.isEqual.$1", + "type": "Object", + "tags": [], + "label": "other", + "description": [], + "signature": [ + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + } + ], + "path": "packages/kbn-slo-schema/src/models/duration.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, { "parentPluginId": "@kbn/slo-schema", "id": "def-common.Duration.format", @@ -367,6 +413,36 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.APMTransactionDurationIndicatorSchema", + "type": "Type", + "tags": [], + "label": "APMTransactionDurationIndicatorSchema", + "description": [], + "signature": [ + "{ type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; }" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.APMTransactionErrorRateIndicatorSchema", + "type": "Type", + "tags": [], + "label": "APMTransactionErrorRateIndicatorSchema", + "description": [], + "signature": [ + "{ type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; }" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/slo-schema", "id": "def-common.BudgetingMethod", @@ -382,6 +458,75 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.CreateCompositeSLOInput", + "type": "Type", + "tags": [], + "label": "CreateCompositeSLOInput", + "description": [], + "signature": [ + "{ name: string; timeWindow: { duration: string; type: \"rolling\"; } | { duration: string; type: \"calendarAligned\"; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; compositeMethod: \"weightedAverage\"; sources: { id: string; revision: number; weight: number; }[]; } & { id?: string | undefined; tags?: string[] | undefined; }" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/composite_slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.CreateCompositeSLOParams", + "type": "Type", + "tags": [], + "label": "CreateCompositeSLOParams", + "description": [], + "signature": [ + "{ name: string; timeWindow: { duration: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + "; type: \"rolling\"; } | { duration: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + "; type: \"calendarAligned\"; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + " | undefined; }; compositeMethod: \"weightedAverage\"; sources: { id: string; revision: number; weight: number; }[]; } & { id?: string | undefined; tags?: string[] | undefined; }" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/composite_slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.CreateCompositeSLOResponse", + "type": "Type", + "tags": [], + "label": "CreateCompositeSLOResponse", + "description": [], + "signature": [ + "{ id: string; }" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/composite_slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/slo-schema", "id": "def-common.CreateSLOInput", @@ -390,7 +535,7 @@ "label": "CreateSLOInput", "description": [], "signature": [ - "{ name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; }; timeWindow: { duration: string; isRolling: boolean; } | { duration: string; isCalendar: boolean; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; } & { settings?: { syncDelay?: string | undefined; frequency?: string | undefined; } | undefined; tags?: string[] | undefined; }" + "{ name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; } | { type: \"sli.metric.custom\"; params: { index: string; filter: string; good: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; total: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; timestampField: string; }; }; timeWindow: { duration: string; type: \"rolling\"; } | { duration: string; type: \"calendarAligned\"; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; } & { id?: string | undefined; settings?: { syncDelay?: string | undefined; frequency?: string | undefined; } | undefined; tags?: string[] | undefined; }" ], "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", "deprecated": false, @@ -405,7 +550,7 @@ "label": "CreateSLOParams", "description": [], "signature": [ - "{ name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; }; timeWindow: { duration: ", + "{ name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; } | { type: \"sli.metric.custom\"; params: { index: string; filter: string; good: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; total: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; timestampField: string; }; }; timeWindow: { duration: ", { "pluginId": "@kbn/slo-schema", "scope": "common", @@ -413,7 +558,7 @@ "section": "def-common.Duration", "text": "Duration" }, - "; isRolling: boolean; } | { duration: ", + "; type: \"rolling\"; } | { duration: ", { "pluginId": "@kbn/slo-schema", "scope": "common", @@ -421,7 +566,7 @@ "section": "def-common.Duration", "text": "Duration" }, - "; isCalendar: boolean; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: ", + "; type: \"calendarAligned\"; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: ", { "pluginId": "@kbn/slo-schema", "scope": "common", @@ -429,7 +574,7 @@ "section": "def-common.Duration", "text": "Duration" }, - " | undefined; }; } & { settings?: { syncDelay?: ", + " | undefined; }; } & { id?: string | undefined; settings?: { syncDelay?: ", { "pluginId": "@kbn/slo-schema", "scope": "common", @@ -497,6 +642,36 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.FindCompositeSLOParams", + "type": "Type", + "tags": [], + "label": "FindCompositeSLOParams", + "description": [], + "signature": [ + "{ name?: string | undefined; page?: string | undefined; perPage?: string | undefined; sortBy?: \"creationTime\" | undefined; sortDirection?: \"asc\" | \"desc\" | undefined; }" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/composite_slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.FindCompositeSLOResponse", + "type": "Type", + "tags": [], + "label": "FindCompositeSLOResponse", + "description": [], + "signature": [ + "{ page: number; perPage: number; total: number; results: ({ id: string; name: string; timeWindow: { duration: string; type: \"rolling\"; } | { duration: string; type: \"calendarAligned\"; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; compositeMethod: \"weightedAverage\"; sources: { id: string; revision: number; weight: number; }[]; tags: string[]; createdAt: string; updatedAt: string; } & { summary: { status: \"HEALTHY\" | \"NO_DATA\" | \"DEGRADING\" | \"VIOLATED\"; sliValue: number; errorBudget: { initial: number; consumed: number; remaining: number; isEstimated: boolean; }; }; })[]; }" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/composite_slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/slo-schema", "id": "def-common.FindSLOParams", @@ -520,13 +695,28 @@ "label": "FindSLOResponse", "description": [], "signature": [ - "{ page: number; perPage: number; total: number; results: ({ id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; }; timeWindow: { duration: string; isRolling: boolean; } | { duration: string; isCalendar: boolean; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; revision: number; settings: { syncDelay: string; frequency: string; }; enabled: boolean; tags: string[]; createdAt: string; updatedAt: string; } & { summary: { status: \"HEALTHY\" | \"NO_DATA\" | \"DEGRADING\" | \"VIOLATED\"; sliValue: number; errorBudget: { initial: number; consumed: number; remaining: number; isEstimated: boolean; }; }; })[]; }" + "{ page: number; perPage: number; total: number; results: ({ id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; } | { type: \"sli.metric.custom\"; params: { index: string; filter: string; good: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; total: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; timestampField: string; }; }; timeWindow: { duration: string; type: \"rolling\"; } | { duration: string; type: \"calendarAligned\"; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; revision: number; settings: { syncDelay: string; frequency: string; }; enabled: boolean; tags: string[]; createdAt: string; updatedAt: string; } & { summary: { status: \"HEALTHY\" | \"NO_DATA\" | \"DEGRADING\" | \"VIOLATED\"; sliValue: number; errorBudget: { initial: number; consumed: number; remaining: number; isEstimated: boolean; }; }; })[]; }" ], "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.GetCompositeSLOResponse", + "type": "Type", + "tags": [], + "label": "GetCompositeSLOResponse", + "description": [], + "signature": [ + "{ id: string; name: string; timeWindow: { duration: string; type: \"rolling\"; } | { duration: string; type: \"calendarAligned\"; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; compositeMethod: \"weightedAverage\"; sources: { id: string; revision: number; weight: number; }[]; tags: string[]; createdAt: string; updatedAt: string; } & { summary: { status: \"HEALTHY\" | \"NO_DATA\" | \"DEGRADING\" | \"VIOLATED\"; sliValue: number; errorBudget: { initial: number; consumed: number; remaining: number; isEstimated: boolean; }; }; }" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/composite_slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/slo-schema", "id": "def-common.GetSLOResponse", @@ -535,7 +725,7 @@ "label": "GetSLOResponse", "description": [], "signature": [ - "{ id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; }; timeWindow: { duration: string; isRolling: boolean; } | { duration: string; isCalendar: boolean; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; revision: number; settings: { syncDelay: string; frequency: string; }; enabled: boolean; tags: string[]; createdAt: string; updatedAt: string; } & { summary: { status: \"HEALTHY\" | \"NO_DATA\" | \"DEGRADING\" | \"VIOLATED\"; sliValue: number; errorBudget: { initial: number; consumed: number; remaining: number; isEstimated: boolean; }; }; }" + "{ id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; } | { type: \"sli.metric.custom\"; params: { index: string; filter: string; good: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; total: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; timestampField: string; }; }; timeWindow: { duration: string; type: \"rolling\"; } | { duration: string; type: \"calendarAligned\"; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; revision: number; settings: { syncDelay: string; frequency: string; }; enabled: boolean; tags: string[]; createdAt: string; updatedAt: string; } & { summary: { status: \"HEALTHY\" | \"NO_DATA\" | \"DEGRADING\" | \"VIOLATED\"; sliValue: number; errorBudget: { initial: number; consumed: number; remaining: number; isEstimated: boolean; }; }; }" ], "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", "deprecated": false, @@ -557,6 +747,21 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.KQLCustomIndicatorSchema", + "type": "Type", + "tags": [], + "label": "KQLCustomIndicatorSchema", + "description": [], + "signature": [ + "{ type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; }" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/slo-schema", "id": "def-common.ManageSLOParams", @@ -572,6 +777,21 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.MetricCustomIndicatorSchema", + "type": "Type", + "tags": [], + "label": "MetricCustomIndicatorSchema", + "description": [], + "signature": [ + "{ type: \"sli.metric.custom\"; params: { index: string; filter: string; good: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; total: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; timestampField: string; }; }" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/slo-schema", "id": "def-common.SLOResponse", @@ -580,7 +800,7 @@ "label": "SLOResponse", "description": [], "signature": [ - "{ id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; }; timeWindow: { duration: string; isRolling: boolean; } | { duration: string; isCalendar: boolean; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; revision: number; settings: { syncDelay: string; frequency: string; }; enabled: boolean; tags: string[]; createdAt: string; updatedAt: string; }" + "{ id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; } | { type: \"sli.metric.custom\"; params: { index: string; filter: string; good: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; total: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; timestampField: string; }; }; timeWindow: { duration: string; type: \"rolling\"; } | { duration: string; type: \"calendarAligned\"; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; revision: number; settings: { syncDelay: string; frequency: string; }; enabled: boolean; tags: string[]; createdAt: string; updatedAt: string; }" ], "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", "deprecated": false, @@ -595,13 +815,97 @@ "label": "SLOWithSummaryResponse", "description": [], "signature": [ - "{ id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; }; timeWindow: { duration: string; isRolling: boolean; } | { duration: string; isCalendar: boolean; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; revision: number; settings: { syncDelay: string; frequency: string; }; enabled: boolean; tags: string[]; createdAt: string; updatedAt: string; } & { summary: { status: \"HEALTHY\" | \"NO_DATA\" | \"DEGRADING\" | \"VIOLATED\"; sliValue: number; errorBudget: { initial: number; consumed: number; remaining: number; isEstimated: boolean; }; }; }" + "{ id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; } | { type: \"sli.metric.custom\"; params: { index: string; filter: string; good: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; total: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; timestampField: string; }; }; timeWindow: { duration: string; type: \"rolling\"; } | { duration: string; type: \"calendarAligned\"; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; revision: number; settings: { syncDelay: string; frequency: string; }; enabled: boolean; tags: string[]; createdAt: string; updatedAt: string; } & { summary: { status: \"HEALTHY\" | \"NO_DATA\" | \"DEGRADING\" | \"VIOLATED\"; sliValue: number; errorBudget: { initial: number; consumed: number; remaining: number; isEstimated: boolean; }; }; }" ], "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.SummarySchema", + "type": "Type", + "tags": [], + "label": "SummarySchema", + "description": [], + "signature": [ + "{ status: \"HEALTHY\" | \"NO_DATA\" | \"DEGRADING\" | \"VIOLATED\"; sliValue: number; errorBudget: { initial: number; consumed: number; remaining: number; isEstimated: boolean; }; }" + ], + "path": "packages/kbn-slo-schema/src/schema/common.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.UpdateCompositeSLOInput", + "type": "Type", + "tags": [], + "label": "UpdateCompositeSLOInput", + "description": [], + "signature": [ + "{ name?: string | undefined; compositeMethod?: \"weightedAverage\" | undefined; sources?: { id: string; revision: number; weight: number; }[] | undefined; timeWindow?: { duration: string; type: \"rolling\"; } | { duration: string; type: \"calendarAligned\"; } | undefined; budgetingMethod?: \"occurrences\" | \"timeslices\" | undefined; objective?: ({ target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }) | undefined; tags?: string[] | undefined; }" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/composite_slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.UpdateCompositeSLOParams", + "type": "Type", + "tags": [], + "label": "UpdateCompositeSLOParams", + "description": [], + "signature": [ + "{ name?: string | undefined; compositeMethod?: \"weightedAverage\" | undefined; sources?: { id: string; revision: number; weight: number; }[] | undefined; timeWindow?: { duration: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + "; type: \"rolling\"; } | { duration: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + "; type: \"calendarAligned\"; } | undefined; budgetingMethod?: \"occurrences\" | \"timeslices\" | undefined; objective?: ({ target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + " | undefined; }) | undefined; tags?: string[] | undefined; }" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/composite_slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.UpdateCompositeSLOResponse", + "type": "Type", + "tags": [], + "label": "UpdateCompositeSLOResponse", + "description": [], + "signature": [ + "{ id: string; name: string; timeWindow: { duration: string; type: \"rolling\"; } | { duration: string; type: \"calendarAligned\"; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; compositeMethod: \"weightedAverage\"; sources: { id: string; revision: number; weight: number; }[]; tags: string[]; createdAt: string; updatedAt: string; }" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/composite_slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/slo-schema", "id": "def-common.UpdateSLOInput", @@ -610,7 +914,7 @@ "label": "UpdateSLOInput", "description": [], "signature": [ - "{ name?: string | undefined; description?: string | undefined; indicator?: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; } | undefined; timeWindow?: { duration: string; isRolling: boolean; } | { duration: string; isCalendar: boolean; } | undefined; budgetingMethod?: \"occurrences\" | \"timeslices\" | undefined; objective?: ({ target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }) | undefined; settings?: { syncDelay?: string | undefined; frequency?: string | undefined; } | undefined; tags?: string[] | undefined; }" + "{ name?: string | undefined; description?: string | undefined; indicator?: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; } | { type: \"sli.metric.custom\"; params: { index: string; filter: string; good: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; total: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; timestampField: string; }; } | undefined; timeWindow?: { duration: string; type: \"rolling\"; } | { duration: string; type: \"calendarAligned\"; } | undefined; budgetingMethod?: \"occurrences\" | \"timeslices\" | undefined; objective?: ({ target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }) | undefined; settings?: { syncDelay?: string | undefined; frequency?: string | undefined; } | undefined; tags?: string[] | undefined; }" ], "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", "deprecated": false, @@ -625,7 +929,7 @@ "label": "UpdateSLOParams", "description": [], "signature": [ - "{ name?: string | undefined; description?: string | undefined; indicator?: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; } | undefined; timeWindow?: { duration: ", + "{ name?: string | undefined; description?: string | undefined; indicator?: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; } | { type: \"sli.metric.custom\"; params: { index: string; filter: string; good: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; total: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; timestampField: string; }; } | undefined; timeWindow?: { duration: ", { "pluginId": "@kbn/slo-schema", "scope": "common", @@ -633,7 +937,7 @@ "section": "def-common.Duration", "text": "Duration" }, - "; isRolling: boolean; } | { duration: ", + "; type: \"rolling\"; } | { duration: ", { "pluginId": "@kbn/slo-schema", "scope": "common", @@ -641,7 +945,7 @@ "section": "def-common.Duration", "text": "Duration" }, - "; isCalendar: boolean; } | undefined; budgetingMethod?: \"occurrences\" | \"timeslices\" | undefined; objective?: ({ target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: ", + "; type: \"calendarAligned\"; } | undefined; budgetingMethod?: \"occurrences\" | \"timeslices\" | undefined; objective?: ({ target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: ", { "pluginId": "@kbn/slo-schema", "scope": "common", @@ -680,7 +984,7 @@ "label": "UpdateSLOResponse", "description": [], "signature": [ - "{ id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; }; timeWindow: { duration: string; isRolling: boolean; } | { duration: string; isCalendar: boolean; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; revision: number; settings: { syncDelay: string; frequency: string; }; enabled: boolean; tags: string[]; createdAt: string; updatedAt: string; }" + "{ id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; } | { type: \"sli.metric.custom\"; params: { index: string; filter: string; good: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; total: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; timestampField: string; }; }; timeWindow: { duration: string; type: \"rolling\"; } | { duration: string; type: \"calendarAligned\"; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; revision: number; settings: { syncDelay: string; frequency: string; }; enabled: boolean; tags: string[]; createdAt: string; updatedAt: string; }" ], "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", "deprecated": false, @@ -886,9 +1190,9 @@ "section": "def-common.Duration", "text": "Duration" }, - ", string, unknown>; isCalendar: ", + ", string, unknown>; type: ", "LiteralC", - "; }>" + "<\"calendarAligned\">; }>" ], "path": "packages/kbn-slo-schema/src/schema/time_window.ts", "deprecated": false, @@ -897,21 +1201,342 @@ }, { "parentPluginId": "@kbn/slo-schema", - "id": "def-common.createSLOParamsSchema", + "id": "def-common.calendarAlignedTimeWindowTypeSchema", "type": "Object", "tags": [], - "label": "createSLOParamsSchema", + "label": "calendarAlignedTimeWindowTypeSchema", "description": [], "signature": [ - "TypeC", - "<{ body: ", - "IntersectionC", - "<[", - "TypeC", - "<{ name: ", - "StringC", - "; description: ", - "StringC", + "LiteralC", + "<\"calendarAligned\">" + ], + "path": "packages/kbn-slo-schema/src/schema/time_window.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.compositeSloIdSchema", + "type": "Object", + "tags": [], + "label": "compositeSloIdSchema", + "description": [], + "signature": [ + "StringC" + ], + "path": "packages/kbn-slo-schema/src/schema/composite_slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.compositeSLOResponseSchema", + "type": "Object", + "tags": [], + "label": "compositeSLOResponseSchema", + "description": [], + "signature": [ + "TypeC", + "<{ id: ", + "StringC", + "; name: ", + "StringC", + "; timeWindow: ", + "UnionC", + "<[", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; type: ", + "LiteralC", + "<\"rolling\">; }>, ", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; type: ", + "LiteralC", + "<\"calendarAligned\">; }>]>; budgetingMethod: ", + "UnionC", + "<[", + "LiteralC", + "<\"occurrences\">, ", + "LiteralC", + "<\"timeslices\">]>; objective: ", + "IntersectionC", + "<[", + "TypeC", + "<{ target: ", + "NumberC", + "; }>, ", + "PartialC", + "<{ timesliceTarget: ", + "NumberC", + "; timesliceWindow: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; }>]>; compositeMethod: ", + "LiteralC", + "<\"weightedAverage\">; sources: ", + "ArrayC", + "<", + "TypeC", + "<{ id: ", + "StringC", + "; revision: ", + "NumberC", + "; weight: ", + "NumberC", + "; }>>; tags: ", + "ArrayC", + "<", + "StringC", + ">; createdAt: ", + "Type", + "; updatedAt: ", + "Type", + "; }>" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/composite_slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.compositeSloSchema", + "type": "Object", + "tags": [], + "label": "compositeSloSchema", + "description": [], + "signature": [ + "TypeC", + "<{ id: ", + "StringC", + "; name: ", + "StringC", + "; timeWindow: ", + "UnionC", + "<[", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; type: ", + "LiteralC", + "<\"rolling\">; }>, ", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; type: ", + "LiteralC", + "<\"calendarAligned\">; }>]>; budgetingMethod: ", + "UnionC", + "<[", + "LiteralC", + "<\"occurrences\">, ", + "LiteralC", + "<\"timeslices\">]>; compositeMethod: ", + "LiteralC", + "<\"weightedAverage\">; objective: ", + "IntersectionC", + "<[", + "TypeC", + "<{ target: ", + "NumberC", + "; }>, ", + "PartialC", + "<{ timesliceTarget: ", + "NumberC", + "; timesliceWindow: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; }>]>; sources: ", + "ArrayC", + "<", + "TypeC", + "<{ id: ", + "StringC", + "; revision: ", + "NumberC", + "; weight: ", + "NumberC", + "; }>>; tags: ", + "ArrayC", + "<", + "StringC", + ">; createdAt: ", + "Type", + "; updatedAt: ", + "Type", + "; }>" + ], + "path": "packages/kbn-slo-schema/src/schema/composite_slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.createCompositeSLOParamsSchema", + "type": "Object", + "tags": [], + "label": "createCompositeSLOParamsSchema", + "description": [], + "signature": [ + "TypeC", + "<{ body: ", + "IntersectionC", + "<[", + "TypeC", + "<{ name: ", + "StringC", + "; timeWindow: ", + "UnionC", + "<[", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; type: ", + "LiteralC", + "<\"rolling\">; }>, ", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; type: ", + "LiteralC", + "<\"calendarAligned\">; }>]>; budgetingMethod: ", + "UnionC", + "<[", + "LiteralC", + "<\"occurrences\">, ", + "LiteralC", + "<\"timeslices\">]>; objective: ", + "IntersectionC", + "<[", + "TypeC", + "<{ target: ", + "NumberC", + "; }>, ", + "PartialC", + "<{ timesliceTarget: ", + "NumberC", + "; timesliceWindow: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; }>]>; compositeMethod: ", + "LiteralC", + "<\"weightedAverage\">; sources: ", + "ArrayC", + "<", + "TypeC", + "<{ id: ", + "StringC", + "; revision: ", + "NumberC", + "; weight: ", + "NumberC", + "; }>>; }>, ", + "PartialC", + "<{ id: ", + "StringC", + "; tags: ", + "ArrayC", + "<", + "StringC", + ">; }>]>; }>" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/composite_slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.createSLOParamsSchema", + "type": "Object", + "tags": [], + "label": "createSLOParamsSchema", + "description": [], + "signature": [ + "TypeC", + "<{ body: ", + "IntersectionC", + "<[", + "TypeC", + "<{ name: ", + "StringC", + "; description: ", + "StringC", "; indicator: ", "UnionC", "<[", @@ -1008,6 +1633,46 @@ "StringC", "; timestampField: ", "StringC", + "; }>; }>, ", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.metric.custom\">; params: ", + "TypeC", + "<{ index: ", + "StringC", + "; filter: ", + "StringC", + "; good: ", + "TypeC", + "<{ metrics: ", + "ArrayC", + "<", + "TypeC", + "<{ name: ", + "StringC", + "; aggregation: ", + "KeyofC", + "<{ sum: boolean; }>; field: ", + "StringC", + "; }>>; equation: ", + "StringC", + "; }>; total: ", + "TypeC", + "<{ metrics: ", + "ArrayC", + "<", + "TypeC", + "<{ name: ", + "StringC", + "; aggregation: ", + "KeyofC", + "<{ sum: boolean; }>; field: ", + "StringC", + "; }>>; equation: ", + "StringC", + "; }>; timestampField: ", + "StringC", "; }>; }>]>; timeWindow: ", "UnionC", "<[", @@ -1022,9 +1687,9 @@ "section": "def-common.Duration", "text": "Duration" }, - ", string, unknown>; isRolling: ", + ", string, unknown>; type: ", "LiteralC", - "; }>, ", + "<\"rolling\">; }>, ", "TypeC", "<{ duration: ", "Type", @@ -1036,9 +1701,9 @@ "section": "def-common.Duration", "text": "Duration" }, - ", string, unknown>; isCalendar: ", + ", string, unknown>; type: ", "LiteralC", - "; }>]>; budgetingMethod: ", + "<\"calendarAligned\">; }>]>; budgetingMethod: ", "UnionC", "<[", "LiteralC", @@ -1066,7 +1731,9 @@ }, ", string, unknown>; }>]>; }>, ", "PartialC", - "<{ settings: ", + "<{ id: ", + "StringC", + "; settings: ", "PartialC", "<{ syncDelay: ", "Type", @@ -1135,6 +1802,26 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.deleteCompositeSLOParamsSchema", + "type": "Object", + "tags": [], + "label": "deleteCompositeSLOParamsSchema", + "description": [], + "signature": [ + "TypeC", + "<{ path: ", + "TypeC", + "<{ id: ", + "StringC", + "; }>; }>" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/composite_slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/slo-schema", "id": "def-common.deleteSLOParamsSchema", @@ -1172,80 +1859,246 @@ "section": "def-common.Duration", "text": "Duration" }, - ", string, unknown>" - ], - "path": "packages/kbn-slo-schema/src/schema/duration.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/slo-schema", - "id": "def-common.errorBudgetSchema", - "type": "Object", - "tags": [], - "label": "errorBudgetSchema", - "description": [], - "signature": [ + ", string, unknown>" + ], + "path": "packages/kbn-slo-schema/src/schema/duration.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.errorBudgetSchema", + "type": "Object", + "tags": [], + "label": "errorBudgetSchema", + "description": [], + "signature": [ + "TypeC", + "<{ initial: ", + "NumberC", + "; consumed: ", + "NumberC", + "; remaining: ", + "NumberC", + "; isEstimated: ", + "BooleanC", + "; }>" + ], + "path": "packages/kbn-slo-schema/src/schema/common.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.fetchHistoricalSummaryParamsSchema", + "type": "Object", + "tags": [], + "label": "fetchHistoricalSummaryParamsSchema", + "description": [], + "signature": [ + "TypeC", + "<{ body: ", + "TypeC", + "<{ sloIds: ", + "ArrayC", + "<", + "StringC", + ">; }>; }>" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.fetchHistoricalSummaryResponseSchema", + "type": "Object", + "tags": [], + "label": "fetchHistoricalSummaryResponseSchema", + "description": [], + "signature": [ + "RecordC", + "<", + "StringC", + ", ", + "ArrayC", + "<", + "IntersectionC", + "<[", + "TypeC", + "<{ date: ", + "Type", + "; }>, ", + "TypeC", + "<{ status: ", + "UnionC", + "<[", + "LiteralC", + "<\"NO_DATA\">, ", + "LiteralC", + "<\"HEALTHY\">, ", + "LiteralC", + "<\"DEGRADING\">, ", + "LiteralC", + "<\"VIOLATED\">]>; sliValue: ", + "NumberC", + "; errorBudget: ", + "TypeC", + "<{ initial: ", + "NumberC", + "; consumed: ", + "NumberC", + "; remaining: ", + "NumberC", + "; isEstimated: ", + "BooleanC", + "; }>; }>]>>>" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.findCompositeSLOParamsSchema", + "type": "Object", + "tags": [], + "label": "findCompositeSLOParamsSchema", + "description": [], + "signature": [ + "PartialC", + "<{ query: ", + "PartialC", + "<{ name: ", + "StringC", + "; page: ", + "StringC", + "; perPage: ", + "StringC", + "; sortBy: ", + "LiteralC", + "<\"creationTime\">; sortDirection: ", + "UnionC", + "<[", + "LiteralC", + "<\"asc\">, ", + "LiteralC", + "<\"desc\">]>; }>; }>" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/composite_slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.findCompositeSLOResponseSchema", + "type": "Object", + "tags": [], + "label": "findCompositeSLOResponseSchema", + "description": [], + "signature": [ + "TypeC", + "<{ page: ", + "NumberC", + "; perPage: ", + "NumberC", + "; total: ", + "NumberC", + "; results: ", + "ArrayC", + "<", + "IntersectionC", + "<[", + "TypeC", + "<{ id: ", + "StringC", + "; name: ", + "StringC", + "; timeWindow: ", + "UnionC", + "<[", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; type: ", + "LiteralC", + "<\"rolling\">; }>, ", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; type: ", + "LiteralC", + "<\"calendarAligned\">; }>]>; budgetingMethod: ", + "UnionC", + "<[", + "LiteralC", + "<\"occurrences\">, ", + "LiteralC", + "<\"timeslices\">]>; objective: ", + "IntersectionC", + "<[", + "TypeC", + "<{ target: ", + "NumberC", + "; }>, ", + "PartialC", + "<{ timesliceTarget: ", + "NumberC", + "; timesliceWindow: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; }>]>; compositeMethod: ", + "LiteralC", + "<\"weightedAverage\">; sources: ", + "ArrayC", + "<", "TypeC", - "<{ initial: ", - "NumberC", - "; consumed: ", + "<{ id: ", + "StringC", + "; revision: ", "NumberC", - "; remaining: ", + "; weight: ", "NumberC", - "; isEstimated: ", - "BooleanC", - "; }>" - ], - "path": "packages/kbn-slo-schema/src/schema/common.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/slo-schema", - "id": "def-common.fetchHistoricalSummaryParamsSchema", - "type": "Object", - "tags": [], - "label": "fetchHistoricalSummaryParamsSchema", - "description": [], - "signature": [ - "TypeC", - "<{ body: ", - "TypeC", - "<{ sloIds: ", + "; }>>; tags: ", "ArrayC", "<", "StringC", - ">; }>; }>" - ], - "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/slo-schema", - "id": "def-common.fetchHistoricalSummaryResponseSchema", - "type": "Object", - "tags": [], - "label": "fetchHistoricalSummaryResponseSchema", - "description": [], - "signature": [ - "RecordC", - "<", - "StringC", - ", ", - "ArrayC", - "<", - "IntersectionC", - "<[", - "TypeC", - "<{ date: ", + ">; createdAt: ", + "Type", + "; updatedAt: ", "Type", "; }>, ", "TypeC", + "<{ summary: ", + "TypeC", "<{ status: ", "UnionC", "<[", @@ -1268,9 +2121,9 @@ "NumberC", "; isEstimated: ", "BooleanC", - "; }>; }>]>>>" + "; }>; }>; }>]>>; }>" ], - "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", + "path": "packages/kbn-slo-schema/src/rest_specs/composite_slo.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -1436,6 +2289,46 @@ "StringC", "; timestampField: ", "StringC", + "; }>; }>, ", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.metric.custom\">; params: ", + "TypeC", + "<{ index: ", + "StringC", + "; filter: ", + "StringC", + "; good: ", + "TypeC", + "<{ metrics: ", + "ArrayC", + "<", + "TypeC", + "<{ name: ", + "StringC", + "; aggregation: ", + "KeyofC", + "<{ sum: boolean; }>; field: ", + "StringC", + "; }>>; equation: ", + "StringC", + "; }>; total: ", + "TypeC", + "<{ metrics: ", + "ArrayC", + "<", + "TypeC", + "<{ name: ", + "StringC", + "; aggregation: ", + "KeyofC", + "<{ sum: boolean; }>; field: ", + "StringC", + "; }>>; equation: ", + "StringC", + "; }>; timestampField: ", + "StringC", "; }>; }>]>; timeWindow: ", "UnionC", "<[", @@ -1450,9 +2343,9 @@ "section": "def-common.Duration", "text": "Duration" }, - ", string, unknown>; isRolling: ", + ", string, unknown>; type: ", "LiteralC", - "; }>, ", + "<\"rolling\">; }>, ", "TypeC", "<{ duration: ", "Type", @@ -1464,9 +2357,9 @@ "section": "def-common.Duration", "text": "Duration" }, - ", string, unknown>; isCalendar: ", + ", string, unknown>; type: ", "LiteralC", - "; }>]>; budgetingMethod: ", + "<\"calendarAligned\">; }>]>; budgetingMethod: ", "UnionC", "<[", "LiteralC", @@ -1559,6 +2452,26 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.getCompositeSLOParamsSchema", + "type": "Object", + "tags": [], + "label": "getCompositeSLOParamsSchema", + "description": [], + "signature": [ + "TypeC", + "<{ path: ", + "TypeC", + "<{ id: ", + "StringC", + "; }>; }>" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/composite_slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/slo-schema", "id": "def-common.getSLODiagnosisParamsSchema", @@ -1712,6 +2625,46 @@ "StringC", "; timestampField: ", "StringC", + "; }>; }>, ", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.metric.custom\">; params: ", + "TypeC", + "<{ index: ", + "StringC", + "; filter: ", + "StringC", + "; good: ", + "TypeC", + "<{ metrics: ", + "ArrayC", + "<", + "TypeC", + "<{ name: ", + "StringC", + "; aggregation: ", + "KeyofC", + "<{ sum: boolean; }>; field: ", + "StringC", + "; }>>; equation: ", + "StringC", + "; }>; total: ", + "TypeC", + "<{ metrics: ", + "ArrayC", + "<", + "TypeC", + "<{ name: ", + "StringC", + "; aggregation: ", + "KeyofC", + "<{ sum: boolean; }>; field: ", + "StringC", + "; }>>; equation: ", + "StringC", + "; }>; timestampField: ", + "StringC", "; }>; }>]>; timeWindow: ", "UnionC", "<[", @@ -1726,9 +2679,9 @@ "section": "def-common.Duration", "text": "Duration" }, - ", string, unknown>; isRolling: ", + ", string, unknown>; type: ", "LiteralC", - "; }>, ", + "<\"rolling\">; }>, ", "TypeC", "<{ duration: ", "Type", @@ -1740,9 +2693,9 @@ "section": "def-common.Duration", "text": "Duration" }, - ", string, unknown>; isCalendar: ", + ", string, unknown>; type: ", "LiteralC", - "; }>]>; budgetingMethod: ", + "<\"calendarAligned\">; }>]>; budgetingMethod: ", "UnionC", "<[", "LiteralC", @@ -2008,6 +2961,46 @@ "StringC", "; timestampField: ", "StringC", + "; }>; }>, ", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.metric.custom\">; params: ", + "TypeC", + "<{ index: ", + "StringC", + "; filter: ", + "StringC", + "; good: ", + "TypeC", + "<{ metrics: ", + "ArrayC", + "<", + "TypeC", + "<{ name: ", + "StringC", + "; aggregation: ", + "KeyofC", + "<{ sum: boolean; }>; field: ", + "StringC", + "; }>>; equation: ", + "StringC", + "; }>; total: ", + "TypeC", + "<{ metrics: ", + "ArrayC", + "<", + "TypeC", + "<{ name: ", + "StringC", + "; aggregation: ", + "KeyofC", + "<{ sum: boolean; }>; field: ", + "StringC", + "; }>>; equation: ", + "StringC", + "; }>; timestampField: ", + "StringC", "; }>; }>]>" ], "path": "packages/kbn-slo-schema/src/schema/indicators.ts", @@ -2046,7 +3039,9 @@ "LiteralC", "<\"sli.apm.transactionErrorRate\">, ", "LiteralC", - "<\"sli.kql.custom\">]>" + "<\"sli.kql.custom\">, ", + "LiteralC", + "<\"sli.metric.custom\">]>" ], "path": "packages/kbn-slo-schema/src/schema/indicators.ts", "deprecated": false, @@ -2074,7 +3069,97 @@ "StringC", "; total: ", "StringC", - "; timestampField: ", + "; timestampField: ", + "StringC", + "; }>; }>" + ], + "path": "packages/kbn-slo-schema/src/schema/indicators.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.kqlCustomIndicatorTypeSchema", + "type": "Object", + "tags": [], + "label": "kqlCustomIndicatorTypeSchema", + "description": [], + "signature": [ + "LiteralC", + "<\"sli.kql.custom\">" + ], + "path": "packages/kbn-slo-schema/src/schema/indicators.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.manageSLOParamsSchema", + "type": "Object", + "tags": [], + "label": "manageSLOParamsSchema", + "description": [], + "signature": [ + "TypeC", + "<{ path: ", + "TypeC", + "<{ id: ", + "StringC", + "; }>; }>" + ], + "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.metricCustomIndicatorSchema", + "type": "Object", + "tags": [], + "label": "metricCustomIndicatorSchema", + "description": [], + "signature": [ + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.metric.custom\">; params: ", + "TypeC", + "<{ index: ", + "StringC", + "; filter: ", + "StringC", + "; good: ", + "TypeC", + "<{ metrics: ", + "ArrayC", + "<", + "TypeC", + "<{ name: ", + "StringC", + "; aggregation: ", + "KeyofC", + "<{ sum: boolean; }>; field: ", + "StringC", + "; }>>; equation: ", + "StringC", + "; }>; total: ", + "TypeC", + "<{ metrics: ", + "ArrayC", + "<", + "TypeC", + "<{ name: ", + "StringC", + "; aggregation: ", + "KeyofC", + "<{ sum: boolean; }>; field: ", + "StringC", + "; }>>; equation: ", + "StringC", + "; }>; timestampField: ", "StringC", "; }>; }>" ], @@ -2085,40 +3170,20 @@ }, { "parentPluginId": "@kbn/slo-schema", - "id": "def-common.kqlCustomIndicatorTypeSchema", + "id": "def-common.metricCustomIndicatorTypeSchema", "type": "Object", "tags": [], - "label": "kqlCustomIndicatorTypeSchema", + "label": "metricCustomIndicatorTypeSchema", "description": [], "signature": [ "LiteralC", - "<\"sli.kql.custom\">" + "<\"sli.metric.custom\">" ], "path": "packages/kbn-slo-schema/src/schema/indicators.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false }, - { - "parentPluginId": "@kbn/slo-schema", - "id": "def-common.manageSLOParamsSchema", - "type": "Object", - "tags": [], - "label": "manageSLOParamsSchema", - "description": [], - "signature": [ - "TypeC", - "<{ path: ", - "TypeC", - "<{ id: ", - "StringC", - "; }>; }>" - ], - "path": "packages/kbn-slo-schema/src/rest_specs/slo.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, { "parentPluginId": "@kbn/slo-schema", "id": "def-common.objectiveSchema", @@ -2224,9 +3289,25 @@ "section": "def-common.Duration", "text": "Duration" }, - ", string, unknown>; isRolling: ", + ", string, unknown>; type: ", + "LiteralC", + "<\"rolling\">; }>" + ], + "path": "packages/kbn-slo-schema/src/schema/time_window.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.rollingTimeWindowTypeSchema", + "type": "Object", + "tags": [], + "label": "rollingTimeWindowTypeSchema", + "description": [], + "signature": [ "LiteralC", - "; }>" + "<\"rolling\">" ], "path": "packages/kbn-slo-schema/src/schema/time_window.ts", "deprecated": false, @@ -2395,6 +3476,46 @@ "StringC", "; timestampField: ", "StringC", + "; }>; }>, ", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.metric.custom\">; params: ", + "TypeC", + "<{ index: ", + "StringC", + "; filter: ", + "StringC", + "; good: ", + "TypeC", + "<{ metrics: ", + "ArrayC", + "<", + "TypeC", + "<{ name: ", + "StringC", + "; aggregation: ", + "KeyofC", + "<{ sum: boolean; }>; field: ", + "StringC", + "; }>>; equation: ", + "StringC", + "; }>; total: ", + "TypeC", + "<{ metrics: ", + "ArrayC", + "<", + "TypeC", + "<{ name: ", + "StringC", + "; aggregation: ", + "KeyofC", + "<{ sum: boolean; }>; field: ", + "StringC", + "; }>>; equation: ", + "StringC", + "; }>; timestampField: ", + "StringC", "; }>; }>]>; timeWindow: ", "UnionC", "<[", @@ -2409,9 +3530,9 @@ "section": "def-common.Duration", "text": "Duration" }, - ", string, unknown>; isRolling: ", + ", string, unknown>; type: ", "LiteralC", - "; }>, ", + "<\"rolling\">; }>, ", "TypeC", "<{ duration: ", "Type", @@ -2423,9 +3544,9 @@ "section": "def-common.Duration", "text": "Duration" }, - ", string, unknown>; isCalendar: ", + ", string, unknown>; type: ", "LiteralC", - "; }>]>; budgetingMethod: ", + "<\"calendarAligned\">; }>]>; budgetingMethod: ", "UnionC", "<[", "LiteralC", @@ -2603,6 +3724,46 @@ "StringC", "; timestampField: ", "StringC", + "; }>; }>, ", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.metric.custom\">; params: ", + "TypeC", + "<{ index: ", + "StringC", + "; filter: ", + "StringC", + "; good: ", + "TypeC", + "<{ metrics: ", + "ArrayC", + "<", + "TypeC", + "<{ name: ", + "StringC", + "; aggregation: ", + "KeyofC", + "<{ sum: boolean; }>; field: ", + "StringC", + "; }>>; equation: ", + "StringC", + "; }>; total: ", + "TypeC", + "<{ metrics: ", + "ArrayC", + "<", + "TypeC", + "<{ name: ", + "StringC", + "; aggregation: ", + "KeyofC", + "<{ sum: boolean; }>; field: ", + "StringC", + "; }>>; equation: ", + "StringC", + "; }>; timestampField: ", + "StringC", "; }>; }>]>; timeWindow: ", "UnionC", "<[", @@ -2617,9 +3778,9 @@ "section": "def-common.Duration", "text": "Duration" }, - ", string, unknown>; isRolling: ", + ", string, unknown>; type: ", "LiteralC", - "; }>, ", + "<\"rolling\">; }>, ", "TypeC", "<{ duration: ", "Type", @@ -2631,9 +3792,9 @@ "section": "def-common.Duration", "text": "Duration" }, - ", string, unknown>; isCalendar: ", + ", string, unknown>; type: ", "LiteralC", - "; }>]>; budgetingMethod: ", + "<\"calendarAligned\">; }>]>; budgetingMethod: ", "UnionC", "<[", "LiteralC", @@ -2813,6 +3974,46 @@ "StringC", "; timestampField: ", "StringC", + "; }>; }>, ", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.metric.custom\">; params: ", + "TypeC", + "<{ index: ", + "StringC", + "; filter: ", + "StringC", + "; good: ", + "TypeC", + "<{ metrics: ", + "ArrayC", + "<", + "TypeC", + "<{ name: ", + "StringC", + "; aggregation: ", + "KeyofC", + "<{ sum: boolean; }>; field: ", + "StringC", + "; }>>; equation: ", + "StringC", + "; }>; total: ", + "TypeC", + "<{ metrics: ", + "ArrayC", + "<", + "TypeC", + "<{ name: ", + "StringC", + "; aggregation: ", + "KeyofC", + "<{ sum: boolean; }>; field: ", + "StringC", + "; }>>; equation: ", + "StringC", + "; }>; timestampField: ", + "StringC", "; }>; }>]>; timeWindow: ", "UnionC", "<[", @@ -2827,9 +4028,9 @@ "section": "def-common.Duration", "text": "Duration" }, - ", string, unknown>; isRolling: ", + ", string, unknown>; type: ", "LiteralC", - "; }>, ", + "<\"rolling\">; }>, ", "TypeC", "<{ duration: ", "Type", @@ -2841,9 +4042,9 @@ "section": "def-common.Duration", "text": "Duration" }, - ", string, unknown>; isCalendar: ", + ", string, unknown>; type: ", "LiteralC", - "; }>]>; budgetingMethod: ", + "<\"calendarAligned\">; }>]>; budgetingMethod: ", "UnionC", "<[", "LiteralC", @@ -3049,6 +4250,46 @@ "StringC", "; timestampField: ", "StringC", + "; }>; }>, ", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.metric.custom\">; params: ", + "TypeC", + "<{ index: ", + "StringC", + "; filter: ", + "StringC", + "; good: ", + "TypeC", + "<{ metrics: ", + "ArrayC", + "<", + "TypeC", + "<{ name: ", + "StringC", + "; aggregation: ", + "KeyofC", + "<{ sum: boolean; }>; field: ", + "StringC", + "; }>>; equation: ", + "StringC", + "; }>; total: ", + "TypeC", + "<{ metrics: ", + "ArrayC", + "<", + "TypeC", + "<{ name: ", + "StringC", + "; aggregation: ", + "KeyofC", + "<{ sum: boolean; }>; field: ", + "StringC", + "; }>>; equation: ", + "StringC", + "; }>; timestampField: ", + "StringC", "; }>; }>]>; timeWindow: ", "UnionC", "<[", @@ -3063,9 +4304,9 @@ "section": "def-common.Duration", "text": "Duration" }, - ", string, unknown>; isRolling: ", + ", string, unknown>; type: ", "LiteralC", - "; }>, ", + "<\"rolling\">; }>, ", "TypeC", "<{ duration: ", "Type", @@ -3077,9 +4318,9 @@ "section": "def-common.Duration", "text": "Duration" }, - ", string, unknown>; isCalendar: ", + ", string, unknown>; type: ", "LiteralC", - "; }>]>; budgetingMethod: ", + "<\"calendarAligned\">; }>]>; budgetingMethod: ", "UnionC", "<[", "LiteralC", @@ -3187,95 +4428,259 @@ "LiteralC", "<\"HEALTHY\">, ", "LiteralC", - "<\"DEGRADING\">, ", + "<\"DEGRADING\">, ", + "LiteralC", + "<\"VIOLATED\">]>" + ], + "path": "packages/kbn-slo-schema/src/schema/common.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.summarySchema", + "type": "Object", + "tags": [], + "label": "summarySchema", + "description": [], + "signature": [ + "TypeC", + "<{ status: ", + "UnionC", + "<[", + "LiteralC", + "<\"NO_DATA\">, ", + "LiteralC", + "<\"HEALTHY\">, ", + "LiteralC", + "<\"DEGRADING\">, ", + "LiteralC", + "<\"VIOLATED\">]>; sliValue: ", + "NumberC", + "; errorBudget: ", + "TypeC", + "<{ initial: ", + "NumberC", + "; consumed: ", + "NumberC", + "; remaining: ", + "NumberC", + "; isEstimated: ", + "BooleanC", + "; }>; }>" + ], + "path": "packages/kbn-slo-schema/src/schema/common.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.tagsSchema", + "type": "Object", + "tags": [], + "label": "tagsSchema", + "description": [], + "signature": [ + "ArrayC", + "<", + "StringC", + ">" + ], + "path": "packages/kbn-slo-schema/src/schema/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.targetSchema", + "type": "Object", + "tags": [], + "label": "targetSchema", + "description": [], + "signature": [ + "TypeC", + "<{ target: ", + "NumberC", + "; }>" + ], + "path": "packages/kbn-slo-schema/src/schema/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.timeslicesBudgetingMethodSchema", + "type": "Object", + "tags": [], + "label": "timeslicesBudgetingMethodSchema", + "description": [], + "signature": [ + "LiteralC", + "<\"timeslices\">" + ], + "path": "packages/kbn-slo-schema/src/schema/slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.timeWindowSchema", + "type": "Object", + "tags": [], + "label": "timeWindowSchema", + "description": [], + "signature": [ + "UnionC", + "<[", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; type: ", + "LiteralC", + "<\"rolling\">; }>, ", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; type: ", "LiteralC", - "<\"VIOLATED\">]>" + "<\"calendarAligned\">; }>]>" ], - "path": "packages/kbn-slo-schema/src/schema/common.ts", + "path": "packages/kbn-slo-schema/src/schema/time_window.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false }, { "parentPluginId": "@kbn/slo-schema", - "id": "def-common.summarySchema", + "id": "def-common.updateCompositeSLOParamsSchema", "type": "Object", "tags": [], - "label": "summarySchema", + "label": "updateCompositeSLOParamsSchema", "description": [], "signature": [ "TypeC", - "<{ status: ", + "<{ path: ", + "TypeC", + "<{ id: ", + "StringC", + "; }>; body: ", + "PartialC", + "<{ name: ", + "StringC", + "; compositeMethod: ", + "LiteralC", + "<\"weightedAverage\">; sources: ", + "ArrayC", + "<", + "TypeC", + "<{ id: ", + "StringC", + "; revision: ", + "NumberC", + "; weight: ", + "NumberC", + "; }>>; timeWindow: ", "UnionC", "<[", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; type: ", "LiteralC", - "<\"NO_DATA\">, ", + "<\"rolling\">; }>, ", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; type: ", "LiteralC", - "<\"HEALTHY\">, ", + "<\"calendarAligned\">; }>]>; budgetingMethod: ", + "UnionC", + "<[", "LiteralC", - "<\"DEGRADING\">, ", + "<\"occurrences\">, ", "LiteralC", - "<\"VIOLATED\">]>; sliValue: ", - "NumberC", - "; errorBudget: ", + "<\"timeslices\">]>; objective: ", + "IntersectionC", + "<[", "TypeC", - "<{ initial: ", - "NumberC", - "; consumed: ", + "<{ target: ", "NumberC", - "; remaining: ", + "; }>, ", + "PartialC", + "<{ timesliceTarget: ", "NumberC", - "; isEstimated: ", - "BooleanC", - "; }>; }>" - ], - "path": "packages/kbn-slo-schema/src/schema/common.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/slo-schema", - "id": "def-common.tagsSchema", - "type": "Object", - "tags": [], - "label": "tagsSchema", - "description": [], - "signature": [ + "; timesliceWindow: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; }>]>; tags: ", "ArrayC", "<", "StringC", - ">" - ], - "path": "packages/kbn-slo-schema/src/schema/slo.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/slo-schema", - "id": "def-common.timeslicesBudgetingMethodSchema", - "type": "Object", - "tags": [], - "label": "timeslicesBudgetingMethodSchema", - "description": [], - "signature": [ - "LiteralC", - "<\"timeslices\">" + ">; }>; }>" ], - "path": "packages/kbn-slo-schema/src/schema/slo.ts", + "path": "packages/kbn-slo-schema/src/rest_specs/composite_slo.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false }, { "parentPluginId": "@kbn/slo-schema", - "id": "def-common.timeWindowSchema", + "id": "def-common.updateCompositeSLOResponseSchema", "type": "Object", "tags": [], - "label": "timeWindowSchema", + "label": "updateCompositeSLOResponseSchema", "description": [], "signature": [ + "TypeC", + "<{ id: ", + "StringC", + "; name: ", + "StringC", + "; timeWindow: ", "UnionC", "<[", "TypeC", @@ -3289,9 +4694,9 @@ "section": "def-common.Duration", "text": "Duration" }, - ", string, unknown>; isRolling: ", + ", string, unknown>; type: ", "LiteralC", - "; }>, ", + "<\"rolling\">; }>, ", "TypeC", "<{ duration: ", "Type", @@ -3303,11 +4708,57 @@ "section": "def-common.Duration", "text": "Duration" }, - ", string, unknown>; isCalendar: ", + ", string, unknown>; type: ", + "LiteralC", + "<\"calendarAligned\">; }>]>; budgetingMethod: ", + "UnionC", + "<[", + "LiteralC", + "<\"occurrences\">, ", + "LiteralC", + "<\"timeslices\">]>; objective: ", + "IntersectionC", + "<[", + "TypeC", + "<{ target: ", + "NumberC", + "; }>, ", + "PartialC", + "<{ timesliceTarget: ", + "NumberC", + "; timesliceWindow: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; }>]>; compositeMethod: ", "LiteralC", - "; }>]>" + "<\"weightedAverage\">; sources: ", + "ArrayC", + "<", + "TypeC", + "<{ id: ", + "StringC", + "; revision: ", + "NumberC", + "; weight: ", + "NumberC", + "; }>>; tags: ", + "ArrayC", + "<", + "StringC", + ">; createdAt: ", + "Type", + "; updatedAt: ", + "Type", + "; }>" ], - "path": "packages/kbn-slo-schema/src/schema/time_window.ts", + "path": "packages/kbn-slo-schema/src/rest_specs/composite_slo.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -3427,6 +4878,46 @@ "StringC", "; timestampField: ", "StringC", + "; }>; }>, ", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.metric.custom\">; params: ", + "TypeC", + "<{ index: ", + "StringC", + "; filter: ", + "StringC", + "; good: ", + "TypeC", + "<{ metrics: ", + "ArrayC", + "<", + "TypeC", + "<{ name: ", + "StringC", + "; aggregation: ", + "KeyofC", + "<{ sum: boolean; }>; field: ", + "StringC", + "; }>>; equation: ", + "StringC", + "; }>; total: ", + "TypeC", + "<{ metrics: ", + "ArrayC", + "<", + "TypeC", + "<{ name: ", + "StringC", + "; aggregation: ", + "KeyofC", + "<{ sum: boolean; }>; field: ", + "StringC", + "; }>>; equation: ", + "StringC", + "; }>; timestampField: ", + "StringC", "; }>; }>]>; timeWindow: ", "UnionC", "<[", @@ -3441,9 +4932,9 @@ "section": "def-common.Duration", "text": "Duration" }, - ", string, unknown>; isRolling: ", + ", string, unknown>; type: ", "LiteralC", - "; }>, ", + "<\"rolling\">; }>, ", "TypeC", "<{ duration: ", "Type", @@ -3455,9 +4946,9 @@ "section": "def-common.Duration", "text": "Duration" }, - ", string, unknown>; isCalendar: ", + ", string, unknown>; type: ", "LiteralC", - "; }>]>; budgetingMethod: ", + "<\"calendarAligned\">; }>]>; budgetingMethod: ", "UnionC", "<[", "LiteralC", @@ -3627,6 +5118,46 @@ "StringC", "; timestampField: ", "StringC", + "; }>; }>, ", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.metric.custom\">; params: ", + "TypeC", + "<{ index: ", + "StringC", + "; filter: ", + "StringC", + "; good: ", + "TypeC", + "<{ metrics: ", + "ArrayC", + "<", + "TypeC", + "<{ name: ", + "StringC", + "; aggregation: ", + "KeyofC", + "<{ sum: boolean; }>; field: ", + "StringC", + "; }>>; equation: ", + "StringC", + "; }>; total: ", + "TypeC", + "<{ metrics: ", + "ArrayC", + "<", + "TypeC", + "<{ name: ", + "StringC", + "; aggregation: ", + "KeyofC", + "<{ sum: boolean; }>; field: ", + "StringC", + "; }>>; equation: ", + "StringC", + "; }>; timestampField: ", + "StringC", "; }>; }>]>; timeWindow: ", "UnionC", "<[", @@ -3641,9 +5172,9 @@ "section": "def-common.Duration", "text": "Duration" }, - ", string, unknown>; isRolling: ", + ", string, unknown>; type: ", "LiteralC", - "; }>, ", + "<\"rolling\">; }>, ", "TypeC", "<{ duration: ", "Type", @@ -3655,9 +5186,9 @@ "section": "def-common.Duration", "text": "Duration" }, - ", string, unknown>; isCalendar: ", + ", string, unknown>; type: ", "LiteralC", - "; }>]>; budgetingMethod: ", + "<\"calendarAligned\">; }>]>; budgetingMethod: ", "UnionC", "<[", "LiteralC", @@ -3723,6 +5254,44 @@ "deprecated": false, "trackAdoption": false, "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.weightedAverageCompositeMethodSchema", + "type": "Object", + "tags": [], + "label": "weightedAverageCompositeMethodSchema", + "description": [], + "signature": [ + "LiteralC", + "<\"weightedAverage\">" + ], + "path": "packages/kbn-slo-schema/src/schema/composite_slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.weightedAverageSourceSchema", + "type": "Object", + "tags": [], + "label": "weightedAverageSourceSchema", + "description": [], + "signature": [ + "TypeC", + "<{ id: ", + "StringC", + "; revision: ", + "NumberC", + "; weight: ", + "NumberC", + "; }>" + ], + "path": "packages/kbn-slo-schema/src/schema/composite_slo.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false } ] } diff --git a/api_docs/kbn_slo_schema.mdx b/api_docs/kbn_slo_schema.mdx index 4c35bce6e4231..0ac6435cb0d25 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/slo-schema'] --- import kbnSloSchemaObj from './kbn_slo_schema.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/actionable-observability](https://github.com/orgs/elastic/team | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 78 | 0 | 78 | 0 | +| 111 | 0 | 111 | 0 | ## Common diff --git a/api_docs/kbn_some_dev_log.mdx b/api_docs/kbn_some_dev_log.mdx index e8fa06077f72c..3115f333af00a 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-05-16 +date: 2023-06-07 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 0689cd618ff48..d7813d10a99f7 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-05-16 +date: 2023-06-07 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 3084d8f8373f5..6085bec7a1146 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-05-16 +date: 2023-06-07 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 0db3538ca4cbf..6f486e12e7468 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-05-16 +date: 2023-06-07 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 44373fccac1e2..f9dc954e920f7 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/telemetry-tools'] --- import kbnTelemetryToolsObj from './kbn_telemetry_tools.devdocs.json'; diff --git a/api_docs/kbn_test.devdocs.json b/api_docs/kbn_test.devdocs.json index 97e0d85ebd000..862d934e85acc 100644 --- a/api_docs/kbn_test.devdocs.json +++ b/api_docs/kbn_test.devdocs.json @@ -2397,6 +2397,39 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/test", + "id": "def-common.runElasticsearch", + "type": "Function", + "tags": [], + "label": "runElasticsearch", + "description": [], + "signature": [ + "(options: RunElasticsearchOptions) => Promise<() => Promise>" + ], + "path": "packages/kbn-test/src/functional_tests/lib/run_elasticsearch.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/test", + "id": "def-common.runElasticsearch.$1", + "type": "Object", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "RunElasticsearchOptions" + ], + "path": "packages/kbn-test/src/functional_tests/lib/run_elasticsearch.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/test", "id": "def-common.runFtrCli", @@ -2464,6 +2497,167 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/test", + "id": "def-common.runKibanaServer", + "type": "Function", + "tags": [], + "label": "runKibanaServer", + "description": [], + "signature": [ + "(options: { procs: ", + { + "pluginId": "@kbn/dev-proc-runner", + "scope": "common", + "docId": "kibKbnDevProcRunnerPluginApi", + "section": "def-common.ProcRunner", + "text": "ProcRunner" + }, + "; config: ", + { + "pluginId": "@kbn/test", + "scope": "common", + "docId": "kibKbnTestPluginApi", + "section": "def-common.Config", + "text": "Config" + }, + "; installDir?: string | undefined; extraKbnOpts?: string[] | undefined; logsDir?: string | undefined; onEarlyExit?: ((msg: string) => void) | undefined; }) => Promise" + ], + "path": "packages/kbn-test/src/functional_tests/lib/run_kibana_server.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/test", + "id": "def-common.runKibanaServer.$1", + "type": "Object", + "tags": [], + "label": "options", + "description": [], + "path": "packages/kbn-test/src/functional_tests/lib/run_kibana_server.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/test", + "id": "def-common.runKibanaServer.$1.procs", + "type": "Object", + "tags": [], + "label": "procs", + "description": [], + "signature": [ + { + "pluginId": "@kbn/dev-proc-runner", + "scope": "common", + "docId": "kibKbnDevProcRunnerPluginApi", + "section": "def-common.ProcRunner", + "text": "ProcRunner" + } + ], + "path": "packages/kbn-test/src/functional_tests/lib/run_kibana_server.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/test", + "id": "def-common.runKibanaServer.$1.config", + "type": "Object", + "tags": [], + "label": "config", + "description": [], + "signature": [ + { + "pluginId": "@kbn/test", + "scope": "common", + "docId": "kibKbnTestPluginApi", + "section": "def-common.Config", + "text": "Config" + } + ], + "path": "packages/kbn-test/src/functional_tests/lib/run_kibana_server.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/test", + "id": "def-common.runKibanaServer.$1.installDir", + "type": "string", + "tags": [], + "label": "installDir", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-test/src/functional_tests/lib/run_kibana_server.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/test", + "id": "def-common.runKibanaServer.$1.extraKbnOpts", + "type": "Array", + "tags": [], + "label": "extraKbnOpts", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-test/src/functional_tests/lib/run_kibana_server.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/test", + "id": "def-common.runKibanaServer.$1.logsDir", + "type": "string", + "tags": [], + "label": "logsDir", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-test/src/functional_tests/lib/run_kibana_server.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/test", + "id": "def-common.runKibanaServer.$1.onEarlyExit", + "type": "Function", + "tags": [], + "label": "onEarlyExit", + "description": [], + "signature": [ + "((msg: string) => void) | undefined" + ], + "path": "packages/kbn-test/src/functional_tests/lib/run_kibana_server.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/test", + "id": "def-common.runKibanaServer.$1.onEarlyExit.$1", + "type": "string", + "tags": [], + "label": "msg", + "description": [], + "signature": [ + "string" + ], + "path": "packages/kbn-test/src/functional_tests/lib/run_kibana_server.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ] + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/test", "id": "def-common.runTests", diff --git a/api_docs/kbn_test.mdx b/api_docs/kbn_test.mdx index 2a8b7ed6b12ac..bddc7386adf76 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test'] --- import kbnTestObj from './kbn_test.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kiban | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 271 | 4 | 227 | 12 | +| 282 | 4 | 238 | 12 | ## Common diff --git a/api_docs/kbn_test_jest_helpers.mdx b/api_docs/kbn_test_jest_helpers.mdx index ee852a0a3f1d5..8e8b413498e28 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-05-16 +date: 2023-06-07 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 2905aab9bec33..26057e44c49c5 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-05-16 +date: 2023-06-07 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.devdocs.json b/api_docs/kbn_text_based_editor.devdocs.json new file mode 100644 index 0000000000000..1eb1abc6f8275 --- /dev/null +++ b/api_docs/kbn_text_based_editor.devdocs.json @@ -0,0 +1,272 @@ +{ + "id": "@kbn/text-based-editor", + "client": { + "classes": [], + "functions": [ + { + "parentPluginId": "@kbn/text-based-editor", + "id": "def-public.TextBasedLanguagesEditor", + "type": "Function", + "tags": [], + "label": "TextBasedLanguagesEditor", + "description": [], + "signature": [ + "React.NamedExoticComponent<", + { + "pluginId": "@kbn/text-based-editor", + "scope": "public", + "docId": "kibKbnTextBasedEditorPluginApi", + "section": "def-public.TextBasedLanguagesEditorProps", + "text": "TextBasedLanguagesEditorProps" + }, + ">" + ], + "path": "packages/kbn-text-based-editor/src/text_based_languages_editor.tsx", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/text-based-editor", + "id": "def-public.TextBasedLanguagesEditor.$1", + "type": "Uncategorized", + "tags": [], + "label": "props", + "description": [], + "signature": [ + "P" + ], + "path": "node_modules/@types/react/index.d.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], + "interfaces": [ + { + "parentPluginId": "@kbn/text-based-editor", + "id": "def-public.TextBasedLanguagesEditorProps", + "type": "Interface", + "tags": [], + "label": "TextBasedLanguagesEditorProps", + "description": [], + "path": "packages/kbn-text-based-editor/src/text_based_languages_editor.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/text-based-editor", + "id": "def-public.TextBasedLanguagesEditorProps.query", + "type": "CompoundType", + "tags": [], + "label": "query", + "description": [], + "signature": [ + "{ sql: string; } | { esql: string; }" + ], + "path": "packages/kbn-text-based-editor/src/text_based_languages_editor.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/text-based-editor", + "id": "def-public.TextBasedLanguagesEditorProps.onTextLangQueryChange", + "type": "Function", + "tags": [], + "label": "onTextLangQueryChange", + "description": [], + "signature": [ + "(query: ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.AggregateQuery", + "text": "AggregateQuery" + }, + ") => void" + ], + "path": "packages/kbn-text-based-editor/src/text_based_languages_editor.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/text-based-editor", + "id": "def-public.TextBasedLanguagesEditorProps.onTextLangQueryChange.$1", + "type": "CompoundType", + "tags": [], + "label": "query", + "description": [], + "signature": [ + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.AggregateQuery", + "text": "AggregateQuery" + } + ], + "path": "packages/kbn-text-based-editor/src/text_based_languages_editor.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/text-based-editor", + "id": "def-public.TextBasedLanguagesEditorProps.onTextLangQuerySubmit", + "type": "Function", + "tags": [], + "label": "onTextLangQuerySubmit", + "description": [], + "signature": [ + "() => void" + ], + "path": "packages/kbn-text-based-editor/src/text_based_languages_editor.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/text-based-editor", + "id": "def-public.TextBasedLanguagesEditorProps.expandCodeEditor", + "type": "Function", + "tags": [], + "label": "expandCodeEditor", + "description": [], + "signature": [ + "(status: boolean) => void" + ], + "path": "packages/kbn-text-based-editor/src/text_based_languages_editor.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/text-based-editor", + "id": "def-public.TextBasedLanguagesEditorProps.expandCodeEditor.$1", + "type": "boolean", + "tags": [], + "label": "status", + "description": [], + "signature": [ + "boolean" + ], + "path": "packages/kbn-text-based-editor/src/text_based_languages_editor.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/text-based-editor", + "id": "def-public.TextBasedLanguagesEditorProps.isCodeEditorExpanded", + "type": "boolean", + "tags": [], + "label": "isCodeEditorExpanded", + "description": [], + "path": "packages/kbn-text-based-editor/src/text_based_languages_editor.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/text-based-editor", + "id": "def-public.TextBasedLanguagesEditorProps.detectTimestamp", + "type": "CompoundType", + "tags": [], + "label": "detectTimestamp", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "packages/kbn-text-based-editor/src/text_based_languages_editor.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/text-based-editor", + "id": "def-public.TextBasedLanguagesEditorProps.errors", + "type": "Array", + "tags": [], + "label": "errors", + "description": [], + "signature": [ + "Error[] | undefined" + ], + "path": "packages/kbn-text-based-editor/src/text_based_languages_editor.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/text-based-editor", + "id": "def-public.TextBasedLanguagesEditorProps.isDisabled", + "type": "CompoundType", + "tags": [], + "label": "isDisabled", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "packages/kbn-text-based-editor/src/text_based_languages_editor.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/text-based-editor", + "id": "def-public.TextBasedLanguagesEditorProps.isDarkMode", + "type": "CompoundType", + "tags": [], + "label": "isDarkMode", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "packages/kbn-text-based-editor/src/text_based_languages_editor.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/text-based-editor", + "id": "def-public.TextBasedLanguagesEditorProps.dataTestSubj", + "type": "string", + "tags": [], + "label": "dataTestSubj", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-text-based-editor/src/text_based_languages_editor.tsx", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_text_based_editor.mdx b/api_docs/kbn_text_based_editor.mdx new file mode 100644 index 0000000000000..33d0a2f1ba821 --- /dev/null +++ b/api_docs/kbn_text_based_editor.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: kibKbnTextBasedEditorPluginApi +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-06-07 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/text-based-editor'] +--- +import kbnTextBasedEditorObj from './kbn_text_based_editor.devdocs.json'; + + + +Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 15 | 0 | 14 | 0 | + +## Client + +### Functions + + +### Interfaces + + diff --git a/api_docs/kbn_tooling_log.mdx b/api_docs/kbn_tooling_log.mdx index 0efe35c10f789..969e34aef7bdd 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-05-16 +date: 2023-06-07 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 632b1bef1cd0b..a3e11016d616b 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-05-16 +date: 2023-06-07 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 7a0a8650dc21e..a7fc79dc2060a 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-05-16 +date: 2023-06-07 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 27a26327b95b0..f47ee0a8b55eb 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-05-16 +date: 2023-06-07 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 bd23a47797c81..2493069543635 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-05-16 +date: 2023-06-07 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 e502b7a0506c3..f5d0131ba5191 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-theme'] --- import kbnUiThemeObj from './kbn_ui_theme.devdocs.json'; diff --git a/api_docs/kbn_url_state.mdx b/api_docs/kbn_url_state.mdx index d99362bfd33eb..205686e9b15f6 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/url-state'] --- import kbnUrlStateObj from './kbn_url_state.devdocs.json'; diff --git a/api_docs/kbn_user_profile_components.devdocs.json b/api_docs/kbn_user_profile_components.devdocs.json index bbc4c86988e45..73f567df595ef 100644 --- a/api_docs/kbn_user_profile_components.devdocs.json +++ b/api_docs/kbn_user_profile_components.devdocs.json @@ -614,14 +614,14 @@ { "parentPluginId": "@kbn/user-profile-components", "id": "def-common.UserProfileAvatarData.imageUrl", - "type": "string", + "type": "CompoundType", "tags": [], "label": "imageUrl", "description": [ "\nBase64 data URL for the user avatar image." ], "signature": [ - "string | undefined" + "string | null | undefined" ], "path": "packages/kbn-user-profile-components/src/user_profile.ts", "deprecated": false, diff --git a/api_docs/kbn_user_profile_components.mdx b/api_docs/kbn_user_profile_components.mdx index cb86fba67a4c3..e73fee8f7d976 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-05-16 +date: 2023-06-07 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 6071eb0943502..29a0ecc99f0ab 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-05-16 +date: 2023-06-07 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 42c56e5d5cf23..b140f61cd2b05 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-05-16 +date: 2023-06-07 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.devdocs.json b/api_docs/kbn_utils.devdocs.json index 88821550bc555..c2f4eefd1be61 100644 --- a/api_docs/kbn_utils.devdocs.json +++ b/api_docs/kbn_utils.devdocs.json @@ -19,23 +19,6 @@ "common": { "classes": [], "functions": [ - { - "parentPluginId": "@kbn/utils", - "id": "def-common.buildDataPaths", - "type": "Function", - "tags": [], - "label": "buildDataPaths", - "description": [], - "signature": [ - "() => string[]" - ], - "path": "packages/kbn-utils/src/path/index.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [], - "initialIsOpen": false - }, { "parentPluginId": "@kbn/utils", "id": "def-common.concatStreamProviders", diff --git a/api_docs/kbn_utils.mdx b/api_docs/kbn_utils.mdx index 76a92d6919dfa..1ebaa94435593 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utils'] --- import kbnUtilsObj from './kbn_utils.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kiban | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 25 | 0 | 15 | 0 | +| 24 | 0 | 14 | 0 | ## Common diff --git a/api_docs/kbn_yarn_lock_validator.mdx b/api_docs/kbn_yarn_lock_validator.mdx index 3dd342c01a3ad..2509ea175dd77 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-05-16 +date: 2023-06-07 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 4c07e941859c1..7b2bcd2f649c5 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-05-16 +date: 2023-06-07 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 b7b084baa490c..65b76a2f8cee2 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-05-16 +date: 2023-06-07 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 ce85b900a590a..2e2ee8af65341 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaUtils'] --- import kibanaUtilsObj from './kibana_utils.devdocs.json'; diff --git a/api_docs/kubernetes_security.devdocs.json b/api_docs/kubernetes_security.devdocs.json index 53e8a6806be07..6be2f6084e66f 100644 --- a/api_docs/kubernetes_security.devdocs.json +++ b/api_docs/kubernetes_security.devdocs.json @@ -54,7 +54,38 @@ } ], "enums": [], - "misc": [], + "misc": [ + { + "parentPluginId": "kubernetesSecurity", + "id": "def-public.KUBERNETES_PATH", + "type": "string", + "tags": [], + "label": "KUBERNETES_PATH", + "description": [], + "signature": [ + "\"/kubernetes\"" + ], + "path": "x-pack/plugins/kubernetes_security/common/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "kubernetesSecurity", + "id": "def-public.KUBERNETES_TITLE", + "type": "string", + "tags": [], + "label": "KUBERNETES_TITLE", + "description": [], + "signature": [ + "\"Kubernetes\"" + ], + "path": "x-pack/plugins/kubernetes_security/common/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], "objects": [] }, "server": { diff --git a/api_docs/kubernetes_security.mdx b/api_docs/kubernetes_security.mdx index a647bfe13d246..c51661ba2e9d1 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kubernetesSecurity'] --- import kubernetesSecurityObj from './kubernetes_security.devdocs.json'; @@ -21,10 +21,13 @@ Contact [@elastic/sec-cloudnative-integrations](https://github.com/orgs/elastic/ | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 3 | 0 | 3 | 1 | +| 5 | 0 | 5 | 1 | ## Client ### Interfaces +### Consts, variables and types + + diff --git a/api_docs/lens.devdocs.json b/api_docs/lens.devdocs.json index 712192b0396e5..57d91cad28dfe 100644 --- a/api_docs/lens.devdocs.json +++ b/api_docs/lens.devdocs.json @@ -2976,7 +2976,7 @@ "section": "def-public.Visualization", "text": "Visualization" }, - " | (() => Promise<", + " | (() => Promise<", { "pluginId": "lens", "scope": "public", @@ -2984,7 +2984,7 @@ "section": "def-public.Visualization", "text": "Visualization" }, - ">)) => void" + ">)) => void" ], "path": "x-pack/plugins/lens/public/plugin.ts", "deprecated": false, @@ -3005,7 +3005,7 @@ "section": "def-public.Visualization", "text": "Visualization" }, - " | (() => Promise<", + " | (() => Promise<", { "pluginId": "lens", "scope": "public", @@ -3013,7 +3013,7 @@ "section": "def-public.Visualization", "text": "Visualization" }, - ">)" + ">)" ], "path": "x-pack/plugins/lens/public/plugin.ts", "deprecated": false, @@ -4788,6 +4788,20 @@ "path": "x-pack/plugins/lens/public/types.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "lens", + "id": "def-public.SuggestionRequest.allowMixed", + "type": "CompoundType", + "tags": [], + "label": "allowMixed", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false @@ -4967,7 +4981,7 @@ "section": "def-public.Visualization", "text": "Visualization" }, - "" + "" ], "path": "x-pack/plugins/lens/public/types.ts", "deprecated": false, @@ -4996,7 +5010,15 @@ "\nInitialize is allowed to modify the state stored in memory. The initialize function\nis called with a previous state in two cases:\n- Loading from a saved visualization\n- When using suggestions, the suggested state is passed in" ], "signature": [ - "(addNewLayer: () => string, state?: T | P | undefined, mainPalette?: ", + "{ (addNewLayer: () => string, nonPersistedState?: T | undefined, mainPalette?: ", + { + "pluginId": "@kbn/coloring", + "scope": "common", + "docId": "kibKbnColoringPluginApi", + "section": "def-common.PaletteOutput", + "text": "PaletteOutput" + }, + "<{ [key: string]: unknown; }> | undefined): T; (addNewLayer: () => string, persistedState: P, mainPalette?: ", { "pluginId": "@kbn/coloring", "scope": "common", @@ -5004,7 +5026,9 @@ "section": "def-common.PaletteOutput", "text": "PaletteOutput" }, - "<{ [key: string]: unknown; }> | undefined, references?: ", + "<{ [key: string]: unknown; }> | undefined, annotationGroups?: ", + "AnnotationGroups", + " | undefined, references?: ", { "pluginId": "@kbn/core-saved-objects-common", "scope": "common", @@ -5012,138 +5036,11 @@ "section": "def-common.SavedObjectReference", "text": "SavedObjectReference" }, - "[] | undefined, initialContext?: ", - { - "pluginId": "uiActions", - "scope": "public", - "docId": "kibUiActionsPluginApi", - "section": "def-public.VisualizeFieldContext", - "text": "VisualizeFieldContext" - }, - " | ", - "VisualizeEditorContext", - "<", - { - "pluginId": "visualizations", - "scope": "common", - "docId": "kibVisualizationsPluginApi", - "section": "def-common.Configuration", - "text": "Configuration" - }, - "> | undefined) => T" + "[] | undefined): T; }" ], "path": "x-pack/plugins/lens/public/types.ts", "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "lens", - "id": "def-public.Visualization.initialize.$1", - "type": "Function", - "tags": [], - "label": "addNewLayer", - "description": [], - "signature": [ - "() => string" - ], - "path": "x-pack/plugins/lens/public/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "lens", - "id": "def-public.Visualization.initialize.$2", - "type": "CompoundType", - "tags": [], - "label": "state", - "description": [], - "signature": [ - "T | P | undefined" - ], - "path": "x-pack/plugins/lens/public/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - }, - { - "parentPluginId": "lens", - "id": "def-public.Visualization.initialize.$3", - "type": "Object", - "tags": [], - "label": "mainPalette", - "description": [], - "signature": [ - { - "pluginId": "@kbn/coloring", - "scope": "common", - "docId": "kibKbnColoringPluginApi", - "section": "def-common.PaletteOutput", - "text": "PaletteOutput" - }, - "<{ [key: string]: unknown; }> | undefined" - ], - "path": "x-pack/plugins/lens/public/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - }, - { - "parentPluginId": "lens", - "id": "def-public.Visualization.initialize.$4", - "type": "Array", - "tags": [], - "label": "references", - "description": [], - "signature": [ - { - "pluginId": "@kbn/core-saved-objects-common", - "scope": "common", - "docId": "kibKbnCoreSavedObjectsCommonPluginApi", - "section": "def-common.SavedObjectReference", - "text": "SavedObjectReference" - }, - "[] | undefined" - ], - "path": "x-pack/plugins/lens/public/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - }, - { - "parentPluginId": "lens", - "id": "def-public.Visualization.initialize.$5", - "type": "CompoundType", - "tags": [], - "label": "initialContext", - "description": [], - "signature": [ - { - "pluginId": "uiActions", - "scope": "public", - "docId": "kibUiActionsPluginApi", - "section": "def-public.VisualizeFieldContext", - "text": "VisualizeFieldContext" - }, - " | ", - "VisualizeEditorContext", - "<", - { - "pluginId": "visualizations", - "scope": "common", - "docId": "kibVisualizationsPluginApi", - "section": "def-common.Configuration", - "text": "Configuration" - }, - "> | undefined" - ], - "path": "x-pack/plugins/lens/public/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - } - ], - "returnComment": [] + "trackAdoption": false }, { "parentPluginId": "lens", @@ -5698,7 +5595,7 @@ "signature": [ "((state: T, layerId: string, type: ", "LayerType", - ", indexPatternId: string) => T) | undefined" + ", indexPatternId: string, extraArg?: ExtraAppendLayerArg | undefined) => T) | undefined" ], "path": "x-pack/plugins/lens/public/types.ts", "deprecated": false, @@ -5763,6 +5660,21 @@ "deprecated": false, "trackAdoption": false, "isRequired": true + }, + { + "parentPluginId": "lens", + "id": "def-public.Visualization.appendLayer.$5", + "type": "Uncategorized", + "tags": [], + "label": "extraArg", + "description": [], + "signature": [ + "ExtraAppendLayerArg | undefined" + ], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false } ], "returnComment": [] @@ -5779,11 +5691,9 @@ "signature": [ "(state?: T | undefined, frame?: Pick<", "FramePublicAPI", - ", \"activeData\" | \"datasourceLayers\"> | undefined) => { type: ", - "LayerType", - "; label: string; icon?: ", - "IconType", - " | undefined; noDatasource?: boolean | undefined; disabled?: boolean | undefined; toolTipContent?: string | undefined; initialDimensions?: { columnId: string; groupId: string; staticValue?: unknown; autoTimeField?: boolean | undefined; }[] | undefined; canAddViaMenu?: boolean | undefined; }[]" + ", \"activeData\" | \"datasourceLayers\"> | undefined) => ", + "VisualizationLayerDescription", + "[]" ], "path": "x-pack/plugins/lens/public/types.ts", "deprecated": false, @@ -5834,8 +5744,10 @@ "\nreturns a list of custom actions supported by the visualization layer.\nDefault actions like delete/clear are not included in this list and are managed by the editor frame" ], "signature": [ - "((layerId: string, state: T) => ", - "LayerActionFromVisualization", + "((layerId: string, state: T, setState: ", + "StateSetter", + ", isSaveable?: boolean | undefined) => ", + "LayerAction", "[]) | undefined" ], "path": "x-pack/plugins/lens/public/types.ts", @@ -5871,50 +5783,17 @@ "deprecated": false, "trackAdoption": false, "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "lens", - "id": "def-public.Visualization.onLayerAction", - "type": "Function", - "tags": [], - "label": "onLayerAction", - "description": [ - "\nPerform state mutations in response to a layer action" - ], - "signature": [ - "((layerId: string, actionId: string, state: T) => T) | undefined" - ], - "path": "x-pack/plugins/lens/public/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "lens", - "id": "def-public.Visualization.onLayerAction.$1", - "type": "string", - "tags": [], - "label": "layerId", - "description": [], - "signature": [ - "string" - ], - "path": "x-pack/plugins/lens/public/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true }, { "parentPluginId": "lens", - "id": "def-public.Visualization.onLayerAction.$2", - "type": "string", + "id": "def-public.Visualization.getSupportedActionsForLayer.$3", + "type": "Function", "tags": [], - "label": "actionId", + "label": "setState", "description": [], "signature": [ - "string" + "StateSetter", + "" ], "path": "x-pack/plugins/lens/public/types.ts", "deprecated": false, @@ -5923,18 +5802,18 @@ }, { "parentPluginId": "lens", - "id": "def-public.Visualization.onLayerAction.$3", - "type": "Uncategorized", + "id": "def-public.Visualization.getSupportedActionsForLayer.$4", + "type": "CompoundType", "tags": [], - "label": "state", + "label": "isSaveable", "description": [], "signature": [ - "T" + "boolean | undefined" ], "path": "x-pack/plugins/lens/public/types.ts", "deprecated": false, "trackAdoption": false, - "isRequired": true + "isRequired": false } ], "returnComment": [] @@ -6884,6 +6763,248 @@ ], "returnComment": [] }, + { + "parentPluginId": "lens", + "id": "def-public.Visualization.getAddLayerButtonComponent", + "type": "Function", + "tags": [], + "label": "getAddLayerButtonComponent", + "description": [], + "signature": [ + "((props: { supportedLayers: ", + "VisualizationLayerDescription", + "[]; addLayer: ", + "AddLayerFunction", + "; ensureIndexPattern: (specOrId: string | ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewSpec", + "text": "DataViewSpec" + }, + ") => Promise; registerLibraryAnnotationGroup: (groupInfo: { id: string; group: ", + { + "pluginId": "eventAnnotation", + "scope": "common", + "docId": "kibEventAnnotationPluginApi", + "section": "def-common.EventAnnotationGroupConfig", + "text": "EventAnnotationGroupConfig" + }, + "; }) => void; }) => JSX.Element | null) | undefined" + ], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "lens", + "id": "def-public.Visualization.getAddLayerButtonComponent.$1", + "type": "Object", + "tags": [], + "label": "props", + "description": [], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "lens", + "id": "def-public.Visualization.getAddLayerButtonComponent.$1.supportedLayers", + "type": "Array", + "tags": [], + "label": "supportedLayers", + "description": [], + "signature": [ + "VisualizationLayerDescription", + "[]" + ], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "lens", + "id": "def-public.Visualization.getAddLayerButtonComponent.$1.addLayer", + "type": "Function", + "tags": [], + "label": "addLayer", + "description": [], + "signature": [ + "(layerType: ", + "LayerType", + ", extraArg?: unknown, ignoreInitialValues?: boolean | undefined) => void" + ], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "lens", + "id": "def-public.Visualization.getAddLayerButtonComponent.$1.addLayer.$1", + "type": "CompoundType", + "tags": [], + "label": "layerType", + "description": [], + "signature": [ + "\"data\" | \"annotations\" | \"metricTrendline\" | \"referenceLine\"" + ], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "lens", + "id": "def-public.Visualization.getAddLayerButtonComponent.$1.addLayer.$2", + "type": "Uncategorized", + "tags": [], + "label": "extraArg", + "description": [], + "signature": [ + "T | undefined" + ], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "lens", + "id": "def-public.Visualization.getAddLayerButtonComponent.$1.addLayer.$3", + "type": "CompoundType", + "tags": [], + "label": "ignoreInitialValues", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "lens", + "id": "def-public.Visualization.getAddLayerButtonComponent.$1.ensureIndexPattern", + "type": "Function", + "tags": [], + "label": "ensureIndexPattern", + "description": [], + "signature": [ + "(specOrId: string | ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewSpec", + "text": "DataViewSpec" + }, + ") => Promise" + ], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "lens", + "id": "def-public.Visualization.getAddLayerButtonComponent.$1.ensureIndexPattern.$1", + "type": "CompoundType", + "tags": [], + "label": "specOrId", + "description": [], + "signature": [ + "string | ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewSpec", + "text": "DataViewSpec" + } + ], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "lens", + "id": "def-public.Visualization.getAddLayerButtonComponent.$1.registerLibraryAnnotationGroup", + "type": "Function", + "tags": [], + "label": "registerLibraryAnnotationGroup", + "description": [], + "signature": [ + "(groupInfo: { id: string; group: ", + { + "pluginId": "eventAnnotation", + "scope": "common", + "docId": "kibEventAnnotationPluginApi", + "section": "def-common.EventAnnotationGroupConfig", + "text": "EventAnnotationGroupConfig" + }, + "; }) => void" + ], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "lens", + "id": "def-public.Visualization.getAddLayerButtonComponent.$1.registerLibraryAnnotationGroup.$1", + "type": "Object", + "tags": [], + "label": "groupInfo", + "description": [], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "lens", + "id": "def-public.Visualization.getAddLayerButtonComponent.$1.registerLibraryAnnotationGroup.$1.id", + "type": "string", + "tags": [], + "label": "id", + "description": [], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "lens", + "id": "def-public.Visualization.getAddLayerButtonComponent.$1.registerLibraryAnnotationGroup.$1.group", + "type": "Object", + "tags": [], + "label": "group", + "description": [], + "signature": [ + { + "pluginId": "eventAnnotation", + "scope": "common", + "docId": "kibEventAnnotationPluginApi", + "section": "def-common.EventAnnotationGroupConfig", + "text": "EventAnnotationGroupConfig" + } + ], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ], + "returnComment": [] + } + ] + } + ], + "returnComment": [] + }, { "parentPluginId": "lens", "id": "def-public.Visualization.getUniqueLabels", @@ -7569,6 +7690,130 @@ ], "returnComment": [] }, + { + "parentPluginId": "lens", + "id": "def-public.Visualization.isEqual", + "type": "Function", + "tags": [], + "label": "isEqual", + "description": [], + "signature": [ + "((state1: P, references1: ", + { + "pluginId": "@kbn/core-saved-objects-common", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObjectReference", + "text": "SavedObjectReference" + }, + "[], state2: P, references2: ", + { + "pluginId": "@kbn/core-saved-objects-common", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObjectReference", + "text": "SavedObjectReference" + }, + "[], annotationGroups: ", + "AnnotationGroups", + ") => boolean) | undefined" + ], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "lens", + "id": "def-public.Visualization.isEqual.$1", + "type": "Uncategorized", + "tags": [], + "label": "state1", + "description": [], + "signature": [ + "P" + ], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "lens", + "id": "def-public.Visualization.isEqual.$2", + "type": "Array", + "tags": [], + "label": "references1", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-saved-objects-common", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObjectReference", + "text": "SavedObjectReference" + }, + "[]" + ], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "lens", + "id": "def-public.Visualization.isEqual.$3", + "type": "Uncategorized", + "tags": [], + "label": "state2", + "description": [], + "signature": [ + "P" + ], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "lens", + "id": "def-public.Visualization.isEqual.$4", + "type": "Array", + "tags": [], + "label": "references2", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-saved-objects-common", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObjectReference", + "text": "SavedObjectReference" + }, + "[]" + ], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "lens", + "id": "def-public.Visualization.isEqual.$5", + "type": "Object", + "tags": [], + "label": "annotationGroups", + "description": [], + "signature": [ + "AnnotationGroups" + ], + "path": "x-pack/plugins/lens/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, { "parentPluginId": "lens", "id": "def-public.Visualization.getVisualizationInfo", @@ -7774,116 +8019,6 @@ ], "initialIsOpen": false }, - { - "parentPluginId": "lens", - "id": "def-public.XYAnnotationLayerConfig", - "type": "Interface", - "tags": [], - "label": "XYAnnotationLayerConfig", - "description": [], - "path": "x-pack/plugins/lens/public/visualizations/xy/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "lens", - "id": "def-public.XYAnnotationLayerConfig.layerId", - "type": "string", - "tags": [], - "label": "layerId", - "description": [], - "path": "x-pack/plugins/lens/public/visualizations/xy/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "lens", - "id": "def-public.XYAnnotationLayerConfig.layerType", - "type": "string", - "tags": [], - "label": "layerType", - "description": [], - "signature": [ - "\"annotations\"" - ], - "path": "x-pack/plugins/lens/public/visualizations/xy/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "lens", - "id": "def-public.XYAnnotationLayerConfig.annotations", - "type": "Array", - "tags": [], - "label": "annotations", - "description": [], - "signature": [ - { - "pluginId": "eventAnnotation", - "scope": "common", - "docId": "kibEventAnnotationPluginApi", - "section": "def-common.EventAnnotationConfig", - "text": "EventAnnotationConfig" - }, - "[]" - ], - "path": "x-pack/plugins/lens/public/visualizations/xy/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "lens", - "id": "def-public.XYAnnotationLayerConfig.hide", - "type": "CompoundType", - "tags": [], - "label": "hide", - "description": [], - "signature": [ - "boolean | undefined" - ], - "path": "x-pack/plugins/lens/public/visualizations/xy/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "lens", - "id": "def-public.XYAnnotationLayerConfig.indexPatternId", - "type": "string", - "tags": [], - "label": "indexPatternId", - "description": [], - "path": "x-pack/plugins/lens/public/visualizations/xy/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "lens", - "id": "def-public.XYAnnotationLayerConfig.simpleView", - "type": "CompoundType", - "tags": [], - "label": "simpleView", - "description": [], - "signature": [ - "boolean | undefined" - ], - "path": "x-pack/plugins/lens/public/visualizations/xy/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "lens", - "id": "def-public.XYAnnotationLayerConfig.ignoreGlobalFilters", - "type": "boolean", - "tags": [], - "label": "ignoreGlobalFilters", - "description": [], - "path": "x-pack/plugins/lens/public/visualizations/xy/types.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, { "parentPluginId": "lens", "id": "def-public.XYArgs", @@ -10494,6 +10629,23 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "lens", + "id": "def-public.XYAnnotationLayerConfig", + "type": "Type", + "tags": [], + "label": "XYAnnotationLayerConfig", + "description": [], + "signature": [ + "XYByValueAnnotationLayerConfig", + " | ", + "XYByReferenceAnnotationLayerConfig" + ], + "path": "x-pack/plugins/lens/public/visualizations/xy/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "lens", "id": "def-public.XYCurveType", diff --git a/api_docs/lens.mdx b/api_docs/lens.mdx index 298265aa44567..fb9b1837d9bb9 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lens'] --- import lensObj from './lens.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 611 | 0 | 515 | 52 | +| 618 | 0 | 523 | 58 | ## Client diff --git a/api_docs/license_api_guard.mdx b/api_docs/license_api_guard.mdx index 0ae219937011d..c715828a85a58 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-05-16 +date: 2023-06-07 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 a35365218b28f..46b9b24867ecf 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseManagement'] --- import licenseManagementObj from './license_management.devdocs.json'; diff --git a/api_docs/licensing.devdocs.json b/api_docs/licensing.devdocs.json index dc25b70ac2167..327f43e2c4f79 100644 --- a/api_docs/licensing.devdocs.json +++ b/api_docs/licensing.devdocs.json @@ -2150,6 +2150,14 @@ "plugin": "remoteClusters", "path": "x-pack/plugins/remote_clusters/server/plugin.ts" }, + { + "plugin": "osquery", + "path": "x-pack/plugins/osquery/server/handlers/action/create_action_service.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/query/query.ts" + }, { "plugin": "graph", "path": "x-pack/plugins/graph/server/plugin.ts" @@ -2162,10 +2170,6 @@ "plugin": "mapsEms", "path": "src/plugins/maps_ems/server/index.ts" }, - { - "plugin": "osquery", - "path": "x-pack/plugins/osquery/server/handlers/action/create_action_service.ts" - }, { "plugin": "painlessLab", "path": "x-pack/plugins/painless_lab/server/services/license.ts" @@ -2178,10 +2182,6 @@ "plugin": "searchprofiler", "path": "x-pack/plugins/searchprofiler/server/plugin.ts" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/query/query.ts" - }, { "plugin": "snapshotRestore", "path": "x-pack/plugins/snapshot_restore/server/services/license.ts" diff --git a/api_docs/licensing.mdx b/api_docs/licensing.mdx index 5fc3c3305f845..cedf4a4ee40f9 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licensing'] --- import licensingObj from './licensing.devdocs.json'; diff --git a/api_docs/lists.devdocs.json b/api_docs/lists.devdocs.json index f36f850afa8e7..202a3b7effc1f 100644 --- a/api_docs/lists.devdocs.json +++ b/api_docs/lists.devdocs.json @@ -4253,7 +4253,7 @@ "TransportRequestOptions", " | undefined): Promise<", "CountResponse", - ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", + ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchApplication]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", "default", "; child: (opts: ", "ClientOptions", @@ -4499,29 +4499,29 @@ "ExplainResponse", ">; }; features: ", "default", - "; fieldCaps: { (this: That, params: ", + "; fieldCaps: { (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithOutMeta", " | undefined): Promise<", "FieldCapsResponse", - ">; (this: That, params: ", + ">; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithMeta", " | undefined): Promise<", "TransportResult", "<", "FieldCapsResponse", - ", unknown>>; (this: That, params: ", + ", unknown>>; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptions", " | undefined): Promise<", "FieldCapsResponse", @@ -4627,7 +4627,33 @@ "TransportRequestOptions", " | undefined): Promise; }; graph: ", "default", - "; ilm: ", + "; healthReport: { (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "HealthReportResponse", + ">; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "HealthReportResponse", + ", unknown>>; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "HealthReportResponse", + ">; }; ilm: ", "default", "; index: { (this: That, params: ", "IndexRequest", @@ -5073,7 +5099,9 @@ "TransportRequestOptions", " | undefined): Promise<", "ScrollResponse", - ">; }; searchMvt: { (this: That, params: ", + ">; }; searchApplication: ", + "default", + "; searchMvt: { (this: That, params: ", "SearchMvtRequest", " | ", "SearchMvtRequest", diff --git a/api_docs/lists.mdx b/api_docs/lists.mdx index 12274a77db533..acedbb731ebbd 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lists'] --- import listsObj from './lists.devdocs.json'; diff --git a/api_docs/management.mdx b/api_docs/management.mdx index 4d051f1f0ac6e..45d3d3984738b 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'management'] --- import managementObj from './management.devdocs.json'; diff --git a/api_docs/maps.devdocs.json b/api_docs/maps.devdocs.json index 5b7625d514738..b15e88e056f44 100644 --- a/api_docs/maps.devdocs.json +++ b/api_docs/maps.devdocs.json @@ -3035,10 +3035,10 @@ }, { "parentPluginId": "maps", - "id": "def-public.IVectorSource.showJoinEditor", + "id": "def-public.IVectorSource.supportsJoins", "type": "Function", "tags": [], - "label": "showJoinEditor", + "label": "supportsJoins", "description": [], "signature": [ "() => boolean" @@ -3049,22 +3049,6 @@ "children": [], "returnComment": [] }, - { - "parentPluginId": "maps", - "id": "def-public.IVectorSource.getJoinsDisabledReason", - "type": "Function", - "tags": [], - "label": "getJoinsDisabledReason", - "description": [], - "signature": [ - "() => string | null" - ], - "path": "x-pack/plugins/maps/public/classes/sources/vector_source/vector_source.tsx", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - }, { "parentPluginId": "maps", "id": "def-public.IVectorSource.getSyncMeta", @@ -3305,22 +3289,6 @@ "children": [], "returnComment": [] }, - { - "parentPluginId": "maps", - "id": "def-public.IVectorSource.getDefaultFields", - "type": "Function", - "tags": [], - "label": "getDefaultFields", - "description": [], - "signature": [ - "() => Promise>>" - ], - "path": "x-pack/plugins/maps/public/classes/sources/vector_source/vector_source.tsx", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [] - }, { "parentPluginId": "maps", "id": "def-public.IVectorSource.addFeature", @@ -3329,7 +3297,7 @@ "label": "addFeature", "description": [], "signature": [ - "(geometry: GeoJSON.Geometry | GeoJSON.Position[], defaultFields: Record>) => Promise" + "(geometry: GeoJSON.Geometry | GeoJSON.Position[]) => Promise" ], "path": "x-pack/plugins/maps/public/classes/sources/vector_source/vector_source.tsx", "deprecated": false, @@ -3349,21 +3317,6 @@ "deprecated": false, "trackAdoption": false, "isRequired": true - }, - { - "parentPluginId": "maps", - "id": "def-public.IVectorSource.addFeature.$2", - "type": "Object", - "tags": [], - "label": "defaultFields", - "description": [], - "signature": [ - "Record>" - ], - "path": "x-pack/plugins/maps/public/classes/sources/vector_source/vector_source.tsx", - "deprecated": false, - "trackAdoption": false, - "isRequired": true } ], "returnComment": [] @@ -4137,7 +4090,7 @@ "label": "SourceEditorArgs", "description": [], "signature": [ - "{ currentLayerType: string; numberOfJoins: number; onChange: (...args: ", + "{ currentLayerType: string; hasSpatialJoins: boolean; numberOfJoins: number; onChange: (...args: ", "OnSourceChangeArgs", "[]) => Promise; onStyleDescriptorChange: (styleDescriptor: ", "StyleDescriptor", @@ -4609,7 +4562,7 @@ "AbstractSourceDescriptor", " & { id: string; indexPatternId: string; geoField?: string | undefined; applyGlobalQuery: boolean; applyGlobalTime: boolean; applyForceRefresh: boolean; } & { metrics: ", "AggDescriptor", - "[]; } & { term: string; whereQuery?: ", + "[]; } & { whereQuery?: ", { "pluginId": "@kbn/es-query", "scope": "common", @@ -4617,7 +4570,7 @@ "section": "def-common.Query", "text": "Query" }, - " | undefined; size?: number | undefined; type: ", + " | undefined; } & { term: string; size?: number | undefined; type: ", { "pluginId": "maps", "scope": "common", @@ -4829,9 +4782,9 @@ "section": "def-common.LAYER_TYPE", "text": "LAYER_TYPE" }, - ".MVT_VECTOR; joins?: ", + ".MVT_VECTOR; joins?: Partial<", "JoinDescriptor", - "[] | undefined; style: ", + ">[] | undefined; style: ", { "pluginId": "maps", "scope": "common", diff --git a/api_docs/maps.mdx b/api_docs/maps.mdx index 4c3aca1445243..b7633c4cd46bb 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'maps'] --- import mapsObj from './maps.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-gis](https://github.com/orgs/elastic/teams/kibana-gis) | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 269 | 0 | 268 | 29 | +| 266 | 0 | 265 | 29 | ## Client diff --git a/api_docs/maps_ems.mdx b/api_docs/maps_ems.mdx index c760daa16d9ca..89edfb415483e 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'mapsEms'] --- import mapsEmsObj from './maps_ems.devdocs.json'; diff --git a/api_docs/ml.devdocs.json b/api_docs/ml.devdocs.json index 79b088407a48e..feb21b34e4084 100644 --- a/api_docs/ml.devdocs.json +++ b/api_docs/ml.devdocs.json @@ -719,7 +719,7 @@ "tags": [], "label": "fullJob", "description": [ - "\nUsed in older implementations of the job config, where the datafeed was placed inside the job for convenience.\nThis will be populated if the job's id has been passed to the /api/ml/jobs/jobs_summary endpoint." + "\nUsed in older implementations of the job config, where the datafeed was placed inside the job for convenience.\nThis will be populated if the job's id has been passed to the /internal/ml/jobs/jobs_summary endpoint." ], "signature": [ "CombinedJob", @@ -918,102 +918,6 @@ } ], "initialIsOpen": false - }, - { - "parentPluginId": "ml", - "id": "def-public.UseIndexDataReturnType", - "type": "Interface", - "tags": [], - "label": "UseIndexDataReturnType", - "description": [], - "signature": [ - { - "pluginId": "ml", - "scope": "public", - "docId": "kibMlPluginApi", - "section": "def-public.UseIndexDataReturnType", - "text": "UseIndexDataReturnType" - }, - " extends Pick<", - "UseDataGridReturnType", - ", \"status\" | \"rowCount\" | \"errorMessage\" | \"baseline\" | \"chartsVisible\" | \"chartsButtonVisible\" | \"ccsWarning\" | \"columnsWithCharts\" | \"invalidSortingColumnns\" | \"noDataMessage\" | \"onChangeItemsPerPage\" | \"onChangePage\" | \"onSort\" | \"pagination\" | \"setPagination\" | \"setVisibleColumns\" | \"rowCountRelation\" | \"sortingColumns\" | \"tableItems\" | \"toggleChartVisibility\" | \"visibleColumns\" | \"predictionFieldName\" | \"resultsField\">" - ], - "path": "x-pack/plugins/ml/public/application/components/data_grid/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "ml", - "id": "def-public.UseIndexDataReturnType.renderCellValue", - "type": "Function", - "tags": [], - "label": "renderCellValue", - "description": [], - "signature": [ - "({ rowIndex, columnId, setCellProps, }: { rowIndex: number; columnId: string; setCellProps: (props: ", - "EuiDataGridSetCellProps", - ") => void; }) => any" - ], - "path": "x-pack/plugins/ml/public/application/components/data_grid/types.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "ml", - "id": "def-public.UseIndexDataReturnType.renderCellValue.$1", - "type": "Object", - "tags": [], - "label": "__0", - "description": [], - "signature": [ - "{ rowIndex: number; columnId: string; setCellProps: (props: ", - "EuiDataGridSetCellProps", - ") => void; }" - ], - "path": "x-pack/plugins/ml/public/application/components/data_grid/types.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "ml", - "id": "def-public.UseIndexDataReturnType.indexPatternFields", - "type": "Array", - "tags": [], - "label": "indexPatternFields", - "description": [], - "signature": [ - "string[] | undefined" - ], - "path": "x-pack/plugins/ml/public/application/components/data_grid/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "ml", - "id": "def-public.UseIndexDataReturnType.timeRangeMs", - "type": "Object", - "tags": [], - "label": "timeRangeMs", - "description": [], - "signature": [ - { - "pluginId": "@kbn/ml-date-picker", - "scope": "common", - "docId": "kibKbnMlDatePickerPluginApi", - "section": "def-common.TimeRange", - "text": "TimeRange" - }, - " | undefined" - ], - "path": "x-pack/plugins/ml/public/application/components/data_grid/types.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false } ], "enums": [], @@ -1071,22 +975,6 @@ "trackAdoption": false, "initialIsOpen": false }, - { - "parentPluginId": "ml", - "id": "def-public.EsSorting", - "type": "Type", - "tags": [], - "label": "EsSorting", - "description": [], - "signature": [ - "Dictionary", - "<{ order: \"asc\" | \"desc\"; }>" - ], - "path": "x-pack/plugins/ml/public/application/components/data_grid/types.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, { "parentPluginId": "ml", "id": "def-public.GetMlSharedImportsReturnType", @@ -1126,64 +1014,9 @@ "deprecated": false, "trackAdoption": false, "initialIsOpen": false - }, - { - "parentPluginId": "ml", - "id": "def-public.RenderCellValue", - "type": "Type", - "tags": [], - "label": "RenderCellValue", - "description": [], - "signature": [ - "({ rowIndex, columnId, setCellProps, }: { rowIndex: number; columnId: string; setCellProps: (props: ", - "EuiDataGridSetCellProps", - ") => void; }) => any" - ], - "path": "x-pack/plugins/ml/public/application/components/data_grid/types.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "ml", - "id": "def-public.RenderCellValue.$1", - "type": "Object", - "tags": [], - "label": "__0", - "description": [], - "signature": [ - "{ rowIndex: number; columnId: string; setCellProps: (props: ", - "EuiDataGridSetCellProps", - ") => void; }" - ], - "path": "x-pack/plugins/ml/public/application/components/data_grid/types.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false } ], "objects": [ - { - "parentPluginId": "ml", - "id": "def-public.ES_CLIENT_TOTAL_HITS_RELATION", - "type": "Object", - "tags": [], - "label": "ES_CLIENT_TOTAL_HITS_RELATION", - "description": [], - "signature": [ - "{ GTE: ", - "SearchTotalHitsRelation", - "; EQ: ", - "SearchTotalHitsRelation", - "; }" - ], - "path": "x-pack/plugins/ml/common/types/es_client.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, { "parentPluginId": "ml", "id": "def-public.ML_PAGES", @@ -1607,7 +1440,7 @@ "tags": [], "label": "fullJob", "description": [ - "\nUsed in older implementations of the job config, where the datafeed was placed inside the job for convenience.\nThis will be populated if the job's id has been passed to the /api/ml/jobs/jobs_summary endpoint." + "\nUsed in older implementations of the job config, where the datafeed was placed inside the job for convenience.\nThis will be populated if the job's id has been passed to the /internal/ml/jobs/jobs_summary endpoint." ], "signature": [ "CombinedJob", @@ -2163,72 +1996,6 @@ "returnComment": [], "initialIsOpen": false }, - { - "parentPluginId": "ml", - "id": "def-common.isRuntimeField", - "type": "Function", - "tags": [], - "label": "isRuntimeField", - "description": [], - "signature": [ - "(arg: unknown) => boolean" - ], - "path": "x-pack/plugins/ml/common/util/runtime_field_utils.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "ml", - "id": "def-common.isRuntimeField.$1", - "type": "Unknown", - "tags": [], - "label": "arg", - "description": [], - "signature": [ - "unknown" - ], - "path": "x-pack/plugins/ml/common/util/runtime_field_utils.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "ml", - "id": "def-common.isRuntimeMappings", - "type": "Function", - "tags": [], - "label": "isRuntimeMappings", - "description": [], - "signature": [ - "(arg: unknown) => boolean" - ], - "path": "x-pack/plugins/ml/common/util/runtime_field_utils.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "ml", - "id": "def-common.isRuntimeMappings.$1", - "type": "Unknown", - "tags": [], - "label": "arg", - "description": [], - "signature": [ - "unknown" - ], - "path": "x-pack/plugins/ml/common/util/runtime_field_utils.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, { "parentPluginId": "ml", "id": "def-common.patternValidator", @@ -2481,7 +2248,7 @@ "tags": [], "label": "fullJob", "description": [ - "\nUsed in older implementations of the job config, where the datafeed was placed inside the job for convenience.\nThis will be populated if the job's id has been passed to the /api/ml/jobs/jobs_summary endpoint." + "\nUsed in older implementations of the job config, where the datafeed was placed inside the job for convenience.\nThis will be populated if the job's id has been passed to the /internal/ml/jobs/jobs_summary endpoint." ], "signature": [ "CombinedJob", @@ -2713,42 +2480,6 @@ } ], "misc": [ - { - "parentPluginId": "ml", - "id": "def-common.ChartData", - "type": "Type", - "tags": [], - "label": "ChartData", - "description": [], - "signature": [ - "NumericChartData", - " | ", - "OrdinalChartData", - " | ", - "UnsupportedChartData" - ], - "path": "x-pack/plugins/ml/common/types/field_histograms.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "ml", - "id": "def-common.RuntimeMappings", - "type": "Type", - "tags": [], - "label": "RuntimeMappings", - "description": [], - "signature": [ - "{ [x: string]: ", - "MappingRuntimeField", - "; }" - ], - "path": "x-pack/plugins/ml/common/types/fields.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, { "parentPluginId": "ml", "id": "def-common.SummaryJobState", @@ -2767,26 +2498,6 @@ "initialIsOpen": false } ], - "objects": [ - { - "parentPluginId": "ml", - "id": "def-common.ES_CLIENT_TOTAL_HITS_RELATION", - "type": "Object", - "tags": [], - "label": "ES_CLIENT_TOTAL_HITS_RELATION", - "description": [], - "signature": [ - "{ GTE: ", - "SearchTotalHitsRelation", - "; EQ: ", - "SearchTotalHitsRelation", - "; }" - ], - "path": "x-pack/plugins/ml/common/types/es_client.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - } - ] + "objects": [] } } \ No newline at end of file diff --git a/api_docs/ml.mdx b/api_docs/ml.mdx index 810cb6101f7d5..04540fbfed26d 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ml'] --- import mlObj from './ml.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) for questi | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 166 | 3 | 80 | 38 | +| 150 | 3 | 64 | 33 | ## Client @@ -62,9 +62,6 @@ Contact [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) for questi ## Common -### Objects - - ### Functions diff --git a/api_docs/monitoring.mdx b/api_docs/monitoring.mdx index 5aca7c6e51d44..ba23c7d9bc4b1 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-05-16 +date: 2023-06-07 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 69022ba739ece..0c7d93a39038d 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-05-16 +date: 2023-06-07 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 e3f54b57b2989..46e655d2a9106 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-05-16 +date: 2023-06-07 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 ece6634937676..d81ee97a90ab3 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'newsfeed'] --- import newsfeedObj from './newsfeed.devdocs.json'; diff --git a/api_docs/notifications.mdx b/api_docs/notifications.mdx index 1a80b3c4cdc65..2fc7f86efc10b 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'notifications'] --- import notificationsObj from './notifications.devdocs.json'; diff --git a/api_docs/observability.devdocs.json b/api_docs/observability.devdocs.json index e2165052bc0f5..d0329eca26e22 100644 --- a/api_docs/observability.devdocs.json +++ b/api_docs/observability.devdocs.json @@ -3,56 +3,6 @@ "client": { "classes": [], "functions": [ - { - "parentPluginId": "observability", - "id": "def-public.ActionMenu", - "type": "Function", - "tags": [], - "label": "ActionMenu", - "description": [], - "signature": [ - "(props: Props) => JSX.Element" - ], - "path": "x-pack/plugins/observability/public/components/shared/action_menu/index.tsx", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "observability", - "id": "def-public.ActionMenu.$1", - "type": "CompoundType", - "tags": [], - "label": "props", - "description": [], - "signature": [ - "Props" - ], - "path": "x-pack/plugins/observability/public/components/shared/action_menu/index.tsx", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-public.ActionMenuDivider", - "type": "Function", - "tags": [], - "label": "ActionMenuDivider", - "description": [], - "signature": [ - "() => JSX.Element" - ], - "path": "x-pack/plugins/observability/public/components/shared/action_menu/index.tsx", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [], - "initialIsOpen": false - }, { "parentPluginId": "observability", "id": "def-public.AlertSummary", @@ -257,39 +207,6 @@ "returnComment": [], "initialIsOpen": false }, - { - "parentPluginId": "observability", - "id": "def-public.createEsParams", - "type": "Function", - "tags": [], - "label": "createEsParams", - "description": [], - "signature": [ - "(params: T) => T" - ], - "path": "x-pack/plugins/observability/public/hooks/use_es_search.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "observability", - "id": "def-public.createEsParams.$1", - "type": "Uncategorized", - "tags": [], - "label": "params", - "description": [], - "signature": [ - "T" - ], - "path": "x-pack/plugins/observability/public/hooks/use_es_search.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, { "parentPluginId": "observability", "id": "def-public.createObservabilityRuleTypeRegistryMock", @@ -332,7 +249,13 @@ "description": [], "signature": [ "() => (options?: ", - "Options", + { + "pluginId": "observabilityShared", + "scope": "public", + "docId": "kibObservabilitySharedPluginApi", + "section": "def-public.Options", + "text": "Options" + }, ") => ", "LinkProps" ], @@ -351,11 +274,11 @@ "label": "DatePicker", "description": [], "signature": [ - "(props: ", + "({\n rangeFrom,\n rangeTo,\n refreshPaused,\n refreshInterval,\n width = 'restricted',\n onTimeRangeRefresh,\n}: ", "DatePickerProps", ") => JSX.Element" ], - "path": "x-pack/plugins/observability/public/components/shared/index.tsx", + "path": "x-pack/plugins/observability/public/pages/overview/components/date_picker/date_picker.tsx", "deprecated": false, "trackAdoption": false, "children": [ @@ -364,12 +287,12 @@ "id": "def-public.DatePicker.$1", "type": "Object", "tags": [], - "label": "props", + "label": "{\n rangeFrom,\n rangeTo,\n refreshPaused,\n refreshInterval,\n width = 'restricted',\n onTimeRangeRefresh,\n}", "description": [], "signature": [ "DatePickerProps" ], - "path": "x-pack/plugins/observability/public/components/shared/index.tsx", + "path": "x-pack/plugins/observability/public/pages/overview/components/date_picker/date_picker.tsx", "deprecated": false, "trackAdoption": false, "isRequired": true @@ -388,7 +311,7 @@ "signature": [ "({ children }: { children: React.ReactElement>; }) => JSX.Element" ], - "path": "x-pack/plugins/observability/public/context/date_picker_context.tsx", + "path": "x-pack/plugins/observability/public/context/date_picker_context/date_picker_context.tsx", "deprecated": false, "trackAdoption": false, "children": [ @@ -399,7 +322,7 @@ "tags": [], "label": "{ children }", "description": [], - "path": "x-pack/plugins/observability/public/context/date_picker_context.tsx", + "path": "x-pack/plugins/observability/public/context/date_picker_context/date_picker_context.tsx", "deprecated": false, "trackAdoption": false, "children": [ @@ -413,7 +336,7 @@ "signature": [ "React.ReactElement>" ], - "path": "x-pack/plugins/observability/public/context/date_picker_context.tsx", + "path": "x-pack/plugins/observability/public/context/date_picker_context/date_picker_context.tsx", "deprecated": false, "trackAdoption": false } @@ -423,111 +346,6 @@ "returnComment": [], "initialIsOpen": false }, - { - "parentPluginId": "observability", - "id": "def-public.FieldValueSelection", - "type": "Function", - "tags": [], - "label": "FieldValueSelection", - "description": [], - "signature": [ - "(props: ", - "FieldValueSelectionProps", - ") => JSX.Element" - ], - "path": "x-pack/plugins/observability/public/components/shared/index.tsx", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "observability", - "id": "def-public.FieldValueSelection.$1", - "type": "CompoundType", - "tags": [], - "label": "props", - "description": [], - "signature": [ - "FieldValueSelectionProps" - ], - "path": "x-pack/plugins/observability/public/components/shared/index.tsx", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-public.FieldValueSuggestions", - "type": "Function", - "tags": [], - "label": "FieldValueSuggestions", - "description": [], - "signature": [ - "(props: ", - "FieldValueSuggestionsProps", - ") => JSX.Element" - ], - "path": "x-pack/plugins/observability/public/components/shared/index.tsx", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "observability", - "id": "def-public.FieldValueSuggestions.$1", - "type": "CompoundType", - "tags": [], - "label": "props", - "description": [], - "signature": [ - "FieldValueSuggestionsProps" - ], - "path": "x-pack/plugins/observability/public/components/shared/index.tsx", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-public.FilterValueLabel", - "type": "Function", - "tags": [], - "label": "FilterValueLabel", - "description": [], - "signature": [ - "(props: ", - "FilterValueLabelProps", - ") => JSX.Element" - ], - "path": "x-pack/plugins/observability/public/components/shared/index.tsx", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "observability", - "id": "def-public.FilterValueLabel.$1", - "type": "Object", - "tags": [], - "label": "props", - "description": [], - "signature": [ - "FilterValueLabelProps" - ], - "path": "x-pack/plugins/observability/public/components/shared/index.tsx", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, { "parentPluginId": "observability", "id": "def-public.formatAlertEvaluationValue", @@ -769,7 +587,7 @@ "CoreVitalProps", ") => JSX.Element" ], - "path": "x-pack/plugins/observability/public/components/shared/index.tsx", + "path": "x-pack/plugins/observability/public/components/core_web_vitals/get_core_web_vitals_lazy.tsx", "deprecated": false, "trackAdoption": false, "children": [ @@ -783,42 +601,7 @@ "signature": [ "CoreVitalProps" ], - "path": "x-pack/plugins/observability/public/components/shared/index.tsx", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-public.HeaderMenuPortal", - "type": "Function", - "tags": [], - "label": "HeaderMenuPortal", - "description": [], - "signature": [ - "(props: ", - "HeaderMenuPortalProps", - ") => JSX.Element" - ], - "path": "x-pack/plugins/observability/public/components/shared/index.tsx", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "observability", - "id": "def-public.HeaderMenuPortal.$1", - "type": "Object", - "tags": [], - "label": "props", - "description": [], - "signature": [ - "HeaderMenuPortalProps" - ], - "path": "x-pack/plugins/observability/public/components/shared/index.tsx", + "path": "x-pack/plugins/observability/public/components/core_web_vitals/get_core_web_vitals_lazy.tsx", "deprecated": false, "trackAdoption": false, "isRequired": true @@ -827,51 +610,6 @@ "returnComment": [], "initialIsOpen": false }, - { - "parentPluginId": "observability", - "id": "def-public.InspectorContextProvider", - "type": "Function", - "tags": [], - "label": "InspectorContextProvider", - "description": [], - "signature": [ - "({ children }: { children: React.ReactNode; }) => JSX.Element" - ], - "path": "x-pack/plugins/observability/public/context/inspector/inspector_context.tsx", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "observability", - "id": "def-public.InspectorContextProvider.$1", - "type": "Object", - "tags": [], - "label": "{ children }", - "description": [], - "path": "x-pack/plugins/observability/public/context/inspector/inspector_context.tsx", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "observability", - "id": "def-public.InspectorContextProvider.$1.children", - "type": "CompoundType", - "tags": [], - "label": "children", - "description": [], - "signature": [ - "boolean | React.ReactChild | React.ReactFragment | React.ReactPortal | null | undefined" - ], - "path": "x-pack/plugins/observability/public/context/inspector/inspector_context.tsx", - "deprecated": false, - "trackAdoption": false - } - ] - } - ], - "returnComment": [], - "initialIsOpen": false - }, { "parentPluginId": "observability", "id": "def-public.LazyAlertsFlyout", @@ -932,31 +670,31 @@ }, { "parentPluginId": "observability", - "id": "def-public.LoadWhenInView", + "id": "def-public.ObservabilityAlertSearchBar", "type": "Function", "tags": [], - "label": "LoadWhenInView", + "label": "ObservabilityAlertSearchBar", "description": [], "signature": [ "(props: ", - "LoadWhenInViewProps", + "ObservabilityAlertSearchBarProps", ") => JSX.Element" ], - "path": "x-pack/plugins/observability/public/components/shared/index.tsx", + "path": "x-pack/plugins/observability/public/components/alert_search_bar/get_alert_search_bar_lazy.tsx", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "observability", - "id": "def-public.LoadWhenInView.$1", + "id": "def-public.ObservabilityAlertSearchBar.$1", "type": "Object", "tags": [], "label": "props", "description": [], "signature": [ - "LoadWhenInViewProps" + "ObservabilityAlertSearchBarProps" ], - "path": "x-pack/plugins/observability/public/components/shared/index.tsx", + "path": "x-pack/plugins/observability/public/components/alert_search_bar/get_alert_search_bar_lazy.tsx", "deprecated": false, "trackAdoption": false, "isRequired": true @@ -967,32 +705,34 @@ }, { "parentPluginId": "observability", - "id": "def-public.NavigationWarningPromptProvider", + "id": "def-public.toQuery", "type": "Function", "tags": [], - "label": "NavigationWarningPromptProvider", + "label": "toQuery", "description": [], "signature": [ - "({ children }: { children?: React.ReactNode; }) => JSX.Element" + "(search: string | undefined) => ", + "ParsedQuery", + "" ], - "path": "x-pack/plugins/observability/public/utils/navigation_warning_prompt/context.tsx", + "path": "x-pack/plugins/observability/public/utils/url.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "observability", - "id": "def-public.NavigationWarningPromptProvider.$1", - "type": "Object", + "id": "def-public.toQuery.$1", + "type": "string", "tags": [], - "label": "{ children }", + "label": "search", "description": [], "signature": [ - "{ children?: React.ReactNode; }" + "string | undefined" ], - "path": "x-pack/plugins/observability/public/utils/navigation_warning_prompt/context.tsx", + "path": "x-pack/plugins/observability/public/utils/url.ts", "deprecated": false, "trackAdoption": false, - "isRequired": true + "isRequired": false } ], "returnComment": [], @@ -1000,812 +740,705 @@ }, { "parentPluginId": "observability", - "id": "def-public.ObservabilityAlertSearchBar", + "id": "def-public.useTimeBuckets", "type": "Function", "tags": [], - "label": "ObservabilityAlertSearchBar", + "label": "useTimeBuckets", "description": [], "signature": [ - "(props: ", - "ObservabilityAlertSearchBarProps", - ") => JSX.Element" + "() => ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.TimeBuckets", + "text": "TimeBuckets" + } ], - "path": "x-pack/plugins/observability/public/components/shared/index.tsx", + "path": "x-pack/plugins/observability/public/hooks/use_time_buckets.ts", "deprecated": false, "trackAdoption": false, - "children": [ - { - "parentPluginId": "observability", - "id": "def-public.ObservabilityAlertSearchBar.$1", - "type": "Object", - "tags": [], - "label": "props", - "description": [], - "signature": [ - "ObservabilityAlertSearchBarProps" - ], - "path": "x-pack/plugins/observability/public/components/shared/index.tsx", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], + "children": [], "returnComment": [], "initialIsOpen": false - }, + } + ], + "interfaces": [ { "parentPluginId": "observability", - "id": "def-public.Prompt", - "type": "Function", + "id": "def-public.AlertSummaryField", + "type": "Interface", "tags": [], - "label": "Prompt", + "label": "AlertSummaryField", "description": [], - "signature": [ - "({ prompt }: React.PropsWithChildren) => null" - ], - "path": "x-pack/plugins/observability/public/utils/navigation_warning_prompt/prompt.tsx", + "path": "x-pack/plugins/observability/public/pages/alert_details/components/alert_summary.tsx", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "observability", - "id": "def-public.Prompt.$1", + "id": "def-public.AlertSummaryField.label", "type": "CompoundType", "tags": [], - "label": "{ prompt }", + "label": "label", "description": [], "signature": [ - "React.PropsWithChildren" + "boolean | React.ReactChild | React.ReactFragment | React.ReactPortal | null | undefined" ], - "path": "x-pack/plugins/observability/public/utils/navigation_warning_prompt/prompt.tsx", + "path": "x-pack/plugins/observability/public/pages/alert_details/components/alert_summary.tsx", "deprecated": false, - "trackAdoption": false, - "isRequired": true + "trackAdoption": false + }, + { + "parentPluginId": "observability", + "id": "def-public.AlertSummaryField.value", + "type": "CompoundType", + "tags": [], + "label": "value", + "description": [], + "signature": [ + "boolean | React.ReactChild | React.ReactFragment | React.ReactPortal | null | undefined" + ], + "path": "x-pack/plugins/observability/public/pages/alert_details/components/alert_summary.tsx", + "deprecated": false, + "trackAdoption": false } ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-public.Section", - "type": "Function", - "tags": [], - "label": "Section", - "description": [], - "signature": [ - "string & ", - "StyledComponentBase", - "<\"div\", any, {}, never> & ", - "NonReactStatics", - "" - ], - "path": "x-pack/plugins/observability/public/components/shared/action_menu/index.tsx", - "deprecated": false, - "trackAdoption": false, "initialIsOpen": false }, { "parentPluginId": "observability", - "id": "def-public.SectionLink", - "type": "Function", + "id": "def-public.ApmFetchDataResponse", + "type": "Interface", "tags": [], - "label": "SectionLink", + "label": "ApmFetchDataResponse", "description": [], "signature": [ - "(props: ", - "EuiListGroupItemProps", - ") => JSX.Element" + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.ApmFetchDataResponse", + "text": "ApmFetchDataResponse" + }, + " extends ", + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.FetchDataResponse", + "text": "FetchDataResponse" + } ], - "path": "x-pack/plugins/observability/public/components/shared/action_menu/index.tsx", + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "observability", - "id": "def-public.SectionLink.$1", - "type": "CompoundType", + "id": "def-public.ApmFetchDataResponse.stats", + "type": "Object", "tags": [], - "label": "props", + "label": "stats", "description": [], "signature": [ - "EuiListGroupItemProps" + "{ services: ", + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.Stat", + "text": "Stat" + }, + "; transactions: ", + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.Stat", + "text": "Stat" + }, + "; }" ], - "path": "x-pack/plugins/observability/public/components/shared/action_menu/index.tsx", + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, - "trackAdoption": false, - "isRequired": true + "trackAdoption": false + }, + { + "parentPluginId": "observability", + "id": "def-public.ApmFetchDataResponse.series", + "type": "Object", + "tags": [], + "label": "series", + "description": [], + "signature": [ + "{ transactions: ", + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.Series", + "text": "Series" + }, + "; }" + ], + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "deprecated": false, + "trackAdoption": false } ], - "returnComment": [], "initialIsOpen": false }, { "parentPluginId": "observability", - "id": "def-public.SectionLinks", - "type": "Function", + "id": "def-public.APMHasDataResponse", + "type": "Interface", "tags": [], - "label": "SectionLinks", + "label": "APMHasDataResponse", "description": [], - "signature": [ - "({ children, ...props }: { children?: React.ReactNode; } & ", - "CommonProps", - " & Omit, \"color\"> & { bordered?: boolean | undefined; flush?: boolean | undefined; gutterSize?: \"m\" | \"none\" | \"s\" | undefined; listItems?: ", - "EuiListGroupItemProps", - "[] | undefined; color?: \"text\" | \"subdued\" | \"primary\" | undefined; size?: \"m\" | \"s\" | \"xs\" | \"l\" | undefined; maxWidth?: boolean | ", - "Property", - ".MaxWidth | undefined; showToolTips?: boolean | undefined; wrapText?: boolean | undefined; ariaLabelledby?: string | undefined; }) => JSX.Element" - ], - "path": "x-pack/plugins/observability/public/components/shared/action_menu/index.tsx", + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "observability", - "id": "def-public.SectionLinks.$1", - "type": "CompoundType", + "id": "def-public.APMHasDataResponse.hasData", + "type": "boolean", + "tags": [], + "label": "hasData", + "description": [], + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "observability", + "id": "def-public.APMHasDataResponse.indices", + "type": "Object", "tags": [], - "label": "{ children, ...props }", + "label": "indices", "description": [], "signature": [ - "{ children?: React.ReactNode; } & ", - "CommonProps", - " & Omit, \"color\"> & { bordered?: boolean | undefined; flush?: boolean | undefined; gutterSize?: \"m\" | \"none\" | \"s\" | undefined; listItems?: ", - "EuiListGroupItemProps", - "[] | undefined; color?: \"text\" | \"subdued\" | \"primary\" | undefined; size?: \"m\" | \"s\" | \"xs\" | \"l\" | undefined; maxWidth?: boolean | ", - "Property", - ".MaxWidth | undefined; showToolTips?: boolean | undefined; wrapText?: boolean | undefined; ariaLabelledby?: string | undefined; }" + "ApmIndicesConfig" ], - "path": "x-pack/plugins/observability/public/components/shared/action_menu/index.tsx", + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, - "trackAdoption": false, - "isRequired": true + "trackAdoption": false } ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-public.SectionSpacer", - "type": "Function", - "tags": [], - "label": "SectionSpacer", - "description": [], - "signature": [ - "() => JSX.Element" - ], - "path": "x-pack/plugins/observability/public/components/shared/action_menu/index.tsx", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [], "initialIsOpen": false }, { "parentPluginId": "observability", - "id": "def-public.SectionSubtitle", - "type": "Function", + "id": "def-public.BurnRateRuleParams", + "type": "Interface", "tags": [], - "label": "SectionSubtitle", + "label": "BurnRateRuleParams", "description": [], "signature": [ - "({ children }: { children?: React.ReactNode; }) => JSX.Element" + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.BurnRateRuleParams", + "text": "BurnRateRuleParams" + }, + " extends ", + { + "pluginId": "alerting", + "scope": "common", + "docId": "kibAlertingPluginApi", + "section": "def-common.RuleTypeParams", + "text": "RuleTypeParams" + } ], - "path": "x-pack/plugins/observability/public/components/shared/action_menu/index.tsx", + "path": "x-pack/plugins/observability/public/typings/slo/index.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "observability", - "id": "def-public.SectionSubtitle.$1", - "type": "Object", + "id": "def-public.BurnRateRuleParams.sloId", + "type": "string", "tags": [], - "label": "{ children }", + "label": "sloId", "description": [], - "path": "x-pack/plugins/observability/public/components/shared/action_menu/index.tsx", + "path": "x-pack/plugins/observability/public/typings/slo/index.ts", "deprecated": false, - "trackAdoption": false, - "children": [ + "trackAdoption": false + }, + { + "parentPluginId": "observability", + "id": "def-public.BurnRateRuleParams.windows", + "type": "Array", + "tags": [], + "label": "windows", + "description": [], + "signature": [ { - "parentPluginId": "observability", - "id": "def-public.SectionSubtitle.$1.children", - "type": "CompoundType", - "tags": [], - "label": "children", - "description": [], - "signature": [ - "boolean | React.ReactChild | React.ReactFragment | React.ReactPortal | null | undefined" - ], - "path": "x-pack/plugins/observability/public/components/shared/action_menu/index.tsx", - "deprecated": false, - "trackAdoption": false - } - ] + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.WindowSchema", + "text": "WindowSchema" + }, + "[]" + ], + "path": "x-pack/plugins/observability/public/typings/slo/index.ts", + "deprecated": false, + "trackAdoption": false } ], - "returnComment": [], "initialIsOpen": false }, { "parentPluginId": "observability", - "id": "def-public.SectionTitle", - "type": "Function", + "id": "def-public.ChartData", + "type": "Interface", "tags": [], - "label": "SectionTitle", + "label": "ChartData", "description": [], - "signature": [ - "({ children }: { children?: React.ReactNode; }) => JSX.Element" - ], - "path": "x-pack/plugins/observability/public/components/shared/action_menu/index.tsx", + "path": "x-pack/plugins/observability/public/typings/slo/index.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "observability", - "id": "def-public.SectionTitle.$1", - "type": "Object", + "id": "def-public.ChartData.key", + "type": "number", "tags": [], - "label": "{ children }", + "label": "key", "description": [], - "path": "x-pack/plugins/observability/public/components/shared/action_menu/index.tsx", + "path": "x-pack/plugins/observability/public/typings/slo/index.ts", "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "observability", - "id": "def-public.SectionTitle.$1.children", - "type": "CompoundType", - "tags": [], - "label": "children", - "description": [], - "signature": [ - "boolean | React.ReactChild | React.ReactFragment | React.ReactPortal | null | undefined" - ], - "path": "x-pack/plugins/observability/public/components/shared/action_menu/index.tsx", - "deprecated": false, - "trackAdoption": false - } - ] - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-public.shouldHandleLinkEvent", - "type": "Function", - "tags": [], - "label": "shouldHandleLinkEvent", - "description": [], - "signature": [ - "(e: React.MouseEvent | React.MouseEvent) => boolean" - ], - "path": "x-pack/plugins/observability/public/hooks/use_link_props.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + "trackAdoption": false + }, { "parentPluginId": "observability", - "id": "def-public.shouldHandleLinkEvent.$1", - "type": "CompoundType", + "id": "def-public.ChartData.value", + "type": "number", "tags": [], - "label": "e", + "label": "value", "description": [], "signature": [ - "React.MouseEvent | React.MouseEvent" + "number | undefined" ], - "path": "x-pack/plugins/observability/public/hooks/use_link_props.ts", + "path": "x-pack/plugins/observability/public/typings/slo/index.ts", "deprecated": false, - "trackAdoption": false, - "isRequired": true + "trackAdoption": false } ], - "returnComment": [], "initialIsOpen": false }, { "parentPluginId": "observability", - "id": "def-public.toQuery", - "type": "Function", + "id": "def-public.Coordinates", + "type": "Interface", "tags": [], - "label": "toQuery", + "label": "Coordinates", "description": [], - "signature": [ - "(search: string | undefined) => ", - "ParsedQuery", - "" - ], - "path": "x-pack/plugins/observability/public/utils/url.ts", + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "observability", - "id": "def-public.toQuery.$1", - "type": "string", + "id": "def-public.Coordinates.x", + "type": "number", "tags": [], - "label": "search", + "label": "x", + "description": [], + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "observability", + "id": "def-public.Coordinates.y", + "type": "CompoundType", + "tags": [], + "label": "y", "description": [], "signature": [ - "string | undefined" + "number | null | undefined" ], - "path": "x-pack/plugins/observability/public/utils/url.ts", + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, - "trackAdoption": false, - "isRequired": false + "trackAdoption": false } ], - "returnComment": [], "initialIsOpen": false }, { "parentPluginId": "observability", - "id": "def-public.useBreadcrumbs", - "type": "Function", + "id": "def-public.DataHandler", + "type": "Interface", "tags": [], - "label": "useBreadcrumbs", + "label": "DataHandler", "description": [], "signature": [ - "(extraCrumbs: ", - "EuiBreadcrumbProps", - "[], app?: { id: string; label: string; } | undefined) => void" + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.DataHandler", + "text": "DataHandler" + }, + "" ], - "path": "x-pack/plugins/observability/public/hooks/use_breadcrumbs.ts", + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "observability", - "id": "def-public.useBreadcrumbs.$1", - "type": "Array", + "id": "def-public.DataHandler.fetchData", + "type": "Function", "tags": [], - "label": "extraCrumbs", + "label": "fetchData", "description": [], "signature": [ - "EuiBreadcrumbProps", - "[]" + "(fetchDataParams: ", + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.FetchDataParams", + "text": "FetchDataParams" + }, + ") => Promise<", + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.ObservabilityFetchDataResponse", + "text": "ObservabilityFetchDataResponse" + }, + "[T]>" ], - "path": "x-pack/plugins/observability/public/hooks/use_breadcrumbs.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "observability", - "id": "def-public.useBreadcrumbs.$2", - "type": "Object", - "tags": [], - "label": "app", - "description": [], - "path": "x-pack/plugins/observability/public/hooks/use_breadcrumbs.ts", + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false, + "returnComment": [], "children": [ { "parentPluginId": "observability", - "id": "def-public.useBreadcrumbs.$2.id", - "type": "string", + "id": "def-public.DataHandler.fetchData.$1", + "type": "Object", "tags": [], - "label": "id", + "label": "fetchDataParams", "description": [], - "path": "x-pack/plugins/observability/public/hooks/use_breadcrumbs.ts", + "signature": [ + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.FetchDataParams", + "text": "FetchDataParams" + } + ], + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false + } + ] + }, + { + "parentPluginId": "observability", + "id": "def-public.DataHandler.hasData", + "type": "Function", + "tags": [], + "label": "hasData", + "description": [], + "signature": [ + "(params?: ", + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.HasDataParams", + "text": "HasDataParams" }, + " | undefined) => Promise<", + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.ObservabilityHasDataResponse", + "text": "ObservabilityHasDataResponse" + }, + "[T]>" + ], + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ { "parentPluginId": "observability", - "id": "def-public.useBreadcrumbs.$2.label", - "type": "string", + "id": "def-public.DataHandler.hasData.$1", + "type": "Object", "tags": [], - "label": "label", + "label": "params", "description": [], - "path": "x-pack/plugins/observability/public/hooks/use_breadcrumbs.ts", + "signature": [ + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.HasDataParams", + "text": "HasDataParams" + }, + " | undefined" + ], + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false } ] } ], - "returnComment": [], "initialIsOpen": false }, { "parentPluginId": "observability", - "id": "def-public.useChartTheme", - "type": "Function", + "id": "def-public.Duration", + "type": "Interface", "tags": [], - "label": "useChartTheme", + "label": "Duration", "description": [], - "signature": [ - "() => ", - "RecursivePartial", - "<", - "Theme", - ">[]" - ], - "path": "x-pack/plugins/observability/public/hooks/use_chart_theme.tsx", + "path": "x-pack/plugins/observability/public/typings/slo/index.ts", "deprecated": false, "trackAdoption": false, - "children": [], - "returnComment": [], + "children": [ + { + "parentPluginId": "observability", + "id": "def-public.Duration.value", + "type": "number", + "tags": [], + "label": "value", + "description": [], + "path": "x-pack/plugins/observability/public/typings/slo/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "observability", + "id": "def-public.Duration.unit", + "type": "CompoundType", + "tags": [], + "label": "unit", + "description": [], + "signature": [ + "\"m\" | \"M\" | \"w\" | \"d\" | \"h\" | \"Y\"" + ], + "path": "x-pack/plugins/observability/public/typings/slo/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], "initialIsOpen": false }, { "parentPluginId": "observability", - "id": "def-public.useEsSearch", - "type": "Function", + "id": "def-public.FetchDataParams", + "type": "Interface", "tags": [], - "label": "useEsSearch", + "label": "FetchDataParams", "description": [], - "signature": [ - "(params: TParams, fnDeps: any[], options: { inspector?: ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.IInspectorInfo", - "text": "IInspectorInfo" - }, - " | undefined; name: string; }) => { data: ", - { - "pluginId": "@kbn/es-types", - "scope": "common", - "docId": "kibKbnEsTypesPluginApi", - "section": "def-common.ESSearchResponse", - "text": "ESSearchResponse" - }, - "; loading: boolean; }" - ], - "path": "x-pack/plugins/observability/public/hooks/use_es_search.ts", + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "observability", - "id": "def-public.useEsSearch.$1", - "type": "Uncategorized", + "id": "def-public.FetchDataParams.absoluteTime", + "type": "Object", "tags": [], - "label": "params", + "label": "absoluteTime", "description": [], "signature": [ - "TParams" + "{ start: number; end: number; }" ], - "path": "x-pack/plugins/observability/public/hooks/use_es_search.ts", + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, - "trackAdoption": false, - "isRequired": true + "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.useEsSearch.$2", - "type": "Array", + "id": "def-public.FetchDataParams.relativeTime", + "type": "Object", "tags": [], - "label": "fnDeps", + "label": "relativeTime", "description": [], "signature": [ - "any[]" + "{ start: string; end: string; }" ], - "path": "x-pack/plugins/observability/public/hooks/use_es_search.ts", + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, - "trackAdoption": false, - "isRequired": true + "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.useEsSearch.$3", - "type": "Object", + "id": "def-public.FetchDataParams.serviceName", + "type": "string", "tags": [], - "label": "options", + "label": "serviceName", "description": [], - "path": "x-pack/plugins/observability/public/hooks/use_es_search.ts", + "signature": [ + "string | undefined" + ], + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "observability", - "id": "def-public.useEsSearch.$3.inspector", - "type": "Object", - "tags": [], - "label": "inspector", - "description": [], - "signature": [ - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.IInspectorInfo", - "text": "IInspectorInfo" - }, - " | undefined" - ], - "path": "x-pack/plugins/observability/public/hooks/use_es_search.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-public.useEsSearch.$3.name", - "type": "string", - "tags": [], - "label": "name", - "description": [], - "path": "x-pack/plugins/observability/public/hooks/use_es_search.ts", - "deprecated": false, - "trackAdoption": false - } - ] - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-public.useFetcher", - "type": "Function", - "tags": [], - "label": "useFetcher", - "description": [], - "signature": [ - "(fn: ({}: { signal: AbortSignal; }) => TReturn, fnDeps: any[], options: { preservePreviousData?: boolean | undefined; }) => ", - "FetcherResult", - "> & { refetch: () => void; }" - ], - "path": "x-pack/plugins/observability/public/hooks/use_fetcher.tsx", - "deprecated": false, - "trackAdoption": false, - "children": [ + "trackAdoption": false + }, { "parentPluginId": "observability", - "id": "def-public.useFetcher.$1", - "type": "Function", + "id": "def-public.FetchDataParams.bucketSize", + "type": "number", "tags": [], - "label": "fn", + "label": "bucketSize", "description": [], - "signature": [ - "({}: { signal: AbortSignal; }) => TReturn" - ], - "path": "x-pack/plugins/observability/public/hooks/use_fetcher.tsx", + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, - "trackAdoption": false, - "isRequired": true + "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.useFetcher.$2", - "type": "Array", + "id": "def-public.FetchDataParams.intervalString", + "type": "string", "tags": [], - "label": "fnDeps", + "label": "intervalString", "description": [], - "signature": [ - "any[]" - ], - "path": "x-pack/plugins/observability/public/hooks/use_fetcher.tsx", + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, - "trackAdoption": false, - "isRequired": true + "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.useFetcher.$3", - "type": "Object", + "id": "def-public.FetchDataParams.timeZone", + "type": "string", "tags": [], - "label": "options", + "label": "timeZone", "description": [], - "path": "x-pack/plugins/observability/public/hooks/use_fetcher.tsx", + "signature": [ + "string | undefined" + ], + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "observability", - "id": "def-public.useFetcher.$3.preservePreviousData", - "type": "CompoundType", - "tags": [], - "label": "preservePreviousData", - "description": [], - "signature": [ - "boolean | undefined" - ], - "path": "x-pack/plugins/observability/public/hooks/use_fetcher.tsx", - "deprecated": false, - "trackAdoption": false - } - ] + "trackAdoption": false } ], - "returnComment": [], "initialIsOpen": false }, { "parentPluginId": "observability", - "id": "def-public.useInspectorContext", - "type": "Function", + "id": "def-public.FetchDataResponse", + "type": "Interface", "tags": [], - "label": "useInspectorContext", + "label": "FetchDataResponse", "description": [], - "signature": [ - "() => ", - "InspectorContextValue" - ], - "path": "x-pack/plugins/observability/public/context/inspector/use_inspector_context.tsx", + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false, - "children": [], - "returnComment": [], + "children": [ + { + "parentPluginId": "observability", + "id": "def-public.FetchDataResponse.appLink", + "type": "string", + "tags": [], + "label": "appLink", + "description": [], + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], "initialIsOpen": false }, { "parentPluginId": "observability", - "id": "def-public.useLinkProps", - "type": "Function", + "id": "def-public.HasDataParams", + "type": "Interface", "tags": [], - "label": "useLinkProps", + "label": "HasDataParams", "description": [], - "signature": [ - "({ app, pathname, hash, search }: ", - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.LinkDescriptor", - "text": "LinkDescriptor" - }, - ", options?: ", - "Options", - ") => ", - "LinkProps" - ], - "path": "x-pack/plugins/observability/public/hooks/use_link_props.ts", + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "observability", - "id": "def-public.useLinkProps.$1", - "type": "Object", - "tags": [], - "label": "{ app, pathname, hash, search }", - "description": [], - "signature": [ - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.LinkDescriptor", - "text": "LinkDescriptor" - } - ], - "path": "x-pack/plugins/observability/public/hooks/use_link_props.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "observability", - "id": "def-public.useLinkProps.$2", + "id": "def-public.HasDataParams.absoluteTime", "type": "Object", "tags": [], - "label": "options", + "label": "absoluteTime", "description": [], "signature": [ - "Options" + "{ start: number; end: number; }" ], - "path": "x-pack/plugins/observability/public/hooks/use_link_props.ts", + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, - "trackAdoption": false, - "isRequired": true + "trackAdoption": false } ], - "returnComment": [], "initialIsOpen": false }, { "parentPluginId": "observability", - "id": "def-public.useTheme", - "type": "Function", + "id": "def-public.HasDataResponse", + "type": "Interface", "tags": [], - "label": "useTheme", + "label": "HasDataResponse", "description": [], - "signature": [ - "() => ", - { - "pluginId": "kibanaReact", - "scope": "common", - "docId": "kibKibanaReactPluginApi", - "section": "def-common.EuiTheme", - "text": "EuiTheme" - } - ], - "path": "x-pack/plugins/observability/public/hooks/use_theme.tsx", + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false, - "children": [], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-public.useTimeBuckets", - "type": "Function", - "tags": [], - "label": "useTimeBuckets", - "description": [], - "signature": [ - "() => ", + "children": [ { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.TimeBuckets", - "text": "TimeBuckets" + "parentPluginId": "observability", + "id": "def-public.HasDataResponse.hasData", + "type": "boolean", + "tags": [], + "label": "hasData", + "description": [], + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "deprecated": false, + "trackAdoption": false } ], - "path": "x-pack/plugins/observability/public/hooks/use_time_buckets.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [], "initialIsOpen": false }, { "parentPluginId": "observability", - "id": "def-public.useTimeZone", - "type": "Function", - "tags": [], - "label": "useTimeZone", - "description": [], - "signature": [ - "() => string" - ], - "path": "x-pack/plugins/observability/public/hooks/use_time_zone.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "returnComment": [], - "initialIsOpen": false - } - ], - "interfaces": [ - { - "parentPluginId": "observability", - "id": "def-public.AlertSummaryField", + "id": "def-public.InfraLogsHasDataResponse", "type": "Interface", "tags": [], - "label": "AlertSummaryField", + "label": "InfraLogsHasDataResponse", "description": [], - "path": "x-pack/plugins/observability/public/pages/alert_details/components/alert_summary.tsx", + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "observability", - "id": "def-public.AlertSummaryField.label", - "type": "CompoundType", + "id": "def-public.InfraLogsHasDataResponse.hasData", + "type": "boolean", "tags": [], - "label": "label", + "label": "hasData", "description": [], - "signature": [ - "boolean | React.ReactChild | React.ReactFragment | React.ReactPortal | null | undefined" - ], - "path": "x-pack/plugins/observability/public/pages/alert_details/components/alert_summary.tsx", + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.AlertSummaryField.value", - "type": "CompoundType", + "id": "def-public.InfraLogsHasDataResponse.indices", + "type": "string", "tags": [], - "label": "value", + "label": "indices", "description": [], - "signature": [ - "boolean | React.ReactChild | React.ReactFragment | React.ReactPortal | null | undefined" - ], - "path": "x-pack/plugins/observability/public/pages/alert_details/components/alert_summary.tsx", + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false } @@ -1814,23 +1447,59 @@ }, { "parentPluginId": "observability", - "id": "def-public.ApmFetchDataResponse", + "id": "def-public.InfraMetricsHasDataResponse", "type": "Interface", "tags": [], - "label": "ApmFetchDataResponse", + "label": "InfraMetricsHasDataResponse", "description": [], - "signature": [ - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.ApmFetchDataResponse", - "text": "ApmFetchDataResponse" - }, - " extends ", + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { - "pluginId": "observability", - "scope": "public", + "parentPluginId": "observability", + "id": "def-public.InfraMetricsHasDataResponse.hasData", + "type": "boolean", + "tags": [], + "label": "hasData", + "description": [], + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "observability", + "id": "def-public.InfraMetricsHasDataResponse.indices", + "type": "string", + "tags": [], + "label": "indices", + "description": [], + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "observability", + "id": "def-public.LogsFetchDataResponse", + "type": "Interface", + "tags": [], + "label": "LogsFetchDataResponse", + "description": [], + "signature": [ + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.LogsFetchDataResponse", + "text": "LogsFetchDataResponse" + }, + " extends ", + { + "pluginId": "observability", + "scope": "public", "docId": "kibObservabilityPluginApi", "section": "def-public.FetchDataResponse", "text": "FetchDataResponse" @@ -1842,21 +1511,13 @@ "children": [ { "parentPluginId": "observability", - "id": "def-public.ApmFetchDataResponse.stats", + "id": "def-public.LogsFetchDataResponse.stats", "type": "Object", "tags": [], "label": "stats", "description": [], "signature": [ - "{ services: ", - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.Stat", - "text": "Stat" - }, - "; transactions: ", + "{ [x: string]: ", { "pluginId": "observability", "scope": "public", @@ -1864,7 +1525,7 @@ "section": "def-public.Stat", "text": "Stat" }, - "; }" + " & { label: string; }; }" ], "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, @@ -1872,13 +1533,13 @@ }, { "parentPluginId": "observability", - "id": "def-public.ApmFetchDataResponse.series", + "id": "def-public.LogsFetchDataResponse.series", "type": "Object", "tags": [], "label": "series", "description": [], "signature": [ - "{ transactions: ", + "{ [x: string]: ", { "pluginId": "observability", "scope": "public", @@ -1886,7 +1547,7 @@ "section": "def-public.Series", "text": "Series" }, - "; }" + " & { label: string; }; }" ], "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, @@ -1897,35 +1558,103 @@ }, { "parentPluginId": "observability", - "id": "def-public.APMHasDataResponse", + "id": "def-public.MetricsFetchDataResponse", "type": "Interface", "tags": [], - "label": "APMHasDataResponse", + "label": "MetricsFetchDataResponse", "description": [], + "signature": [ + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.MetricsFetchDataResponse", + "text": "MetricsFetchDataResponse" + }, + " extends ", + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.FetchDataResponse", + "text": "FetchDataResponse" + } + ], "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "observability", - "id": "def-public.APMHasDataResponse.hasData", - "type": "boolean", + "id": "def-public.MetricsFetchDataResponse.sort", + "type": "Function", "tags": [], - "label": "hasData", + "label": "sort", "description": [], + "signature": [ + "(by: string, direction: string) => Promise<", + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.MetricsFetchDataResponse", + "text": "MetricsFetchDataResponse" + }, + ">" + ], "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, - "trackAdoption": false + "trackAdoption": false, + "children": [ + { + "parentPluginId": "observability", + "id": "def-public.MetricsFetchDataResponse.sort.$1", + "type": "string", + "tags": [], + "label": "by", + "description": [], + "signature": [ + "string" + ], + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "observability", + "id": "def-public.MetricsFetchDataResponse.sort.$2", + "type": "string", + "tags": [], + "label": "direction", + "description": [], + "signature": [ + "string" + ], + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] }, { "parentPluginId": "observability", - "id": "def-public.APMHasDataResponse.indices", - "type": "Object", + "id": "def-public.MetricsFetchDataResponse.series", + "type": "Array", "tags": [], - "label": "indices", + "label": "series", "description": [], "signature": [ - "ApmIndicesConfig" + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.MetricsFetchDataSeries", + "text": "MetricsFetchDataSeries" + }, + "[]" ], "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, @@ -1936,376 +1665,275 @@ }, { "parentPluginId": "observability", - "id": "def-public.BurnRateRuleParams", + "id": "def-public.MetricsFetchDataSeries", "type": "Interface", "tags": [], - "label": "BurnRateRuleParams", + "label": "MetricsFetchDataSeries", "description": [], - "signature": [ - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.BurnRateRuleParams", - "text": "BurnRateRuleParams" - }, - " extends ", - { - "pluginId": "alerting", - "scope": "common", - "docId": "kibAlertingPluginApi", - "section": "def-common.RuleTypeParams", - "text": "RuleTypeParams" - } - ], - "path": "x-pack/plugins/observability/public/typings/slo/index.ts", + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "observability", - "id": "def-public.BurnRateRuleParams.sloId", + "id": "def-public.MetricsFetchDataSeries.id", "type": "string", "tags": [], - "label": "sloId", + "label": "id", "description": [], - "path": "x-pack/plugins/observability/public/typings/slo/index.ts", + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.BurnRateRuleParams.burnRateThreshold", - "type": "number", + "id": "def-public.MetricsFetchDataSeries.name", + "type": "CompoundType", "tags": [], - "label": "burnRateThreshold", + "label": "name", "description": [], - "path": "x-pack/plugins/observability/public/typings/slo/index.ts", + "signature": [ + "string | null" + ], + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.BurnRateRuleParams.maxBurnRateThreshold", - "type": "number", + "id": "def-public.MetricsFetchDataSeries.platform", + "type": "CompoundType", "tags": [], - "label": "maxBurnRateThreshold", + "label": "platform", "description": [], - "path": "x-pack/plugins/observability/public/typings/slo/index.ts", + "signature": [ + "string | null" + ], + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.BurnRateRuleParams.longWindow", - "type": "Object", + "id": "def-public.MetricsFetchDataSeries.provider", + "type": "CompoundType", "tags": [], - "label": "longWindow", + "label": "provider", "description": [], "signature": [ - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.Duration", - "text": "Duration" - } + "string | null" ], - "path": "x-pack/plugins/observability/public/typings/slo/index.ts", + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.BurnRateRuleParams.shortWindow", - "type": "Object", + "id": "def-public.MetricsFetchDataSeries.cpu", + "type": "CompoundType", "tags": [], - "label": "shortWindow", + "label": "cpu", "description": [], "signature": [ - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.Duration", - "text": "Duration" - } + "number | null" ], - "path": "x-pack/plugins/observability/public/typings/slo/index.ts", + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-public.ChartData", - "type": "Interface", - "tags": [], - "label": "ChartData", - "description": [], - "path": "x-pack/plugins/observability/public/typings/slo/index.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + }, { "parentPluginId": "observability", - "id": "def-public.ChartData.key", - "type": "number", + "id": "def-public.MetricsFetchDataSeries.iowait", + "type": "CompoundType", "tags": [], - "label": "key", + "label": "iowait", "description": [], - "path": "x-pack/plugins/observability/public/typings/slo/index.ts", - "deprecated": false, - "trackAdoption": false - }, + "signature": [ + "number | null" + ], + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "observability", - "id": "def-public.ChartData.value", - "type": "number", + "id": "def-public.MetricsFetchDataSeries.load", + "type": "CompoundType", "tags": [], - "label": "value", + "label": "load", "description": [], "signature": [ - "number | undefined" + "number | null" ], - "path": "x-pack/plugins/observability/public/typings/slo/index.ts", + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-public.Coordinates", - "type": "Interface", - "tags": [], - "label": "Coordinates", - "description": [], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + }, { "parentPluginId": "observability", - "id": "def-public.Coordinates.x", - "type": "number", + "id": "def-public.MetricsFetchDataSeries.uptime", + "type": "CompoundType", "tags": [], - "label": "x", + "label": "uptime", "description": [], + "signature": [ + "number | null" + ], "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.Coordinates.y", + "id": "def-public.MetricsFetchDataSeries.rx", "type": "CompoundType", "tags": [], - "label": "y", + "label": "rx", "description": [], "signature": [ - "number | null | undefined" + "number | null" ], "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-public.DataHandler", - "type": "Interface", - "tags": [], - "label": "DataHandler", - "description": [], - "signature": [ + }, { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.DataHandler", - "text": "DataHandler" + "parentPluginId": "observability", + "id": "def-public.MetricsFetchDataSeries.tx", + "type": "CompoundType", + "tags": [], + "label": "tx", + "description": [], + "signature": [ + "number | null" + ], + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "deprecated": false, + "trackAdoption": false }, - "" - ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ { "parentPluginId": "observability", - "id": "def-public.DataHandler.fetchData", - "type": "Function", + "id": "def-public.MetricsFetchDataSeries.timeseries", + "type": "Array", "tags": [], - "label": "fetchData", + "label": "timeseries", "description": [], "signature": [ - "(fetchDataParams: ", + "{ timestamp: number; cpu: ", { "pluginId": "observability", "scope": "public", "docId": "kibObservabilityPluginApi", - "section": "def-public.FetchDataParams", - "text": "FetchDataParams" + "section": "def-public.NumberOrNull", + "text": "NumberOrNull" }, - ") => Promise<", + "; iowait: ", { "pluginId": "observability", "scope": "public", "docId": "kibObservabilityPluginApi", - "section": "def-public.ObservabilityFetchDataResponse", - "text": "ObservabilityFetchDataResponse" + "section": "def-public.NumberOrNull", + "text": "NumberOrNull" }, - "[T]>" - ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ + "; load: ", { - "parentPluginId": "observability", - "id": "def-public.DataHandler.fetchData.$1", - "type": "Object", - "tags": [], - "label": "fetchDataParams", - "description": [], - "signature": [ - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.FetchDataParams", - "text": "FetchDataParams" - } - ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "observability", - "id": "def-public.DataHandler.hasData", - "type": "Function", - "tags": [], - "label": "hasData", - "description": [], - "signature": [ - "(params?: ", + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.NumberOrNull", + "text": "NumberOrNull" + }, + "; rx: ", { "pluginId": "observability", "scope": "public", "docId": "kibObservabilityPluginApi", - "section": "def-public.HasDataParams", - "text": "HasDataParams" + "section": "def-public.NumberOrNull", + "text": "NumberOrNull" }, - " | undefined) => Promise<", + "; tx: ", { "pluginId": "observability", "scope": "public", "docId": "kibObservabilityPluginApi", - "section": "def-public.ObservabilityHasDataResponse", - "text": "ObservabilityHasDataResponse" + "section": "def-public.NumberOrNull", + "text": "NumberOrNull" }, - "[T]>" + "; }[]" ], "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "observability", - "id": "def-public.DataHandler.hasData.$1", - "type": "Object", - "tags": [], - "label": "params", - "description": [], - "signature": [ - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.HasDataParams", - "text": "HasDataParams" - }, - " | undefined" - ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", - "deprecated": false, - "trackAdoption": false - } - ] + "trackAdoption": false } ], "initialIsOpen": false }, { "parentPluginId": "observability", - "id": "def-public.Duration", + "id": "def-public.ObservabilityFetchDataResponse", "type": "Interface", "tags": [], - "label": "Duration", + "label": "ObservabilityFetchDataResponse", "description": [], - "path": "x-pack/plugins/observability/public/typings/slo/index.ts", + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "observability", - "id": "def-public.Duration.value", - "type": "number", + "id": "def-public.ObservabilityFetchDataResponse.apm", + "type": "Object", "tags": [], - "label": "value", + "label": "apm", "description": [], - "path": "x-pack/plugins/observability/public/typings/slo/index.ts", + "signature": [ + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.ApmFetchDataResponse", + "text": "ApmFetchDataResponse" + } + ], + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.Duration.unit", - "type": "CompoundType", + "id": "def-public.ObservabilityFetchDataResponse.infra_metrics", + "type": "Object", "tags": [], - "label": "unit", + "label": "infra_metrics", "description": [], "signature": [ - "\"m\" | \"M\" | \"w\" | \"d\" | \"h\" | \"Y\"" + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.MetricsFetchDataResponse", + "text": "MetricsFetchDataResponse" + } ], - "path": "x-pack/plugins/observability/public/typings/slo/index.ts", + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-public.FetchDataParams", - "type": "Interface", - "tags": [], - "label": "FetchDataParams", - "description": [], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + }, { "parentPluginId": "observability", - "id": "def-public.FetchDataParams.absoluteTime", + "id": "def-public.ObservabilityFetchDataResponse.infra_logs", "type": "Object", "tags": [], - "label": "absoluteTime", + "label": "infra_logs", "description": [], "signature": [ - "{ start: number; end: number; }" + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.LogsFetchDataResponse", + "text": "LogsFetchDataResponse" + } ], "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, @@ -2313,27 +1941,19 @@ }, { "parentPluginId": "observability", - "id": "def-public.FetchDataParams.relativeTime", + "id": "def-public.ObservabilityFetchDataResponse.uptime", "type": "Object", "tags": [], - "label": "relativeTime", + "label": "uptime", "description": [], "signature": [ - "{ start: string; end: string; }" - ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-public.FetchDataParams.serviceName", - "type": "string", - "tags": [], - "label": "serviceName", - "description": [], - "signature": [ - "string | undefined" + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.UptimeFetchDataResponse", + "text": "UptimeFetchDataResponse" + } ], "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, @@ -2341,35 +1961,19 @@ }, { "parentPluginId": "observability", - "id": "def-public.FetchDataParams.bucketSize", - "type": "number", - "tags": [], - "label": "bucketSize", - "description": [], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-public.FetchDataParams.intervalString", - "type": "string", - "tags": [], - "label": "intervalString", - "description": [], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-public.FetchDataParams.timeZone", - "type": "string", + "id": "def-public.ObservabilityFetchDataResponse.ux", + "type": "Object", "tags": [], - "label": "timeZone", + "label": "ux", "description": [], "signature": [ - "string | undefined" + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.UxFetchDataResponse", + "text": "UxFetchDataResponse" + } ], "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, @@ -2380,35 +1984,10 @@ }, { "parentPluginId": "observability", - "id": "def-public.FetchDataResponse", - "type": "Interface", - "tags": [], - "label": "FetchDataResponse", - "description": [], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "observability", - "id": "def-public.FetchDataResponse.appLink", - "type": "string", - "tags": [], - "label": "appLink", - "description": [], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-public.HasDataParams", + "id": "def-public.ObservabilityHasDataResponse", "type": "Interface", "tags": [], - "label": "HasDataParams", + "label": "ObservabilityHasDataResponse", "description": [], "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, @@ -2416,111 +1995,100 @@ "children": [ { "parentPluginId": "observability", - "id": "def-public.HasDataParams.absoluteTime", + "id": "def-public.ObservabilityHasDataResponse.apm", "type": "Object", "tags": [], - "label": "absoluteTime", + "label": "apm", "description": [], "signature": [ - "{ start: number; end: number; }" + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.APMHasDataResponse", + "text": "APMHasDataResponse" + } ], "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-public.HasDataResponse", - "type": "Interface", - "tags": [], - "label": "HasDataResponse", - "description": [], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "observability", - "id": "def-public.HasDataResponse.hasData", - "type": "boolean", - "tags": [], - "label": "hasData", - "description": [], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-public.InfraLogsHasDataResponse", - "type": "Interface", - "tags": [], - "label": "InfraLogsHasDataResponse", - "description": [], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + }, { "parentPluginId": "observability", - "id": "def-public.InfraLogsHasDataResponse.hasData", - "type": "boolean", + "id": "def-public.ObservabilityHasDataResponse.infra_metrics", + "type": "Object", "tags": [], - "label": "hasData", + "label": "infra_metrics", "description": [], + "signature": [ + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.InfraMetricsHasDataResponse", + "text": "InfraMetricsHasDataResponse" + } + ], "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.InfraLogsHasDataResponse.indices", - "type": "string", + "id": "def-public.ObservabilityHasDataResponse.infra_logs", + "type": "Object", "tags": [], - "label": "indices", + "label": "infra_logs", "description": [], + "signature": [ + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.InfraLogsHasDataResponse", + "text": "InfraLogsHasDataResponse" + } + ], "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-public.InfraMetricsHasDataResponse", - "type": "Interface", - "tags": [], - "label": "InfraMetricsHasDataResponse", - "description": [], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + }, { "parentPluginId": "observability", - "id": "def-public.InfraMetricsHasDataResponse.hasData", - "type": "boolean", + "id": "def-public.ObservabilityHasDataResponse.uptime", + "type": "Object", "tags": [], - "label": "hasData", + "label": "uptime", "description": [], + "signature": [ + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.SyntheticsHasDataResponse", + "text": "SyntheticsHasDataResponse" + } + ], "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.InfraMetricsHasDataResponse.indices", - "type": "string", + "id": "def-public.ObservabilityHasDataResponse.ux", + "type": "Object", "tags": [], - "label": "indices", + "label": "ux", "description": [], + "signature": [ + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.UXHasDataResponse", + "text": "UXHasDataResponse" + } + ], "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false @@ -2530,140 +2098,165 @@ }, { "parentPluginId": "observability", - "id": "def-public.LinkDescriptor", + "id": "def-public.ObservabilityPublicPluginsSetup", "type": "Interface", "tags": [], - "label": "LinkDescriptor", + "label": "ObservabilityPublicPluginsSetup", "description": [], - "path": "x-pack/plugins/observability/public/hooks/use_link_props.ts", + "path": "x-pack/plugins/observability/public/plugin.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "observability", - "id": "def-public.LinkDescriptor.app", - "type": "string", - "tags": [], - "label": "app", - "description": [], - "path": "x-pack/plugins/observability/public/hooks/use_link_props.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-public.LinkDescriptor.pathname", - "type": "string", + "id": "def-public.ObservabilityPublicPluginsSetup.data", + "type": "Object", "tags": [], - "label": "pathname", + "label": "data", "description": [], "signature": [ - "string | undefined" + { + "pluginId": "data", + "scope": "public", + "docId": "kibDataPluginApi", + "section": "def-public.DataPublicPluginSetup", + "text": "DataPublicPluginSetup" + } ], - "path": "x-pack/plugins/observability/public/hooks/use_link_props.ts", + "path": "x-pack/plugins/observability/public/plugin.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.LinkDescriptor.hash", - "type": "string", + "id": "def-public.ObservabilityPublicPluginsSetup.observabilityShared", + "type": "Object", "tags": [], - "label": "hash", + "label": "observabilityShared", "description": [], "signature": [ - "string | undefined" + "{ navigation: { registerSections: (sections$: ", + "Observable", + "<", + { + "pluginId": "observabilityShared", + "scope": "public", + "docId": "kibObservabilitySharedPluginApi", + "section": "def-public.NavigationSection", + "text": "NavigationSection" + }, + "[]>) => void; }; }" ], - "path": "x-pack/plugins/observability/public/hooks/use_link_props.ts", + "path": "x-pack/plugins/observability/public/plugin.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.LinkDescriptor.search", - "type": "Object", + "id": "def-public.ObservabilityPublicPluginsSetup.share", + "type": "CompoundType", "tags": [], - "label": "search", + "label": "share", "description": [], "signature": [ - "Search | undefined" + "{ register: (shareMenuProvider: ", + { + "pluginId": "share", + "scope": "public", + "docId": "kibSharePluginApi", + "section": "def-public.ShareMenuProvider", + "text": "ShareMenuProvider" + }, + ") => void; } & { url: ", + { + "pluginId": "share", + "scope": "public", + "docId": "kibSharePluginApi", + "section": "def-public.BrowserUrlService", + "text": "BrowserUrlService" + }, + "; navigate(options: ", + "RedirectOptions", + "<", + { + "pluginId": "@kbn/utility-types", + "scope": "common", + "docId": "kibKbnUtilityTypesPluginApi", + "section": "def-common.SerializableRecord", + "text": "SerializableRecord" + }, + ">): void; setAnonymousAccessServiceProvider: (provider: () => ", + { + "pluginId": "share", + "scope": "common", + "docId": "kibSharePluginApi", + "section": "def-common.AnonymousAccessServiceContract", + "text": "AnonymousAccessServiceContract" + }, + ") => void; }" ], - "path": "x-pack/plugins/observability/public/hooks/use_link_props.ts", + "path": "x-pack/plugins/observability/public/plugin.ts", "deprecated": false, "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-public.LogsFetchDataResponse", - "type": "Interface", - "tags": [], - "label": "LogsFetchDataResponse", - "description": [], - "signature": [ - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.LogsFetchDataResponse", - "text": "LogsFetchDataResponse" }, - " extends ", { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.FetchDataResponse", - "text": "FetchDataResponse" - } - ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + "parentPluginId": "observability", + "id": "def-public.ObservabilityPublicPluginsSetup.triggersActionsUi", + "type": "Object", + "tags": [], + "label": "triggersActionsUi", + "description": [], + "signature": [ + { + "pluginId": "triggersActionsUi", + "scope": "public", + "docId": "kibTriggersActionsUiPluginApi", + "section": "def-public.TriggersAndActionsUIPublicPluginSetup", + "text": "TriggersAndActionsUIPublicPluginSetup" + } + ], + "path": "x-pack/plugins/observability/public/plugin.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "observability", - "id": "def-public.LogsFetchDataResponse.stats", + "id": "def-public.ObservabilityPublicPluginsSetup.home", "type": "Object", "tags": [], - "label": "stats", + "label": "home", "description": [], "signature": [ - "{ [x: string]: ", { - "pluginId": "observability", + "pluginId": "home", "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.Stat", - "text": "Stat" + "docId": "kibHomePluginApi", + "section": "def-public.HomePublicPluginSetup", + "text": "HomePublicPluginSetup" }, - " & { label: string; }; }" + " | undefined" ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "path": "x-pack/plugins/observability/public/plugin.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.LogsFetchDataResponse.series", + "id": "def-public.ObservabilityPublicPluginsSetup.usageCollection", "type": "Object", "tags": [], - "label": "series", + "label": "usageCollection", "description": [], "signature": [ - "{ [x: string]: ", { - "pluginId": "observability", + "pluginId": "usageCollection", "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.Series", - "text": "Series" - }, - " & { label: string; }; }" + "docId": "kibUsageCollectionPluginApi", + "section": "def-public.UsageCollectionSetup", + "text": "UsageCollectionSetup" + } ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "path": "x-pack/plugins/observability/public/plugin.ts", "deprecated": false, "trackAdoption": false } @@ -2672,504 +2265,616 @@ }, { "parentPluginId": "observability", - "id": "def-public.MetricsFetchDataResponse", + "id": "def-public.ObservabilityPublicPluginsStart", "type": "Interface", "tags": [], - "label": "MetricsFetchDataResponse", + "label": "ObservabilityPublicPluginsStart", "description": [], - "signature": [ - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.MetricsFetchDataResponse", - "text": "MetricsFetchDataResponse" - }, - " extends ", - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.FetchDataResponse", - "text": "FetchDataResponse" - } - ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "path": "x-pack/plugins/observability/public/plugin.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "observability", - "id": "def-public.MetricsFetchDataResponse.sort", - "type": "Function", + "id": "def-public.ObservabilityPublicPluginsStart.actionTypeRegistry", + "type": "Object", "tags": [], - "label": "sort", + "label": "actionTypeRegistry", "description": [], "signature": [ - "(by: string, direction: string) => Promise<", + "{ get: (id: string) => ", { - "pluginId": "observability", + "pluginId": "triggersActionsUi", "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.MetricsFetchDataResponse", - "text": "MetricsFetchDataResponse" + "docId": "kibTriggersActionsUiPluginApi", + "section": "def-public.ActionTypeModel", + "text": "ActionTypeModel" }, - ">" - ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + "; list: () => ", { - "parentPluginId": "observability", - "id": "def-public.MetricsFetchDataResponse.sort.$1", - "type": "string", - "tags": [], - "label": "by", - "description": [], - "signature": [ - "string" - ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true + "pluginId": "triggersActionsUi", + "scope": "public", + "docId": "kibTriggersActionsUiPluginApi", + "section": "def-public.ActionTypeModel", + "text": "ActionTypeModel" }, + "[]; register: (objectType: ", { - "parentPluginId": "observability", - "id": "def-public.MetricsFetchDataResponse.sort.$2", - "type": "string", - "tags": [], - "label": "direction", - "description": [], - "signature": [ - "string" - ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } + "pluginId": "triggersActionsUi", + "scope": "public", + "docId": "kibTriggersActionsUiPluginApi", + "section": "def-public.ActionTypeModel", + "text": "ActionTypeModel" + }, + ") => void; has: (id: string) => boolean; }" ], - "returnComment": [] + "path": "x-pack/plugins/observability/public/plugin.ts", + "deprecated": false, + "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.MetricsFetchDataResponse.series", - "type": "Array", + "id": "def-public.ObservabilityPublicPluginsStart.cases", + "type": "Object", "tags": [], - "label": "series", + "label": "cases", "description": [], "signature": [ { - "pluginId": "observability", + "pluginId": "cases", "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.MetricsFetchDataSeries", - "text": "MetricsFetchDataSeries" - }, - "[]" + "docId": "kibCasesPluginApi", + "section": "def-public.CasesUiStart", + "text": "CasesUiStart" + } ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "path": "x-pack/plugins/observability/public/plugin.ts", "deprecated": false, "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-public.MetricsFetchDataSeries", - "type": "Interface", - "tags": [], - "label": "MetricsFetchDataSeries", - "description": [], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + }, { "parentPluginId": "observability", - "id": "def-public.MetricsFetchDataSeries.id", - "type": "string", + "id": "def-public.ObservabilityPublicPluginsStart.charts", + "type": "CompoundType", "tags": [], - "label": "id", + "label": "charts", "description": [], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", - "deprecated": false, - "trackAdoption": false + "signature": [ + { + "pluginId": "charts", + "scope": "public", + "docId": "kibChartsPluginApi", + "section": "def-public.ChartsPluginSetup", + "text": "ChartsPluginSetup" + }, + " & { activeCursor: ", + "ActiveCursor", + "; }" + ], + "path": "x-pack/plugins/observability/public/plugin.ts", + "deprecated": false, + "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.MetricsFetchDataSeries.name", - "type": "CompoundType", + "id": "def-public.ObservabilityPublicPluginsStart.data", + "type": "Object", "tags": [], - "label": "name", + "label": "data", "description": [], "signature": [ - "string | null" + { + "pluginId": "data", + "scope": "public", + "docId": "kibDataPluginApi", + "section": "def-public.DataPublicPluginStart", + "text": "DataPublicPluginStart" + } ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "path": "x-pack/plugins/observability/public/plugin.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.MetricsFetchDataSeries.platform", - "type": "CompoundType", + "id": "def-public.ObservabilityPublicPluginsStart.dataViews", + "type": "Object", "tags": [], - "label": "platform", + "label": "dataViews", "description": [], "signature": [ - "string | null" + { + "pluginId": "dataViews", + "scope": "public", + "docId": "kibDataViewsPluginApi", + "section": "def-public.DataViewsServicePublic", + "text": "DataViewsServicePublic" + } ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "path": "x-pack/plugins/observability/public/plugin.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.MetricsFetchDataSeries.provider", - "type": "CompoundType", + "id": "def-public.ObservabilityPublicPluginsStart.discover", + "type": "Object", "tags": [], - "label": "provider", + "label": "discover", "description": [], "signature": [ - "string | null" + { + "pluginId": "discover", + "scope": "public", + "docId": "kibDiscoverPluginApi", + "section": "def-public.DiscoverStart", + "text": "DiscoverStart" + } ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "path": "x-pack/plugins/observability/public/plugin.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.MetricsFetchDataSeries.cpu", - "type": "CompoundType", + "id": "def-public.ObservabilityPublicPluginsStart.embeddable", + "type": "Object", "tags": [], - "label": "cpu", + "label": "embeddable", "description": [], "signature": [ - "number | null" + { + "pluginId": "embeddable", + "scope": "public", + "docId": "kibEmbeddablePluginApi", + "section": "def-public.EmbeddableStart", + "text": "EmbeddableStart" + } ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "path": "x-pack/plugins/observability/public/plugin.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.MetricsFetchDataSeries.iowait", - "type": "CompoundType", + "id": "def-public.ObservabilityPublicPluginsStart.exploratoryView", + "type": "Object", "tags": [], - "label": "iowait", + "label": "exploratoryView", "description": [], "signature": [ - "number | null" + "{ createExploratoryViewUrl: ({ reportType, allSeries }: { reportType: ", + "ReportViewType", + "; allSeries: ", + { + "pluginId": "exploratoryView", + "scope": "public", + "docId": "kibExploratoryViewPluginApi", + "section": "def-public.AllSeries", + "text": "AllSeries" + }, + "; }, baseHref?: string) => string; getAppDataView: (appId: ", + "AppDataType", + ", indexPattern?: string | undefined) => Promise<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataView", + "text": "DataView" + }, + " | null | undefined>; ExploratoryViewEmbeddable: (props: ", + { + "pluginId": "exploratoryView", + "scope": "public", + "docId": "kibExploratoryViewPluginApi", + "section": "def-public.ExploratoryEmbeddableProps", + "text": "ExploratoryEmbeddableProps" + }, + ") => JSX.Element | null; }" ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "path": "x-pack/plugins/observability/public/plugin.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.MetricsFetchDataSeries.load", - "type": "CompoundType", + "id": "def-public.ObservabilityPublicPluginsStart.guidedOnboarding", + "type": "Object", "tags": [], - "label": "load", + "label": "guidedOnboarding", "description": [], "signature": [ - "number | null" + { + "pluginId": "guidedOnboarding", + "scope": "public", + "docId": "kibGuidedOnboardingPluginApi", + "section": "def-public.GuidedOnboardingPluginStart", + "text": "GuidedOnboardingPluginStart" + } ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "path": "x-pack/plugins/observability/public/plugin.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.MetricsFetchDataSeries.uptime", - "type": "CompoundType", + "id": "def-public.ObservabilityPublicPluginsStart.lens", + "type": "Object", "tags": [], - "label": "uptime", + "label": "lens", "description": [], "signature": [ - "number | null" + { + "pluginId": "lens", + "scope": "public", + "docId": "kibLensPluginApi", + "section": "def-public.LensPublicStart", + "text": "LensPublicStart" + } ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "path": "x-pack/plugins/observability/public/plugin.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.MetricsFetchDataSeries.rx", - "type": "CompoundType", + "id": "def-public.ObservabilityPublicPluginsStart.licensing", + "type": "Object", "tags": [], - "label": "rx", + "label": "licensing", "description": [], "signature": [ - "number | null" + { + "pluginId": "licensing", + "scope": "public", + "docId": "kibLicensingPluginApi", + "section": "def-public.LicensingPluginStart", + "text": "LicensingPluginStart" + } ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "path": "x-pack/plugins/observability/public/plugin.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.MetricsFetchDataSeries.tx", - "type": "CompoundType", + "id": "def-public.ObservabilityPublicPluginsStart.observabilityShared", + "type": "Object", "tags": [], - "label": "tx", + "label": "observabilityShared", "description": [], "signature": [ - "number | null" + "{ navigation: { PageTemplate: (pageTemplateProps: ", + "WrappedPageTemplateProps", + ") => JSX.Element; }; updateGlobalNavigation: ({ capabilities, deepLinks, updater$, }: { capabilities: Readonly<{ [x: string]: Readonly<{ [x: string]: boolean | Readonly<{ [x: string]: boolean; }>; }>; navLinks: Readonly<{ [x: string]: boolean; }>; management: Readonly<{ [x: string]: Readonly<{ [x: string]: boolean; }>; }>; catalogue: Readonly<{ [x: string]: boolean; }>; }>; deepLinks: ", + { + "pluginId": "@kbn/core-application-browser", + "scope": "common", + "docId": "kibKbnCoreApplicationBrowserPluginApi", + "section": "def-common.AppDeepLink", + "text": "AppDeepLink" + }, + "[]; updater$: ", + "Subject", + "<", + { + "pluginId": "@kbn/core-application-browser", + "scope": "common", + "docId": "kibKbnCoreApplicationBrowserPluginApi", + "section": "def-common.AppUpdater", + "text": "AppUpdater" + }, + ">; }) => void; setIsSidebarEnabled: (isEnabled: boolean) => void; }" ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "path": "x-pack/plugins/observability/public/plugin.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.MetricsFetchDataSeries.timeseries", - "type": "Array", + "id": "def-public.ObservabilityPublicPluginsStart.ruleTypeRegistry", + "type": "Object", "tags": [], - "label": "timeseries", + "label": "ruleTypeRegistry", "description": [], "signature": [ - "{ timestamp: number; cpu: ", + "{ get: (id: string) => ", { - "pluginId": "observability", + "pluginId": "triggersActionsUi", "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.NumberOrNull", - "text": "NumberOrNull" + "docId": "kibTriggersActionsUiPluginApi", + "section": "def-public.RuleTypeModel", + "text": "RuleTypeModel" }, - "; iowait: ", + "<", { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.NumberOrNull", - "text": "NumberOrNull" + "pluginId": "alerting", + "scope": "common", + "docId": "kibAlertingPluginApi", + "section": "def-common.RuleTypeParams", + "text": "RuleTypeParams" }, - "; load: ", + ">; list: () => ", { - "pluginId": "observability", + "pluginId": "triggersActionsUi", "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.NumberOrNull", - "text": "NumberOrNull" + "docId": "kibTriggersActionsUiPluginApi", + "section": "def-public.RuleTypeModel", + "text": "RuleTypeModel" }, - "; rx: ", + "<", { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.NumberOrNull", - "text": "NumberOrNull" + "pluginId": "alerting", + "scope": "common", + "docId": "kibAlertingPluginApi", + "section": "def-common.RuleTypeParams", + "text": "RuleTypeParams" }, - "; tx: ", + ">[]; register: (objectType: ", { - "pluginId": "observability", + "pluginId": "triggersActionsUi", "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.NumberOrNull", - "text": "NumberOrNull" + "docId": "kibTriggersActionsUiPluginApi", + "section": "def-public.RuleTypeModel", + "text": "RuleTypeModel" }, - "; }[]" + "<", + { + "pluginId": "alerting", + "scope": "common", + "docId": "kibAlertingPluginApi", + "section": "def-common.RuleTypeParams", + "text": "RuleTypeParams" + }, + ">) => void; has: (id: string) => boolean; }" ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "path": "x-pack/plugins/observability/public/plugin.ts", "deprecated": false, "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-public.NavigationSection", - "type": "Interface", - "tags": [], - "label": "NavigationSection", - "description": [], - "path": "x-pack/plugins/observability/public/services/navigation_registry.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + }, { "parentPluginId": "observability", - "id": "def-public.NavigationSection.label", - "type": "string", + "id": "def-public.ObservabilityPublicPluginsStart.security", + "type": "Object", "tags": [], - "label": "label", + "label": "security", "description": [], "signature": [ - "string | undefined" + { + "pluginId": "security", + "scope": "public", + "docId": "kibSecurityPluginApi", + "section": "def-public.SecurityPluginStart", + "text": "SecurityPluginStart" + } ], - "path": "x-pack/plugins/observability/public/services/navigation_registry.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-public.NavigationSection.sortKey", - "type": "number", - "tags": [], - "label": "sortKey", - "description": [], - "path": "x-pack/plugins/observability/public/services/navigation_registry.ts", + "path": "x-pack/plugins/observability/public/plugin.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.NavigationSection.entries", - "type": "Array", + "id": "def-public.ObservabilityPublicPluginsStart.share", + "type": "CompoundType", "tags": [], - "label": "entries", + "label": "share", "description": [], "signature": [ - "NavigationEntry", - "[]" + "{ toggleShareContextMenu: (options: ", + { + "pluginId": "share", + "scope": "public", + "docId": "kibSharePluginApi", + "section": "def-public.ShowShareMenuOptions", + "text": "ShowShareMenuOptions" + }, + ") => void; } & { url: ", + { + "pluginId": "share", + "scope": "public", + "docId": "kibSharePluginApi", + "section": "def-public.BrowserUrlService", + "text": "BrowserUrlService" + }, + "; navigate(options: ", + "RedirectOptions", + "<", + { + "pluginId": "@kbn/utility-types", + "scope": "common", + "docId": "kibKbnUtilityTypesPluginApi", + "section": "def-common.SerializableRecord", + "text": "SerializableRecord" + }, + ">): void; }" ], - "path": "x-pack/plugins/observability/public/services/navigation_registry.ts", + "path": "x-pack/plugins/observability/public/plugin.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.NavigationSection.isBetaFeature", - "type": "CompoundType", + "id": "def-public.ObservabilityPublicPluginsStart.spaces", + "type": "Object", "tags": [], - "label": "isBetaFeature", + "label": "spaces", "description": [], "signature": [ - "boolean | undefined" + { + "pluginId": "spaces", + "scope": "public", + "docId": "kibSpacesPluginApi", + "section": "def-public.SpacesApi", + "text": "SpacesApi" + }, + " | undefined" ], - "path": "x-pack/plugins/observability/public/services/navigation_registry.ts", + "path": "x-pack/plugins/observability/public/plugin.ts", "deprecated": false, "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-public.ObservabilityFetchDataResponse", - "type": "Interface", - "tags": [], - "label": "ObservabilityFetchDataResponse", - "description": [], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + }, { "parentPluginId": "observability", - "id": "def-public.ObservabilityFetchDataResponse.apm", + "id": "def-public.ObservabilityPublicPluginsStart.triggersActionsUi", "type": "Object", "tags": [], - "label": "apm", + "label": "triggersActionsUi", "description": [], "signature": [ { - "pluginId": "observability", + "pluginId": "triggersActionsUi", "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.ApmFetchDataResponse", - "text": "ApmFetchDataResponse" + "docId": "kibTriggersActionsUiPluginApi", + "section": "def-public.TriggersAndActionsUIPublicPluginStart", + "text": "TriggersAndActionsUIPublicPluginStart" } ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "path": "x-pack/plugins/observability/public/plugin.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.ObservabilityFetchDataResponse.infra_metrics", + "id": "def-public.ObservabilityPublicPluginsStart.usageCollection", "type": "Object", "tags": [], - "label": "infra_metrics", + "label": "usageCollection", "description": [], "signature": [ { - "pluginId": "observability", + "pluginId": "usageCollection", "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.MetricsFetchDataResponse", - "text": "MetricsFetchDataResponse" + "docId": "kibUsageCollectionPluginApi", + "section": "def-public.UsageCollectionSetup", + "text": "UsageCollectionSetup" } ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "path": "x-pack/plugins/observability/public/plugin.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.ObservabilityFetchDataResponse.infra_logs", + "id": "def-public.ObservabilityPublicPluginsStart.unifiedSearch", "type": "Object", "tags": [], - "label": "infra_logs", + "label": "unifiedSearch", "description": [], "signature": [ { - "pluginId": "observability", + "pluginId": "unifiedSearch", "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.LogsFetchDataResponse", - "text": "LogsFetchDataResponse" + "docId": "kibUnifiedSearchPluginApi", + "section": "def-public.UnifiedSearchPublicPluginStart", + "text": "UnifiedSearchPublicPluginStart" } ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "path": "x-pack/plugins/observability/public/plugin.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.ObservabilityFetchDataResponse.uptime", + "id": "def-public.ObservabilityPublicPluginsStart.home", "type": "Object", "tags": [], - "label": "uptime", + "label": "home", "description": [], "signature": [ { - "pluginId": "observability", + "pluginId": "home", "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.UptimeFetchDataResponse", - "text": "UptimeFetchDataResponse" - } + "docId": "kibHomePluginApi", + "section": "def-public.HomePublicPluginStart", + "text": "HomePublicPluginStart" + }, + " | undefined" ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "path": "x-pack/plugins/observability/public/plugin.ts", "deprecated": false, "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "observability", + "id": "def-public.ObservabilityRuleTypeModel", + "type": "Interface", + "tags": [], + "label": "ObservabilityRuleTypeModel", + "description": [], + "signature": [ + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.ObservabilityRuleTypeModel", + "text": "ObservabilityRuleTypeModel" + }, + " extends ", + { + "pluginId": "triggersActionsUi", + "scope": "public", + "docId": "kibTriggersActionsUiPluginApi", + "section": "def-public.RuleTypeModel", + "text": "RuleTypeModel" }, + "" + ], + "path": "x-pack/plugins/observability/public/rules/create_observability_rule_type_registry.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "observability", - "id": "def-public.ObservabilityFetchDataResponse.ux", - "type": "Object", + "id": "def-public.ObservabilityRuleTypeModel.format", + "type": "Function", "tags": [], - "label": "ux", + "label": "format", "description": [], "signature": [ - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.UxFetchDataResponse", - "text": "UxFetchDataResponse" - } + "(options: { fields: OutputOf> & Record; formatters: { asDuration: (value: ", + "Maybe", + ", { defaultValue, extended }?: FormatterOptions) => string; asPercent: (numerator: ", + "Maybe", + ", denominator: number | undefined, fallbackResult?: any) => any; }; }) => { reason: string; link: string; }" ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "path": "x-pack/plugins/observability/public/rules/create_observability_rule_type_registry.ts", "deprecated": false, - "trackAdoption": false + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "observability", + "id": "def-public.ObservabilityRuleTypeModel.format.$1", + "type": "Object", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "{ fields: OutputOf> & Record; formatters: { asDuration: (value: ", + "Maybe", + ", { defaultValue, extended }?: FormatterOptions) => string; asPercent: (numerator: ", + "Maybe", + ", denominator: number | undefined, fallbackResult?: any) => any; }; }" + ], + "path": "x-pack/plugins/observability/public/rules/create_observability_rule_type_registry.ts", + "deprecated": false, + "trackAdoption": false + } + ] } ], "initialIsOpen": false }, { "parentPluginId": "observability", - "id": "def-public.ObservabilityHasDataResponse", + "id": "def-public.Series", "type": "Interface", "tags": [], - "label": "ObservabilityHasDataResponse", + "label": "Series", "description": [], "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, @@ -3177,59 +2882,48 @@ "children": [ { "parentPluginId": "observability", - "id": "def-public.ObservabilityHasDataResponse.apm", - "type": "Object", + "id": "def-public.Series.coordinates", + "type": "Array", "tags": [], - "label": "apm", + "label": "coordinates", "description": [], "signature": [ { "pluginId": "observability", "scope": "public", "docId": "kibObservabilityPluginApi", - "section": "def-public.APMHasDataResponse", - "text": "APMHasDataResponse" - } - ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-public.ObservabilityHasDataResponse.infra_metrics", - "type": "Object", - "tags": [], - "label": "infra_metrics", - "description": [], - "signature": [ - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.InfraMetricsHasDataResponse", - "text": "InfraMetricsHasDataResponse" - } + "section": "def-public.Coordinates", + "text": "Coordinates" + }, + "[]" ], "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false - }, + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "observability", + "id": "def-public.Stat", + "type": "Interface", + "tags": [], + "label": "Stat", + "description": [], + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "observability", - "id": "def-public.ObservabilityHasDataResponse.infra_logs", - "type": "Object", + "id": "def-public.Stat.type", + "type": "CompoundType", "tags": [], - "label": "infra_logs", + "label": "type", "description": [], "signature": [ - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.InfraLogsHasDataResponse", - "text": "InfraLogsHasDataResponse" - } + "\"number\" | \"percent\" | \"bytesPerSecond\"" ], "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, @@ -3237,40 +2931,53 @@ }, { "parentPluginId": "observability", - "id": "def-public.ObservabilityHasDataResponse.uptime", - "type": "Object", + "id": "def-public.Stat.value", + "type": "number", "tags": [], - "label": "uptime", + "label": "value", "description": [], - "signature": [ - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.SyntheticsHasDataResponse", - "text": "SyntheticsHasDataResponse" - } - ], "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "observability", + "id": "def-public.SyntheticsHasDataResponse", + "type": "Interface", + "tags": [], + "label": "SyntheticsHasDataResponse", + "description": [], + "signature": [ + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.SyntheticsHasDataResponse", + "text": "SyntheticsHasDataResponse" }, + " extends ", + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.HasDataResponse", + "text": "HasDataResponse" + } + ], + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "observability", - "id": "def-public.ObservabilityHasDataResponse.ux", - "type": "Object", + "id": "def-public.SyntheticsHasDataResponse.indices", + "type": "string", "tags": [], - "label": "ux", + "label": "indices", "description": [], - "signature": [ - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.UXHasDataResponse", - "text": "UXHasDataResponse" - } - ], "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false @@ -3280,159 +2987,94 @@ }, { "parentPluginId": "observability", - "id": "def-public.ObservabilityPublicPluginsSetup", + "id": "def-public.TopAlert", "type": "Interface", "tags": [], - "label": "ObservabilityPublicPluginsSetup", + "label": "TopAlert", "description": [], - "path": "x-pack/plugins/observability/public/plugin.ts", + "signature": [ + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.TopAlert", + "text": "TopAlert" + }, + "" + ], + "path": "x-pack/plugins/observability/public/typings/alerts.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "observability", - "id": "def-public.ObservabilityPublicPluginsSetup.data", - "type": "Object", + "id": "def-public.TopAlert.fields", + "type": "CompoundType", "tags": [], - "label": "data", + "label": "fields", "description": [], "signature": [ - { - "pluginId": "data", - "scope": "public", - "docId": "kibDataPluginApi", - "section": "def-public.DataPublicPluginSetup", - "text": "DataPublicPluginSetup" - } + "OutputOf> & OutputOf> & TAdditionalMetaFields" ], - "path": "x-pack/plugins/observability/public/plugin.ts", + "path": "x-pack/plugins/observability/public/typings/alerts.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.ObservabilityPublicPluginsSetup.observabilityShared", - "type": "Object", + "id": "def-public.TopAlert.start", + "type": "number", "tags": [], - "label": "observabilityShared", + "label": "start", "description": [], - "signature": [ - "{ navigation: { registerSections: (sections$: ", - "Observable", - "<", - "NavigationSection", - "[]>) => void; }; }" - ], - "path": "x-pack/plugins/observability/public/plugin.ts", + "path": "x-pack/plugins/observability/public/typings/alerts.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.ObservabilityPublicPluginsSetup.share", - "type": "CompoundType", + "id": "def-public.TopAlert.lastUpdated", + "type": "number", "tags": [], - "label": "share", + "label": "lastUpdated", "description": [], - "signature": [ - "{ register: (shareMenuProvider: ", - { - "pluginId": "share", - "scope": "public", - "docId": "kibSharePluginApi", - "section": "def-public.ShareMenuProvider", - "text": "ShareMenuProvider" - }, - ") => void; } & { url: ", - { - "pluginId": "share", - "scope": "public", - "docId": "kibSharePluginApi", - "section": "def-public.BrowserUrlService", - "text": "BrowserUrlService" - }, - "; navigate(options: ", - "RedirectOptions", - "<", - { - "pluginId": "@kbn/utility-types", - "scope": "common", - "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-common.SerializableRecord", - "text": "SerializableRecord" - }, - ">): void; setAnonymousAccessServiceProvider: (provider: () => ", - { - "pluginId": "share", - "scope": "common", - "docId": "kibSharePluginApi", - "section": "def-common.AnonymousAccessServiceContract", - "text": "AnonymousAccessServiceContract" - }, - ") => void; }" - ], - "path": "x-pack/plugins/observability/public/plugin.ts", + "path": "x-pack/plugins/observability/public/typings/alerts.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.ObservabilityPublicPluginsSetup.triggersActionsUi", - "type": "Object", + "id": "def-public.TopAlert.reason", + "type": "string", "tags": [], - "label": "triggersActionsUi", + "label": "reason", "description": [], - "signature": [ - { - "pluginId": "triggersActionsUi", - "scope": "public", - "docId": "kibTriggersActionsUiPluginApi", - "section": "def-public.TriggersAndActionsUIPublicPluginSetup", - "text": "TriggersAndActionsUIPublicPluginSetup" - } - ], - "path": "x-pack/plugins/observability/public/plugin.ts", + "path": "x-pack/plugins/observability/public/typings/alerts.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.ObservabilityPublicPluginsSetup.home", - "type": "Object", + "id": "def-public.TopAlert.link", + "type": "string", "tags": [], - "label": "home", + "label": "link", "description": [], "signature": [ - { - "pluginId": "home", - "scope": "public", - "docId": "kibHomePluginApi", - "section": "def-public.HomePublicPluginSetup", - "text": "HomePublicPluginSetup" - }, - " | undefined" + "string | undefined" ], - "path": "x-pack/plugins/observability/public/plugin.ts", + "path": "x-pack/plugins/observability/public/typings/alerts.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.ObservabilityPublicPluginsSetup.usageCollection", - "type": "Object", + "id": "def-public.TopAlert.active", + "type": "boolean", "tags": [], - "label": "usageCollection", + "label": "active", "description": [], - "signature": [ - { - "pluginId": "usageCollection", - "scope": "public", - "docId": "kibUsageCollectionPluginApi", - "section": "def-public.UsageCollectionSetup", - "text": "UsageCollectionSetup" - } - ], - "path": "x-pack/plugins/observability/public/plugin.ts", + "path": "x-pack/plugins/observability/public/typings/alerts.ts", "deprecated": false, "trackAdoption": false } @@ -3441,913 +3083,591 @@ }, { "parentPluginId": "observability", - "id": "def-public.ObservabilityPublicPluginsStart", + "id": "def-public.UptimeFetchDataResponse", "type": "Interface", "tags": [], - "label": "ObservabilityPublicPluginsStart", + "label": "UptimeFetchDataResponse", "description": [], - "path": "x-pack/plugins/observability/public/plugin.ts", + "signature": [ + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.UptimeFetchDataResponse", + "text": "UptimeFetchDataResponse" + }, + " extends ", + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.FetchDataResponse", + "text": "FetchDataResponse" + } + ], + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "observability", - "id": "def-public.ObservabilityPublicPluginsStart.actionTypeRegistry", + "id": "def-public.UptimeFetchDataResponse.stats", "type": "Object", "tags": [], - "label": "actionTypeRegistry", + "label": "stats", "description": [], "signature": [ - "{ get: (id: string) => ", + "{ monitors: ", { - "pluginId": "triggersActionsUi", + "pluginId": "observability", "scope": "public", - "docId": "kibTriggersActionsUiPluginApi", - "section": "def-public.ActionTypeModel", - "text": "ActionTypeModel" + "docId": "kibObservabilityPluginApi", + "section": "def-public.Stat", + "text": "Stat" }, - "; list: () => ", + "; up: ", { - "pluginId": "triggersActionsUi", + "pluginId": "observability", "scope": "public", - "docId": "kibTriggersActionsUiPluginApi", - "section": "def-public.ActionTypeModel", - "text": "ActionTypeModel" + "docId": "kibObservabilityPluginApi", + "section": "def-public.Stat", + "text": "Stat" }, - "[]; register: (objectType: ", + "; down: ", { - "pluginId": "triggersActionsUi", + "pluginId": "observability", "scope": "public", - "docId": "kibTriggersActionsUiPluginApi", - "section": "def-public.ActionTypeModel", - "text": "ActionTypeModel" + "docId": "kibObservabilityPluginApi", + "section": "def-public.Stat", + "text": "Stat" }, - ") => void; has: (id: string) => boolean; }" + "; }" ], - "path": "x-pack/plugins/observability/public/plugin.ts", + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.ObservabilityPublicPluginsStart.cases", + "id": "def-public.UptimeFetchDataResponse.series", "type": "Object", "tags": [], - "label": "cases", + "label": "series", "description": [], "signature": [ + "{ up: ", { - "pluginId": "cases", + "pluginId": "observability", "scope": "public", - "docId": "kibCasesPluginApi", - "section": "def-public.CasesUiStart", - "text": "CasesUiStart" - } + "docId": "kibObservabilityPluginApi", + "section": "def-public.Series", + "text": "Series" + }, + "; down: ", + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.Series", + "text": "Series" + }, + "; }" ], - "path": "x-pack/plugins/observability/public/plugin.ts", + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "observability", + "id": "def-public.UxFetchDataResponse", + "type": "Interface", + "tags": [], + "label": "UxFetchDataResponse", + "description": [], + "signature": [ + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.UxFetchDataResponse", + "text": "UxFetchDataResponse" }, + " extends ", + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.FetchDataResponse", + "text": "FetchDataResponse" + } + ], + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "observability", - "id": "def-public.ObservabilityPublicPluginsStart.charts", - "type": "CompoundType", + "id": "def-public.UxFetchDataResponse.coreWebVitals", + "type": "Object", "tags": [], - "label": "charts", + "label": "coreWebVitals", "description": [], "signature": [ { - "pluginId": "charts", + "pluginId": "observability", "scope": "public", - "docId": "kibChartsPluginApi", - "section": "def-public.ChartsPluginSetup", - "text": "ChartsPluginSetup" - }, - " & { activeCursor: ", - "ActiveCursor", - "; }" + "docId": "kibObservabilityPluginApi", + "section": "def-public.UXMetrics", + "text": "UXMetrics" + } ], - "path": "x-pack/plugins/observability/public/plugin.ts", + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "observability", + "id": "def-public.UXHasDataResponse", + "type": "Interface", + "tags": [], + "label": "UXHasDataResponse", + "description": [], + "signature": [ + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.UXHasDataResponse", + "text": "UXHasDataResponse" }, + " extends ", + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.HasDataResponse", + "text": "HasDataResponse" + } + ], + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "observability", - "id": "def-public.ObservabilityPublicPluginsStart.data", - "type": "Object", + "id": "def-public.UXHasDataResponse.serviceName", + "type": "CompoundType", "tags": [], - "label": "data", + "label": "serviceName", "description": [], "signature": [ - { - "pluginId": "data", - "scope": "public", - "docId": "kibDataPluginApi", - "section": "def-public.DataPublicPluginStart", - "text": "DataPublicPluginStart" - } + "string | number | undefined" ], - "path": "x-pack/plugins/observability/public/plugin.ts", + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.ObservabilityPublicPluginsStart.dataViews", - "type": "Object", + "id": "def-public.UXHasDataResponse.indices", + "type": "string", "tags": [], - "label": "dataViews", + "label": "indices", "description": [], "signature": [ - { - "pluginId": "dataViews", - "scope": "public", - "docId": "kibDataViewsPluginApi", - "section": "def-public.DataViewsServicePublic", - "text": "DataViewsServicePublic" - } + "string | undefined" ], - "path": "x-pack/plugins/observability/public/plugin.ts", + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false - }, + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "observability", + "id": "def-public.UXMetrics", + "type": "Interface", + "tags": [], + "label": "UXMetrics", + "description": [], + "path": "x-pack/plugins/observability/public/components/core_web_vitals/core_vitals.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "observability", - "id": "def-public.ObservabilityPublicPluginsStart.discover", - "type": "Object", + "id": "def-public.UXMetrics.cls", + "type": "CompoundType", "tags": [], - "label": "discover", + "label": "cls", "description": [], "signature": [ - { - "pluginId": "discover", - "scope": "public", - "docId": "kibDiscoverPluginApi", - "section": "def-public.DiscoverStart", - "text": "DiscoverStart" - } + "number | null" ], - "path": "x-pack/plugins/observability/public/plugin.ts", + "path": "x-pack/plugins/observability/public/components/core_web_vitals/core_vitals.tsx", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.ObservabilityPublicPluginsStart.embeddable", - "type": "Object", + "id": "def-public.UXMetrics.fid", + "type": "CompoundType", "tags": [], - "label": "embeddable", + "label": "fid", "description": [], "signature": [ - { - "pluginId": "embeddable", - "scope": "public", - "docId": "kibEmbeddablePluginApi", - "section": "def-public.EmbeddableStart", - "text": "EmbeddableStart" - } + "number | null | undefined" ], - "path": "x-pack/plugins/observability/public/plugin.ts", + "path": "x-pack/plugins/observability/public/components/core_web_vitals/core_vitals.tsx", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.ObservabilityPublicPluginsStart.exploratoryView", - "type": "Object", + "id": "def-public.UXMetrics.lcp", + "type": "CompoundType", "tags": [], - "label": "exploratoryView", + "label": "lcp", "description": [], "signature": [ - "{ createExploratoryViewUrl: ({ reportType, allSeries }: { reportType: ", - "ReportViewType", - "; allSeries: ", - { - "pluginId": "exploratoryView", - "scope": "public", - "docId": "kibExploratoryViewPluginApi", - "section": "def-public.AllSeries", - "text": "AllSeries" - }, - "; }, baseHref?: string) => string; getAppDataView: (appId: ", - "AppDataType", - ", indexPattern?: string | undefined) => Promise<", - { - "pluginId": "dataViews", - "scope": "common", - "docId": "kibDataViewsPluginApi", - "section": "def-common.DataView", - "text": "DataView" - }, - " | null | undefined>; ExploratoryViewEmbeddable: (props: ", - { - "pluginId": "exploratoryView", - "scope": "public", - "docId": "kibExploratoryViewPluginApi", - "section": "def-public.ExploratoryEmbeddableProps", - "text": "ExploratoryEmbeddableProps" - }, - ") => JSX.Element | null; }" + "number | null | undefined" ], - "path": "x-pack/plugins/observability/public/plugin.ts", + "path": "x-pack/plugins/observability/public/components/core_web_vitals/core_vitals.tsx", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.ObservabilityPublicPluginsStart.guidedOnboarding", - "type": "Object", + "id": "def-public.UXMetrics.tbt", + "type": "number", "tags": [], - "label": "guidedOnboarding", + "label": "tbt", "description": [], - "signature": [ - { - "pluginId": "guidedOnboarding", - "scope": "public", - "docId": "kibGuidedOnboardingPluginApi", - "section": "def-public.GuidedOnboardingPluginStart", - "text": "GuidedOnboardingPluginStart" - } - ], - "path": "x-pack/plugins/observability/public/plugin.ts", + "path": "x-pack/plugins/observability/public/components/core_web_vitals/core_vitals.tsx", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.ObservabilityPublicPluginsStart.lens", - "type": "Object", + "id": "def-public.UXMetrics.fcp", + "type": "CompoundType", "tags": [], - "label": "lens", + "label": "fcp", "description": [], "signature": [ - { - "pluginId": "lens", - "scope": "public", - "docId": "kibLensPluginApi", - "section": "def-public.LensPublicStart", - "text": "LensPublicStart" - } + "number | null | undefined" ], - "path": "x-pack/plugins/observability/public/plugin.ts", + "path": "x-pack/plugins/observability/public/components/core_web_vitals/core_vitals.tsx", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.ObservabilityPublicPluginsStart.licensing", - "type": "Object", + "id": "def-public.UXMetrics.coreVitalPages", + "type": "number", "tags": [], - "label": "licensing", + "label": "coreVitalPages", "description": [], - "signature": [ - { - "pluginId": "licensing", - "scope": "public", - "docId": "kibLicensingPluginApi", - "section": "def-public.LicensingPluginStart", - "text": "LicensingPluginStart" - } - ], - "path": "x-pack/plugins/observability/public/plugin.ts", + "path": "x-pack/plugins/observability/public/components/core_web_vitals/core_vitals.tsx", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.ObservabilityPublicPluginsStart.observabilityShared", - "type": "Object", + "id": "def-public.UXMetrics.lcpRanks", + "type": "Array", "tags": [], - "label": "observabilityShared", + "label": "lcpRanks", "description": [], "signature": [ - "{ navigation: { PageTemplate: (pageTemplateProps: ", - "WrappedPageTemplateProps", - ") => JSX.Element; }; updateGlobalNavigation: ({ capabilities, deepLinks, updater$, }: { capabilities: Readonly<{ [x: string]: Readonly<{ [x: string]: boolean | Readonly<{ [x: string]: boolean; }>; }>; navLinks: Readonly<{ [x: string]: boolean; }>; management: Readonly<{ [x: string]: Readonly<{ [x: string]: boolean; }>; }>; catalogue: Readonly<{ [x: string]: boolean; }>; }>; deepLinks: ", - { - "pluginId": "@kbn/core-application-browser", - "scope": "common", - "docId": "kibKbnCoreApplicationBrowserPluginApi", - "section": "def-common.AppDeepLink", - "text": "AppDeepLink" - }, - "[]; updater$: ", - "Subject", - "<", - { - "pluginId": "@kbn/core-application-browser", - "scope": "common", - "docId": "kibKbnCoreApplicationBrowserPluginApi", - "section": "def-common.AppUpdater", - "text": "AppUpdater" - }, - ">; }) => void; setIsSidebarEnabled: (isEnabled: boolean) => void; }" + "number[]" ], - "path": "x-pack/plugins/observability/public/plugin.ts", + "path": "x-pack/plugins/observability/public/components/core_web_vitals/core_vitals.tsx", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.ObservabilityPublicPluginsStart.ruleTypeRegistry", - "type": "Object", + "id": "def-public.UXMetrics.fidRanks", + "type": "Array", "tags": [], - "label": "ruleTypeRegistry", + "label": "fidRanks", "description": [], "signature": [ - "{ get: (id: string) => ", - { - "pluginId": "triggersActionsUi", - "scope": "public", - "docId": "kibTriggersActionsUiPluginApi", - "section": "def-public.RuleTypeModel", - "text": "RuleTypeModel" - }, - "<", - { - "pluginId": "alerting", - "scope": "common", - "docId": "kibAlertingPluginApi", - "section": "def-common.RuleTypeParams", - "text": "RuleTypeParams" - }, - ">; list: () => ", - { - "pluginId": "triggersActionsUi", - "scope": "public", - "docId": "kibTriggersActionsUiPluginApi", - "section": "def-public.RuleTypeModel", - "text": "RuleTypeModel" - }, - "<", - { - "pluginId": "alerting", - "scope": "common", - "docId": "kibAlertingPluginApi", - "section": "def-common.RuleTypeParams", - "text": "RuleTypeParams" - }, - ">[]; register: (objectType: ", - { - "pluginId": "triggersActionsUi", - "scope": "public", - "docId": "kibTriggersActionsUiPluginApi", - "section": "def-public.RuleTypeModel", - "text": "RuleTypeModel" - }, - "<", - { - "pluginId": "alerting", - "scope": "common", - "docId": "kibAlertingPluginApi", - "section": "def-common.RuleTypeParams", - "text": "RuleTypeParams" - }, - ">) => void; has: (id: string) => boolean; }" + "number[]" ], - "path": "x-pack/plugins/observability/public/plugin.ts", + "path": "x-pack/plugins/observability/public/components/core_web_vitals/core_vitals.tsx", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.ObservabilityPublicPluginsStart.security", - "type": "Object", + "id": "def-public.UXMetrics.clsRanks", + "type": "Array", "tags": [], - "label": "security", + "label": "clsRanks", "description": [], "signature": [ - { - "pluginId": "security", - "scope": "public", - "docId": "kibSecurityPluginApi", - "section": "def-public.SecurityPluginStart", - "text": "SecurityPluginStart" - } + "number[]" ], - "path": "x-pack/plugins/observability/public/plugin.ts", + "path": "x-pack/plugins/observability/public/components/core_web_vitals/core_vitals.tsx", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "observability", + "id": "def-public.WindowSchema", + "type": "Interface", + "tags": [], + "label": "WindowSchema", + "description": [], + "path": "x-pack/plugins/observability/public/typings/slo/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "observability", + "id": "def-public.WindowSchema.id", + "type": "string", + "tags": [], + "label": "id", + "description": [], + "path": "x-pack/plugins/observability/public/typings/slo/index.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.ObservabilityPublicPluginsStart.share", - "type": "CompoundType", + "id": "def-public.WindowSchema.burnRateThreshold", + "type": "number", "tags": [], - "label": "share", + "label": "burnRateThreshold", "description": [], - "signature": [ - "{ toggleShareContextMenu: (options: ", - { - "pluginId": "share", - "scope": "public", - "docId": "kibSharePluginApi", - "section": "def-public.ShowShareMenuOptions", - "text": "ShowShareMenuOptions" - }, - ") => void; } & { url: ", - { - "pluginId": "share", - "scope": "public", - "docId": "kibSharePluginApi", - "section": "def-public.BrowserUrlService", - "text": "BrowserUrlService" - }, - "; navigate(options: ", - "RedirectOptions", - "<", - { - "pluginId": "@kbn/utility-types", - "scope": "common", - "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-common.SerializableRecord", - "text": "SerializableRecord" - }, - ">): void; }" - ], - "path": "x-pack/plugins/observability/public/plugin.ts", + "path": "x-pack/plugins/observability/public/typings/slo/index.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.ObservabilityPublicPluginsStart.spaces", - "type": "Object", + "id": "def-public.WindowSchema.maxBurnRateThreshold", + "type": "number", "tags": [], - "label": "spaces", + "label": "maxBurnRateThreshold", "description": [], - "signature": [ - { - "pluginId": "spaces", - "scope": "public", - "docId": "kibSpacesPluginApi", - "section": "def-public.SpacesApi", - "text": "SpacesApi" - }, - " | undefined" - ], - "path": "x-pack/plugins/observability/public/plugin.ts", + "path": "x-pack/plugins/observability/public/typings/slo/index.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.ObservabilityPublicPluginsStart.triggersActionsUi", + "id": "def-public.WindowSchema.longWindow", "type": "Object", "tags": [], - "label": "triggersActionsUi", + "label": "longWindow", "description": [], "signature": [ { - "pluginId": "triggersActionsUi", + "pluginId": "observability", "scope": "public", - "docId": "kibTriggersActionsUiPluginApi", - "section": "def-public.TriggersAndActionsUIPublicPluginStart", - "text": "TriggersAndActionsUIPublicPluginStart" - } - ], - "path": "x-pack/plugins/observability/public/plugin.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-public.ObservabilityPublicPluginsStart.usageCollection", - "type": "Object", - "tags": [], - "label": "usageCollection", - "description": [], - "signature": [ - { - "pluginId": "usageCollection", - "scope": "public", - "docId": "kibUsageCollectionPluginApi", - "section": "def-public.UsageCollectionSetup", - "text": "UsageCollectionSetup" + "docId": "kibObservabilityPluginApi", + "section": "def-public.Duration", + "text": "Duration" } ], - "path": "x-pack/plugins/observability/public/plugin.ts", + "path": "x-pack/plugins/observability/public/typings/slo/index.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.ObservabilityPublicPluginsStart.unifiedSearch", + "id": "def-public.WindowSchema.shortWindow", "type": "Object", "tags": [], - "label": "unifiedSearch", + "label": "shortWindow", "description": [], "signature": [ { - "pluginId": "unifiedSearch", + "pluginId": "observability", "scope": "public", - "docId": "kibUnifiedSearchPluginApi", - "section": "def-public.UnifiedSearchPublicPluginStart", - "text": "UnifiedSearchPublicPluginStart" + "docId": "kibObservabilityPluginApi", + "section": "def-public.Duration", + "text": "Duration" } ], - "path": "x-pack/plugins/observability/public/plugin.ts", + "path": "x-pack/plugins/observability/public/typings/slo/index.ts", "deprecated": false, "trackAdoption": false }, { "parentPluginId": "observability", - "id": "def-public.ObservabilityPublicPluginsStart.home", - "type": "Object", + "id": "def-public.WindowSchema.actionGroup", + "type": "string", "tags": [], - "label": "home", + "label": "actionGroup", "description": [], - "signature": [ - { - "pluginId": "home", - "scope": "public", - "docId": "kibHomePluginApi", - "section": "def-public.HomePublicPluginStart", - "text": "HomePublicPluginStart" - }, - " | undefined" - ], - "path": "x-pack/plugins/observability/public/plugin.ts", + "path": "x-pack/plugins/observability/public/typings/slo/index.ts", "deprecated": false, "trackAdoption": false } ], "initialIsOpen": false - }, + } + ], + "enums": [], + "misc": [ { "parentPluginId": "observability", - "id": "def-public.ObservabilityRuleTypeModel", - "type": "Interface", + "id": "def-public.alertsLocatorID", + "type": "string", "tags": [], - "label": "ObservabilityRuleTypeModel", + "label": "alertsLocatorID", "description": [], "signature": [ - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.ObservabilityRuleTypeModel", - "text": "ObservabilityRuleTypeModel" - }, - " extends ", - { - "pluginId": "triggersActionsUi", - "scope": "public", - "docId": "kibTriggersActionsUiPluginApi", - "section": "def-public.RuleTypeModel", - "text": "RuleTypeModel" - }, - "" + "\"ALERTS_LOCATOR\"" ], - "path": "x-pack/plugins/observability/public/rules/create_observability_rule_type_registry.ts", + "path": "x-pack/plugins/observability/common/index.ts", "deprecated": false, "trackAdoption": false, - "children": [ - { - "parentPluginId": "observability", - "id": "def-public.ObservabilityRuleTypeModel.format", - "type": "Function", - "tags": [], - "label": "format", - "description": [], - "signature": [ - "(options: { fields: OutputOf> & Record; formatters: { asDuration: (value: ", - "Maybe", - ", { defaultValue, extended }?: FormatterOptions) => string; asPercent: (numerator: ", - "Maybe", - ", denominator: number | undefined, fallbackResult?: any) => any; }; }) => { reason: string; link: string; }" - ], - "path": "x-pack/plugins/observability/public/rules/create_observability_rule_type_registry.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "observability", - "id": "def-public.ObservabilityRuleTypeModel.format.$1", - "type": "Object", - "tags": [], - "label": "options", - "description": [], - "signature": [ - "{ fields: OutputOf> & Record; formatters: { asDuration: (value: ", - "Maybe", - ", { defaultValue, extended }?: FormatterOptions) => string; asPercent: (numerator: ", - "Maybe", - ", denominator: number | undefined, fallbackResult?: any) => any; }; }" - ], - "path": "x-pack/plugins/observability/public/rules/create_observability_rule_type_registry.ts", - "deprecated": false, - "trackAdoption": false - } - ] - } - ], "initialIsOpen": false }, { "parentPluginId": "observability", - "id": "def-public.Series", - "type": "Interface", + "id": "def-public.apmServiceGroupMaxNumberOfServices", + "type": "string", "tags": [], - "label": "Series", + "label": "apmServiceGroupMaxNumberOfServices", "description": [], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "signature": [ + "\"observability:apmServiceGroupMaxNumberOfServices\"" + ], + "path": "x-pack/plugins/observability/common/ui_settings_keys.ts", "deprecated": false, "trackAdoption": false, - "children": [ - { - "parentPluginId": "observability", - "id": "def-public.Series.coordinates", - "type": "Array", - "tags": [], - "label": "coordinates", - "description": [], - "signature": [ - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.Coordinates", - "text": "Coordinates" - }, - "[]" - ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", - "deprecated": false, - "trackAdoption": false - } - ], "initialIsOpen": false }, { "parentPluginId": "observability", - "id": "def-public.Stat", - "type": "Interface", + "id": "def-public.DurationUnit", + "type": "Type", "tags": [], - "label": "Stat", + "label": "DurationUnit", "description": [], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "signature": [ + "\"m\" | \"M\" | \"w\" | \"d\" | \"h\" | \"Y\"" + ], + "path": "x-pack/plugins/observability/public/typings/slo/index.ts", "deprecated": false, "trackAdoption": false, - "children": [ - { - "parentPluginId": "observability", - "id": "def-public.Stat.type", - "type": "CompoundType", - "tags": [], - "label": "type", - "description": [], - "signature": [ - "\"number\" | \"percent\" | \"bytesPerSecond\"" - ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-public.Stat.value", - "type": "number", - "tags": [], - "label": "value", - "description": [], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", - "deprecated": false, - "trackAdoption": false - } - ], "initialIsOpen": false }, { "parentPluginId": "observability", - "id": "def-public.SyntheticsHasDataResponse", - "type": "Interface", + "id": "def-public.enableAgentExplorerView", + "type": "string", "tags": [], - "label": "SyntheticsHasDataResponse", + "label": "enableAgentExplorerView", "description": [], "signature": [ - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.SyntheticsHasDataResponse", - "text": "SyntheticsHasDataResponse" - }, - " extends ", - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.HasDataResponse", - "text": "HasDataResponse" - } + "\"observability:apmAgentExplorerView\"" ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "path": "x-pack/plugins/observability/common/ui_settings_keys.ts", "deprecated": false, "trackAdoption": false, - "children": [ - { - "parentPluginId": "observability", - "id": "def-public.SyntheticsHasDataResponse.indices", - "type": "string", - "tags": [], - "label": "indices", - "description": [], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", - "deprecated": false, - "trackAdoption": false - } - ], "initialIsOpen": false }, { "parentPluginId": "observability", - "id": "def-public.TopAlert", - "type": "Interface", + "id": "def-public.enableComparisonByDefault", + "type": "string", "tags": [], - "label": "TopAlert", + "label": "enableComparisonByDefault", "description": [], "signature": [ - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.TopAlert", - "text": "TopAlert" - }, - "" + "\"observability:enableComparisonByDefault\"" ], - "path": "x-pack/plugins/observability/public/typings/alerts.ts", + "path": "x-pack/plugins/observability/common/ui_settings_keys.ts", "deprecated": false, "trackAdoption": false, - "children": [ - { - "parentPluginId": "observability", - "id": "def-public.TopAlert.fields", - "type": "CompoundType", - "tags": [], - "label": "fields", - "description": [], - "signature": [ - "OutputOf> & OutputOf> & TAdditionalMetaFields" - ], - "path": "x-pack/plugins/observability/public/typings/alerts.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-public.TopAlert.start", - "type": "number", - "tags": [], - "label": "start", - "description": [], - "path": "x-pack/plugins/observability/public/typings/alerts.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-public.TopAlert.lastUpdated", - "type": "number", - "tags": [], - "label": "lastUpdated", - "description": [], - "path": "x-pack/plugins/observability/public/typings/alerts.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-public.TopAlert.reason", - "type": "string", - "tags": [], - "label": "reason", - "description": [], - "path": "x-pack/plugins/observability/public/typings/alerts.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-public.TopAlert.link", - "type": "string", - "tags": [], - "label": "link", - "description": [], - "signature": [ - "string | undefined" - ], - "path": "x-pack/plugins/observability/public/typings/alerts.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-public.TopAlert.active", - "type": "boolean", - "tags": [], - "label": "active", - "description": [], - "path": "x-pack/plugins/observability/public/typings/alerts.ts", - "deprecated": false, - "trackAdoption": false - } + "initialIsOpen": false + }, + { + "parentPluginId": "observability", + "id": "def-public.enableInfrastructureHostsView", + "type": "string", + "tags": [], + "label": "enableInfrastructureHostsView", + "description": [], + "signature": [ + "\"observability:enableInfrastructureHostsView\"" ], + "path": "x-pack/plugins/observability/common/ui_settings_keys.ts", + "deprecated": false, + "trackAdoption": false, "initialIsOpen": false }, { "parentPluginId": "observability", - "id": "def-public.UptimeFetchDataResponse", - "type": "Interface", + "id": "def-public.enableInspectEsQueries", + "type": "string", "tags": [], - "label": "UptimeFetchDataResponse", + "label": "enableInspectEsQueries", + "description": [], + "signature": [ + "\"observability:enableInspectEsQueries\"" + ], + "path": "x-pack/plugins/observability/common/ui_settings_keys.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "observability", + "id": "def-public.FetchData", + "type": "Type", + "tags": [], + "label": "FetchData", "description": [], "signature": [ + "(fetchDataParams: ", { "pluginId": "observability", "scope": "public", "docId": "kibObservabilityPluginApi", - "section": "def-public.UptimeFetchDataResponse", - "text": "UptimeFetchDataResponse" + "section": "def-public.FetchDataParams", + "text": "FetchDataParams" }, - " extends ", - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.FetchDataResponse", - "text": "FetchDataResponse" - } + ") => Promise" ], "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false, + "returnComment": [], "children": [ { "parentPluginId": "observability", - "id": "def-public.UptimeFetchDataResponse.stats", - "type": "Object", - "tags": [], - "label": "stats", - "description": [], - "signature": [ - "{ monitors: ", - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.Stat", - "text": "Stat" - }, - "; up: ", - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.Stat", - "text": "Stat" - }, - "; down: ", - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.Stat", - "text": "Stat" - }, - "; }" - ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-public.UptimeFetchDataResponse.series", + "id": "def-public.FetchData.$1", "type": "Object", "tags": [], - "label": "series", + "label": "fetchDataParams", "description": [], "signature": [ - "{ up: ", - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.Series", - "text": "Series" - }, - "; down: ", { "pluginId": "observability", "scope": "public", "docId": "kibObservabilityPluginApi", - "section": "def-public.Series", - "text": "Series" - }, - "; }" + "section": "def-public.FetchDataParams", + "text": "FetchDataParams" + } ], "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, @@ -4358,47 +3678,51 @@ }, { "parentPluginId": "observability", - "id": "def-public.UxFetchDataResponse", - "type": "Interface", + "id": "def-public.HasData", + "type": "Type", "tags": [], - "label": "UxFetchDataResponse", + "label": "HasData", "description": [], "signature": [ + "(params?: ", { "pluginId": "observability", "scope": "public", "docId": "kibObservabilityPluginApi", - "section": "def-public.UxFetchDataResponse", - "text": "UxFetchDataResponse" + "section": "def-public.HasDataParams", + "text": "HasDataParams" }, - " extends ", + " | undefined) => Promise<", { "pluginId": "observability", "scope": "public", "docId": "kibObservabilityPluginApi", - "section": "def-public.FetchDataResponse", - "text": "FetchDataResponse" - } + "section": "def-public.ObservabilityHasDataResponse", + "text": "ObservabilityHasDataResponse" + }, + "[T]>" ], "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false, + "returnComment": [], "children": [ { "parentPluginId": "observability", - "id": "def-public.UxFetchDataResponse.coreWebVitals", + "id": "def-public.HasData.$1", "type": "Object", "tags": [], - "label": "coreWebVitals", + "label": "params", "description": [], "signature": [ { "pluginId": "observability", "scope": "public", "docId": "kibObservabilityPluginApi", - "section": "def-public.UXMetrics", - "text": "UXMetrics" - } + "section": "def-public.HasDataParams", + "text": "HasDataParams" + }, + " | undefined" ], "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, @@ -4409,250 +3733,98 @@ }, { "parentPluginId": "observability", - "id": "def-public.UXHasDataResponse", - "type": "Interface", + "id": "def-public.NumberOrNull", + "type": "Type", "tags": [], - "label": "UXHasDataResponse", + "label": "NumberOrNull", "description": [], "signature": [ - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.UXHasDataResponse", - "text": "UXHasDataResponse" - }, - " extends ", - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.HasDataResponse", - "text": "HasDataResponse" - } + "number | null" ], "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false, - "children": [ - { - "parentPluginId": "observability", - "id": "def-public.UXHasDataResponse.serviceName", - "type": "CompoundType", - "tags": [], - "label": "serviceName", - "description": [], - "signature": [ - "string | number | undefined" - ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-public.UXHasDataResponse.indices", - "type": "string", - "tags": [], - "label": "indices", - "description": [], - "signature": [ - "string | undefined" - ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", - "deprecated": false, - "trackAdoption": false - } - ], "initialIsOpen": false }, { "parentPluginId": "observability", - "id": "def-public.UXMetrics", - "type": "Interface", + "id": "def-public.observabilityAppId", + "type": "string", "tags": [], - "label": "UXMetrics", + "label": "observabilityAppId", "description": [], - "path": "x-pack/plugins/observability/public/components/shared/core_web_vitals/index.tsx", + "signature": [ + "\"observability-overview\"" + ], + "path": "x-pack/plugins/observability/common/index.ts", "deprecated": false, "trackAdoption": false, - "children": [ - { - "parentPluginId": "observability", - "id": "def-public.UXMetrics.cls", - "type": "CompoundType", - "tags": [], - "label": "cls", - "description": [], - "signature": [ - "number | null" - ], - "path": "x-pack/plugins/observability/public/components/shared/core_web_vitals/index.tsx", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-public.UXMetrics.fid", - "type": "CompoundType", - "tags": [], - "label": "fid", - "description": [], - "signature": [ - "number | null | undefined" - ], - "path": "x-pack/plugins/observability/public/components/shared/core_web_vitals/index.tsx", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-public.UXMetrics.lcp", - "type": "CompoundType", - "tags": [], - "label": "lcp", - "description": [], - "signature": [ - "number | null | undefined" - ], - "path": "x-pack/plugins/observability/public/components/shared/core_web_vitals/index.tsx", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-public.UXMetrics.tbt", - "type": "number", - "tags": [], - "label": "tbt", - "description": [], - "path": "x-pack/plugins/observability/public/components/shared/core_web_vitals/index.tsx", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-public.UXMetrics.fcp", - "type": "CompoundType", - "tags": [], - "label": "fcp", - "description": [], - "signature": [ - "number | null | undefined" - ], - "path": "x-pack/plugins/observability/public/components/shared/core_web_vitals/index.tsx", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-public.UXMetrics.coreVitalPages", - "type": "number", - "tags": [], - "label": "coreVitalPages", - "description": [], - "path": "x-pack/plugins/observability/public/components/shared/core_web_vitals/index.tsx", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-public.UXMetrics.lcpRanks", - "type": "Array", - "tags": [], - "label": "lcpRanks", - "description": [], - "signature": [ - "number[]" - ], - "path": "x-pack/plugins/observability/public/components/shared/core_web_vitals/index.tsx", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-public.UXMetrics.fidRanks", - "type": "Array", - "tags": [], - "label": "fidRanks", - "description": [], - "signature": [ - "number[]" - ], - "path": "x-pack/plugins/observability/public/components/shared/core_web_vitals/index.tsx", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-public.UXMetrics.clsRanks", - "type": "Array", - "tags": [], - "label": "clsRanks", - "description": [], - "signature": [ - "number[]" - ], - "path": "x-pack/plugins/observability/public/components/shared/core_web_vitals/index.tsx", - "deprecated": false, - "trackAdoption": false - } + "initialIsOpen": false + }, + { + "parentPluginId": "observability", + "id": "def-public.observabilityFeatureId", + "type": "string", + "tags": [], + "label": "observabilityFeatureId", + "description": [], + "signature": [ + "\"observability\"" ], + "path": "x-pack/plugins/observability/common/index.ts", + "deprecated": false, + "trackAdoption": false, "initialIsOpen": false - } - ], - "enums": [ + }, { "parentPluginId": "observability", - "id": "def-public.FETCH_STATUS", - "type": "Enum", + "id": "def-public.ObservabilityFetchDataPlugins", + "type": "Type", "tags": [], - "label": "FETCH_STATUS", + "label": "ObservabilityFetchDataPlugins", "description": [], - "path": "x-pack/plugins/observability/public/hooks/use_fetcher.tsx", + "signature": [ + "\"uptime\" | \"ux\" | \"infra_logs\" | \"infra_metrics\" | \"apm\"" + ], + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false - } - ], - "misc": [ + }, { "parentPluginId": "observability", - "id": "def-public.AddInspectorRequest", + "id": "def-public.ObservabilityRuleTypeFormatter", "type": "Type", "tags": [], - "label": "AddInspectorRequest", + "label": "ObservabilityRuleTypeFormatter", "description": [], "signature": [ - "(result: ", - "FetcherResult", - "<{ mainStatisticsData?: { _inspect?: ", - "InspectResponse", - " | undefined; } | undefined; _inspect?: ", - "InspectResponse", - " | undefined; }>) => void" + "(options: { fields: OutputOf> & Record; formatters: { asDuration: (value: ", + "Maybe", + ", { defaultValue, extended }?: FormatterOptions) => string; asPercent: (numerator: ", + "Maybe", + ", denominator: number | undefined, fallbackResult?: any) => any; }; }) => { reason: string; link: string; }" ], - "path": "x-pack/plugins/observability/public/context/inspector/inspector_context.tsx", + "path": "x-pack/plugins/observability/public/rules/create_observability_rule_type_registry.ts", "deprecated": false, "trackAdoption": false, "returnComment": [], "children": [ { "parentPluginId": "observability", - "id": "def-public.AddInspectorRequest.$1", + "id": "def-public.ObservabilityRuleTypeFormatter.$1", "type": "Object", "tags": [], - "label": "result", + "label": "options", "description": [], "signature": [ - "FetcherResult", - "<{ mainStatisticsData?: { _inspect?: ", - "InspectResponse", - " | undefined; } | undefined; _inspect?: ", - "InspectResponse", - " | undefined; }>" + "{ fields: OutputOf> & Record; formatters: { asDuration: (value: ", + "Maybe", + ", { defaultValue, extended }?: FormatterOptions) => string; asPercent: (numerator: ", + "Maybe", + ", denominator: number | undefined, fallbackResult?: any) => any; }; }" ], - "path": "x-pack/plugins/observability/public/context/inspector/inspector_context.tsx", + "path": "x-pack/plugins/observability/public/rules/create_observability_rule_type_registry.ts", "deprecated": false, "trackAdoption": false } @@ -4661,694 +3833,401 @@ }, { "parentPluginId": "observability", - "id": "def-public.apmServiceGroupMaxNumberOfServices", - "type": "string", - "tags": [], - "label": "apmServiceGroupMaxNumberOfServices", - "description": [], - "signature": [ - "\"observability:apmServiceGroupMaxNumberOfServices\"" - ], - "path": "x-pack/plugins/observability/common/ui_settings_keys.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-public.DurationUnit", + "id": "def-public.ObservabilityRuleTypeRegistry", "type": "Type", "tags": [], - "label": "DurationUnit", + "label": "ObservabilityRuleTypeRegistry", "description": [], "signature": [ - "\"m\" | \"M\" | \"w\" | \"d\" | \"h\" | \"Y\"" + "{ register: (type: ", + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.ObservabilityRuleTypeModel", + "text": "ObservabilityRuleTypeModel" + }, + ") => void; getFormatter: (typeId: string) => ", + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.ObservabilityRuleTypeFormatter", + "text": "ObservabilityRuleTypeFormatter" + }, + " | undefined; list: () => string[]; }" ], - "path": "x-pack/plugins/observability/public/typings/slo/index.ts", + "path": "x-pack/plugins/observability/public/rules/create_observability_rule_type_registry.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false }, { "parentPluginId": "observability", - "id": "def-public.enableAgentExplorerView", + "id": "def-public.ruleDetailsLocatorID", "type": "string", "tags": [], - "label": "enableAgentExplorerView", + "label": "ruleDetailsLocatorID", "description": [], "signature": [ - "\"observability:apmAgentExplorerView\"" + "\"RULE_DETAILS_LOCATOR\"" ], - "path": "x-pack/plugins/observability/common/ui_settings_keys.ts", + "path": "x-pack/plugins/observability/common/index.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false }, { "parentPluginId": "observability", - "id": "def-public.enableComparisonByDefault", + "id": "def-public.rulesLocatorID", "type": "string", "tags": [], - "label": "enableComparisonByDefault", + "label": "rulesLocatorID", "description": [], "signature": [ - "\"observability:enableComparisonByDefault\"" + "\"RULES_LOCATOR\"" ], - "path": "x-pack/plugins/observability/common/ui_settings_keys.ts", + "path": "x-pack/plugins/observability/common/index.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false }, { "parentPluginId": "observability", - "id": "def-public.enableInfrastructureHostsView", + "id": "def-public.sloDetailsLocatorID", "type": "string", "tags": [], - "label": "enableInfrastructureHostsView", + "label": "sloDetailsLocatorID", "description": [], "signature": [ - "\"observability:enableInfrastructureHostsView\"" + "\"SLO_DETAILS_LOCATOR\"" ], - "path": "x-pack/plugins/observability/common/ui_settings_keys.ts", + "path": "x-pack/plugins/observability/common/index.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false }, { "parentPluginId": "observability", - "id": "def-public.enableInspectEsQueries", - "type": "string", + "id": "def-public.StringOrNull", + "type": "Type", "tags": [], - "label": "enableInspectEsQueries", + "label": "StringOrNull", "description": [], "signature": [ - "\"observability:enableInspectEsQueries\"" + "string | null" ], - "path": "x-pack/plugins/observability/common/ui_settings_keys.ts", + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false }, { "parentPluginId": "observability", - "id": "def-public.FetchData", + "id": "def-public.Subset", "type": "Type", "tags": [], - "label": "FetchData", - "description": [], + "label": "Subset", + "description": [ + "\nAllow partial of nested object" + ], "signature": [ - "(fetchDataParams: ", + "{ [attr in keyof K]?: (K[attr] extends object ? ", { "pluginId": "observability", "scope": "public", "docId": "kibObservabilityPluginApi", - "section": "def-public.FetchDataParams", - "text": "FetchDataParams" + "section": "def-public.Subset", + "text": "Subset" }, - ") => Promise" - ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "observability", - "id": "def-public.FetchData.$1", - "type": "Object", - "tags": [], - "label": "fetchDataParams", - "description": [], - "signature": [ - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.FetchDataParams", - "text": "FetchDataParams" - } - ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-public.HasData", - "type": "Type", - "tags": [], - "label": "HasData", - "description": [], - "signature": [ - "(params?: ", - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.HasDataParams", - "text": "HasDataParams" - }, - " | undefined) => Promise<", - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.ObservabilityHasDataResponse", - "text": "ObservabilityHasDataResponse" - }, - "[T]>" - ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "observability", - "id": "def-public.HasData.$1", - "type": "Object", - "tags": [], - "label": "params", - "description": [], - "signature": [ - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.HasDataParams", - "text": "HasDataParams" - }, - " | undefined" - ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-public.LazyObservabilityPageTemplateProps", - "type": "Type", - "tags": [], - "label": "LazyObservabilityPageTemplateProps", - "description": [], - "signature": [ - "Pick<", - "KibanaPageTemplateProps", - ", \"children\" | \"paddingSize\" | \"data-test-subj\" | \"pageHeader\" | \"restrictWidth\" | \"isEmptyState\" | \"noDataConfig\"> & { showSolutionNav?: boolean | undefined; isPageDataLoaded?: boolean | undefined; pageSectionProps?: ", - "EuiPageSectionProps", - " | undefined; bottomBar?: React.ReactNode; bottomBarProps?: ", - "_EuiPageBottomBarProps", - " | undefined; }" + " : K[attr]) | undefined; }" ], - "path": "x-pack/plugins/observability/public/components/shared/page_template/lazy_page_template.tsx", + "path": "x-pack/plugins/observability/public/typings/utils.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false }, { "parentPluginId": "observability", - "id": "def-public.NumberOrNull", - "type": "Type", + "id": "def-public.syntheticsThrottlingEnabled", + "type": "string", "tags": [], - "label": "NumberOrNull", + "label": "syntheticsThrottlingEnabled", "description": [], "signature": [ - "number | null" + "\"observability:syntheticsThrottlingEnabled\"" ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "path": "x-pack/plugins/observability/common/ui_settings_keys.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false }, { "parentPluginId": "observability", - "id": "def-public.observabilityAppId", + "id": "def-public.uptimeOverviewLocatorID", "type": "string", "tags": [], - "label": "observabilityAppId", + "label": "uptimeOverviewLocatorID", "description": [], "signature": [ - "\"observability-overview\"" + "\"UPTIME_OVERVIEW_LOCATOR\"" ], "path": "x-pack/plugins/observability/common/index.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false - }, + } + ], + "objects": [], + "setup": { + "parentPluginId": "observability", + "id": "def-public.ObservabilityPublicSetup", + "type": "Type", + "tags": [], + "label": "ObservabilityPublicSetup", + "description": [], + "signature": [ + "{ dashboard: { register: ({ appName, fetchData, hasData, }: { appName: T; } & ", + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.DataHandler", + "text": "DataHandler" + }, + ") => void; }; observabilityRuleTypeRegistry: { register: (type: ", + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.ObservabilityRuleTypeModel", + "text": "ObservabilityRuleTypeModel" + }, + ") => void; getFormatter: (typeId: string) => ", + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.ObservabilityRuleTypeFormatter", + "text": "ObservabilityRuleTypeFormatter" + }, + " | undefined; list: () => string[]; }; useRulesLink: (options?: ", + { + "pluginId": "observabilityShared", + "scope": "public", + "docId": "kibObservabilitySharedPluginApi", + "section": "def-public.Options", + "text": "Options" + }, + ") => ", + "LinkProps", + "; rulesLocator: ", + { + "pluginId": "share", + "scope": "common", + "docId": "kibSharePluginApi", + "section": "def-common.LocatorPublic", + "text": "LocatorPublic" + }, + "<", + "RulesLocatorParams", + ">; ruleDetailsLocator: ", + { + "pluginId": "share", + "scope": "common", + "docId": "kibSharePluginApi", + "section": "def-common.LocatorPublic", + "text": "LocatorPublic" + }, + "<", + "RuleDetailsLocatorParams", + ">; sloDetailsLocator: ", + { + "pluginId": "share", + "scope": "common", + "docId": "kibSharePluginApi", + "section": "def-common.LocatorPublic", + "text": "LocatorPublic" + }, + "<", + "SloDetailsLocatorParams", + ">; }" + ], + "path": "x-pack/plugins/observability/public/plugin.ts", + "deprecated": false, + "trackAdoption": false, + "lifecycle": "setup", + "initialIsOpen": true + }, + "start": { + "parentPluginId": "observability", + "id": "def-public.ObservabilityPublicStart", + "type": "Type", + "tags": [], + "label": "ObservabilityPublicStart", + "description": [], + "signature": [ + "{ observabilityRuleTypeRegistry: { register: (type: ", + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.ObservabilityRuleTypeModel", + "text": "ObservabilityRuleTypeModel" + }, + ") => void; getFormatter: (typeId: string) => ", + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.ObservabilityRuleTypeFormatter", + "text": "ObservabilityRuleTypeFormatter" + }, + " | undefined; list: () => string[]; }; useRulesLink: (options?: ", + { + "pluginId": "observabilityShared", + "scope": "public", + "docId": "kibObservabilitySharedPluginApi", + "section": "def-public.Options", + "text": "Options" + }, + ") => ", + "LinkProps", + "; }" + ], + "path": "x-pack/plugins/observability/public/plugin.ts", + "deprecated": false, + "trackAdoption": false, + "lifecycle": "start", + "initialIsOpen": true + } + }, + "server": { + "classes": [ { "parentPluginId": "observability", - "id": "def-public.observabilityFeatureId", - "type": "string", + "id": "def-server.WrappedElasticsearchClientError", + "type": "Class", "tags": [], - "label": "observabilityFeatureId", + "label": "WrappedElasticsearchClientError", "description": [], "signature": [ - "\"observability\"" + "WrappedElasticsearchClientError", + " extends Error" ], - "path": "x-pack/plugins/observability/common/index.ts", + "path": "x-pack/plugins/observability/common/utils/unwrap_es_response.ts", "deprecated": false, "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-public.ObservabilityFetchDataPlugins", - "type": "Type", - "tags": [], - "label": "ObservabilityFetchDataPlugins", - "description": [], - "signature": [ - "\"uptime\" | \"ux\" | \"infra_logs\" | \"infra_metrics\" | \"apm\"" - ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-public.ObservabilityRuleTypeFormatter", - "type": "Type", - "tags": [], - "label": "ObservabilityRuleTypeFormatter", - "description": [], - "signature": [ - "(options: { fields: OutputOf> & Record; formatters: { asDuration: (value: ", - "Maybe", - ", { defaultValue, extended }?: FormatterOptions) => string; asPercent: (numerator: ", - "Maybe", - ", denominator: number | undefined, fallbackResult?: any) => any; }; }) => { reason: string; link: string; }" - ], - "path": "x-pack/plugins/observability/public/rules/create_observability_rule_type_registry.ts", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], "children": [ { "parentPluginId": "observability", - "id": "def-public.ObservabilityRuleTypeFormatter.$1", + "id": "def-server.WrappedElasticsearchClientError.originalError", "type": "Object", "tags": [], - "label": "options", + "label": "originalError", "description": [], "signature": [ - "{ fields: OutputOf> & Record; formatters: { asDuration: (value: ", - "Maybe", - ", { defaultValue, extended }?: FormatterOptions) => string; asPercent: (numerator: ", - "Maybe", - ", denominator: number | undefined, fallbackResult?: any) => any; }; }" + "ElasticsearchClientError" ], - "path": "x-pack/plugins/observability/public/rules/create_observability_rule_type_registry.ts", + "path": "x-pack/plugins/observability/common/utils/unwrap_es_response.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "observability", + "id": "def-server.WrappedElasticsearchClientError.Unnamed", + "type": "Function", + "tags": [], + "label": "Constructor", + "description": [], + "signature": [ + "any" + ], + "path": "x-pack/plugins/observability/common/utils/unwrap_es_response.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "observability", + "id": "def-server.WrappedElasticsearchClientError.Unnamed.$1", + "type": "Object", + "tags": [], + "label": "originalError", + "description": [], + "signature": [ + "ElasticsearchClientError" + ], + "path": "x-pack/plugins/observability/common/utils/unwrap_es_response.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] } ], "initialIsOpen": false - }, + } + ], + "functions": [ { "parentPluginId": "observability", - "id": "def-public.ObservabilityRuleTypeRegistry", - "type": "Type", + "id": "def-server.createOrUpdateIndex", + "type": "Function", "tags": [], - "label": "ObservabilityRuleTypeRegistry", + "label": "createOrUpdateIndex", "description": [], "signature": [ - "{ register: (type: ", + "({\n index,\n mappings,\n client,\n logger,\n}: { index: string; mappings: ", + "MappingTypeMapping", + " & { date_detection?: boolean | undefined; dynamic?: ", + "MappingDynamicMapping", + " | undefined; dynamic_date_formats?: string[] | undefined; dynamic_templates?: Record | Record[] | undefined; _field_names?: ", + "MappingFieldNamesField", + " | undefined; _meta?: ", + "Metadata", + " | undefined; numeric_detection?: boolean | undefined; properties?: Record | undefined; _routing?: ", + "MappingRoutingField", + " | undefined; _source?: ", + "MappingSourceField", + " | undefined; runtime?: ", + "MappingRuntimeFields", + " | undefined; }; client: ", { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.ObservabilityRuleTypeModel", - "text": "ObservabilityRuleTypeModel" + "pluginId": "@kbn/core-elasticsearch-server", + "scope": "common", + "docId": "kibKbnCoreElasticsearchServerPluginApi", + "section": "def-common.ElasticsearchClient", + "text": "ElasticsearchClient" }, - ") => void; getFormatter: (typeId: string) => ", + "; logger: ", { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.ObservabilityRuleTypeFormatter", - "text": "ObservabilityRuleTypeFormatter" + "pluginId": "@kbn/logging", + "scope": "common", + "docId": "kibKbnLoggingPluginApi", + "section": "def-common.Logger", + "text": "Logger" }, - " | undefined; list: () => string[]; }" - ], - "path": "x-pack/plugins/observability/public/rules/create_observability_rule_type_registry.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-public.SectionLinkProps", - "type": "Type", - "tags": [], - "label": "SectionLinkProps", - "description": [], - "signature": [ - "CommonProps", - " & Omit<(", - "DisambiguateSet", - "<(", - "DisambiguateSet", - ", Omit, \"href\">> & Omit, \"href\">) | (", - "DisambiguateSet", - ", \"href\">, React.ButtonHTMLAttributes> & React.ButtonHTMLAttributes), React.HTMLAttributes> & React.HTMLAttributes) | (", - "DisambiguateSet", - ", (", - "DisambiguateSet", - ", Omit, \"href\">> & Omit, \"href\">) | (", - "DisambiguateSet", - ", \"href\">, React.ButtonHTMLAttributes> & React.ButtonHTMLAttributes)> & ((", - "DisambiguateSet", - ", Omit, \"href\">> & Omit, \"href\">) | (", - "DisambiguateSet", - ", \"href\">, React.ButtonHTMLAttributes> & React.ButtonHTMLAttributes))), \"color\" | \"onClick\" | \"rel\" | \"target\"> & { size?: \"m\" | \"s\" | \"xs\" | \"l\" | undefined; color?: \"text\" | \"subdued\" | \"primary\" | undefined; label: React.ReactNode; isActive?: boolean | undefined; isDisabled?: boolean | undefined; href?: string | undefined; target?: string | undefined; rel?: string | undefined; iconType?: ", - "IconType", - " | undefined; iconProps?: Omit<", - "EuiIconProps", - ", \"type\"> | undefined; icon?: React.ReactElement> | undefined; showToolTip?: boolean | undefined; extraAction?: ", - "EuiListGroupItemExtraActionProps", - " | undefined; onClick?: React.MouseEventHandler | undefined; wrapText?: boolean | undefined; buttonRef?: React.Ref | undefined; toolTipText?: string | undefined; }" - ], - "path": "x-pack/plugins/observability/public/components/shared/action_menu/index.tsx", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-public.StringOrNull", - "type": "Type", - "tags": [], - "label": "StringOrNull", - "description": [], - "signature": [ - "string | null" + "; }) => Promise" ], - "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "path": "x-pack/plugins/observability/server/utils/create_or_update_index.ts", "deprecated": false, "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-public.Subset", - "type": "Type", - "tags": [], - "label": "Subset", - "description": [ - "\nAllow partial of nested object" - ], - "signature": [ - "{ [attr in keyof K]?: (K[attr] extends object ? ", - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.Subset", - "text": "Subset" - }, - " : K[attr]) | undefined; }" - ], - "path": "x-pack/plugins/observability/public/typings/utils.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-public.syntheticsThrottlingEnabled", - "type": "string", - "tags": [], - "label": "syntheticsThrottlingEnabled", - "description": [], - "signature": [ - "\"observability:syntheticsThrottlingEnabled\"" - ], - "path": "x-pack/plugins/observability/common/ui_settings_keys.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-public.uptimeOverviewLocatorID", - "type": "string", - "tags": [], - "label": "uptimeOverviewLocatorID", - "description": [], - "signature": [ - "\"UPTIME_OVERVIEW_LOCATOR\"" - ], - "path": "x-pack/plugins/observability/common/index.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - } - ], - "objects": [], - "setup": { - "parentPluginId": "observability", - "id": "def-public.ObservabilityPublicSetup", - "type": "Type", - "tags": [], - "label": "ObservabilityPublicSetup", - "description": [], - "signature": [ - "{ dashboard: { register: ({ appName, fetchData, hasData, }: { appName: T; } & ", - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.DataHandler", - "text": "DataHandler" - }, - ") => void; }; observabilityRuleTypeRegistry: { register: (type: ", - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.ObservabilityRuleTypeModel", - "text": "ObservabilityRuleTypeModel" - }, - ") => void; getFormatter: (typeId: string) => ", - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.ObservabilityRuleTypeFormatter", - "text": "ObservabilityRuleTypeFormatter" - }, - " | undefined; list: () => string[]; }; useRulesLink: (options?: ", - "Options", - ") => ", - "LinkProps", - "; rulesLocator: ", - { - "pluginId": "share", - "scope": "common", - "docId": "kibSharePluginApi", - "section": "def-common.LocatorPublic", - "text": "LocatorPublic" - }, - "<", - "RulesLocatorParams", - ">; ruleDetailsLocator: ", - { - "pluginId": "share", - "scope": "common", - "docId": "kibSharePluginApi", - "section": "def-common.LocatorPublic", - "text": "LocatorPublic" - }, - "<", - "RuleDetailsLocatorParams", - ">; sloDetailsLocator: ", - { - "pluginId": "share", - "scope": "common", - "docId": "kibSharePluginApi", - "section": "def-common.LocatorPublic", - "text": "LocatorPublic" - }, - "<", - "SloDetailsLocatorParams", - ">; }" - ], - "path": "x-pack/plugins/observability/public/plugin.ts", - "deprecated": false, - "trackAdoption": false, - "lifecycle": "setup", - "initialIsOpen": true - }, - "start": { - "parentPluginId": "observability", - "id": "def-public.ObservabilityPublicStart", - "type": "Type", - "tags": [], - "label": "ObservabilityPublicStart", - "description": [], - "signature": [ - "{ observabilityRuleTypeRegistry: { register: (type: ", - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.ObservabilityRuleTypeModel", - "text": "ObservabilityRuleTypeModel" - }, - ") => void; getFormatter: (typeId: string) => ", - { - "pluginId": "observability", - "scope": "public", - "docId": "kibObservabilityPluginApi", - "section": "def-public.ObservabilityRuleTypeFormatter", - "text": "ObservabilityRuleTypeFormatter" - }, - " | undefined; list: () => string[]; }; useRulesLink: (options?: ", - "Options", - ") => ", - "LinkProps", - "; }" - ], - "path": "x-pack/plugins/observability/public/plugin.ts", - "deprecated": false, - "trackAdoption": false, - "lifecycle": "start", - "initialIsOpen": true - } - }, - "server": { - "classes": [ - { - "parentPluginId": "observability", - "id": "def-server.WrappedElasticsearchClientError", - "type": "Class", - "tags": [], - "label": "WrappedElasticsearchClientError", - "description": [], - "signature": [ - "WrappedElasticsearchClientError", - " extends Error" - ], - "path": "x-pack/plugins/observability/common/utils/unwrap_es_response.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "observability", - "id": "def-server.WrappedElasticsearchClientError.originalError", - "type": "Object", - "tags": [], - "label": "originalError", - "description": [], - "signature": [ - "ElasticsearchClientError" - ], - "path": "x-pack/plugins/observability/common/utils/unwrap_es_response.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-server.WrappedElasticsearchClientError.Unnamed", - "type": "Function", - "tags": [], - "label": "Constructor", - "description": [], - "signature": [ - "any" - ], - "path": "x-pack/plugins/observability/common/utils/unwrap_es_response.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "observability", - "id": "def-server.WrappedElasticsearchClientError.Unnamed.$1", - "type": "Object", - "tags": [], - "label": "originalError", - "description": [], - "signature": [ - "ElasticsearchClientError" - ], - "path": "x-pack/plugins/observability/common/utils/unwrap_es_response.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - } - ], - "initialIsOpen": false - } - ], - "functions": [ - { - "parentPluginId": "observability", - "id": "def-server.createOrUpdateIndex", - "type": "Function", - "tags": [], - "label": "createOrUpdateIndex", - "description": [], - "signature": [ - "({\n index,\n mappings,\n client,\n logger,\n}: { index: string; mappings: ", - "MappingTypeMapping", - " & { date_detection?: boolean | undefined; dynamic?: ", - "MappingDynamicMapping", - " | undefined; dynamic_date_formats?: string[] | undefined; dynamic_templates?: Record | Record[] | undefined; _field_names?: ", - "MappingFieldNamesField", - " | undefined; _meta?: ", - "Metadata", - " | undefined; numeric_detection?: boolean | undefined; properties?: Record | undefined; _routing?: ", - "MappingRoutingField", - " | undefined; _source?: ", - "MappingSourceField", - " | undefined; runtime?: ", - "MappingRuntimeFields", - " | undefined; }; client: ", - { - "pluginId": "@kbn/core-elasticsearch-server", - "scope": "common", - "docId": "kibKbnCoreElasticsearchServerPluginApi", - "section": "def-common.ElasticsearchClient", - "text": "ElasticsearchClient" - }, - "; logger: ", - { - "pluginId": "@kbn/logging", - "scope": "common", - "docId": "kibKbnLoggingPluginApi", - "section": "def-common.Logger", - "text": "Logger" - }, - "; }) => Promise" - ], - "path": "x-pack/plugins/observability/server/utils/create_or_update_index.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ + "children": [ { "parentPluginId": "observability", "id": "def-server.createOrUpdateIndex.$1", @@ -5580,7 +4459,7 @@ "TransportRequestOptions", " | undefined): Promise<", "CountResponse", - ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", + ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchApplication]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", "default", "; child: (opts: ", "ClientOptions", @@ -5826,29 +4705,29 @@ "ExplainResponse", ">; }; features: ", "default", - "; fieldCaps: { (this: That, params: ", + "; fieldCaps: { (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithOutMeta", " | undefined): Promise<", "FieldCapsResponse", - ">; (this: That, params: ", + ">; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithMeta", " | undefined): Promise<", "TransportResult", "<", "FieldCapsResponse", - ", unknown>>; (this: That, params: ", + ", unknown>>; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptions", " | undefined): Promise<", "FieldCapsResponse", @@ -5954,7 +4833,33 @@ "TransportRequestOptions", " | undefined): Promise; }; graph: ", "default", - "; ilm: ", + "; healthReport: { (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "HealthReportResponse", + ">; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "HealthReportResponse", + ", unknown>>; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "HealthReportResponse", + ">; }; ilm: ", "default", "; index: { (this: That, params: ", "IndexRequest", @@ -6400,7 +5305,9 @@ "TransportRequestOptions", " | undefined): Promise<", "ScrollResponse", - ">; }; searchMvt: { (this: That, params: ", + ">; }; searchApplication: ", + "default", + "; searchMvt: { (this: That, params: ", "SearchMvtRequest", " | ", "SearchMvtRequest", @@ -6865,7 +5772,7 @@ "TransportRequestOptions", " | undefined): Promise<", "CountResponse", - ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", + ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchApplication]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", "default", "; child: (opts: ", "ClientOptions", @@ -7111,29 +6018,29 @@ "ExplainResponse", ">; }; features: ", "default", - "; fieldCaps: { (this: That, params: ", + "; fieldCaps: { (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithOutMeta", " | undefined): Promise<", "FieldCapsResponse", - ">; (this: That, params: ", + ">; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithMeta", " | undefined): Promise<", "TransportResult", "<", "FieldCapsResponse", - ", unknown>>; (this: That, params: ", + ", unknown>>; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptions", " | undefined): Promise<", "FieldCapsResponse", @@ -7239,7 +6146,33 @@ "TransportRequestOptions", " | undefined): Promise; }; graph: ", "default", - "; ilm: ", + "; healthReport: { (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "HealthReportResponse", + ">; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "HealthReportResponse", + ", unknown>>; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "HealthReportResponse", + ">; }; ilm: ", "default", "; index: { (this: That, params: ", "IndexRequest", @@ -7685,7 +6618,9 @@ "TransportRequestOptions", " | undefined): Promise<", "ScrollResponse", - ">; }; searchMvt: { (this: That, params: ", + ">; }; searchApplication: ", + "default", + "; searchMvt: { (this: That, params: ", "SearchMvtRequest", " | ", "SearchMvtRequest", @@ -8428,140 +7363,790 @@ "trackAdoption": false }, { - "parentPluginId": "observability", - "id": "def-server.ObservabilityRouteHandlerResources.logger", - "type": "Object", - "tags": [], - "label": "logger", - "description": [], - "signature": [ - { - "pluginId": "@kbn/logging", - "scope": "common", - "docId": "kibKbnLoggingPluginApi", - "section": "def-common.Logger", - "text": "Logger" - } - ], - "path": "x-pack/plugins/observability/server/routes/types.ts", - "deprecated": false, - "trackAdoption": false + "parentPluginId": "observability", + "id": "def-server.ObservabilityRouteHandlerResources.logger", + "type": "Object", + "tags": [], + "label": "logger", + "description": [], + "signature": [ + { + "pluginId": "@kbn/logging", + "scope": "common", + "docId": "kibKbnLoggingPluginApi", + "section": "def-common.Logger", + "text": "Logger" + } + ], + "path": "x-pack/plugins/observability/server/routes/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "observability", + "id": "def-server.ObservabilityRouteHandlerResources.request", + "type": "Object", + "tags": [], + "label": "request", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.KibanaRequest", + "text": "KibanaRequest" + }, + "" + ], + "path": "x-pack/plugins/observability/server/routes/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], + "enums": [], + "misc": [ + { + "parentPluginId": "observability", + "id": "def-server.AbstractObservabilityServerRouteRepository", + "type": "Type", + "tags": [], + "label": "AbstractObservabilityServerRouteRepository", + "description": [], + "signature": [ + "{ [x: string]: { endpoint: string; params?: ", + { + "pluginId": "@kbn/server-route-repository", + "scope": "common", + "docId": "kibKbnServerRouteRepositoryPluginApi", + "section": "def-common.RouteParamsRT", + "text": "RouteParamsRT" + }, + " | undefined; handler: ({}: any) => Promise; } & Record; }" + ], + "path": "x-pack/plugins/observability/server/routes/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "observability", + "id": "def-server.Mappings", + "type": "Type", + "tags": [], + "label": "Mappings", + "description": [], + "signature": [ + "MappingTypeMapping", + " & { date_detection?: boolean | undefined; dynamic?: ", + "MappingDynamicMapping", + " | undefined; dynamic_date_formats?: string[] | undefined; dynamic_templates?: Record | Record[] | undefined; _field_names?: ", + "MappingFieldNamesField", + " | undefined; _meta?: ", + "Metadata", + " | undefined; numeric_detection?: boolean | undefined; properties?: Record | undefined; _routing?: ", + "MappingRoutingField", + " | undefined; _source?: ", + "MappingSourceField", + " | undefined; runtime?: ", + "MappingRuntimeFields", + " | undefined; }" + ], + "path": "x-pack/plugins/observability/server/utils/create_or_update_index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "observability", + "id": "def-server.ObservabilityAPIReturnType", + "type": "Type", + "tags": [], + "label": "ObservabilityAPIReturnType", + "description": [], + "signature": [ + "{ \"GET /api/observability/composite_slos 2023-05-24\": { endpoint: \"GET /api/observability/composite_slos 2023-05-24\"; params?: ", + "PartialC", + "<{ query: ", + "PartialC", + "<{ name: ", + "StringC", + "; page: ", + "StringC", + "; perPage: ", + "StringC", + "; sortBy: ", + "LiteralC", + "<\"creationTime\">; sortDirection: ", + "UnionC", + "<[", + "LiteralC", + "<\"asc\">, ", + "LiteralC", + "<\"desc\">]>; }>; }> | undefined; handler: ({}: ", + { + "pluginId": "observability", + "scope": "server", + "docId": "kibObservabilityPluginApi", + "section": "def-server.ObservabilityRouteHandlerResources", + "text": "ObservabilityRouteHandlerResources" + }, + " & { params?: { query?: { name?: string | undefined; page?: string | undefined; perPage?: string | undefined; sortBy?: \"creationTime\" | undefined; sortDirection?: \"asc\" | \"desc\" | undefined; } | undefined; } | undefined; }) => Promise<{ page: number; perPage: number; total: number; results: ({ id: string; name: string; timeWindow: { duration: string; type: \"rolling\"; } | { duration: string; type: \"calendarAligned\"; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; compositeMethod: \"weightedAverage\"; sources: { id: string; revision: number; weight: number; }[]; tags: string[]; createdAt: string; updatedAt: string; } & { summary: { status: \"HEALTHY\" | \"NO_DATA\" | \"DEGRADING\" | \"VIOLATED\"; sliValue: number; errorBudget: { initial: number; consumed: number; remaining: number; isEstimated: boolean; }; }; })[]; }>; } & ", + { + "pluginId": "observability", + "scope": "server", + "docId": "kibObservabilityPluginApi", + "section": "def-server.ObservabilityRouteCreateOptions", + "text": "ObservabilityRouteCreateOptions" + }, + "; \"GET /api/observability/composite_slos/{id} 2023-05-24\": { endpoint: \"GET /api/observability/composite_slos/{id} 2023-05-24\"; params?: ", + "TypeC", + "<{ path: ", + "TypeC", + "<{ id: ", + "StringC", + "; }>; }> | undefined; handler: ({}: ", + { + "pluginId": "observability", + "scope": "server", + "docId": "kibObservabilityPluginApi", + "section": "def-server.ObservabilityRouteHandlerResources", + "text": "ObservabilityRouteHandlerResources" + }, + " & { params: { path: { id: string; }; }; }) => Promise<{ id: string; name: string; timeWindow: { duration: string; type: \"rolling\"; } | { duration: string; type: \"calendarAligned\"; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; compositeMethod: \"weightedAverage\"; sources: { id: string; revision: number; weight: number; }[]; tags: string[]; createdAt: string; updatedAt: string; } & { summary: { status: \"HEALTHY\" | \"NO_DATA\" | \"DEGRADING\" | \"VIOLATED\"; sliValue: number; errorBudget: { initial: number; consumed: number; remaining: number; isEstimated: boolean; }; }; }>; } & ", + { + "pluginId": "observability", + "scope": "server", + "docId": "kibObservabilityPluginApi", + "section": "def-server.ObservabilityRouteCreateOptions", + "text": "ObservabilityRouteCreateOptions" + }, + "; \"DELETE /api/observability/composite_slos/{id} 2023-05-24\": { endpoint: \"DELETE /api/observability/composite_slos/{id} 2023-05-24\"; params?: ", + "TypeC", + "<{ path: ", + "TypeC", + "<{ id: ", + "StringC", + "; }>; }> | undefined; handler: ({}: ", + { + "pluginId": "observability", + "scope": "server", + "docId": "kibObservabilityPluginApi", + "section": "def-server.ObservabilityRouteHandlerResources", + "text": "ObservabilityRouteHandlerResources" + }, + " & { params: { path: { id: string; }; }; }) => Promise; } & ", + { + "pluginId": "observability", + "scope": "server", + "docId": "kibObservabilityPluginApi", + "section": "def-server.ObservabilityRouteCreateOptions", + "text": "ObservabilityRouteCreateOptions" + }, + "; \"PUT /api/observability/composite_slos/{id} 2023-05-24\": { endpoint: \"PUT /api/observability/composite_slos/{id} 2023-05-24\"; params?: ", + "TypeC", + "<{ path: ", + "TypeC", + "<{ id: ", + "StringC", + "; }>; body: ", + "PartialC", + "<{ name: ", + "StringC", + "; compositeMethod: ", + "LiteralC", + "<\"weightedAverage\">; sources: ", + "ArrayC", + "<", + "TypeC", + "<{ id: ", + "StringC", + "; revision: ", + "NumberC", + "; weight: ", + "NumberC", + "; }>>; timeWindow: ", + "UnionC", + "<[", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; type: ", + "LiteralC", + "<\"rolling\">; }>, ", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; type: ", + "LiteralC", + "<\"calendarAligned\">; }>]>; budgetingMethod: ", + "UnionC", + "<[", + "LiteralC", + "<\"occurrences\">, ", + "LiteralC", + "<\"timeslices\">]>; objective: ", + "IntersectionC", + "<[", + "TypeC", + "<{ target: ", + "NumberC", + "; }>, ", + "PartialC", + "<{ timesliceTarget: ", + "NumberC", + "; timesliceWindow: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; }>]>; tags: ", + "ArrayC", + "<", + "StringC", + ">; }>; }> | undefined; handler: ({}: ", + { + "pluginId": "observability", + "scope": "server", + "docId": "kibObservabilityPluginApi", + "section": "def-server.ObservabilityRouteHandlerResources", + "text": "ObservabilityRouteHandlerResources" + }, + " & { params: { path: { id: string; }; body: { name?: string | undefined; compositeMethod?: \"weightedAverage\" | undefined; sources?: { id: string; revision: number; weight: number; }[] | undefined; timeWindow?: { duration: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + "; type: \"rolling\"; } | { duration: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + "; type: \"calendarAligned\"; } | undefined; budgetingMethod?: \"occurrences\" | \"timeslices\" | undefined; objective?: ({ target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + " | undefined; }) | undefined; tags?: string[] | undefined; }; }; }) => Promise<{ id: string; name: string; timeWindow: { duration: string; type: \"rolling\"; } | { duration: string; type: \"calendarAligned\"; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; compositeMethod: \"weightedAverage\"; sources: { id: string; revision: number; weight: number; }[]; tags: string[]; createdAt: string; updatedAt: string; }>; } & ", + { + "pluginId": "observability", + "scope": "server", + "docId": "kibObservabilityPluginApi", + "section": "def-server.ObservabilityRouteCreateOptions", + "text": "ObservabilityRouteCreateOptions" + }, + "; \"POST /api/observability/composite_slos 2023-05-24\": { endpoint: \"POST /api/observability/composite_slos 2023-05-24\"; params?: ", + "TypeC", + "<{ body: ", + "IntersectionC", + "<[", + "TypeC", + "<{ name: ", + "StringC", + "; timeWindow: ", + "UnionC", + "<[", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; type: ", + "LiteralC", + "<\"rolling\">; }>, ", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; type: ", + "LiteralC", + "<\"calendarAligned\">; }>]>; budgetingMethod: ", + "UnionC", + "<[", + "LiteralC", + "<\"occurrences\">, ", + "LiteralC", + "<\"timeslices\">]>; objective: ", + "IntersectionC", + "<[", + "TypeC", + "<{ target: ", + "NumberC", + "; }>, ", + "PartialC", + "<{ timesliceTarget: ", + "NumberC", + "; timesliceWindow: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; }>]>; compositeMethod: ", + "LiteralC", + "<\"weightedAverage\">; sources: ", + "ArrayC", + "<", + "TypeC", + "<{ id: ", + "StringC", + "; revision: ", + "NumberC", + "; weight: ", + "NumberC", + "; }>>; }>, ", + "PartialC", + "<{ id: ", + "StringC", + "; tags: ", + "ArrayC", + "<", + "StringC", + ">; }>]>; }> | undefined; handler: ({}: ", + { + "pluginId": "observability", + "scope": "server", + "docId": "kibObservabilityPluginApi", + "section": "def-server.ObservabilityRouteHandlerResources", + "text": "ObservabilityRouteHandlerResources" + }, + " & { params: { body: { name: string; timeWindow: { duration: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + "; type: \"rolling\"; } | { duration: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + "; type: \"calendarAligned\"; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + " | undefined; }; compositeMethod: \"weightedAverage\"; sources: { id: string; revision: number; weight: number; }[]; } & { id?: string | undefined; tags?: string[] | undefined; }; }; }) => Promise<{ id: string; }>; } & ", + { + "pluginId": "observability", + "scope": "server", + "docId": "kibObservabilityPluginApi", + "section": "def-server.ObservabilityRouteCreateOptions", + "text": "ObservabilityRouteCreateOptions" + }, + "; \"GET /internal/observability/slos/{id}/_diagnosis\": { endpoint: \"GET /internal/observability/slos/{id}/_diagnosis\"; params?: ", + "TypeC", + "<{ path: ", + "TypeC", + "<{ id: ", + "StringC", + "; }>; }> | undefined; handler: ({}: ", + { + "pluginId": "observability", + "scope": "server", + "docId": "kibObservabilityPluginApi", + "section": "def-server.ObservabilityRouteHandlerResources", + "text": "ObservabilityRouteHandlerResources" + }, + " & { params: { path: { id: string; }; }; }) => Promise<{ sloResources: { [x: string]: string; \".slo-observability.sli\": string; \".slo-observability.sli-mappings\": string; \".slo-observability.sli-settings\": string; } | undefined; sloSavedObject: string | ", + { + "pluginId": "@kbn/core-saved-objects-common", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObject", + "text": "SavedObject" + }, + "<{ id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; } | { type: \"sli.metric.custom\"; params: { index: string; filter: string; good: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; total: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; timestampField: string; }; }; timeWindow: { duration: string; type: \"rolling\"; } | { duration: string; type: \"calendarAligned\"; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; settings: { syncDelay: string; frequency: string; }; revision: number; enabled: boolean; tags: string[]; createdAt: string; updatedAt: string; }>; sloTransformStats: ", + "TransformGetTransformStatsResponse", + "; dataSample: string | ", + "SearchResponse", + ">; }>; } & ", + { + "pluginId": "observability", + "scope": "server", + "docId": "kibObservabilityPluginApi", + "section": "def-server.ObservabilityRouteCreateOptions", + "text": "ObservabilityRouteCreateOptions" + }, + "; \"GET /internal/observability/slos/_diagnosis\": { endpoint: \"GET /internal/observability/slos/_diagnosis\"; params?: undefined; handler: ({}: ", + { + "pluginId": "observability", + "scope": "server", + "docId": "kibObservabilityPluginApi", + "section": "def-server.ObservabilityRouteHandlerResources", + "text": "ObservabilityRouteHandlerResources" + }, + ") => Promise<{ licenseAndFeatures: ", + "PublicLicenseJSON", + "; userPrivileges: ", + "SecurityGetUserPrivilegesResponse", + "; sloResources: { [x: string]: string; \".slo-observability.sli\": string; \".slo-observability.sli-mappings\": string; \".slo-observability.sli-settings\": string; } | undefined; }>; } & ", + { + "pluginId": "observability", + "scope": "server", + "docId": "kibObservabilityPluginApi", + "section": "def-server.ObservabilityRouteCreateOptions", + "text": "ObservabilityRouteCreateOptions" + }, + "; \"PUT /api/observability/slos/{id} 2023-05-22\": { endpoint: \"PUT /api/observability/slos/{id} 2023-05-22\"; params?: ", + "TypeC", + "<{ path: ", + "TypeC", + "<{ id: ", + "StringC", + "; }>; body: ", + "PartialC", + "<{ name: ", + "StringC", + "; description: ", + "StringC", + "; indicator: ", + "UnionC", + "<[", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.apm.transactionDuration\">; params: ", + "IntersectionC", + "<[", + "TypeC", + "<{ environment: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; service: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionType: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionName: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; threshold: ", + "NumberC", + "; index: ", + "StringC", + "; }>, ", + "PartialC", + "<{ filter: ", + "StringC", + "; }>]>; }>, ", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.apm.transactionErrorRate\">; params: ", + "IntersectionC", + "<[", + "TypeC", + "<{ environment: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; service: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionType: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; transactionName: ", + "UnionC", + "<[", + "LiteralC", + "<\"*\">, ", + "StringC", + "]>; index: ", + "StringC", + "; }>, ", + "PartialC", + "<{ filter: ", + "StringC", + "; }>]>; }>, ", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.kql.custom\">; params: ", + "TypeC", + "<{ index: ", + "StringC", + "; filter: ", + "StringC", + "; good: ", + "StringC", + "; total: ", + "StringC", + "; timestampField: ", + "StringC", + "; }>; }>, ", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.metric.custom\">; params: ", + "TypeC", + "<{ index: ", + "StringC", + "; filter: ", + "StringC", + "; good: ", + "TypeC", + "<{ metrics: ", + "ArrayC", + "<", + "TypeC", + "<{ name: ", + "StringC", + "; aggregation: ", + "KeyofC", + "<{ sum: boolean; }>; field: ", + "StringC", + "; }>>; equation: ", + "StringC", + "; }>; total: ", + "TypeC", + "<{ metrics: ", + "ArrayC", + "<", + "TypeC", + "<{ name: ", + "StringC", + "; aggregation: ", + "KeyofC", + "<{ sum: boolean; }>; field: ", + "StringC", + "; }>>; equation: ", + "StringC", + "; }>; timestampField: ", + "StringC", + "; }>; }>]>; timeWindow: ", + "UnionC", + "<[", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; type: ", + "LiteralC", + "<\"rolling\">; }>, ", + "TypeC", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; type: ", + "LiteralC", + "<\"calendarAligned\">; }>]>; budgetingMethod: ", + "UnionC", + "<[", + "LiteralC", + "<\"occurrences\">, ", + "LiteralC", + "<\"timeslices\">]>; objective: ", + "IntersectionC", + "<[", + "TypeC", + "<{ target: ", + "NumberC", + "; }>, ", + "PartialC", + "<{ timesliceTarget: ", + "NumberC", + "; timesliceWindow: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; }>]>; settings: ", + "PartialC", + "<{ syncDelay: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; frequency: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; }>; tags: ", + "ArrayC", + "<", + "StringC", + ">; }>; }> | undefined; handler: ({}: ", + { + "pluginId": "observability", + "scope": "server", + "docId": "kibObservabilityPluginApi", + "section": "def-server.ObservabilityRouteHandlerResources", + "text": "ObservabilityRouteHandlerResources" + }, + " & { params: { path: { id: string; }; body: { name?: string | undefined; description?: string | undefined; indicator?: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; } | { type: \"sli.metric.custom\"; params: { index: string; filter: string; good: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; total: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; timestampField: string; }; } | undefined; timeWindow?: { duration: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" }, + "; type: \"rolling\"; } | { duration: ", { - "parentPluginId": "observability", - "id": "def-server.ObservabilityRouteHandlerResources.request", - "type": "Object", - "tags": [], - "label": "request", - "description": [], - "signature": [ - { - "pluginId": "@kbn/core-http-server", - "scope": "common", - "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.KibanaRequest", - "text": "KibanaRequest" - }, - "" - ], - "path": "x-pack/plugins/observability/server/routes/types.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - } - ], - "enums": [], - "misc": [ - { - "parentPluginId": "observability", - "id": "def-server.AbstractObservabilityServerRouteRepository", - "type": "Type", - "tags": [], - "label": "AbstractObservabilityServerRouteRepository", - "description": [], - "signature": [ - "{ [x: string]: ", + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + "; type: \"calendarAligned\"; } | undefined; budgetingMethod?: \"occurrences\" | \"timeslices\" | undefined; objective?: ({ target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: ", { - "pluginId": "@kbn/server-route-repository", + "pluginId": "@kbn/slo-schema", "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" }, - ">; }" - ], - "path": "x-pack/plugins/observability/server/routes/types.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-server.Mappings", - "type": "Type", - "tags": [], - "label": "Mappings", - "description": [], - "signature": [ - "MappingTypeMapping", - " & { date_detection?: boolean | undefined; dynamic?: ", - "MappingDynamicMapping", - " | undefined; dynamic_date_formats?: string[] | undefined; dynamic_templates?: Record | Record[] | undefined; _field_names?: ", - "MappingFieldNamesField", - " | undefined; _meta?: ", - "Metadata", - " | undefined; numeric_detection?: boolean | undefined; properties?: Record | undefined; _routing?: ", - "MappingRoutingField", - " | undefined; _source?: ", - "MappingSourceField", - " | undefined; runtime?: ", - "MappingRuntimeFields", - " | undefined; }" - ], - "path": "x-pack/plugins/observability/server/utils/create_or_update_index.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-server.ObservabilityAPIReturnType", - "type": "Type", - "tags": [], - "label": "ObservabilityAPIReturnType", - "description": [], - "signature": [ - "{ \"GET /internal/observability/slos/{id}/_diagnosis\": ", + " | undefined; frequency?: ", { - "pluginId": "@kbn/server-route-repository", + "pluginId": "@kbn/slo-schema", "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + " | undefined; } | undefined; tags?: string[] | undefined; }; }; }) => Promise<{ id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; } | { type: \"sli.metric.custom\"; params: { index: string; filter: string; good: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; total: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; timestampField: string; }; }; timeWindow: { duration: string; type: \"rolling\"; } | { duration: string; type: \"calendarAligned\"; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; revision: number; settings: { syncDelay: string; frequency: string; }; enabled: boolean; tags: string[]; createdAt: string; updatedAt: string; }>; } & ", + { + "pluginId": "observability", + "scope": "server", + "docId": "kibObservabilityPluginApi", + "section": "def-server.ObservabilityRouteCreateOptions", + "text": "ObservabilityRouteCreateOptions" }, - "<\"GET /internal/observability/slos/{id}/_diagnosis\", ", + "; \"GET /api/observability/slos/{id} 2023-05-22\": { endpoint: \"GET /api/observability/slos/{id} 2023-05-22\"; params?: ", "TypeC", "<{ path: ", "TypeC", "<{ id: ", "StringC", - "; }>; }>, ", + "; }>; }> | undefined; handler: ({}: ", { "pluginId": "observability", "scope": "server", @@ -8569,21 +8154,71 @@ "section": "def-server.ObservabilityRouteHandlerResources", "text": "ObservabilityRouteHandlerResources" }, - ", { sloResources: { [x: string]: string; \".slo-observability.sli\": string; \".slo-observability.sli-mappings\": string; \".slo-observability.sli-settings\": string; } | undefined; sloSavedObject: string | ", + " & { params: { path: { id: string; }; }; }) => Promise<{ id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; } | { type: \"sli.metric.custom\"; params: { index: string; filter: string; good: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; total: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; timestampField: string; }; }; timeWindow: { duration: string; type: \"rolling\"; } | { duration: string; type: \"calendarAligned\"; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; revision: number; settings: { syncDelay: string; frequency: string; }; enabled: boolean; tags: string[]; createdAt: string; updatedAt: string; } & { summary: { status: \"HEALTHY\" | \"NO_DATA\" | \"DEGRADING\" | \"VIOLATED\"; sliValue: number; errorBudget: { initial: number; consumed: number; remaining: number; isEstimated: boolean; }; }; }>; } & ", { - "pluginId": "@kbn/core-saved-objects-common", - "scope": "common", - "docId": "kibKbnCoreSavedObjectsCommonPluginApi", - "section": "def-common.SavedObject", - "text": "SavedObject" + "pluginId": "observability", + "scope": "server", + "docId": "kibObservabilityPluginApi", + "section": "def-server.ObservabilityRouteCreateOptions", + "text": "ObservabilityRouteCreateOptions" }, - "<{ id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; }; timeWindow: { duration: string; isRolling: boolean; } | { duration: string; isCalendar: boolean; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; settings: { syncDelay: string; frequency: string; }; revision: number; enabled: boolean; tags: string[]; createdAt: string; updatedAt: string; }>; sloTransformStats: ", - "TransformGetTransformStatsResponse", - "; dataSample: string | ", - "SearchResponse", - ">; }, ", + "; \"GET /api/observability/slos 2023-05-22\": { endpoint: \"GET /api/observability/slos 2023-05-22\"; params?: ", + "PartialC", + "<{ query: ", + "PartialC", + "<{ name: ", + "StringC", + "; indicatorTypes: ", + "Type", + "; page: ", + "StringC", + "; perPage: ", + "StringC", + "; sortBy: ", + "UnionC", + "<[", + "LiteralC", + "<\"creationTime\">, ", + "LiteralC", + "<\"indicatorType\">]>; sortDirection: ", + "UnionC", + "<[", + "LiteralC", + "<\"asc\">, ", + "LiteralC", + "<\"desc\">]>; }>; }> | undefined; handler: ({}: ", + { + "pluginId": "observability", + "scope": "server", + "docId": "kibObservabilityPluginApi", + "section": "def-server.ObservabilityRouteHandlerResources", + "text": "ObservabilityRouteHandlerResources" + }, + " & { params?: { query?: { name?: string | undefined; indicatorTypes?: string[] | undefined; page?: string | undefined; perPage?: string | undefined; sortBy?: \"creationTime\" | \"indicatorType\" | undefined; sortDirection?: \"asc\" | \"desc\" | undefined; } | undefined; } | undefined; }) => Promise<{ page: number; perPage: number; total: number; results: ({ id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; } | { type: \"sli.metric.custom\"; params: { index: string; filter: string; good: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; total: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; timestampField: string; }; }; timeWindow: { duration: string; type: \"rolling\"; } | { duration: string; type: \"calendarAligned\"; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; revision: number; settings: { syncDelay: string; frequency: string; }; enabled: boolean; tags: string[]; createdAt: string; updatedAt: string; } & { summary: { status: \"HEALTHY\" | \"NO_DATA\" | \"DEGRADING\" | \"VIOLATED\"; sliValue: number; errorBudget: { initial: number; consumed: number; remaining: number; isEstimated: boolean; }; }; })[]; }>; } & ", + { + "pluginId": "observability", + "scope": "server", + "docId": "kibObservabilityPluginApi", + "section": "def-server.ObservabilityRouteCreateOptions", + "text": "ObservabilityRouteCreateOptions" + }, + "; \"POST /internal/observability/slos/_historical_summary\": { endpoint: \"POST /internal/observability/slos/_historical_summary\"; params?: ", + "TypeC", + "<{ body: ", + "TypeC", + "<{ sloIds: ", + "ArrayC", + "<", + "StringC", + ">; }>; }> | undefined; handler: ({}: ", + { + "pluginId": "observability", + "scope": "server", + "docId": "kibObservabilityPluginApi", + "section": "def-server.ObservabilityRouteHandlerResources", + "text": "ObservabilityRouteHandlerResources" + }, + " & { params: { body: { sloIds: string[]; }; }; }) => Promise<{ [x: string]: ({ date: string; } & { status: \"HEALTHY\" | \"NO_DATA\" | \"DEGRADING\" | \"VIOLATED\"; sliValue: number; errorBudget: { initial: number; consumed: number; remaining: number; isEstimated: boolean; }; })[]; }>; } & ", { "pluginId": "observability", "scope": "server", @@ -8591,15 +8226,35 @@ "section": "def-server.ObservabilityRouteCreateOptions", "text": "ObservabilityRouteCreateOptions" }, - ">; \"GET /internal/observability/slos/_diagnosis\": ", + "; \"POST /api/observability/slos/{id}/enable 2023-05-22\": { endpoint: \"POST /api/observability/slos/{id}/enable 2023-05-22\"; params?: ", + "TypeC", + "<{ path: ", + "TypeC", + "<{ id: ", + "StringC", + "; }>; }> | undefined; handler: ({}: ", { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" + "pluginId": "observability", + "scope": "server", + "docId": "kibObservabilityPluginApi", + "section": "def-server.ObservabilityRouteHandlerResources", + "text": "ObservabilityRouteHandlerResources" + }, + " & { params: { path: { id: string; }; }; }) => Promise; } & ", + { + "pluginId": "observability", + "scope": "server", + "docId": "kibObservabilityPluginApi", + "section": "def-server.ObservabilityRouteCreateOptions", + "text": "ObservabilityRouteCreateOptions" }, - "<\"GET /internal/observability/slos/_diagnosis\", undefined, ", + "; \"POST /api/observability/slos/{id}/disable 2023-05-22\": { endpoint: \"POST /api/observability/slos/{id}/disable 2023-05-22\"; params?: ", + "TypeC", + "<{ path: ", + "TypeC", + "<{ id: ", + "StringC", + "; }>; }> | undefined; handler: ({}: ", { "pluginId": "observability", "scope": "server", @@ -8607,11 +8262,7 @@ "section": "def-server.ObservabilityRouteHandlerResources", "text": "ObservabilityRouteHandlerResources" }, - ", { licenseAndFeatures: ", - "PublicLicenseJSON", - "; userPrivileges: ", - "SecurityGetUserPrivilegesResponse", - "; sloResources: { [x: string]: string; \".slo-observability.sli\": string; \".slo-observability.sli-mappings\": string; \".slo-observability.sli-settings\": string; } | undefined; }, ", + " & { params: { path: { id: string; }; }; }) => Promise; } & ", { "pluginId": "observability", "scope": "server", @@ -8619,22 +8270,34 @@ "section": "def-server.ObservabilityRouteCreateOptions", "text": "ObservabilityRouteCreateOptions" }, - ">; \"PUT /api/observability/slos/{id}\": ", + "; \"DELETE /api/observability/slos/{id} 2023-05-22\": { endpoint: \"DELETE /api/observability/slos/{id} 2023-05-22\"; params?: ", + "TypeC", + "<{ path: ", + "TypeC", + "<{ id: ", + "StringC", + "; }>; }> | undefined; handler: ({}: ", + { + "pluginId": "observability", + "scope": "server", + "docId": "kibObservabilityPluginApi", + "section": "def-server.ObservabilityRouteHandlerResources", + "text": "ObservabilityRouteHandlerResources" + }, + " & { params: { path: { id: string; }; }; }) => Promise; } & ", { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" + "pluginId": "observability", + "scope": "server", + "docId": "kibObservabilityPluginApi", + "section": "def-server.ObservabilityRouteCreateOptions", + "text": "ObservabilityRouteCreateOptions" }, - "<\"PUT /api/observability/slos/{id}\", ", + "; \"POST /api/observability/slos 2023-05-22\": { endpoint: \"POST /api/observability/slos 2023-05-22\"; params?: ", "TypeC", - "<{ path: ", + "<{ body: ", + "IntersectionC", + "<[", "TypeC", - "<{ id: ", - "StringC", - "; }>; body: ", - "PartialC", "<{ name: ", "StringC", "; description: ", @@ -8735,6 +8398,46 @@ "StringC", "; timestampField: ", "StringC", + "; }>; }>, ", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.metric.custom\">; params: ", + "TypeC", + "<{ index: ", + "StringC", + "; filter: ", + "StringC", + "; good: ", + "TypeC", + "<{ metrics: ", + "ArrayC", + "<", + "TypeC", + "<{ name: ", + "StringC", + "; aggregation: ", + "KeyofC", + "<{ sum: boolean; }>; field: ", + "StringC", + "; }>>; equation: ", + "StringC", + "; }>; total: ", + "TypeC", + "<{ metrics: ", + "ArrayC", + "<", + "TypeC", + "<{ name: ", + "StringC", + "; aggregation: ", + "KeyofC", + "<{ sum: boolean; }>; field: ", + "StringC", + "; }>>; equation: ", + "StringC", + "; }>; timestampField: ", + "StringC", "; }>; }>]>; timeWindow: ", "UnionC", "<[", @@ -8749,9 +8452,9 @@ "section": "def-common.Duration", "text": "Duration" }, - ", string, unknown>; isRolling: ", + ", string, unknown>; type: ", "LiteralC", - "; }>, ", + "<\"rolling\">; }>, ", "TypeC", "<{ duration: ", "Type", @@ -8763,9 +8466,9 @@ "section": "def-common.Duration", "text": "Duration" }, - ", string, unknown>; isCalendar: ", + ", string, unknown>; type: ", "LiteralC", - "; }>]>; budgetingMethod: ", + "<\"calendarAligned\">; }>]>; budgetingMethod: ", "UnionC", "<[", "LiteralC", @@ -8791,7 +8494,11 @@ "section": "def-common.Duration", "text": "Duration" }, - ", string, unknown>; }>]>; settings: ", + ", string, unknown>; }>]>; }>, ", + "PartialC", + "<{ id: ", + "StringC", + "; settings: ", "PartialC", "<{ syncDelay: ", "Type", @@ -8817,7 +8524,7 @@ "ArrayC", "<", "StringC", - ">; }>; }>, ", + ">; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "observability", "scope": "server", @@ -8825,85 +8532,47 @@ "section": "def-server.ObservabilityRouteHandlerResources", "text": "ObservabilityRouteHandlerResources" }, - ", { id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; }; timeWindow: { duration: string; isRolling: boolean; } | { duration: string; isCalendar: boolean; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; revision: number; settings: { syncDelay: string; frequency: string; }; enabled: boolean; tags: string[]; createdAt: string; updatedAt: string; }, ", + " & { params: { body: { name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; } | { type: \"sli.metric.custom\"; params: { index: string; filter: string; good: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; total: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; timestampField: string; }; }; timeWindow: { duration: ", { - "pluginId": "observability", - "scope": "server", - "docId": "kibObservabilityPluginApi", - "section": "def-server.ObservabilityRouteCreateOptions", - "text": "ObservabilityRouteCreateOptions" - }, - ">; \"GET /api/observability/slos/{id}\": ", - { - "pluginId": "@kbn/server-route-repository", + "pluginId": "@kbn/slo-schema", "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" }, - "<\"GET /api/observability/slos/{id}\", ", - "TypeC", - "<{ path: ", - "TypeC", - "<{ id: ", - "StringC", - "; }>; }>, ", + "; type: \"rolling\"; } | { duration: ", { - "pluginId": "observability", - "scope": "server", - "docId": "kibObservabilityPluginApi", - "section": "def-server.ObservabilityRouteHandlerResources", - "text": "ObservabilityRouteHandlerResources" + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" }, - ", { id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; }; timeWindow: { duration: string; isRolling: boolean; } | { duration: string; isCalendar: boolean; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; revision: number; settings: { syncDelay: string; frequency: string; }; enabled: boolean; tags: string[]; createdAt: string; updatedAt: string; } & { summary: { status: \"HEALTHY\" | \"NO_DATA\" | \"DEGRADING\" | \"VIOLATED\"; sliValue: number; errorBudget: { initial: number; consumed: number; remaining: number; isEstimated: boolean; }; }; }, ", + "; type: \"calendarAligned\"; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: ", { - "pluginId": "observability", - "scope": "server", - "docId": "kibObservabilityPluginApi", - "section": "def-server.ObservabilityRouteCreateOptions", - "text": "ObservabilityRouteCreateOptions" + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" }, - ">; \"GET /api/observability/slos\": ", + " | undefined; }; } & { id?: string | undefined; settings?: { syncDelay?: ", { - "pluginId": "@kbn/server-route-repository", + "pluginId": "@kbn/slo-schema", "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" }, - "<\"GET /api/observability/slos\", ", - "PartialC", - "<{ query: ", - "PartialC", - "<{ name: ", - "StringC", - "; indicatorTypes: ", - "Type", - "; page: ", - "StringC", - "; perPage: ", - "StringC", - "; sortBy: ", - "UnionC", - "<[", - "LiteralC", - "<\"creationTime\">, ", - "LiteralC", - "<\"indicatorType\">]>; sortDirection: ", - "UnionC", - "<[", - "LiteralC", - "<\"asc\">, ", - "LiteralC", - "<\"desc\">]>; }>; }>, ", + " | undefined; frequency?: ", { - "pluginId": "observability", - "scope": "server", - "docId": "kibObservabilityPluginApi", - "section": "def-server.ObservabilityRouteHandlerResources", - "text": "ObservabilityRouteHandlerResources" + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" }, - ", { page: number; perPage: number; total: number; results: ({ id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; }; timeWindow: { duration: string; isRolling: boolean; } | { duration: string; isCalendar: boolean; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; revision: number; settings: { syncDelay: string; frequency: string; }; enabled: boolean; tags: string[]; createdAt: string; updatedAt: string; } & { summary: { status: \"HEALTHY\" | \"NO_DATA\" | \"DEGRADING\" | \"VIOLATED\"; sliValue: number; errorBudget: { initial: number; consumed: number; remaining: number; isEstimated: boolean; }; }; })[]; }, ", + " | undefined; } | undefined; tags?: string[] | undefined; }; }; }) => Promise<{ id: string; }>; } & ", { "pluginId": "observability", "scope": "server", @@ -8911,23 +8580,17 @@ "section": "def-server.ObservabilityRouteCreateOptions", "text": "ObservabilityRouteCreateOptions" }, - ">; \"POST /internal/observability/slos/_historical_summary\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"POST /internal/observability/slos/_historical_summary\", ", + "; \"GET /api/observability/rules/alerts/dynamic_index_pattern 2023-05-22\": { endpoint: \"GET /api/observability/rules/alerts/dynamic_index_pattern 2023-05-22\"; params?: ", "TypeC", - "<{ body: ", + "<{ query: ", "TypeC", - "<{ sloIds: ", + "<{ registrationContexts: ", "ArrayC", "<", "StringC", - ">; }>; }>, ", + ">; namespace: ", + "StringC", + "; }>; }> | undefined; handler: ({}: ", { "pluginId": "observability", "scope": "server", @@ -8935,7 +8598,7 @@ "section": "def-server.ObservabilityRouteHandlerResources", "text": "ObservabilityRouteHandlerResources" }, - ", { [x: string]: ({ date: string; } & { status: \"HEALTHY\" | \"NO_DATA\" | \"DEGRADING\" | \"VIOLATED\"; sliValue: number; errorBudget: { initial: number; consumed: number; remaining: number; isEstimated: boolean; }; })[]; }, ", + " & { params: { query: { registrationContexts: string[]; namespace: string; }; }; }) => Promise; } & ", { "pluginId": "observability", "scope": "server", @@ -8943,21 +8606,57 @@ "section": "def-server.ObservabilityRouteCreateOptions", "text": "ObservabilityRouteCreateOptions" }, - ">; \"POST /api/observability/slos/{id}/enable\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"POST /api/observability/slos/{id}/enable\", ", - "TypeC", - "<{ path: ", - "TypeC", - "<{ id: ", + "; }[TEndpoint] extends { endpoint: any; params?: any; handler: ({}: any) => Promise; } & ", + "ServerRouteCreateOptions", + " ? TReturnType : never" + ], + "path": "x-pack/plugins/observability/server/routes/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "observability", + "id": "def-server.ObservabilityConfig", + "type": "Type", + "tags": [], + "label": "ObservabilityConfig", + "description": [], + "signature": [ + "{ readonly enabled: boolean; readonly annotations: Readonly<{} & { enabled: boolean; index: string; }>; readonly unsafe: Readonly<{} & { alertDetails: Readonly<{} & { uptime: Readonly<{} & { enabled: boolean; }>; metrics: Readonly<{} & { enabled: boolean; }>; logs: Readonly<{} & { enabled: boolean; }>; }>; }>; }" + ], + "path": "x-pack/plugins/observability/server/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "observability", + "id": "def-server.ObservabilityServerRouteRepository", + "type": "Type", + "tags": [], + "label": "ObservabilityServerRouteRepository", + "description": [], + "signature": [ + "{ \"GET /api/observability/composite_slos 2023-05-24\": { endpoint: \"GET /api/observability/composite_slos 2023-05-24\"; params?: ", + "PartialC", + "<{ query: ", + "PartialC", + "<{ name: ", "StringC", - "; }>; }>, ", + "; page: ", + "StringC", + "; perPage: ", + "StringC", + "; sortBy: ", + "LiteralC", + "<\"creationTime\">; sortDirection: ", + "UnionC", + "<[", + "LiteralC", + "<\"asc\">, ", + "LiteralC", + "<\"desc\">]>; }>; }> | undefined; handler: ({}: ", { "pluginId": "observability", "scope": "server", @@ -8965,7 +8664,7 @@ "section": "def-server.ObservabilityRouteHandlerResources", "text": "ObservabilityRouteHandlerResources" }, - ", void, ", + " & { params?: { query?: { name?: string | undefined; page?: string | undefined; perPage?: string | undefined; sortBy?: \"creationTime\" | undefined; sortDirection?: \"asc\" | \"desc\" | undefined; } | undefined; } | undefined; }) => Promise<{ page: number; perPage: number; total: number; results: ({ id: string; name: string; timeWindow: { duration: string; type: \"rolling\"; } | { duration: string; type: \"calendarAligned\"; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; compositeMethod: \"weightedAverage\"; sources: { id: string; revision: number; weight: number; }[]; tags: string[]; createdAt: string; updatedAt: string; } & { summary: { status: \"HEALTHY\" | \"NO_DATA\" | \"DEGRADING\" | \"VIOLATED\"; sliValue: number; errorBudget: { initial: number; consumed: number; remaining: number; isEstimated: boolean; }; }; })[]; }>; } & ", { "pluginId": "observability", "scope": "server", @@ -8973,21 +8672,13 @@ "section": "def-server.ObservabilityRouteCreateOptions", "text": "ObservabilityRouteCreateOptions" }, - ">; \"POST /api/observability/slos/{id}/disable\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"POST /api/observability/slos/{id}/disable\", ", + "; \"GET /api/observability/composite_slos/{id} 2023-05-24\": { endpoint: \"GET /api/observability/composite_slos/{id} 2023-05-24\"; params?: ", "TypeC", "<{ path: ", "TypeC", "<{ id: ", "StringC", - "; }>; }>, ", + "; }>; }> | undefined; handler: ({}: ", { "pluginId": "observability", "scope": "server", @@ -8995,7 +8686,7 @@ "section": "def-server.ObservabilityRouteHandlerResources", "text": "ObservabilityRouteHandlerResources" }, - ", void, ", + " & { params: { path: { id: string; }; }; }) => Promise<{ id: string; name: string; timeWindow: { duration: string; type: \"rolling\"; } | { duration: string; type: \"calendarAligned\"; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; compositeMethod: \"weightedAverage\"; sources: { id: string; revision: number; weight: number; }[]; tags: string[]; createdAt: string; updatedAt: string; } & { summary: { status: \"HEALTHY\" | \"NO_DATA\" | \"DEGRADING\" | \"VIOLATED\"; sliValue: number; errorBudget: { initial: number; consumed: number; remaining: number; isEstimated: boolean; }; }; }>; } & ", { "pluginId": "observability", "scope": "server", @@ -9003,21 +8694,13 @@ "section": "def-server.ObservabilityRouteCreateOptions", "text": "ObservabilityRouteCreateOptions" }, - ">; \"DELETE /api/observability/slos/{id}\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"DELETE /api/observability/slos/{id}\", ", + "; \"DELETE /api/observability/composite_slos/{id} 2023-05-24\": { endpoint: \"DELETE /api/observability/composite_slos/{id} 2023-05-24\"; params?: ", "TypeC", "<{ path: ", "TypeC", "<{ id: ", "StringC", - "; }>; }>, ", + "; }>; }> | undefined; handler: ({}: ", { "pluginId": "observability", "scope": "server", @@ -9025,129 +8708,37 @@ "section": "def-server.ObservabilityRouteHandlerResources", "text": "ObservabilityRouteHandlerResources" }, - ", void, ", + " & { params: { path: { id: string; }; }; }) => Promise; } & ", { "pluginId": "observability", "scope": "server", - "docId": "kibObservabilityPluginApi", - "section": "def-server.ObservabilityRouteCreateOptions", - "text": "ObservabilityRouteCreateOptions" - }, - ">; \"POST /api/observability/slos\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"POST /api/observability/slos\", ", - "TypeC", - "<{ body: ", - "IntersectionC", - "<[", - "TypeC", - "<{ name: ", - "StringC", - "; description: ", - "StringC", - "; indicator: ", - "UnionC", - "<[", - "TypeC", - "<{ type: ", - "LiteralC", - "<\"sli.apm.transactionDuration\">; params: ", - "IntersectionC", - "<[", - "TypeC", - "<{ environment: ", - "UnionC", - "<[", - "LiteralC", - "<\"*\">, ", - "StringC", - "]>; service: ", - "UnionC", - "<[", - "LiteralC", - "<\"*\">, ", - "StringC", - "]>; transactionType: ", - "UnionC", - "<[", - "LiteralC", - "<\"*\">, ", - "StringC", - "]>; transactionName: ", - "UnionC", - "<[", - "LiteralC", - "<\"*\">, ", - "StringC", - "]>; threshold: ", - "NumberC", - "; index: ", - "StringC", - "; }>, ", - "PartialC", - "<{ filter: ", - "StringC", - "; }>]>; }>, ", + "docId": "kibObservabilityPluginApi", + "section": "def-server.ObservabilityRouteCreateOptions", + "text": "ObservabilityRouteCreateOptions" + }, + "; \"PUT /api/observability/composite_slos/{id} 2023-05-24\": { endpoint: \"PUT /api/observability/composite_slos/{id} 2023-05-24\"; params?: ", "TypeC", - "<{ type: ", - "LiteralC", - "<\"sli.apm.transactionErrorRate\">; params: ", - "IntersectionC", - "<[", + "<{ path: ", "TypeC", - "<{ environment: ", - "UnionC", - "<[", - "LiteralC", - "<\"*\">, ", - "StringC", - "]>; service: ", - "UnionC", - "<[", - "LiteralC", - "<\"*\">, ", - "StringC", - "]>; transactionType: ", - "UnionC", - "<[", - "LiteralC", - "<\"*\">, ", - "StringC", - "]>; transactionName: ", - "UnionC", - "<[", - "LiteralC", - "<\"*\">, ", - "StringC", - "]>; index: ", + "<{ id: ", "StringC", - "; }>, ", + "; }>; body: ", "PartialC", - "<{ filter: ", + "<{ name: ", "StringC", - "; }>]>; }>, ", - "TypeC", - "<{ type: ", + "; compositeMethod: ", "LiteralC", - "<\"sli.kql.custom\">; params: ", + "<\"weightedAverage\">; sources: ", + "ArrayC", + "<", "TypeC", - "<{ index: ", - "StringC", - "; filter: ", - "StringC", - "; good: ", - "StringC", - "; total: ", - "StringC", - "; timestampField: ", + "<{ id: ", "StringC", - "; }>; }>]>; timeWindow: ", + "; revision: ", + "NumberC", + "; weight: ", + "NumberC", + "; }>>; timeWindow: ", "UnionC", "<[", "TypeC", @@ -9161,9 +8752,9 @@ "section": "def-common.Duration", "text": "Duration" }, - ", string, unknown>; isRolling: ", + ", string, unknown>; type: ", "LiteralC", - "; }>, ", + "<\"rolling\">; }>, ", "TypeC", "<{ duration: ", "Type", @@ -9175,9 +8766,9 @@ "section": "def-common.Duration", "text": "Duration" }, - ", string, unknown>; isCalendar: ", + ", string, unknown>; type: ", "LiteralC", - "; }>]>; budgetingMethod: ", + "<\"calendarAligned\">; }>]>; budgetingMethod: ", "UnionC", "<[", "LiteralC", @@ -9203,13 +8794,19 @@ "section": "def-common.Duration", "text": "Duration" }, - ", string, unknown>; }>]>; }>, ", - "PartialC", - "<{ settings: ", - "PartialC", - "<{ syncDelay: ", - "Type", + ", string, unknown>; }>]>; tags: ", + "ArrayC", "<", + "StringC", + ">; }>; }> | undefined; handler: ({}: ", + { + "pluginId": "observability", + "scope": "server", + "docId": "kibObservabilityPluginApi", + "section": "def-server.ObservabilityRouteHandlerResources", + "text": "ObservabilityRouteHandlerResources" + }, + " & { params: { path: { id: string; }; body: { name?: string | undefined; compositeMethod?: \"weightedAverage\" | undefined; sources?: { id: string; revision: number; weight: number; }[] | undefined; timeWindow?: { duration: ", { "pluginId": "@kbn/slo-schema", "scope": "common", @@ -9217,9 +8814,7 @@ "section": "def-common.Duration", "text": "Duration" }, - ", string, unknown>; frequency: ", - "Type", - "<", + "; type: \"rolling\"; } | { duration: ", { "pluginId": "@kbn/slo-schema", "scope": "common", @@ -9227,19 +8822,15 @@ "section": "def-common.Duration", "text": "Duration" }, - ", string, unknown>; }>; tags: ", - "ArrayC", - "<", - "StringC", - ">; }>]>; }>, ", + "; type: \"calendarAligned\"; } | undefined; budgetingMethod?: \"occurrences\" | \"timeslices\" | undefined; objective?: ({ target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: ", { - "pluginId": "observability", - "scope": "server", - "docId": "kibObservabilityPluginApi", - "section": "def-server.ObservabilityRouteHandlerResources", - "text": "ObservabilityRouteHandlerResources" + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" }, - ", { id: string; }, ", + " | undefined; }) | undefined; tags?: string[] | undefined; }; }; }) => Promise<{ id: string; name: string; timeWindow: { duration: string; type: \"rolling\"; } | { duration: string; type: \"calendarAligned\"; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; compositeMethod: \"weightedAverage\"; sources: { id: string; revision: number; weight: number; }[]; tags: string[]; createdAt: string; updatedAt: string; }>; } & ", { "pluginId": "observability", "scope": "server", @@ -9247,25 +8838,91 @@ "section": "def-server.ObservabilityRouteCreateOptions", "text": "ObservabilityRouteCreateOptions" }, - ">; \"GET /api/observability/rules/alerts/dynamic_index_pattern\": ", + "; \"POST /api/observability/composite_slos 2023-05-24\": { endpoint: \"POST /api/observability/composite_slos 2023-05-24\"; params?: ", + "TypeC", + "<{ body: ", + "IntersectionC", + "<[", + "TypeC", + "<{ name: ", + "StringC", + "; timeWindow: ", + "UnionC", + "<[", + "TypeC", + "<{ duration: ", + "Type", + "<", { - "pluginId": "@kbn/server-route-repository", + "pluginId": "@kbn/slo-schema", "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" }, - "<\"GET /api/observability/rules/alerts/dynamic_index_pattern\", ", + ", string, unknown>; type: ", + "LiteralC", + "<\"rolling\">; }>, ", "TypeC", - "<{ query: ", + "<{ duration: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; type: ", + "LiteralC", + "<\"calendarAligned\">; }>]>; budgetingMethod: ", + "UnionC", + "<[", + "LiteralC", + "<\"occurrences\">, ", + "LiteralC", + "<\"timeslices\">]>; objective: ", + "IntersectionC", + "<[", "TypeC", - "<{ registrationContexts: ", + "<{ target: ", + "NumberC", + "; }>, ", + "PartialC", + "<{ timesliceTarget: ", + "NumberC", + "; timesliceWindow: ", + "Type", + "<", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + ", string, unknown>; }>]>; compositeMethod: ", + "LiteralC", + "<\"weightedAverage\">; sources: ", "ArrayC", "<", + "TypeC", + "<{ id: ", "StringC", - ">; namespace: ", + "; revision: ", + "NumberC", + "; weight: ", + "NumberC", + "; }>>; }>, ", + "PartialC", + "<{ id: ", "StringC", - "; }>; }>, ", + "; tags: ", + "ArrayC", + "<", + "StringC", + ">; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "observability", "scope": "server", @@ -9273,69 +8930,45 @@ "section": "def-server.ObservabilityRouteHandlerResources", "text": "ObservabilityRouteHandlerResources" }, - ", string[], ", + " & { params: { body: { name: string; timeWindow: { duration: ", { - "pluginId": "observability", - "scope": "server", - "docId": "kibObservabilityPluginApi", - "section": "def-server.ObservabilityRouteCreateOptions", - "text": "ObservabilityRouteCreateOptions" + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" }, - ">; }[TEndpoint] extends ", + "; type: \"rolling\"; } | { duration: ", { - "pluginId": "@kbn/server-route-repository", + "pluginId": "@kbn/slo-schema", "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" }, - " ? TReturnType : never" - ], - "path": "x-pack/plugins/observability/server/routes/types.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-server.ObservabilityConfig", - "type": "Type", - "tags": [], - "label": "ObservabilityConfig", - "description": [], - "signature": [ - "{ readonly enabled: boolean; readonly annotations: Readonly<{} & { enabled: boolean; index: string; }>; readonly unsafe: Readonly<{} & { alertDetails: Readonly<{} & { uptime: Readonly<{} & { enabled: boolean; }>; metrics: Readonly<{} & { enabled: boolean; }>; logs: Readonly<{} & { enabled: boolean; }>; }>; }>; }" - ], - "path": "x-pack/plugins/observability/server/index.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, - { - "parentPluginId": "observability", - "id": "def-server.ObservabilityServerRouteRepository", - "type": "Type", - "tags": [], - "label": "ObservabilityServerRouteRepository", - "description": [], - "signature": [ - "{ \"GET /internal/observability/slos/{id}/_diagnosis\": ", + "; type: \"calendarAligned\"; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: ", { - "pluginId": "@kbn/server-route-repository", + "pluginId": "@kbn/slo-schema", "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + " | undefined; }; compositeMethod: \"weightedAverage\"; sources: { id: string; revision: number; weight: number; }[]; } & { id?: string | undefined; tags?: string[] | undefined; }; }; }) => Promise<{ id: string; }>; } & ", + { + "pluginId": "observability", + "scope": "server", + "docId": "kibObservabilityPluginApi", + "section": "def-server.ObservabilityRouteCreateOptions", + "text": "ObservabilityRouteCreateOptions" }, - "<\"GET /internal/observability/slos/{id}/_diagnosis\", ", + "; \"GET /internal/observability/slos/{id}/_diagnosis\": { endpoint: \"GET /internal/observability/slos/{id}/_diagnosis\"; params?: ", "TypeC", "<{ path: ", "TypeC", "<{ id: ", "StringC", - "; }>; }>, ", + "; }>; }> | undefined; handler: ({}: ", { "pluginId": "observability", "scope": "server", @@ -9343,7 +8976,7 @@ "section": "def-server.ObservabilityRouteHandlerResources", "text": "ObservabilityRouteHandlerResources" }, - ", { sloResources: { [x: string]: string; \".slo-observability.sli\": string; \".slo-observability.sli-mappings\": string; \".slo-observability.sli-settings\": string; } | undefined; sloSavedObject: string | ", + " & { params: { path: { id: string; }; }; }) => Promise<{ sloResources: { [x: string]: string; \".slo-observability.sli\": string; \".slo-observability.sli-mappings\": string; \".slo-observability.sli-settings\": string; } | undefined; sloSavedObject: string | ", { "pluginId": "@kbn/core-saved-objects-common", "scope": "common", @@ -9351,13 +8984,13 @@ "section": "def-common.SavedObject", "text": "SavedObject" }, - "<{ id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; }; timeWindow: { duration: string; isRolling: boolean; } | { duration: string; isCalendar: boolean; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; settings: { syncDelay: string; frequency: string; }; revision: number; enabled: boolean; tags: string[]; createdAt: string; updatedAt: string; }>; sloTransformStats: ", + "<{ id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; } | { type: \"sli.metric.custom\"; params: { index: string; filter: string; good: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; total: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; timestampField: string; }; }; timeWindow: { duration: string; type: \"rolling\"; } | { duration: string; type: \"calendarAligned\"; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; settings: { syncDelay: string; frequency: string; }; revision: number; enabled: boolean; tags: string[]; createdAt: string; updatedAt: string; }>; sloTransformStats: ", "TransformGetTransformStatsResponse", "; dataSample: string | ", "SearchResponse", ">; }, ", + ">>; }>; } & ", { "pluginId": "observability", "scope": "server", @@ -9365,15 +8998,7 @@ "section": "def-server.ObservabilityRouteCreateOptions", "text": "ObservabilityRouteCreateOptions" }, - ">; \"GET /internal/observability/slos/_diagnosis\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /internal/observability/slos/_diagnosis\", undefined, ", + "; \"GET /internal/observability/slos/_diagnosis\": { endpoint: \"GET /internal/observability/slos/_diagnosis\"; params?: undefined; handler: ({}: ", { "pluginId": "observability", "scope": "server", @@ -9381,11 +9006,11 @@ "section": "def-server.ObservabilityRouteHandlerResources", "text": "ObservabilityRouteHandlerResources" }, - ", { licenseAndFeatures: ", + ") => Promise<{ licenseAndFeatures: ", "PublicLicenseJSON", "; userPrivileges: ", "SecurityGetUserPrivilegesResponse", - "; sloResources: { [x: string]: string; \".slo-observability.sli\": string; \".slo-observability.sli-mappings\": string; \".slo-observability.sli-settings\": string; } | undefined; }, ", + "; sloResources: { [x: string]: string; \".slo-observability.sli\": string; \".slo-observability.sli-mappings\": string; \".slo-observability.sli-settings\": string; } | undefined; }>; } & ", { "pluginId": "observability", "scope": "server", @@ -9393,15 +9018,7 @@ "section": "def-server.ObservabilityRouteCreateOptions", "text": "ObservabilityRouteCreateOptions" }, - ">; \"PUT /api/observability/slos/{id}\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"PUT /api/observability/slos/{id}\", ", + "; \"PUT /api/observability/slos/{id} 2023-05-22\": { endpoint: \"PUT /api/observability/slos/{id} 2023-05-22\"; params?: ", "TypeC", "<{ path: ", "TypeC", @@ -9503,11 +9120,51 @@ "StringC", "; filter: ", "StringC", - "; good: ", + "; good: ", + "StringC", + "; total: ", + "StringC", + "; timestampField: ", + "StringC", + "; }>; }>, ", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.metric.custom\">; params: ", + "TypeC", + "<{ index: ", + "StringC", + "; filter: ", + "StringC", + "; good: ", + "TypeC", + "<{ metrics: ", + "ArrayC", + "<", + "TypeC", + "<{ name: ", + "StringC", + "; aggregation: ", + "KeyofC", + "<{ sum: boolean; }>; field: ", + "StringC", + "; }>>; equation: ", + "StringC", + "; }>; total: ", + "TypeC", + "<{ metrics: ", + "ArrayC", + "<", + "TypeC", + "<{ name: ", + "StringC", + "; aggregation: ", + "KeyofC", + "<{ sum: boolean; }>; field: ", "StringC", - "; total: ", + "; }>>; equation: ", "StringC", - "; timestampField: ", + "; }>; timestampField: ", "StringC", "; }>; }>]>; timeWindow: ", "UnionC", @@ -9523,9 +9180,9 @@ "section": "def-common.Duration", "text": "Duration" }, - ", string, unknown>; isRolling: ", + ", string, unknown>; type: ", "LiteralC", - "; }>, ", + "<\"rolling\">; }>, ", "TypeC", "<{ duration: ", "Type", @@ -9537,9 +9194,9 @@ "section": "def-common.Duration", "text": "Duration" }, - ", string, unknown>; isCalendar: ", + ", string, unknown>; type: ", "LiteralC", - "; }>]>; budgetingMethod: ", + "<\"calendarAligned\">; }>]>; budgetingMethod: ", "UnionC", "<[", "LiteralC", @@ -9591,7 +9248,7 @@ "ArrayC", "<", "StringC", - ">; }>; }>, ", + ">; }>; }> | undefined; handler: ({}: ", { "pluginId": "observability", "scope": "server", @@ -9599,7 +9256,47 @@ "section": "def-server.ObservabilityRouteHandlerResources", "text": "ObservabilityRouteHandlerResources" }, - ", { id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; }; timeWindow: { duration: string; isRolling: boolean; } | { duration: string; isCalendar: boolean; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; revision: number; settings: { syncDelay: string; frequency: string; }; enabled: boolean; tags: string[]; createdAt: string; updatedAt: string; }, ", + " & { params: { path: { id: string; }; body: { name?: string | undefined; description?: string | undefined; indicator?: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; } | { type: \"sli.metric.custom\"; params: { index: string; filter: string; good: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; total: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; timestampField: string; }; } | undefined; timeWindow?: { duration: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + "; type: \"rolling\"; } | { duration: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + "; type: \"calendarAligned\"; } | undefined; budgetingMethod?: \"occurrences\" | \"timeslices\" | undefined; objective?: ({ target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + " | undefined; }) | undefined; settings?: { syncDelay?: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + " | undefined; frequency?: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + " | undefined; } | undefined; tags?: string[] | undefined; }; }; }) => Promise<{ id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; } | { type: \"sli.metric.custom\"; params: { index: string; filter: string; good: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; total: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; timestampField: string; }; }; timeWindow: { duration: string; type: \"rolling\"; } | { duration: string; type: \"calendarAligned\"; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; revision: number; settings: { syncDelay: string; frequency: string; }; enabled: boolean; tags: string[]; createdAt: string; updatedAt: string; }>; } & ", { "pluginId": "observability", "scope": "server", @@ -9607,21 +9304,13 @@ "section": "def-server.ObservabilityRouteCreateOptions", "text": "ObservabilityRouteCreateOptions" }, - ">; \"GET /api/observability/slos/{id}\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /api/observability/slos/{id}\", ", + "; \"GET /api/observability/slos/{id} 2023-05-22\": { endpoint: \"GET /api/observability/slos/{id} 2023-05-22\"; params?: ", "TypeC", "<{ path: ", "TypeC", "<{ id: ", "StringC", - "; }>; }>, ", + "; }>; }> | undefined; handler: ({}: ", { "pluginId": "observability", "scope": "server", @@ -9629,7 +9318,7 @@ "section": "def-server.ObservabilityRouteHandlerResources", "text": "ObservabilityRouteHandlerResources" }, - ", { id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; }; timeWindow: { duration: string; isRolling: boolean; } | { duration: string; isCalendar: boolean; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; revision: number; settings: { syncDelay: string; frequency: string; }; enabled: boolean; tags: string[]; createdAt: string; updatedAt: string; } & { summary: { status: \"HEALTHY\" | \"NO_DATA\" | \"DEGRADING\" | \"VIOLATED\"; sliValue: number; errorBudget: { initial: number; consumed: number; remaining: number; isEstimated: boolean; }; }; }, ", + " & { params: { path: { id: string; }; }; }) => Promise<{ id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; } | { type: \"sli.metric.custom\"; params: { index: string; filter: string; good: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; total: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; timestampField: string; }; }; timeWindow: { duration: string; type: \"rolling\"; } | { duration: string; type: \"calendarAligned\"; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; revision: number; settings: { syncDelay: string; frequency: string; }; enabled: boolean; tags: string[]; createdAt: string; updatedAt: string; } & { summary: { status: \"HEALTHY\" | \"NO_DATA\" | \"DEGRADING\" | \"VIOLATED\"; sliValue: number; errorBudget: { initial: number; consumed: number; remaining: number; isEstimated: boolean; }; }; }>; } & ", { "pluginId": "observability", "scope": "server", @@ -9637,15 +9326,7 @@ "section": "def-server.ObservabilityRouteCreateOptions", "text": "ObservabilityRouteCreateOptions" }, - ">; \"GET /api/observability/slos\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /api/observability/slos\", ", + "; \"GET /api/observability/slos 2023-05-22\": { endpoint: \"GET /api/observability/slos 2023-05-22\"; params?: ", "PartialC", "<{ query: ", "PartialC", @@ -9669,7 +9350,7 @@ "LiteralC", "<\"asc\">, ", "LiteralC", - "<\"desc\">]>; }>; }>, ", + "<\"desc\">]>; }>; }> | undefined; handler: ({}: ", { "pluginId": "observability", "scope": "server", @@ -9677,7 +9358,7 @@ "section": "def-server.ObservabilityRouteHandlerResources", "text": "ObservabilityRouteHandlerResources" }, - ", { page: number; perPage: number; total: number; results: ({ id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; }; timeWindow: { duration: string; isRolling: boolean; } | { duration: string; isCalendar: boolean; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; revision: number; settings: { syncDelay: string; frequency: string; }; enabled: boolean; tags: string[]; createdAt: string; updatedAt: string; } & { summary: { status: \"HEALTHY\" | \"NO_DATA\" | \"DEGRADING\" | \"VIOLATED\"; sliValue: number; errorBudget: { initial: number; consumed: number; remaining: number; isEstimated: boolean; }; }; })[]; }, ", + " & { params?: { query?: { name?: string | undefined; indicatorTypes?: string[] | undefined; page?: string | undefined; perPage?: string | undefined; sortBy?: \"creationTime\" | \"indicatorType\" | undefined; sortDirection?: \"asc\" | \"desc\" | undefined; } | undefined; } | undefined; }) => Promise<{ page: number; perPage: number; total: number; results: ({ id: string; name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; } | { type: \"sli.metric.custom\"; params: { index: string; filter: string; good: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; total: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; timestampField: string; }; }; timeWindow: { duration: string; type: \"rolling\"; } | { duration: string; type: \"calendarAligned\"; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: string | undefined; }; revision: number; settings: { syncDelay: string; frequency: string; }; enabled: boolean; tags: string[]; createdAt: string; updatedAt: string; } & { summary: { status: \"HEALTHY\" | \"NO_DATA\" | \"DEGRADING\" | \"VIOLATED\"; sliValue: number; errorBudget: { initial: number; consumed: number; remaining: number; isEstimated: boolean; }; }; })[]; }>; } & ", { "pluginId": "observability", "scope": "server", @@ -9685,15 +9366,7 @@ "section": "def-server.ObservabilityRouteCreateOptions", "text": "ObservabilityRouteCreateOptions" }, - ">; \"POST /internal/observability/slos/_historical_summary\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"POST /internal/observability/slos/_historical_summary\", ", + "; \"POST /internal/observability/slos/_historical_summary\": { endpoint: \"POST /internal/observability/slos/_historical_summary\"; params?: ", "TypeC", "<{ body: ", "TypeC", @@ -9701,7 +9374,7 @@ "ArrayC", "<", "StringC", - ">; }>; }>, ", + ">; }>; }> | undefined; handler: ({}: ", { "pluginId": "observability", "scope": "server", @@ -9709,7 +9382,7 @@ "section": "def-server.ObservabilityRouteHandlerResources", "text": "ObservabilityRouteHandlerResources" }, - ", { [x: string]: ({ date: string; } & { status: \"HEALTHY\" | \"NO_DATA\" | \"DEGRADING\" | \"VIOLATED\"; sliValue: number; errorBudget: { initial: number; consumed: number; remaining: number; isEstimated: boolean; }; })[]; }, ", + " & { params: { body: { sloIds: string[]; }; }; }) => Promise<{ [x: string]: ({ date: string; } & { status: \"HEALTHY\" | \"NO_DATA\" | \"DEGRADING\" | \"VIOLATED\"; sliValue: number; errorBudget: { initial: number; consumed: number; remaining: number; isEstimated: boolean; }; })[]; }>; } & ", { "pluginId": "observability", "scope": "server", @@ -9717,21 +9390,13 @@ "section": "def-server.ObservabilityRouteCreateOptions", "text": "ObservabilityRouteCreateOptions" }, - ">; \"POST /api/observability/slos/{id}/enable\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"POST /api/observability/slos/{id}/enable\", ", + "; \"POST /api/observability/slos/{id}/enable 2023-05-22\": { endpoint: \"POST /api/observability/slos/{id}/enable 2023-05-22\"; params?: ", "TypeC", "<{ path: ", "TypeC", "<{ id: ", "StringC", - "; }>; }>, ", + "; }>; }> | undefined; handler: ({}: ", { "pluginId": "observability", "scope": "server", @@ -9739,7 +9404,7 @@ "section": "def-server.ObservabilityRouteHandlerResources", "text": "ObservabilityRouteHandlerResources" }, - ", void, ", + " & { params: { path: { id: string; }; }; }) => Promise; } & ", { "pluginId": "observability", "scope": "server", @@ -9747,21 +9412,13 @@ "section": "def-server.ObservabilityRouteCreateOptions", "text": "ObservabilityRouteCreateOptions" }, - ">; \"POST /api/observability/slos/{id}/disable\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"POST /api/observability/slos/{id}/disable\", ", + "; \"POST /api/observability/slos/{id}/disable 2023-05-22\": { endpoint: \"POST /api/observability/slos/{id}/disable 2023-05-22\"; params?: ", "TypeC", "<{ path: ", "TypeC", "<{ id: ", "StringC", - "; }>; }>, ", + "; }>; }> | undefined; handler: ({}: ", { "pluginId": "observability", "scope": "server", @@ -9769,7 +9426,7 @@ "section": "def-server.ObservabilityRouteHandlerResources", "text": "ObservabilityRouteHandlerResources" }, - ", void, ", + " & { params: { path: { id: string; }; }; }) => Promise; } & ", { "pluginId": "observability", "scope": "server", @@ -9777,21 +9434,13 @@ "section": "def-server.ObservabilityRouteCreateOptions", "text": "ObservabilityRouteCreateOptions" }, - ">; \"DELETE /api/observability/slos/{id}\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"DELETE /api/observability/slos/{id}\", ", + "; \"DELETE /api/observability/slos/{id} 2023-05-22\": { endpoint: \"DELETE /api/observability/slos/{id} 2023-05-22\"; params?: ", "TypeC", "<{ path: ", "TypeC", "<{ id: ", "StringC", - "; }>; }>, ", + "; }>; }> | undefined; handler: ({}: ", { "pluginId": "observability", "scope": "server", @@ -9799,7 +9448,7 @@ "section": "def-server.ObservabilityRouteHandlerResources", "text": "ObservabilityRouteHandlerResources" }, - ", void, ", + " & { params: { path: { id: string; }; }; }) => Promise; } & ", { "pluginId": "observability", "scope": "server", @@ -9807,15 +9456,7 @@ "section": "def-server.ObservabilityRouteCreateOptions", "text": "ObservabilityRouteCreateOptions" }, - ">; \"POST /api/observability/slos\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"POST /api/observability/slos\", ", + "; \"POST /api/observability/slos 2023-05-22\": { endpoint: \"POST /api/observability/slos 2023-05-22\"; params?: ", "TypeC", "<{ body: ", "IntersectionC", @@ -9921,6 +9562,46 @@ "StringC", "; timestampField: ", "StringC", + "; }>; }>, ", + "TypeC", + "<{ type: ", + "LiteralC", + "<\"sli.metric.custom\">; params: ", + "TypeC", + "<{ index: ", + "StringC", + "; filter: ", + "StringC", + "; good: ", + "TypeC", + "<{ metrics: ", + "ArrayC", + "<", + "TypeC", + "<{ name: ", + "StringC", + "; aggregation: ", + "KeyofC", + "<{ sum: boolean; }>; field: ", + "StringC", + "; }>>; equation: ", + "StringC", + "; }>; total: ", + "TypeC", + "<{ metrics: ", + "ArrayC", + "<", + "TypeC", + "<{ name: ", + "StringC", + "; aggregation: ", + "KeyofC", + "<{ sum: boolean; }>; field: ", + "StringC", + "; }>>; equation: ", + "StringC", + "; }>; timestampField: ", + "StringC", "; }>; }>]>; timeWindow: ", "UnionC", "<[", @@ -9935,9 +9616,9 @@ "section": "def-common.Duration", "text": "Duration" }, - ", string, unknown>; isRolling: ", + ", string, unknown>; type: ", "LiteralC", - "; }>, ", + "<\"rolling\">; }>, ", "TypeC", "<{ duration: ", "Type", @@ -9949,9 +9630,9 @@ "section": "def-common.Duration", "text": "Duration" }, - ", string, unknown>; isCalendar: ", + ", string, unknown>; type: ", "LiteralC", - "; }>]>; budgetingMethod: ", + "<\"calendarAligned\">; }>]>; budgetingMethod: ", "UnionC", "<[", "LiteralC", @@ -9979,7 +9660,9 @@ }, ", string, unknown>; }>]>; }>, ", "PartialC", - "<{ settings: ", + "<{ id: ", + "StringC", + "; settings: ", "PartialC", "<{ syncDelay: ", "Type", @@ -10005,7 +9688,7 @@ "ArrayC", "<", "StringC", - ">; }>]>; }>, ", + ">; }>]>; }> | undefined; handler: ({}: ", { "pluginId": "observability", "scope": "server", @@ -10013,7 +9696,47 @@ "section": "def-server.ObservabilityRouteHandlerResources", "text": "ObservabilityRouteHandlerResources" }, - ", { id: string; }, ", + " & { params: { body: { name: string; description: string; indicator: { type: \"sli.apm.transactionDuration\"; params: { environment: string; service: string; transactionType: string; transactionName: string; threshold: number; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.apm.transactionErrorRate\"; params: { environment: string; service: string; transactionType: string; transactionName: string; index: string; } & { filter?: string | undefined; }; } | { type: \"sli.kql.custom\"; params: { index: string; filter: string; good: string; total: string; timestampField: string; }; } | { type: \"sli.metric.custom\"; params: { index: string; filter: string; good: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; total: { metrics: { name: string; aggregation: \"sum\"; field: string; }[]; equation: string; }; timestampField: string; }; }; timeWindow: { duration: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + "; type: \"rolling\"; } | { duration: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + "; type: \"calendarAligned\"; }; budgetingMethod: \"occurrences\" | \"timeslices\"; objective: { target: number; } & { timesliceTarget?: number | undefined; timesliceWindow?: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + " | undefined; }; } & { id?: string | undefined; settings?: { syncDelay?: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + " | undefined; frequency?: ", + { + "pluginId": "@kbn/slo-schema", + "scope": "common", + "docId": "kibKbnSloSchemaPluginApi", + "section": "def-common.Duration", + "text": "Duration" + }, + " | undefined; } | undefined; tags?: string[] | undefined; }; }; }) => Promise<{ id: string; }>; } & ", { "pluginId": "observability", "scope": "server", @@ -10021,15 +9744,7 @@ "section": "def-server.ObservabilityRouteCreateOptions", "text": "ObservabilityRouteCreateOptions" }, - ">; \"GET /api/observability/rules/alerts/dynamic_index_pattern\": ", - { - "pluginId": "@kbn/server-route-repository", - "scope": "common", - "docId": "kibKbnServerRouteRepositoryPluginApi", - "section": "def-common.ServerRoute", - "text": "ServerRoute" - }, - "<\"GET /api/observability/rules/alerts/dynamic_index_pattern\", ", + "; \"GET /api/observability/rules/alerts/dynamic_index_pattern 2023-05-22\": { endpoint: \"GET /api/observability/rules/alerts/dynamic_index_pattern 2023-05-22\"; params?: ", "TypeC", "<{ query: ", "TypeC", @@ -10039,7 +9754,7 @@ "StringC", ">; namespace: ", "StringC", - "; }>; }>, ", + "; }>; }> | undefined; handler: ({}: ", { "pluginId": "observability", "scope": "server", @@ -10047,7 +9762,7 @@ "section": "def-server.ObservabilityRouteHandlerResources", "text": "ObservabilityRouteHandlerResources" }, - ", string[], ", + " & { params: { query: { registrationContexts: string[]; namespace: string; }; }; }) => Promise; } & ", { "pluginId": "observability", "scope": "server", @@ -10055,7 +9770,7 @@ "section": "def-server.ObservabilityRouteCreateOptions", "text": "ObservabilityRouteCreateOptions" }, - ">; }" + "; }" ], "path": "x-pack/plugins/observability/server/routes/get_global_observability_server_route_repository.ts", "deprecated": false, @@ -11756,111 +11471,7 @@ }, { "parentPluginId": "observability", - "id": "def-server.uiSettings.apmEnableServiceMetrics.value", - "type": "boolean", - "tags": [], - "label": "value", - "description": [], - "signature": [ - "true" - ], - "path": "x-pack/plugins/observability/server/ui_settings.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-server.uiSettings.apmEnableServiceMetrics.description", - "type": "Any", - "tags": [], - "label": "description", - "description": [], - "signature": [ - "any" - ], - "path": "x-pack/plugins/observability/server/ui_settings.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-server.uiSettings.apmEnableServiceMetrics.schema", - "type": "Object", - "tags": [], - "label": "schema", - "description": [], - "signature": [ - { - "pluginId": "@kbn/config-schema", - "scope": "common", - "docId": "kibKbnConfigSchemaPluginApi", - "section": "def-common.Type", - "text": "Type" - }, - "" - ], - "path": "x-pack/plugins/observability/server/ui_settings.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-server.uiSettings.apmEnableServiceMetrics.requiresPageReload", - "type": "boolean", - "tags": [], - "label": "requiresPageReload", - "description": [], - "signature": [ - "true" - ], - "path": "x-pack/plugins/observability/server/ui_settings.ts", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "observability", - "id": "def-server.uiSettings.apmEnableContinuousRollups", - "type": "Object", - "tags": [], - "label": "[apmEnableContinuousRollups]", - "description": [], - "path": "x-pack/plugins/observability/server/ui_settings.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "observability", - "id": "def-server.uiSettings.apmEnableContinuousRollups.category", - "type": "Array", - "tags": [], - "label": "category", - "description": [], - "signature": [ - "string[]" - ], - "path": "x-pack/plugins/observability/server/ui_settings.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-server.uiSettings.apmEnableContinuousRollups.name", - "type": "Any", - "tags": [], - "label": "name", - "description": [], - "signature": [ - "any" - ], - "path": "x-pack/plugins/observability/server/ui_settings.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-server.uiSettings.apmEnableContinuousRollups.value", + "id": "def-server.uiSettings.apmEnableServiceMetrics.value", "type": "boolean", "tags": [], "label": "value", @@ -11874,7 +11485,7 @@ }, { "parentPluginId": "observability", - "id": "def-server.uiSettings.apmEnableContinuousRollups.description", + "id": "def-server.uiSettings.apmEnableServiceMetrics.description", "type": "Any", "tags": [], "label": "description", @@ -11888,7 +11499,7 @@ }, { "parentPluginId": "observability", - "id": "def-server.uiSettings.apmEnableContinuousRollups.schema", + "id": "def-server.uiSettings.apmEnableServiceMetrics.schema", "type": "Object", "tags": [], "label": "schema", @@ -11909,7 +11520,7 @@ }, { "parentPluginId": "observability", - "id": "def-server.uiSettings.apmEnableContinuousRollups.requiresPageReload", + "id": "def-server.uiSettings.apmEnableServiceMetrics.requiresPageReload", "type": "boolean", "tags": [], "label": "requiresPageReload", @@ -11925,10 +11536,10 @@ }, { "parentPluginId": "observability", - "id": "def-server.uiSettings.enableCriticalPath", + "id": "def-server.uiSettings.apmEnableContinuousRollups", "type": "Object", "tags": [], - "label": "[enableCriticalPath]", + "label": "[apmEnableContinuousRollups]", "description": [], "path": "x-pack/plugins/observability/server/ui_settings.ts", "deprecated": false, @@ -11936,7 +11547,7 @@ "children": [ { "parentPluginId": "observability", - "id": "def-server.uiSettings.enableCriticalPath.category", + "id": "def-server.uiSettings.apmEnableContinuousRollups.category", "type": "Array", "tags": [], "label": "category", @@ -11950,7 +11561,7 @@ }, { "parentPluginId": "observability", - "id": "def-server.uiSettings.enableCriticalPath.name", + "id": "def-server.uiSettings.apmEnableContinuousRollups.name", "type": "Any", "tags": [], "label": "name", @@ -11964,7 +11575,21 @@ }, { "parentPluginId": "observability", - "id": "def-server.uiSettings.enableCriticalPath.description", + "id": "def-server.uiSettings.apmEnableContinuousRollups.value", + "type": "boolean", + "tags": [], + "label": "value", + "description": [], + "signature": [ + "true" + ], + "path": "x-pack/plugins/observability/server/ui_settings.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "observability", + "id": "def-server.uiSettings.apmEnableContinuousRollups.description", "type": "Any", "tags": [], "label": "description", @@ -11978,7 +11603,7 @@ }, { "parentPluginId": "observability", - "id": "def-server.uiSettings.enableCriticalPath.schema", + "id": "def-server.uiSettings.apmEnableContinuousRollups.schema", "type": "Object", "tags": [], "label": "schema", @@ -11999,21 +11624,7 @@ }, { "parentPluginId": "observability", - "id": "def-server.uiSettings.enableCriticalPath.value", - "type": "boolean", - "tags": [], - "label": "value", - "description": [], - "signature": [ - "false" - ], - "path": "x-pack/plugins/observability/server/ui_settings.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-server.uiSettings.enableCriticalPath.requiresPageReload", + "id": "def-server.uiSettings.apmEnableContinuousRollups.requiresPageReload", "type": "boolean", "tags": [], "label": "requiresPageReload", @@ -12024,43 +11635,15 @@ "path": "x-pack/plugins/observability/server/ui_settings.ts", "deprecated": false, "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-server.uiSettings.enableCriticalPath.type", - "type": "string", - "tags": [], - "label": "type", - "description": [], - "signature": [ - "\"boolean\"" - ], - "path": "x-pack/plugins/observability/server/ui_settings.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "observability", - "id": "def-server.uiSettings.enableCriticalPath.showInLabs", - "type": "boolean", - "tags": [], - "label": "showInLabs", - "description": [], - "signature": [ - "true" - ], - "path": "x-pack/plugins/observability/server/ui_settings.ts", - "deprecated": false, - "trackAdoption": false } ] }, { "parentPluginId": "observability", - "id": "def-server.uiSettings.profilingElasticsearchPlugin", + "id": "def-server.uiSettings.enableCriticalPath", "type": "Object", "tags": [], - "label": "[profilingElasticsearchPlugin]", + "label": "[enableCriticalPath]", "description": [], "path": "x-pack/plugins/observability/server/ui_settings.ts", "deprecated": false, @@ -12068,7 +11651,7 @@ "children": [ { "parentPluginId": "observability", - "id": "def-server.uiSettings.profilingElasticsearchPlugin.category", + "id": "def-server.uiSettings.enableCriticalPath.category", "type": "Array", "tags": [], "label": "category", @@ -12082,7 +11665,7 @@ }, { "parentPluginId": "observability", - "id": "def-server.uiSettings.profilingElasticsearchPlugin.name", + "id": "def-server.uiSettings.enableCriticalPath.name", "type": "Any", "tags": [], "label": "name", @@ -12096,7 +11679,7 @@ }, { "parentPluginId": "observability", - "id": "def-server.uiSettings.profilingElasticsearchPlugin.description", + "id": "def-server.uiSettings.enableCriticalPath.description", "type": "Any", "tags": [], "label": "description", @@ -12110,7 +11693,7 @@ }, { "parentPluginId": "observability", - "id": "def-server.uiSettings.profilingElasticsearchPlugin.schema", + "id": "def-server.uiSettings.enableCriticalPath.schema", "type": "Object", "tags": [], "label": "schema", @@ -12131,13 +11714,13 @@ }, { "parentPluginId": "observability", - "id": "def-server.uiSettings.profilingElasticsearchPlugin.value", + "id": "def-server.uiSettings.enableCriticalPath.value", "type": "boolean", "tags": [], "label": "value", "description": [], "signature": [ - "true" + "false" ], "path": "x-pack/plugins/observability/server/ui_settings.ts", "deprecated": false, @@ -12145,7 +11728,7 @@ }, { "parentPluginId": "observability", - "id": "def-server.uiSettings.profilingElasticsearchPlugin.requiresPageReload", + "id": "def-server.uiSettings.enableCriticalPath.requiresPageReload", "type": "boolean", "tags": [], "label": "requiresPageReload", @@ -12159,7 +11742,7 @@ }, { "parentPluginId": "observability", - "id": "def-server.uiSettings.profilingElasticsearchPlugin.type", + "id": "def-server.uiSettings.enableCriticalPath.type", "type": "string", "tags": [], "label": "type", @@ -12170,6 +11753,20 @@ "path": "x-pack/plugins/observability/server/ui_settings.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "observability", + "id": "def-server.uiSettings.enableCriticalPath.showInLabs", + "type": "boolean", + "tags": [], + "label": "showInLabs", + "description": [], + "signature": [ + "true" + ], + "path": "x-pack/plugins/observability/server/ui_settings.ts", + "deprecated": false, + "trackAdoption": false } ] }, @@ -12319,7 +11916,23 @@ "GetResponse", ">; delete: (deleteParams: { id: string; }) => Promise<", "WriteResponseBase", - ">; } | undefined>; }" + ">; } | undefined>; alertsLocator: ", + { + "pluginId": "share", + "scope": "common", + "docId": "kibSharePluginApi", + "section": "def-common.LocatorPublic", + "text": "LocatorPublic" + }, + "<", + { + "pluginId": "observability", + "scope": "common", + "docId": "kibObservabilityPluginApi", + "section": "def-common.AlertsLocatorParams", + "text": "AlertsLocatorParams" + }, + ">; }" ], "path": "x-pack/plugins/observability/server/plugin.ts", "deprecated": false, @@ -12333,65 +11946,257 @@ "functions": [ { "parentPluginId": "observability", - "id": "def-common.asPercent", + "id": "def-common.asDuration", + "type": "Function", + "tags": [], + "label": "asDuration", + "description": [ + "\nConverts value and returns it formatted - 00 unit" + ], + "signature": [ + "(value: ", + "Maybe", + ", { defaultValue = NOT_AVAILABLE_LABEL, extended }: FormatterOptions) => string" + ], + "path": "x-pack/plugins/observability/common/utils/formatters/duration.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "observability", + "id": "def-common.asDuration.$1", + "type": "CompoundType", + "tags": [], + "label": "value", + "description": [], + "signature": [ + "Maybe", + "" + ], + "path": "x-pack/plugins/observability/common/utils/formatters/duration.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + }, + { + "parentPluginId": "observability", + "id": "def-common.asDuration.$2", + "type": "Object", + "tags": [], + "label": "{ defaultValue = NOT_AVAILABLE_LABEL, extended }", + "description": [], + "signature": [ + "FormatterOptions" + ], + "path": "x-pack/plugins/observability/common/utils/formatters/duration.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "observability", + "id": "def-common.asPercent", + "type": "Function", + "tags": [], + "label": "asPercent", + "description": [], + "signature": [ + "(numerator: ", + "Maybe", + ", denominator: number | undefined, fallbackResult: any) => any" + ], + "path": "x-pack/plugins/observability/common/utils/formatters/formatters.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "observability", + "id": "def-common.asPercent.$1", + "type": "CompoundType", + "tags": [], + "label": "numerator", + "description": [], + "signature": [ + "Maybe", + "" + ], + "path": "x-pack/plugins/observability/common/utils/formatters/formatters.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + }, + { + "parentPluginId": "observability", + "id": "def-common.asPercent.$2", + "type": "number", + "tags": [], + "label": "denominator", + "description": [], + "signature": [ + "number | undefined" + ], + "path": "x-pack/plugins/observability/common/utils/formatters/formatters.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + }, + { + "parentPluginId": "observability", + "id": "def-common.asPercent.$3", + "type": "Any", + "tags": [], + "label": "fallbackResult", + "description": [], + "signature": [ + "any" + ], + "path": "x-pack/plugins/observability/common/utils/formatters/formatters.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "observability", + "id": "def-common.formatDurationFromTimeUnitChar", + "type": "Function", + "tags": [], + "label": "formatDurationFromTimeUnitChar", + "description": [], + "signature": [ + "(time: number, unit: ", + { + "pluginId": "observability", + "scope": "common", + "docId": "kibObservabilityPluginApi", + "section": "def-common.TimeUnitChar", + "text": "TimeUnitChar" + }, + ") => string" + ], + "path": "x-pack/plugins/observability/common/utils/formatters/duration.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "observability", + "id": "def-common.formatDurationFromTimeUnitChar.$1", + "type": "number", + "tags": [], + "label": "time", + "description": [], + "signature": [ + "number" + ], + "path": "x-pack/plugins/observability/common/utils/formatters/duration.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "observability", + "id": "def-common.formatDurationFromTimeUnitChar.$2", + "type": "CompoundType", + "tags": [], + "label": "unit", + "description": [], + "signature": [ + { + "pluginId": "observability", + "scope": "common", + "docId": "kibObservabilityPluginApi", + "section": "def-common.TimeUnitChar", + "text": "TimeUnitChar" + } + ], + "path": "x-pack/plugins/observability/common/utils/formatters/duration.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "observability", + "id": "def-common.getAlertDetailsUrl", "type": "Function", "tags": [], - "label": "asPercent", + "label": "getAlertDetailsUrl", "description": [], "signature": [ - "(numerator: ", - "Maybe", - ", denominator: number | undefined, fallbackResult: any) => any" + "(basePath: ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.IBasePath", + "text": "IBasePath" + }, + ", spaceId: string, alertUuid: string | null) => string" ], - "path": "x-pack/plugins/observability/common/utils/formatters/formatters.ts", + "path": "x-pack/plugins/observability/common/utils/alerting/alert_url.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "observability", - "id": "def-common.asPercent.$1", - "type": "CompoundType", + "id": "def-common.getAlertDetailsUrl.$1", + "type": "Object", "tags": [], - "label": "numerator", + "label": "basePath", "description": [], "signature": [ - "Maybe", - "" + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.IBasePath", + "text": "IBasePath" + } ], - "path": "x-pack/plugins/observability/common/utils/formatters/formatters.ts", + "path": "x-pack/plugins/observability/common/utils/alerting/alert_url.ts", "deprecated": false, "trackAdoption": false, - "isRequired": false + "isRequired": true }, { "parentPluginId": "observability", - "id": "def-common.asPercent.$2", - "type": "number", + "id": "def-common.getAlertDetailsUrl.$2", + "type": "string", "tags": [], - "label": "denominator", + "label": "spaceId", "description": [], "signature": [ - "number | undefined" + "string" ], - "path": "x-pack/plugins/observability/common/utils/formatters/formatters.ts", + "path": "x-pack/plugins/observability/common/utils/alerting/alert_url.ts", "deprecated": false, "trackAdoption": false, - "isRequired": false + "isRequired": true }, { "parentPluginId": "observability", - "id": "def-common.asPercent.$3", - "type": "Any", + "id": "def-common.getAlertDetailsUrl.$3", + "type": "CompoundType", "tags": [], - "label": "fallbackResult", + "label": "alertUuid", "description": [], "signature": [ - "any" + "string | null" ], - "path": "x-pack/plugins/observability/common/utils/formatters/formatters.ts", + "path": "x-pack/plugins/observability/common/utils/alerting/alert_url.ts", "deprecated": false, "trackAdoption": false, - "isRequired": true + "isRequired": false } ], "returnComment": [], @@ -12399,61 +12204,123 @@ }, { "parentPluginId": "observability", - "id": "def-common.formatDurationFromTimeUnitChar", + "id": "def-common.getAlertUrl", "type": "Function", "tags": [], - "label": "formatDurationFromTimeUnitChar", + "label": "getAlertUrl", "description": [], "signature": [ - "(time: number, unit: ", + "(alertUuid: string | null, spaceId: string, startedAt: string, alertsLocator?: ", + { + "pluginId": "share", + "scope": "common", + "docId": "kibSharePluginApi", + "section": "def-common.LocatorPublic", + "text": "LocatorPublic" + }, + "<", { "pluginId": "observability", "scope": "common", "docId": "kibObservabilityPluginApi", - "section": "def-common.TimeUnitChar", - "text": "TimeUnitChar" + "section": "def-common.AlertsLocatorParams", + "text": "AlertsLocatorParams" }, - ") => string" + "> | undefined, publicBaseUrl?: string | undefined) => Promise" ], - "path": "x-pack/plugins/observability/common/utils/formatters/duration.ts", + "path": "x-pack/plugins/observability/common/utils/alerting/alert_url.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "observability", - "id": "def-common.formatDurationFromTimeUnitChar.$1", - "type": "number", + "id": "def-common.getAlertUrl.$1", + "type": "CompoundType", "tags": [], - "label": "time", + "label": "alertUuid", "description": [], "signature": [ - "number" + "string | null" ], - "path": "x-pack/plugins/observability/common/utils/formatters/duration.ts", + "path": "x-pack/plugins/observability/common/utils/alerting/alert_url.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + }, + { + "parentPluginId": "observability", + "id": "def-common.getAlertUrl.$2", + "type": "string", + "tags": [], + "label": "spaceId", + "description": [], + "signature": [ + "string" + ], + "path": "x-pack/plugins/observability/common/utils/alerting/alert_url.ts", "deprecated": false, "trackAdoption": false, "isRequired": true }, { "parentPluginId": "observability", - "id": "def-common.formatDurationFromTimeUnitChar.$2", - "type": "CompoundType", + "id": "def-common.getAlertUrl.$3", + "type": "string", "tags": [], - "label": "unit", + "label": "startedAt", + "description": [], + "signature": [ + "string" + ], + "path": "x-pack/plugins/observability/common/utils/alerting/alert_url.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "observability", + "id": "def-common.getAlertUrl.$4", + "type": "Object", + "tags": [], + "label": "alertsLocator", "description": [], "signature": [ + { + "pluginId": "share", + "scope": "common", + "docId": "kibSharePluginApi", + "section": "def-common.LocatorPublic", + "text": "LocatorPublic" + }, + "<", { "pluginId": "observability", "scope": "common", "docId": "kibObservabilityPluginApi", - "section": "def-common.TimeUnitChar", - "text": "TimeUnitChar" - } + "section": "def-common.AlertsLocatorParams", + "text": "AlertsLocatorParams" + }, + "> | undefined" ], - "path": "x-pack/plugins/observability/common/utils/formatters/duration.ts", + "path": "x-pack/plugins/observability/common/utils/alerting/alert_url.ts", "deprecated": false, "trackAdoption": false, - "isRequired": true + "isRequired": false + }, + { + "parentPluginId": "observability", + "id": "def-common.getAlertUrl.$5", + "type": "string", + "tags": [], + "label": "publicBaseUrl", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "x-pack/plugins/observability/common/utils/alerting/alert_url.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false } ], "returnComment": [], @@ -12707,7 +12574,118 @@ "initialIsOpen": false } ], - "interfaces": [], + "interfaces": [ + { + "parentPluginId": "observability", + "id": "def-common.AlertsLocatorParams", + "type": "Interface", + "tags": [], + "label": "AlertsLocatorParams", + "description": [], + "signature": [ + { + "pluginId": "observability", + "scope": "common", + "docId": "kibObservabilityPluginApi", + "section": "def-common.AlertsLocatorParams", + "text": "AlertsLocatorParams" + }, + " extends ", + { + "pluginId": "@kbn/utility-types", + "scope": "common", + "docId": "kibKbnUtilityTypesPluginApi", + "section": "def-common.SerializableRecord", + "text": "SerializableRecord" + } + ], + "path": "x-pack/plugins/observability/common/locators/alerts.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "observability", + "id": "def-common.AlertsLocatorParams.baseUrl", + "type": "string", + "tags": [], + "label": "baseUrl", + "description": [], + "path": "x-pack/plugins/observability/common/locators/alerts.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "observability", + "id": "def-common.AlertsLocatorParams.spaceId", + "type": "string", + "tags": [], + "label": "spaceId", + "description": [], + "path": "x-pack/plugins/observability/common/locators/alerts.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "observability", + "id": "def-common.AlertsLocatorParams.rangeFrom", + "type": "string", + "tags": [], + "label": "rangeFrom", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "x-pack/plugins/observability/common/locators/alerts.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "observability", + "id": "def-common.AlertsLocatorParams.rangeTo", + "type": "string", + "tags": [], + "label": "rangeTo", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "x-pack/plugins/observability/common/locators/alerts.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "observability", + "id": "def-common.AlertsLocatorParams.kuery", + "type": "string", + "tags": [], + "label": "kuery", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "x-pack/plugins/observability/common/locators/alerts.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "observability", + "id": "def-common.AlertsLocatorParams.status", + "type": "CompoundType", + "tags": [], + "label": "status", + "description": [], + "signature": [ + "AlertStatus", + " | undefined" + ], + "path": "x-pack/plugins/observability/common/locators/alerts.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], "enums": [ { "parentPluginId": "observability", @@ -12735,6 +12713,21 @@ } ], "misc": [ + { + "parentPluginId": "observability", + "id": "def-common.alertsLocatorID", + "type": "string", + "tags": [], + "label": "alertsLocatorID", + "description": [], + "signature": [ + "\"ALERTS_LOCATOR\"" + ], + "path": "x-pack/plugins/observability/common/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "observability", "id": "def-common.apmAWSLambdaPriceFactor", @@ -13175,21 +13168,6 @@ "trackAdoption": false, "initialIsOpen": false }, - { - "parentPluginId": "observability", - "id": "def-common.profilingElasticsearchPlugin", - "type": "string", - "tags": [], - "label": "profilingElasticsearchPlugin", - "description": [], - "signature": [ - "\"observability:profilingElasticsearchPlugin\"" - ], - "path": "x-pack/plugins/observability/common/ui_settings_keys.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, { "parentPluginId": "observability", "id": "def-common.ruleDetailsLocatorID", diff --git a/api_docs/observability.mdx b/api_docs/observability.mdx index e4f96896aebf7..ef57d57c7b7b4 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observability'] --- import observabilityObj from './observability.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/actionable-observability](https://github.com/orgs/elastic/team | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 555 | 45 | 549 | 25 | +| 501 | 43 | 494 | 15 | ## Client @@ -37,9 +37,6 @@ Contact [@elastic/actionable-observability](https://github.com/orgs/elastic/team ### Interfaces -### Enums - - ### Consts, variables and types @@ -68,6 +65,9 @@ Contact [@elastic/actionable-observability](https://github.com/orgs/elastic/team ### Functions +### Interfaces + + ### Enums diff --git a/api_docs/observability_onboarding.mdx b/api_docs/observability_onboarding.mdx index c993eafe2754f..dea84a6b78f26 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityOnboarding'] --- import observabilityOnboardingObj from './observability_onboarding.devdocs.json'; diff --git a/api_docs/observability_shared.devdocs.json b/api_docs/observability_shared.devdocs.json index dd4de6f05e940..7c927aedde4af 100644 --- a/api_docs/observability_shared.devdocs.json +++ b/api_docs/observability_shared.devdocs.json @@ -58,7 +58,13 @@ "() => { navigation: { registerSections: (sections$: ", "Observable", "<", - "NavigationSection", + { + "pluginId": "observabilityShared", + "scope": "public", + "docId": "kibObservabilitySharedPluginApi", + "section": "def-public.NavigationSection", + "text": "NavigationSection" + }, "[]>) => void; }; }" ], "path": "x-pack/plugins/observability_shared/public/plugin.ts", @@ -171,6 +177,56 @@ } ], "functions": [ + { + "parentPluginId": "observabilityShared", + "id": "def-public.ActionMenu", + "type": "Function", + "tags": [], + "label": "ActionMenu", + "description": [], + "signature": [ + "(props: Props) => JSX.Element" + ], + "path": "x-pack/plugins/observability_shared/public/components/action_menu/action_menu.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "observabilityShared", + "id": "def-public.ActionMenu.$1", + "type": "CompoundType", + "tags": [], + "label": "props", + "description": [], + "signature": [ + "Props" + ], + "path": "x-pack/plugins/observability_shared/public/components/action_menu/action_menu.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-public.ActionMenuDivider", + "type": "Function", + "tags": [], + "label": "ActionMenuDivider", + "description": [], + "signature": [ + "() => JSX.Element" + ], + "path": "x-pack/plugins/observability_shared/public/components/action_menu/action_menu.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "observabilityShared", "id": "def-public.createEsParams", @@ -453,6 +509,74 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "observabilityShared", + "id": "def-public.LoadWhenInView", + "type": "Function", + "tags": [], + "label": "LoadWhenInView", + "description": [], + "signature": [ + "(props: ", + "LoadWhenInViewProps", + ") => JSX.Element" + ], + "path": "x-pack/plugins/observability_shared/public/components/load_when_in_view/get_load_when_in_view_lazy.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "observabilityShared", + "id": "def-public.LoadWhenInView.$1", + "type": "Object", + "tags": [], + "label": "props", + "description": [], + "signature": [ + "LoadWhenInViewProps" + ], + "path": "x-pack/plugins/observability_shared/public/components/load_when_in_view/get_load_when_in_view_lazy.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-public.NavigationWarningPromptProvider", + "type": "Function", + "tags": [], + "label": "NavigationWarningPromptProvider", + "description": [], + "signature": [ + "({ children }: { children?: React.ReactNode; }) => JSX.Element" + ], + "path": "x-pack/plugins/observability_shared/public/components/navigation_warning_prompt/context.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "observabilityShared", + "id": "def-public.NavigationWarningPromptProvider.$1", + "type": "Object", + "tags": [], + "label": "{ children }", + "description": [], + "signature": [ + "{ children?: React.ReactNode; }" + ], + "path": "x-pack/plugins/observability_shared/public/components/navigation_warning_prompt/context.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "observabilityShared", "id": "def-public.noCasesPermissions", @@ -470,6 +594,278 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "observabilityShared", + "id": "def-public.Prompt", + "type": "Function", + "tags": [], + "label": "Prompt", + "description": [], + "signature": [ + "({ prompt }: React.PropsWithChildren) => null" + ], + "path": "x-pack/plugins/observability_shared/public/components/navigation_warning_prompt/prompt.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "observabilityShared", + "id": "def-public.Prompt.$1", + "type": "CompoundType", + "tags": [], + "label": "{ prompt }", + "description": [], + "signature": [ + "React.PropsWithChildren" + ], + "path": "x-pack/plugins/observability_shared/public/components/navigation_warning_prompt/prompt.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-public.Section", + "type": "Function", + "tags": [], + "label": "Section", + "description": [], + "signature": [ + "string & ", + "StyledComponentBase", + "<\"div\", any, {}, never> & ", + "NonReactStatics", + "" + ], + "path": "x-pack/plugins/observability_shared/public/components/section/section.tsx", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-public.SectionLink", + "type": "Function", + "tags": [], + "label": "SectionLink", + "description": [], + "signature": [ + "(props: ", + "EuiListGroupItemProps", + ") => JSX.Element" + ], + "path": "x-pack/plugins/observability_shared/public/components/section/section.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "observabilityShared", + "id": "def-public.SectionLink.$1", + "type": "CompoundType", + "tags": [], + "label": "props", + "description": [], + "signature": [ + "EuiListGroupItemProps" + ], + "path": "x-pack/plugins/observability_shared/public/components/section/section.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-public.SectionLinks", + "type": "Function", + "tags": [], + "label": "SectionLinks", + "description": [], + "signature": [ + "({ children, ...props }: { children?: React.ReactNode; } & ", + "CommonProps", + " & Omit, \"color\"> & { bordered?: boolean | undefined; flush?: boolean | undefined; gutterSize?: \"m\" | \"none\" | \"s\" | undefined; listItems?: ", + "EuiListGroupItemProps", + "[] | undefined; color?: \"text\" | \"subdued\" | \"primary\" | undefined; size?: \"m\" | \"s\" | \"xs\" | \"l\" | undefined; maxWidth?: boolean | ", + "Property", + ".MaxWidth | undefined; showToolTips?: boolean | undefined; wrapText?: boolean | undefined; ariaLabelledby?: string | undefined; }) => JSX.Element" + ], + "path": "x-pack/plugins/observability_shared/public/components/section/section.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "observabilityShared", + "id": "def-public.SectionLinks.$1", + "type": "CompoundType", + "tags": [], + "label": "{ children, ...props }", + "description": [], + "signature": [ + "{ children?: React.ReactNode; } & ", + "CommonProps", + " & Omit, \"color\"> & { bordered?: boolean | undefined; flush?: boolean | undefined; gutterSize?: \"m\" | \"none\" | \"s\" | undefined; listItems?: ", + "EuiListGroupItemProps", + "[] | undefined; color?: \"text\" | \"subdued\" | \"primary\" | undefined; size?: \"m\" | \"s\" | \"xs\" | \"l\" | undefined; maxWidth?: boolean | ", + "Property", + ".MaxWidth | undefined; showToolTips?: boolean | undefined; wrapText?: boolean | undefined; ariaLabelledby?: string | undefined; }" + ], + "path": "x-pack/plugins/observability_shared/public/components/section/section.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-public.SectionSpacer", + "type": "Function", + "tags": [], + "label": "SectionSpacer", + "description": [], + "signature": [ + "() => JSX.Element" + ], + "path": "x-pack/plugins/observability_shared/public/components/section/section.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-public.SectionSubtitle", + "type": "Function", + "tags": [], + "label": "SectionSubtitle", + "description": [], + "signature": [ + "({ children }: { children?: React.ReactNode; }) => JSX.Element" + ], + "path": "x-pack/plugins/observability_shared/public/components/section/section.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "observabilityShared", + "id": "def-public.SectionSubtitle.$1", + "type": "Object", + "tags": [], + "label": "{ children }", + "description": [], + "path": "x-pack/plugins/observability_shared/public/components/section/section.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "observabilityShared", + "id": "def-public.SectionSubtitle.$1.children", + "type": "CompoundType", + "tags": [], + "label": "children", + "description": [], + "signature": [ + "boolean | React.ReactChild | React.ReactFragment | React.ReactPortal | null | undefined" + ], + "path": "x-pack/plugins/observability_shared/public/components/section/section.tsx", + "deprecated": false, + "trackAdoption": false + } + ] + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-public.SectionTitle", + "type": "Function", + "tags": [], + "label": "SectionTitle", + "description": [], + "signature": [ + "({ children }: { children?: React.ReactNode; }) => JSX.Element" + ], + "path": "x-pack/plugins/observability_shared/public/components/section/section.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "observabilityShared", + "id": "def-public.SectionTitle.$1", + "type": "Object", + "tags": [], + "label": "{ children }", + "description": [], + "path": "x-pack/plugins/observability_shared/public/components/section/section.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "observabilityShared", + "id": "def-public.SectionTitle.$1.children", + "type": "CompoundType", + "tags": [], + "label": "children", + "description": [], + "signature": [ + "boolean | React.ReactChild | React.ReactFragment | React.ReactPortal | null | undefined" + ], + "path": "x-pack/plugins/observability_shared/public/components/section/section.tsx", + "deprecated": false, + "trackAdoption": false + } + ] + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-public.shouldHandleLinkEvent", + "type": "Function", + "tags": [], + "label": "shouldHandleLinkEvent", + "description": [], + "signature": [ + "(e: React.MouseEvent | React.MouseEvent) => boolean" + ], + "path": "x-pack/plugins/observability_shared/public/hooks/use_link_props.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "observabilityShared", + "id": "def-public.shouldHandleLinkEvent.$1", + "type": "CompoundType", + "tags": [], + "label": "e", + "description": [], + "signature": [ + "React.MouseEvent | React.MouseEvent" + ], + "path": "x-pack/plugins/observability_shared/public/hooks/use_link_props.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "observabilityShared", "id": "def-public.useBreadcrumbs", @@ -541,6 +937,27 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "observabilityShared", + "id": "def-public.useChartTheme", + "type": "Function", + "tags": [], + "label": "useChartTheme", + "description": [], + "signature": [ + "() => ", + "RecursivePartial", + "<", + "Theme", + ">[]" + ], + "path": "x-pack/plugins/observability_shared/public/hooks/use_chart_theme.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "observabilityShared", "id": "def-public.useEsSearch", @@ -661,7 +1078,13 @@ "description": [], "signature": [ "(fn: ({}: { signal: AbortSignal; }) => TReturn, fnDeps: any[], options: { preservePreviousData?: boolean | undefined; }) => ", - "FetcherResult", + { + "pluginId": "observabilityShared", + "scope": "public", + "docId": "kibObservabilitySharedPluginApi", + "section": "def-public.FetcherResult", + "text": "FetcherResult" + }, "> & { refetch: () => void; }" ], "path": "x-pack/plugins/observability_shared/public/hooks/use_fetcher.tsx", @@ -796,6 +1219,83 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "observabilityShared", + "id": "def-public.useLinkProps", + "type": "Function", + "tags": [], + "label": "useLinkProps", + "description": [], + "signature": [ + "({ app, pathname, hash, search }: ", + { + "pluginId": "observabilityShared", + "scope": "public", + "docId": "kibObservabilitySharedPluginApi", + "section": "def-public.LinkDescriptor", + "text": "LinkDescriptor" + }, + ", options?: ", + { + "pluginId": "observabilityShared", + "scope": "public", + "docId": "kibObservabilitySharedPluginApi", + "section": "def-public.Options", + "text": "Options" + }, + ") => ", + "LinkProps" + ], + "path": "x-pack/plugins/observability_shared/public/hooks/use_link_props.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "observabilityShared", + "id": "def-public.useLinkProps.$1", + "type": "Object", + "tags": [], + "label": "{ app, pathname, hash, search }", + "description": [], + "signature": [ + { + "pluginId": "observabilityShared", + "scope": "public", + "docId": "kibObservabilitySharedPluginApi", + "section": "def-public.LinkDescriptor", + "text": "LinkDescriptor" + } + ], + "path": "x-pack/plugins/observability_shared/public/hooks/use_link_props.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "observabilityShared", + "id": "def-public.useLinkProps.$2", + "type": "Object", + "tags": [], + "label": "options", + "description": [], + "signature": [ + { + "pluginId": "observabilityShared", + "scope": "public", + "docId": "kibObservabilitySharedPluginApi", + "section": "def-public.Options", + "text": "Options" + } + ], + "path": "x-pack/plugins/observability_shared/public/hooks/use_link_props.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "observabilityShared", "id": "def-public.useObservabilityTourContext", @@ -855,6 +1355,23 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "observabilityShared", + "id": "def-public.useTimeZone", + "type": "Function", + "tags": [], + "label": "useTimeZone", + "description": [], + "signature": [ + "() => string" + ], + "path": "x-pack/plugins/observability_shared/public/hooks/use_time_zone.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "observabilityShared", "id": "def-public.useTrackMetric", @@ -1079,6 +1596,159 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "observabilityShared", + "id": "def-public.FetcherResult", + "type": "Interface", + "tags": [], + "label": "FetcherResult", + "description": [], + "signature": [ + { + "pluginId": "observabilityShared", + "scope": "public", + "docId": "kibObservabilitySharedPluginApi", + "section": "def-public.FetcherResult", + "text": "FetcherResult" + }, + "" + ], + "path": "x-pack/plugins/observability_shared/public/hooks/use_fetcher.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "observabilityShared", + "id": "def-public.FetcherResult.data", + "type": "Uncategorized", + "tags": [], + "label": "data", + "description": [], + "signature": [ + "Data | undefined" + ], + "path": "x-pack/plugins/observability_shared/public/hooks/use_fetcher.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-public.FetcherResult.status", + "type": "Enum", + "tags": [], + "label": "status", + "description": [], + "signature": [ + { + "pluginId": "observabilityShared", + "scope": "public", + "docId": "kibObservabilitySharedPluginApi", + "section": "def-public.FETCH_STATUS", + "text": "FETCH_STATUS" + } + ], + "path": "x-pack/plugins/observability_shared/public/hooks/use_fetcher.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-public.FetcherResult.error", + "type": "Object", + "tags": [], + "label": "error", + "description": [], + "signature": [ + "Error | undefined" + ], + "path": "x-pack/plugins/observability_shared/public/hooks/use_fetcher.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-public.FetcherResult.loading", + "type": "CompoundType", + "tags": [], + "label": "loading", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "x-pack/plugins/observability_shared/public/hooks/use_fetcher.tsx", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-public.LinkDescriptor", + "type": "Interface", + "tags": [], + "label": "LinkDescriptor", + "description": [], + "path": "x-pack/plugins/observability_shared/public/hooks/use_link_props.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "observabilityShared", + "id": "def-public.LinkDescriptor.app", + "type": "string", + "tags": [], + "label": "app", + "description": [], + "path": "x-pack/plugins/observability_shared/public/hooks/use_link_props.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-public.LinkDescriptor.pathname", + "type": "string", + "tags": [], + "label": "pathname", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "x-pack/plugins/observability_shared/public/hooks/use_link_props.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-public.LinkDescriptor.hash", + "type": "string", + "tags": [], + "label": "hash", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "x-pack/plugins/observability_shared/public/hooks/use_link_props.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-public.LinkDescriptor.search", + "type": "Object", + "tags": [], + "label": "search", + "description": [], + "signature": [ + "Search | undefined" + ], + "path": "x-pack/plugins/observability_shared/public/hooks/use_link_props.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "observabilityShared", "id": "def-public.NavigationEntry", @@ -1260,6 +1930,108 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "observabilityShared", + "id": "def-public.NavigationSection", + "type": "Interface", + "tags": [], + "label": "NavigationSection", + "description": [], + "path": "x-pack/plugins/observability_shared/public/components/page_template/page_template.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "observabilityShared", + "id": "def-public.NavigationSection.label", + "type": "string", + "tags": [], + "label": "label", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "x-pack/plugins/observability_shared/public/components/page_template/page_template.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-public.NavigationSection.sortKey", + "type": "number", + "tags": [], + "label": "sortKey", + "description": [], + "path": "x-pack/plugins/observability_shared/public/components/page_template/page_template.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-public.NavigationSection.entries", + "type": "Array", + "tags": [], + "label": "entries", + "description": [], + "signature": [ + { + "pluginId": "observabilityShared", + "scope": "public", + "docId": "kibObservabilitySharedPluginApi", + "section": "def-public.NavigationEntry", + "text": "NavigationEntry" + }, + "[]" + ], + "path": "x-pack/plugins/observability_shared/public/components/page_template/page_template.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-public.NavigationSection.isBetaFeature", + "type": "CompoundType", + "tags": [], + "label": "isBetaFeature", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "x-pack/plugins/observability_shared/public/components/page_template/page_template.tsx", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-public.Options", + "type": "Interface", + "tags": [], + "label": "Options", + "description": [], + "path": "x-pack/plugins/observability_shared/public/hooks/use_link_props.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "observabilityShared", + "id": "def-public.Options.hrefOnly", + "type": "CompoundType", + "tags": [], + "label": "hrefOnly", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "x-pack/plugins/observability_shared/public/hooks/use_link_props.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "observabilityShared", "id": "def-public.UXMetrics", @@ -1422,6 +2194,53 @@ } ], "misc": [ + { + "parentPluginId": "observabilityShared", + "id": "def-public.AddInspectorRequest", + "type": "Type", + "tags": [], + "label": "AddInspectorRequest", + "description": [], + "signature": [ + "(result: ", + { + "pluginId": "observabilityShared", + "scope": "public", + "docId": "kibObservabilitySharedPluginApi", + "section": "def-public.FetcherResult", + "text": "FetcherResult" + }, + "<{ mainStatisticsData?: { _inspect?: InspectResponse | undefined; } | undefined; _inspect?: InspectResponse | undefined; }>) => void" + ], + "path": "x-pack/plugins/observability_shared/public/contexts/inspector/inspector_context.tsx", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "observabilityShared", + "id": "def-public.AddInspectorRequest.$1", + "type": "Object", + "tags": [], + "label": "result", + "description": [], + "signature": [ + { + "pluginId": "observabilityShared", + "scope": "public", + "docId": "kibObservabilitySharedPluginApi", + "section": "def-public.FetcherResult", + "text": "FetcherResult" + }, + "<{ mainStatisticsData?: { _inspect?: InspectResponse | undefined; } | undefined; _inspect?: InspectResponse | undefined; }>" + ], + "path": "x-pack/plugins/observability_shared/public/contexts/inspector/inspector_context.tsx", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "observabilityShared", "id": "def-public.casesFeatureId", @@ -1538,7 +2357,13 @@ "{ navigation: { registerSections: (sections$: ", "Observable", "<", - "NavigationSection", + { + "pluginId": "observabilityShared", + "scope": "public", + "docId": "kibObservabilitySharedPluginApi", + "section": "def-public.NavigationSection", + "text": "NavigationSection" + }, "[]>) => void; }; }" ], "path": "x-pack/plugins/observability_shared/public/plugin.ts", @@ -1581,6 +2406,59 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "observabilityShared", + "id": "def-public.observTourStepStorageKey", + "type": "string", + "tags": [], + "label": "observTourStepStorageKey", + "description": [], + "signature": [ + "\"guidedOnboarding.observability.tourStep\"" + ], + "path": "x-pack/plugins/observability_shared/public/components/tour/tour.tsx", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "observabilityShared", + "id": "def-public.SectionLinkProps", + "type": "Type", + "tags": [], + "label": "SectionLinkProps", + "description": [], + "signature": [ + "CommonProps", + " & Omit<(", + "DisambiguateSet", + "<(", + "DisambiguateSet", + ", Omit, \"href\">> & Omit, \"href\">) | (", + "DisambiguateSet", + ", \"href\">, React.ButtonHTMLAttributes> & React.ButtonHTMLAttributes), React.HTMLAttributes> & React.HTMLAttributes) | (", + "DisambiguateSet", + ", (", + "DisambiguateSet", + ", Omit, \"href\">> & Omit, \"href\">) | (", + "DisambiguateSet", + ", \"href\">, React.ButtonHTMLAttributes> & React.ButtonHTMLAttributes)> & ((", + "DisambiguateSet", + ", Omit, \"href\">> & Omit, \"href\">) | (", + "DisambiguateSet", + ", \"href\">, React.ButtonHTMLAttributes> & React.ButtonHTMLAttributes))), \"color\" | \"onClick\" | \"rel\" | \"target\"> & { size?: \"m\" | \"s\" | \"xs\" | \"l\" | undefined; color?: \"text\" | \"subdued\" | \"primary\" | undefined; label: React.ReactNode; isActive?: boolean | undefined; isDisabled?: boolean | undefined; href?: string | undefined; target?: string | undefined; rel?: string | undefined; iconType?: ", + "IconType", + " | undefined; iconProps?: Omit<", + "EuiIconProps", + ", \"type\"> | undefined; icon?: React.ReactElement> | undefined; showToolTip?: boolean | undefined; extraAction?: ", + "EuiListGroupItemExtraActionProps", + " | undefined; onClick?: React.MouseEventHandler | undefined; wrapText?: boolean | undefined; buttonRef?: React.Ref | undefined; toolTipText?: string | undefined; }" + ], + "path": "x-pack/plugins/observability_shared/public/components/section/section.tsx", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "observabilityShared", "id": "def-public.sloFeatureId", diff --git a/api_docs/observability_shared.mdx b/api_docs/observability_shared.mdx index d6b4f402839d9..70b2989ac79b4 100644 --- a/api_docs/observability_shared.mdx +++ b/api_docs/observability_shared.mdx @@ -8,20 +8,20 @@ slug: /kibana-dev-docs/api/observabilityShared title: "observabilityShared" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityShared plugin -date: 2023-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityShared'] --- import observabilitySharedObj from './observability_shared.devdocs.json'; -Contact [@elastic/actionable-observability](https://github.com/orgs/elastic/teams/actionable-observability) for questions regarding this plugin. +Contact [@elastic/observability-ui](https://github.com/orgs/elastic/teams/observability-ui) for questions regarding this plugin. **Code health stats** | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 217 | 1 | 216 | 11 | +| 266 | 1 | 265 | 11 | ## Client diff --git a/api_docs/osquery.devdocs.json b/api_docs/osquery.devdocs.json index 413fba697781f..0681a92c42a2f 100644 --- a/api_docs/osquery.devdocs.json +++ b/api_docs/osquery.devdocs.json @@ -56,6 +56,39 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "osquery", + "id": "def-public.OsqueryPluginStart.OsqueryResult", + "type": "Function", + "tags": [], + "label": "OsqueryResult", + "description": [], + "signature": [ + "(props: ", + "OsqueryActionResultProps", + ") => JSX.Element" + ], + "path": "x-pack/plugins/osquery/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "osquery", + "id": "def-public.OsqueryPluginStart.OsqueryResult.$1", + "type": "Object", + "tags": [], + "label": "props", + "description": [], + "signature": [ + "OsqueryActionResultProps" + ], + "path": "x-pack/plugins/osquery/public/shared_components/lazy_osquery_result.tsx", + "deprecated": false, + "trackAdoption": false + } + ] + }, { "parentPluginId": "osquery", "id": "def-public.OsqueryPluginStart.OsqueryResults", diff --git a/api_docs/osquery.mdx b/api_docs/osquery.mdx index b952345a9d3b0..7ff856979a114 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'osquery'] --- import osqueryObj from './osquery.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/security-defend-workflows](https://github.com/orgs/elastic/tea | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 22 | 0 | 22 | 6 | +| 24 | 0 | 24 | 7 | ## Client diff --git a/api_docs/plugin_directory.mdx b/api_docs/plugin_directory.mdx index 2f8cfb0758318..884091edb1093 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -15,23 +15,23 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Count | Plugins or Packages with a
public API | Number of teams | |--------------|----------|------------------------| -| 613 | 506 | 37 | +| 625 | 518 | 38 | ### Public API health stats | API Count | Any Count | Missing comments | Missing exports | |--------------|----------|-----------------|--------| -| 69503 | 522 | 59885 | 1351 | +| 70378 | 531 | 60243 | 1365 | ## 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) | - | 259 | 8 | 254 | 26 | +| | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 264 | 10 | 259 | 26 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 36 | 1 | 32 | 2 | -| | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | AIOps plugin maintained by ML team. | 39 | 0 | 24 | 0 | -| | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 615 | 1 | 594 | 44 | -| | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | The user interface for Elastic APM | 44 | 0 | 44 | 112 | +| | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | AIOps plugin maintained by ML team. | 41 | 0 | 24 | 1 | +| | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 617 | 1 | 595 | 44 | +| | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | The user interface for Elastic APM | 44 | 0 | 44 | 113 | | | [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) | Asset manager plugin for entity assets (inventory, topology, etc) | 3 | 0 | 3 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 9 | 0 | 9 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Considering using bfetch capabilities when fetching large amounts of data. This services supports batching HTTP requests and streaming responses back. | 91 | 1 | 75 | 2 | @@ -41,36 +41,37 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 41 | 0 | 11 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | Chat available on Elastic Cloud deployments for quicker assistance. | 1 | 0 | 0 | 0 | | | [@elastic/platform-onboarding](https://github.com/orgs/elastic/teams/platform-onboarding) | Static migration page where self-managed users can see text/copy about migrating to Elastic Cloud | 8 | 1 | 8 | 1 | -| | [@elastic/sec-cloudnative-integrations](https://github.com/orgs/elastic/teams/sec-cloudnative-integrations) | Defend for containers (D4C) | 15 | 0 | 4 | 1 | +| | [@elastic/sec-cloudnative-integrations](https://github.com/orgs/elastic/teams/sec-cloudnative-integrations) | Defend for containers (D4C) | 12 | 0 | 4 | 2 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | Provides the necessary APIs to implement A/B testing scenarios, fetching the variations in configuration and reporting back metrics to track conversion rates of the experiments. | 12 | 0 | 0 | 0 | | cloudFullStory | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | When Kibana runs on Elastic Cloud, this plugin registers FullStory as a shipper for telemetry. | 0 | 0 | 0 | 0 | | cloudGainsight | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | When Kibana runs on Elastic Cloud, this plugin registers Gainsight as a shipper for telemetry. | 0 | 0 | 0 | 0 | | cloudLinks | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | Adds the links to the Elastic Cloud console | 0 | 0 | 0 | 0 | -| | [@elastic/kibana-cloud-security-posture](https://github.com/orgs/elastic/teams/kibana-cloud-security-posture) | The cloud security posture plugin | 17 | 0 | 2 | 2 | +| | [@elastic/kibana-cloud-security-posture](https://github.com/orgs/elastic/teams/kibana-cloud-security-posture) | The cloud security posture plugin | 14 | 0 | 2 | 2 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 13 | 0 | 13 | 1 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Content management app | 149 | 0 | 126 | 6 | -| | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | The Controls Plugin contains embeddable components intended to create a simple query interface for end users, and a powerful editing suite that allows dashboard authors to build controls | 301 | 0 | 294 | 13 | +| | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | The Controls Plugin contains embeddable components intended to create a simple query interface for end users, and a powerful editing suite that allows dashboard authors to build controls | 306 | 0 | 299 | 15 | | crossClusterReplication | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 0 | 0 | 0 | 0 | | customBranding | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Enables customization of Kibana | 0 | 0 | 0 | 0 | | | [@elastic/fleet](https://github.com/orgs/elastic/teams/fleet) | Add custom data integrations so they can be displayed in the Fleet integrations app | 274 | 0 | 255 | 1 | | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds the Dashboard app to Kibana | 130 | 0 | 125 | 7 | | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | - | 54 | 0 | 51 | 0 | -| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Data services are useful for searching and querying data from Elasticsearch. Helpful utilities include: a re-usable react query bar, KQL autocomplete, async search, Data Views (Index Patterns) and field formatters. | 3273 | 119 | 2579 | 27 | +| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Data services are useful for searching and querying data from Elasticsearch. Helpful utilities include: a re-usable react query bar, KQL autocomplete, async search, Data Views (Index Patterns) and field formatters. | 3301 | 119 | 2577 | 27 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | This plugin provides the ability to create data views via a modal flyout inside Kibana apps | 16 | 0 | 7 | 0 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Reusable data view field editor across Kibana | 72 | 0 | 33 | 0 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Data view management app | 2 | 0 | 2 | 0 | -| | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Data services are useful for searching and querying data from Elasticsearch. Helpful utilities include: a re-usable react query bar, KQL autocomplete, async search, Data Views (Index Patterns) and field formatters. | 1029 | 0 | 245 | 2 | +| | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Data services are useful for searching and querying data from Elasticsearch. Helpful utilities include: a re-usable react query bar, KQL autocomplete, async search, Data Views (Index Patterns) and field formatters. | 1048 | 0 | 258 | 2 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | The Data Visualizer tools help you understand your data, by analyzing the metrics and fields in a log file or an existing Elasticsearch index. | 28 | 3 | 24 | 0 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 10 | 0 | 8 | 2 | -| | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | This plugin contains the Discover application and the saved search embeddable. | 96 | 0 | 75 | 7 | +| | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | This plugin contains the Discover application and the saved search embeddable. | 83 | 0 | 64 | 7 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 37 | 0 | 35 | 2 | | | [@elastic/security-threat-hunting-investigations](https://github.com/orgs/elastic/teams/security-threat-hunting-investigations) | APIs used to assess the quality of data in Elasticsearch indexes | 2 | 0 | 0 | 0 | -| | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds embeddables service to Kibana | 546 | 11 | 444 | 4 | +| | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds embeddables service to Kibana | 546 | 11 | 442 | 4 | | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Extends embeddable plugin with more functionality | 14 | 0 | 14 | 0 | | | [@elastic/kibana-security](https://github.com/orgs/elastic/teams/kibana-security) | This plugin provides encryption and decryption utilities for saved objects containing sensitive information. | 51 | 0 | 44 | 0 | | | [@elastic/enterprise-search-frontend](https://github.com/orgs/elastic/teams/enterprise-search-frontend) | Adds dashboards for discovering and managing Enterprise Search products. | 9 | 0 | 9 | 0 | -| | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 114 | 3 | 110 | 5 | -| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | The Event Annotation service contains expressions for event annotations | 172 | 30 | 172 | 3 | +| | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 115 | 3 | 111 | 3 | +| | [@elastic/security-solution](https://github.com/orgs/elastic/teams/security-solution) | ESS customizations for Security Solution. | 6 | 0 | 6 | 0 | +| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | The Event Annotation service contains expressions for event annotations | 204 | 30 | 204 | 3 | | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 116 | 0 | 116 | 11 | | | [@elastic/uptime](https://github.com/orgs/elastic/teams/uptime) | - | 141 | 1 | 141 | 14 | | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds 'error' renderer to expressions | 17 | 0 | 15 | 2 | @@ -92,7 +93,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-gis](https://github.com/orgs/elastic/teams/kibana-gis) | The file upload plugin contains components and services for uploading a file, analyzing its data, and then importing the data into an Elasticsearch index. Supported file types include CSV, TSV, newline-delimited JSON and GeoJSON. | 62 | 0 | 62 | 2 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | File upload, download, sharing, and serving over HTTP implementation in Kibana. | 239 | 0 | 24 | 9 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Simple UI for managing files in Kibana | 2 | 1 | 2 | 0 | -| | [@elastic/fleet](https://github.com/orgs/elastic/teams/fleet) | - | 1118 | 3 | 1013 | 31 | +| | [@elastic/fleet](https://github.com/orgs/elastic/teams/fleet) | - | 1159 | 3 | 1044 | 31 | | ftrApis | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 0 | 0 | 0 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 68 | 0 | 14 | 5 | | globalSearchBar | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 0 | 0 | 0 | 0 | @@ -104,7 +105,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Image embeddable | 3 | 0 | 3 | 1 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 4 | 0 | 4 | 0 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 177 | 0 | 172 | 3 | -| | [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) | This plugin visualizes data from Filebeat and Metricbeat, and integrates with other Observability solutions | 48 | 0 | 45 | 13 | +| | [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) | This plugin visualizes data from Filebeat and Metricbeat, and integrates with other Observability solutions | 49 | 0 | 46 | 14 | | ingestPipelines | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 0 | 0 | 0 | 0 | | inputControlVis | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds Input Control visualization to Kibana | 0 | 0 | 0 | 0 | | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | - | 123 | 2 | 96 | 4 | @@ -113,69 +114,71 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 185 | 1 | 153 | 5 | | kibanaUsageCollection | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 0 | 0 | 0 | 0 | | | [@elastic/kibana-app-services](https://github.com/orgs/elastic/teams/kibana-app-services) | - | 609 | 3 | 416 | 9 | -| | [@elastic/sec-cloudnative-integrations](https://github.com/orgs/elastic/teams/sec-cloudnative-integrations) | - | 3 | 0 | 3 | 1 | -| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Visualization editor allowing to quickly and easily configure compelling visualizations to use on dashboards and canvas workpads. Exposes components to embed visualizations and link into the Lens editor from within other apps in Kibana. | 611 | 0 | 515 | 52 | +| | [@elastic/sec-cloudnative-integrations](https://github.com/orgs/elastic/teams/sec-cloudnative-integrations) | - | 5 | 0 | 5 | 1 | +| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Visualization editor allowing to quickly and easily configure compelling visualizations to use on dashboards and canvas workpads. Exposes components to embed visualizations and link into the Lens editor from within other apps in Kibana. | 618 | 0 | 523 | 58 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 8 | 0 | 8 | 0 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 4 | 0 | 4 | 1 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 117 | 0 | 42 | 10 | | | [@elastic/security-solution-platform](https://github.com/orgs/elastic/teams/security-solution-platform) | - | 210 | 0 | 94 | 51 | | logstash | [@elastic/logstash](https://github.com/orgs/elastic/teams/logstash) | - | 0 | 0 | 0 | 0 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 43 | 0 | 43 | 6 | -| | [@elastic/kibana-gis](https://github.com/orgs/elastic/teams/kibana-gis) | - | 269 | 0 | 268 | 29 | +| | [@elastic/kibana-gis](https://github.com/orgs/elastic/teams/kibana-gis) | - | 266 | 0 | 265 | 29 | | | [@elastic/kibana-gis](https://github.com/orgs/elastic/teams/kibana-gis) | - | 67 | 0 | 67 | 0 | -| | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | This plugin provides access to the machine learning features provided by Elastic. | 166 | 3 | 80 | 38 | +| | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | This plugin provides access to the machine learning features provided by Elastic. | 150 | 3 | 64 | 33 | | | [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) | - | 15 | 3 | 13 | 1 | | | [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) | - | 9 | 0 | 9 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 34 | 0 | 34 | 2 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 17 | 0 | 17 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 2 | 0 | 2 | 1 | -| | [@elastic/actionable-observability](https://github.com/orgs/elastic/teams/actionable-observability) | - | 555 | 45 | 549 | 25 | +| | [@elastic/actionable-observability](https://github.com/orgs/elastic/teams/actionable-observability) | - | 501 | 43 | 494 | 15 | | | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | - | 7 | 0 | 7 | 0 | -| | [@elastic/actionable-observability](https://github.com/orgs/elastic/teams/actionable-observability) | - | 217 | 1 | 216 | 11 | -| | [@elastic/security-defend-workflows](https://github.com/orgs/elastic/teams/security-defend-workflows) | - | 22 | 0 | 22 | 6 | +| | [@elastic/observability-ui](https://github.com/orgs/elastic/teams/observability-ui) | - | 266 | 1 | 265 | 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/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 | 8 | 164 | 11 | | | [@elastic/profiling-ui](https://github.com/orgs/elastic/teams/profiling-ui) | - | 15 | 2 | 15 | 0 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 4 | 0 | 4 | 0 | -| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Reporting Services enables applications to feature reports that the user can automate with Watcher and download later. | 36 | 0 | 16 | 0 | +| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Reporting Services enables applications to feature reports that the user can automate with Watcher and download later. | 38 | 0 | 18 | 3 | +| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Currently PDF, PNG or CSV export types for the reporting plugin | 4 | 0 | 4 | 0 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 21 | 0 | 21 | 0 | | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 263 | 0 | 234 | 14 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 24 | 0 | 19 | 2 | -| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 127 | 2 | 116 | 4 | +| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 129 | 2 | 118 | 4 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 44 | 0 | 44 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 154 | 0 | 140 | 2 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 79 | 0 | 73 | 3 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 100 | 0 | 52 | 1 | -| | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | This plugin contains the definition and helper methods around saved searches, used by discover and visualizations. | 58 | 0 | 55 | 2 | +| | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | This plugin contains the definition and helper methods around saved searches, used by discover and visualizations. | 59 | 0 | 58 | 2 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 32 | 0 | 13 | 0 | | | [@elastic/kibana-reporting-services](https://github.com/orgs/elastic/teams/kibana-reporting-services) | Kibana Screenshotting Plugin | 27 | 0 | 8 | 5 | | searchprofiler | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 0 | 0 | 0 | 0 | | | [@elastic/kibana-security](https://github.com/orgs/elastic/teams/kibana-security) | This plugin provides authentication and authorization features, and exposes functionality to understand the capabilities of the currently authenticated user. | 283 | 0 | 94 | 1 | -| | [@elastic/security-solution](https://github.com/orgs/elastic/teams/security-solution) | - | 123 | 0 | 82 | 27 | -| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | The core Serverless plugin, providing APIs to Serverless Project plugins. | 9 | 0 | 8 | 0 | +| | [@elastic/security-solution](https://github.com/orgs/elastic/teams/security-solution) | - | 154 | 2 | 110 | 29 | +| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | The core Serverless plugin, providing APIs to Serverless Project plugins. | 14 | 0 | 13 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Serverless customizations for observability. | 6 | 0 | 6 | 0 | | | [@elastic/enterprise-search-frontend](https://github.com/orgs/elastic/teams/enterprise-search-frontend) | Serverless customizations for search. | 6 | 0 | 6 | 0 | | | [@elastic/security-solution](https://github.com/orgs/elastic/teams/security-solution) | Serverless customizations for security. | 6 | 0 | 6 | 0 | | | [@elastic/sec-cloudnative-integrations](https://github.com/orgs/elastic/teams/sec-cloudnative-integrations) | - | 7 | 0 | 7 | 1 | -| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Adds URL Service and sharing capabilities to Kibana | 118 | 0 | 59 | 10 | +| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Adds URL Service and sharing capabilities to Kibana | 119 | 0 | 60 | 10 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 22 | 1 | 22 | 1 | | | [@elastic/kibana-security](https://github.com/orgs/elastic/teams/kibana-security) | This plugin provides the Spaces feature, which allows saved objects to be organized into meaningful categories. | 253 | 0 | 65 | 0 | | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 12 | 0 | 12 | 2 | -| | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 4 | 0 | 4 | 0 | +| | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 4 | 0 | 4 | 1 | | synthetics | [@elastic/uptime](https://github.com/orgs/elastic/teams/uptime) | This plugin visualizes data from Synthetics and Heartbeat, and integrates with other Observability solutions. | 0 | 0 | 0 | 0 | -| | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 82 | 0 | 40 | 6 | +| | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 83 | 0 | 41 | 6 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 44 | 0 | 1 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 31 | 0 | 26 | 6 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 1 | 0 | 1 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 5 | 0 | 0 | 0 | -| | [@elastic/protections-experience](https://github.com/orgs/elastic/teams/protections-experience) | Elastic threat intelligence helps you see if you are open to or have been subject to current or historical known threats | 35 | 0 | 14 | 5 | -| | [@elastic/security-threat-hunting-investigations](https://github.com/orgs/elastic/teams/security-threat-hunting-investigations) | - | 257 | 1 | 214 | 20 | +| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 17 | 0 | 17 | 0 | +| | [@elastic/protections-experience](https://github.com/orgs/elastic/teams/protections-experience) | Elastic threat intelligence helps you see if you are open to or have been subject to current or historical known threats | 30 | 0 | 14 | 5 | +| | [@elastic/security-threat-hunting-investigations](https://github.com/orgs/elastic/teams/security-threat-hunting-investigations) | - | 259 | 1 | 216 | 21 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | This plugin provides access to the transforms features provided by Elastic. Transforms enable you to convert existing Elasticsearch indices into summarized indices, which provide opportunities for new insights and analytics. | 4 | 0 | 4 | 1 | | translations | [@elastic/kibana-localization](https://github.com/orgs/elastic/teams/kibana-localization) | - | 0 | 0 | 0 | 0 | -| | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 550 | 11 | 521 | 49 | +| | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 544 | 11 | 518 | 49 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Adds UI Actions service to Kibana | 144 | 2 | 102 | 9 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Extends UI Actions plugin with more functionality | 206 | 0 | 140 | 9 | -| | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Contains functionality for the field list which can be integrated into apps | 293 | 0 | 267 | 8 | +| | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Contains functionality for the field list which can be integrated into apps | 296 | 0 | 270 | 8 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | The `unifiedHistogram` plugin provides UI components to create a layout including a resizable histogram and a main display. | 52 | 0 | 23 | 2 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Contains all the key functionality of Kibana's unified search experience.Contains all the key functionality of Kibana's unified search experience. | 137 | 2 | 100 | 20 | | upgradeAssistant | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 0 | 0 | 0 | 0 | @@ -197,7 +200,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Contains the vislib visualizations. These are the classical area/line/bar, gauge/goal and heatmap charts. We want to replace them with elastic-charts. | 1 | 0 | 1 | 0 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Contains the new xy-axis chart using the elastic-charts library, which will eventually replace the vislib xy-axis charts including bar, area, and line. | 52 | 0 | 50 | 5 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 122 | 0 | 119 | 4 | -| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Contains the shared architecture among all the legacy visualizations, e.g. the visualization type registry or the visualization embeddable. | 806 | 12 | 776 | 19 | +| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Contains the shared architecture among all the legacy visualizations, e.g. the visualization type registry or the visualization embeddable. | 809 | 12 | 779 | 18 | | watcher | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 0 | 0 | 0 | 0 | ## Package Directory @@ -206,7 +209,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] |--------------|----------------|-----------|--------------|----------|---------------|--------| | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 11 | 5 | 11 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 6 | 0 | 6 | 0 | -| | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 53 | 0 | 22 | 0 | +| | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 58 | 0 | 2 | 0 | | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 16 | 0 | 15 | 0 | | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 24 | 0 | 24 | 0 | | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 5 | 0 | 4 | 0 | @@ -233,12 +236,12 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 2 | 0 | 2 | 1 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 37 | 0 | 36 | 0 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 116 | 0 | 90 | 1 | -| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 73 | 0 | 44 | 9 | +| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 74 | 0 | 45 | 9 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 24 | 0 | 24 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 135 | 3 | 133 | 18 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 6 | 0 | 4 | 4 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 21 | 0 | 14 | 5 | -| | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 106 | 1 | 57 | 0 | +| | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 180 | 1 | 115 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 4 | 0 | 0 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 7 | 0 | 7 | 1 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 4 | 0 | 4 | 0 | @@ -260,7 +263,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 5 | 0 | 0 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 16 | 0 | 7 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 6 | 0 | 6 | 0 | -| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 135 | 0 | 58 | 0 | +| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 141 | 0 | 55 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 3 | 0 | 3 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 4 | 0 | 4 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 8 | 0 | 8 | 0 | @@ -300,7 +303,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 110 | 4 | 36 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 10 | 0 | 10 | 1 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 16 | 0 | 16 | 0 | -| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 6 | 0 | 1 | 0 | +| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 7 | 0 | 2 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 10 | 1 | 10 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 14 | 0 | 11 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 22 | 0 | 7 | 0 | @@ -308,8 +311,8 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 7 | 0 | 7 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 26 | 6 | 26 | 1 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 8 | 0 | 8 | 1 | -| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 440 | 1 | 176 | 0 | -| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 56 | 0 | 50 | 6 | +| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 444 | 1 | 178 | 0 | +| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 57 | 0 | 51 | 6 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 41 | 0 | 40 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 4 | 0 | 2 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 3 | 0 | 3 | 0 | @@ -356,7 +359,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 111 | 1 | 0 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 351 | 1 | 5 | 1 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 11 | 0 | 11 | 0 | -| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 83 | 0 | 57 | 9 | +| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 89 | 0 | 61 | 10 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 4 | 0 | 4 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 2 | 0 | 1 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 6 | 0 | 6 | 0 | @@ -364,14 +367,14 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 73 | 0 | 40 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 25 | 0 | 23 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 4 | 0 | 4 | 0 | -| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 120 | 0 | 86 | 44 | +| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 123 | 0 | 89 | 46 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 12 | 0 | 12 | 0 | -| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 525 | 1 | 115 | 4 | +| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 535 | 1 | 115 | 4 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 69 | 0 | 69 | 4 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 14 | 0 | 14 | 0 | -| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 30 | 0 | 6 | 0 | +| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 36 | 0 | 6 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 12 | 0 | 2 | 0 | -| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 19 | 0 | 18 | 0 | +| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 20 | 0 | 19 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 20 | 0 | 3 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 22 | 0 | 22 | 1 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 4 | 0 | 4 | 0 | @@ -404,12 +407,13 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 101 | 0 | 85 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 15 | 0 | 9 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 27 | 2 | 24 | 0 | -| | [@elastic/kibana-docs](https://github.com/orgs/elastic/teams/kibana-docs) | - | 70 | 0 | 70 | 2 | +| | [@elastic/kibana-docs](https://github.com/orgs/elastic/teams/kibana-docs) | - | 71 | 0 | 71 | 2 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 1 | 0 | 1 | 0 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 52 | 0 | 34 | 4 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 19 | 0 | 11 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 35125 | 0 | 34718 | 0 | -| | [@elastic/security-threat-hunting-investigations](https://github.com/orgs/elastic/teams/security-threat-hunting-investigations) | - | 9 | 0 | 1 | 0 | +| | [@elastic/security-threat-hunting-investigations](https://github.com/orgs/elastic/teams/security-threat-hunting-investigations) | - | 13 | 2 | 5 | 0 | +| | [@elastic/security-solution](https://github.com/orgs/elastic/teams/security-solution) | - | 75 | 4 | 55 | 3 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 4 | 0 | 4 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 27 | 0 | 14 | 1 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 7 | 0 | 3 | 0 | @@ -432,8 +436,9 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 51 | 0 | 48 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 61 | 0 | 1 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 47 | 0 | 40 | 0 | +| | [@elastic/actionable-observability](https://github.com/orgs/elastic/teams/actionable-observability) | - | 9 | 0 | 9 | 0 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 52 | 12 | 43 | 0 | -| | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | - | 39 | 0 | 39 | 4 | +| | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | - | 43 | 0 | 43 | 4 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 13 | 0 | 13 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 85 | 0 | 77 | 5 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 41 | 2 | 35 | 0 | @@ -442,25 +447,31 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 27 | 0 | 1 | 2 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 8 | 0 | 8 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 6 | 0 | 1 | 1 | -| | [@elastic/kibana-gis](https://github.com/orgs/elastic/teams/kibana-gis) | - | 534 | 1 | 1 | 0 | -| | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 93 | 2 | 61 | 0 | -| | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 142 | 3 | 0 | 0 | +| | [@elastic/kibana-gis](https://github.com/orgs/elastic/teams/kibana-gis) | - | 535 | 1 | 1 | 0 | +| | [@elastic/kibana-gis](https://github.com/orgs/elastic/teams/kibana-gis) | - | 2 | 0 | 2 | 0 | +| | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 96 | 2 | 61 | 0 | +| | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 205 | 3 | 0 | 0 | +| | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 152 | 1 | 0 | 0 | +| | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 141 | 0 | 5 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 52 | 0 | 4 | 0 | +| | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 11 | 0 | 0 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 36 | 0 | 8 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 2 | 0 | 0 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 3 | 0 | 2 | 0 | +| | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 5 | 0 | 3 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 5 | 0 | 3 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 8 | 2 | 8 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 3 | 0 | 0 | 0 | -| | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 10 | 0 | 0 | 0 | +| | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 11 | 0 | 0 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 5 | 0 | 0 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 5 | 0 | 0 | 0 | +| | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 8 | 0 | 0 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 2 | 0 | 1 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 8 | 1 | 8 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 31 | 1 | 24 | 1 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 71 | 0 | 69 | 3 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 55 | 1 | 50 | 0 | -| | [@elastic/actionable-observability](https://github.com/orgs/elastic/teams/actionable-observability) | - | 7 | 0 | 7 | 1 | +| | [@elastic/actionable-observability](https://github.com/orgs/elastic/teams/actionable-observability) | - | 13 | 0 | 13 | 3 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 45 | 0 | 45 | 10 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 51 | 5 | 34 | 0 | | | [@elastic/security-asset-management](https://github.com/orgs/elastic/teams/security-asset-management) | - | 62 | 0 | 62 | 0 | @@ -509,7 +520,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 27 | 0 | 10 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 10 | 0 | 4 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 32 | 0 | 28 | 0 | -| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 34 | 0 | 17 | 3 | +| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 76 | 0 | 46 | 7 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 5 | 0 | 4 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 3 | 0 | 2 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 2 | 0 | 2 | 0 | @@ -541,15 +552,16 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 2 | 0 | 0 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 15 | 0 | 4 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 9 | 0 | 3 | 0 | -| | [@elastic/actionable-observability](https://github.com/orgs/elastic/teams/actionable-observability) | - | 78 | 0 | 78 | 0 | +| | [@elastic/actionable-observability](https://github.com/orgs/elastic/teams/actionable-observability) | - | 111 | 0 | 111 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 20 | 0 | 12 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 100 | 2 | 64 | 1 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 4 | 0 | 2 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 41 | 2 | 21 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 2 | 0 | 2 | 0 | -| | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 271 | 4 | 227 | 12 | +| | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 282 | 4 | 238 | 12 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 135 | 5 | 103 | 2 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 2 | 0 | 1 | 0 | +| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 15 | 0 | 14 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 72 | 0 | 55 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 39 | 0 | 25 | 1 | | | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | - | 86 | 0 | 86 | 1 | @@ -560,6 +572,6 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-security](https://github.com/orgs/elastic/teams/kibana-security) | - | 58 | 0 | 5 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 36 | 0 | 15 | 1 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 2 | 0 | 2 | 0 | -| | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 25 | 0 | 15 | 0 | +| | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 24 | 0 | 14 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 6 | 0 | 2 | 0 | diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx index a2e51819b3a63..aed53bd4d5027 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'presentationUtil'] --- import presentationUtilObj from './presentation_util.devdocs.json'; diff --git a/api_docs/profiling.devdocs.json b/api_docs/profiling.devdocs.json index 75713ac26cd9b..8a420787b5dac 100644 --- a/api_docs/profiling.devdocs.json +++ b/api_docs/profiling.devdocs.json @@ -104,7 +104,7 @@ "label": "getRoutePaths", "description": [], "signature": [ - "() => { TopN: string; TopNContainers: string; TopNDeployments: string; TopNFunctions: string; TopNHosts: string; TopNThreads: string; TopNTraces: string; Flamechart: string; CacheExecutables: string; CacheStackFrames: string; HasSetupESResources: string; HasSetupDataCollection: string; SetupDataCollectionInstructions: string; }" + "() => { TopN: string; TopNContainers: string; TopNDeployments: string; TopNFunctions: string; TopNHosts: string; TopNThreads: string; TopNTraces: string; Flamechart: string; HasSetupESResources: string; HasSetupDataCollection: string; SetupDataCollectionInstructions: string; }" ], "path": "x-pack/plugins/profiling/common/index.ts", "deprecated": false, diff --git a/api_docs/profiling.mdx b/api_docs/profiling.mdx index d3e9afecea7c6..62f23a42f00f1 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profiling'] --- import profilingObj from './profiling.devdocs.json'; diff --git a/api_docs/remote_clusters.mdx b/api_docs/remote_clusters.mdx index 438cf5d7b9b58..6d57690c25934 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-05-16 +date: 2023-06-07 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 2f3f22b151f4a..fe732dd873a06 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'reporting'] --- import reportingObj from './reporting.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 36 | 0 | 16 | 0 | +| 38 | 0 | 18 | 3 | ## Client diff --git a/api_docs/reporting_export_types.devdocs.json b/api_docs/reporting_export_types.devdocs.json new file mode 100644 index 0000000000000..d298d7bd6d398 --- /dev/null +++ b/api_docs/reporting_export_types.devdocs.json @@ -0,0 +1,96 @@ +{ + "id": "reportingExportTypes", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [ + { + "parentPluginId": "reportingExportTypes", + "id": "def-server.ExportTypesPluginSetup", + "type": "Interface", + "tags": [], + "label": "ExportTypesPluginSetup", + "description": [], + "path": "x-pack/plugins/reporting_export_types/server/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "reportingExportTypes", + "id": "def-server.ExportTypesPluginSetup.reporting", + "type": "Object", + "tags": [], + "label": "reporting", + "description": [], + "signature": [ + { + "pluginId": "reporting", + "scope": "server", + "docId": "kibReportingPluginApi", + "section": "def-server.ReportingSetup", + "text": "ReportingSetup" + } + ], + "path": "x-pack/plugins/reporting_export_types/server/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "reportingExportTypes", + "id": "def-server.ExportTypesPluginStart", + "type": "Interface", + "tags": [], + "label": "ExportTypesPluginStart", + "description": [], + "path": "x-pack/plugins/reporting_export_types/server/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "reportingExportTypes", + "id": "def-server.ExportTypesPluginStart.reporting", + "type": "Object", + "tags": [], + "label": "reporting", + "description": [], + "signature": [ + { + "pluginId": "reporting", + "scope": "server", + "docId": "kibReportingPluginApi", + "section": "def-server.ReportingSetup", + "text": "ReportingSetup" + } + ], + "path": "x-pack/plugins/reporting_export_types/server/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/reporting_export_types.mdx b/api_docs/reporting_export_types.mdx new file mode 100644 index 0000000000000..76ab6acdd5f42 --- /dev/null +++ b/api_docs/reporting_export_types.mdx @@ -0,0 +1,30 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibReportingExportTypesPluginApi +slug: /kibana-dev-docs/api/reportingExportTypes +title: "reportingExportTypes" +image: https://source.unsplash.com/400x175/?github +description: API docs for the reportingExportTypes plugin +date: 2023-06-07 +tags: ['contributor', 'dev', 'apidocs', 'kibana', 'reportingExportTypes'] +--- +import reportingExportTypesObj from './reporting_export_types.devdocs.json'; + +Currently PDF, PNG or CSV export types for the reporting plugin + +Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 4 | 0 | 4 | 0 | + +## Server + +### Interfaces + + diff --git a/api_docs/rollup.mdx b/api_docs/rollup.mdx index 75f399ba421ed..21094e7ab7a1a 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'rollup'] --- import rollupObj from './rollup.devdocs.json'; diff --git a/api_docs/rule_registry.devdocs.json b/api_docs/rule_registry.devdocs.json index 5962bf3d9b06d..49eb404f14262 100644 --- a/api_docs/rule_registry.devdocs.json +++ b/api_docs/rule_registry.devdocs.json @@ -1729,7 +1729,7 @@ "section": "def-common.WrappedLifecycleRuleState", "text": "WrappedLifecycleRuleState" }, - ", InstanceState, InstanceContext, ActionGroupIds>) => Promise<{ state: ", + ", InstanceState, InstanceContext, ActionGroupIds, never>) => Promise<{ state: ", { "pluginId": "@kbn/alerting-state-types", "scope": "common", @@ -1973,7 +1973,7 @@ "section": "def-server.RuleExecutorOptions", "text": "RuleExecutorOptions" }, - ") => Promise<{ state: TState; }>; getSummarizedAlerts: ({ start, end, executionUuid, ruleId, spaceId, excludedAlertInstanceIds, alertsFilter, }: ", + ") => Promise<{ state: TState; }>; getSummarizedAlerts: ({ start, end, executionUuid, ruleId, spaceId, excludedAlertInstanceIds, alertsFilter, }: ", { "pluginId": "alerting", "scope": "server", @@ -3787,7 +3787,7 @@ "section": "def-server.RuleType", "text": "RuleType" }, - ", \"executor\"> & { executor: ", + ", \"executor\"> & { executor: ", "AlertTypeExecutor", "; }" ], @@ -3852,7 +3852,7 @@ "section": "def-server.RuleType", "text": "RuleType" }, - "" + "" ], "path": "x-pack/plugins/rule_registry/server/utils/persistence_types.ts", "deprecated": false, @@ -4009,7 +4009,7 @@ "section": "def-server.RuleExecutorOptions", "text": "RuleExecutorOptions" }, - ", \"services\"> & { services: ", + ", \"services\"> & { services: ", { "pluginId": "alerting", "scope": "server", @@ -4017,7 +4017,15 @@ "section": "def-server.RuleExecutorServices", "text": "RuleExecutorServices" }, - " & ", + " & ", { "pluginId": "ruleRegistry", "scope": "server", @@ -4162,7 +4170,7 @@ "section": "def-server.RuleType", "text": "RuleType" }, - ", \"executor\"> & { executor: (options: ", + ", \"executor\"> & { executor: (options: ", { "pluginId": "alerting", "scope": "server", @@ -4178,7 +4186,7 @@ "section": "def-common.WithoutReservedActionGroups", "text": "WithoutReservedActionGroups" }, - "> & { services: ", + ", never> & { services: ", { "pluginId": "ruleRegistry", "scope": "server", diff --git a/api_docs/rule_registry.mdx b/api_docs/rule_registry.mdx index e8cd613815b33..1c9a48ba985c4 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-05-16 +date: 2023-06-07 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 54825e384d8e8..89219a8f3b6bf 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'runtimeFields'] --- import runtimeFieldsObj from './runtime_fields.devdocs.json'; diff --git a/api_docs/saved_objects.devdocs.json b/api_docs/saved_objects.devdocs.json index 91c323dab911d..9c1668d649f44 100644 --- a/api_docs/saved_objects.devdocs.json +++ b/api_docs/saved_objects.devdocs.json @@ -58,6 +58,14 @@ "plugin": "dashboard", "path": "src/plugins/dashboard/public/dashboard_container/embeddable/api/overlays/save_modal.tsx" }, + { + "plugin": "lens", + "path": "x-pack/plugins/lens/public/visualizations/xy/annotations/actions/save_action.tsx" + }, + { + "plugin": "lens", + "path": "x-pack/plugins/lens/public/visualizations/xy/annotations/actions/save_action.tsx" + }, { "plugin": "discover", "path": "src/plugins/discover/public/application/main/components/top_nav/on_save_search.tsx" @@ -152,6 +160,17 @@ "path": "src/plugins/saved_objects/public/save_modal/saved_object_save_modal.tsx", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "savedObjects", + "id": "def-public.SavedObjectSaveModal.state.hasAttemptedSubmit", + "type": "boolean", + "tags": [], + "label": "hasAttemptedSubmit", + "description": [], + "path": "src/plugins/saved_objects/public/save_modal/saved_object_save_modal.tsx", + "deprecated": false, + "trackAdoption": false } ] }, @@ -2191,6 +2210,17 @@ "path": "src/plugins/saved_objects/public/save_modal/saved_object_save_modal.tsx", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "savedObjects", + "id": "def-public.SaveModalState.hasAttemptedSubmit", + "type": "boolean", + "tags": [], + "label": "hasAttemptedSubmit", + "description": [], + "path": "src/plugins/saved_objects/public/save_modal/saved_object_save_modal.tsx", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false diff --git a/api_docs/saved_objects.mdx b/api_docs/saved_objects.mdx index e9dfedb94f918..e441424323dfb 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjects'] --- import savedObjectsObj from './saved_objects.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 127 | 2 | 116 | 4 | +| 129 | 2 | 118 | 4 | ## Client diff --git a/api_docs/saved_objects_finder.mdx b/api_docs/saved_objects_finder.mdx index 6679b7261b6ae..a1aabed816a43 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-05-16 +date: 2023-06-07 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 5c9d3a7a947e1..957b952c20f09 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-05-16 +date: 2023-06-07 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 c0c3746b4606b..a0f5e8c5e4cc3 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTagging'] --- import savedObjectsTaggingObj from './saved_objects_tagging.devdocs.json'; diff --git a/api_docs/saved_objects_tagging_oss.devdocs.json b/api_docs/saved_objects_tagging_oss.devdocs.json index 773e92b87b37e..97b83dc8f3ea2 100644 --- a/api_docs/saved_objects_tagging_oss.devdocs.json +++ b/api_docs/saved_objects_tagging_oss.devdocs.json @@ -1377,7 +1377,7 @@ "section": "def-common.Tag", "text": "Tag" }, - " | { type: \"__create_option__\"; }>> & { initialSelection: string[]; onTagsSelected: (ids: string[]) => void; }" + " | { type: \"__create_option__\"; }>> & { initialSelection: string[]; onTagsSelected: (ids: string[]) => void; markOptional?: boolean | undefined; }" ], "path": "src/plugins/saved_objects_tagging_oss/public/api.ts", "deprecated": false, diff --git a/api_docs/saved_objects_tagging_oss.mdx b/api_docs/saved_objects_tagging_oss.mdx index 9c5182b44b974..65b28f557aa4c 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTaggingOss'] --- import savedObjectsTaggingOssObj from './saved_objects_tagging_oss.devdocs.json'; diff --git a/api_docs/saved_search.devdocs.json b/api_docs/saved_search.devdocs.json index bcb9a7ef8404b..439c10feb2525 100644 --- a/api_docs/saved_search.devdocs.json +++ b/api_docs/saved_search.devdocs.json @@ -3,134 +3,6 @@ "client": { "classes": [], "functions": [ - { - "parentPluginId": "savedSearch", - "id": "def-public.getNewSavedSearch", - "type": "Function", - "tags": [], - "label": "getNewSavedSearch", - "description": [ - "\n\nReturns a new saved search\nUsed when e.g. Discover is opened without a saved search id" - ], - "signature": [ - "({ search, }: { search: ", - { - "pluginId": "data", - "scope": "public", - "docId": "kibDataSearchPluginApi", - "section": "def-public.ISearchStart", - "text": "ISearchStart" - }, - "; }) => ", - { - "pluginId": "savedSearch", - "scope": "public", - "docId": "kibSavedSearchPluginApi", - "section": "def-public.SavedSearch", - "text": "SavedSearch" - } - ], - "path": "src/plugins/saved_search/public/services/saved_searches/get_saved_searches.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "savedSearch", - "id": "def-public.getNewSavedSearch.$1", - "type": "Object", - "tags": [], - "label": "{\n search,\n}", - "description": [], - "path": "src/plugins/saved_search/public/services/saved_searches/get_saved_searches.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "savedSearch", - "id": "def-public.getNewSavedSearch.$1.search", - "type": "Object", - "tags": [], - "label": "search", - "description": [], - "signature": [ - { - "pluginId": "data", - "scope": "public", - "docId": "kibDataSearchPluginApi", - "section": "def-public.ISearchStart", - "text": "ISearchStart" - } - ], - "path": "src/plugins/saved_search/public/services/saved_searches/get_saved_searches.ts", - "deprecated": false, - "trackAdoption": false - } - ] - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "savedSearch", - "id": "def-public.getSavedSearch", - "type": "Function", - "tags": [], - "label": "getSavedSearch", - "description": [ - "\nReturns a persisted or a new saved search" - ], - "signature": [ - "(savedSearchId: string | undefined, dependencies: GetSavedSearchDependencies) => Promise<", - { - "pluginId": "savedSearch", - "scope": "public", - "docId": "kibSavedSearchPluginApi", - "section": "def-public.SavedSearch", - "text": "SavedSearch" - }, - ">" - ], - "path": "src/plugins/saved_search/public/services/saved_searches/get_saved_searches.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "savedSearch", - "id": "def-public.getSavedSearch.$1", - "type": "string", - "tags": [], - "label": "savedSearchId", - "description": [ - "- when undefined a new saved search is returned" - ], - "signature": [ - "string | undefined" - ], - "path": "src/plugins/saved_search/public/services/saved_searches/get_saved_searches.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - }, - { - "parentPluginId": "savedSearch", - "id": "def-public.getSavedSearch.$2", - "type": "Object", - "tags": [], - "label": "dependencies", - "description": [], - "signature": [ - "GetSavedSearchDependencies" - ], - "path": "src/plugins/saved_search/public/services/saved_searches/get_saved_searches.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, { "parentPluginId": "savedSearch", "id": "def-public.getSavedSearchFullPathUrl", @@ -196,100 +68,6 @@ ], "returnComment": [], "initialIsOpen": false - }, - { - "parentPluginId": "savedSearch", - "id": "def-public.getSavedSearchUrlConflictMessage", - "type": "Function", - "tags": [], - "label": "getSavedSearchUrlConflictMessage", - "description": [], - "signature": [ - "(savedSearch: ", - { - "pluginId": "savedSearch", - "scope": "public", - "docId": "kibSavedSearchPluginApi", - "section": "def-public.SavedSearch", - "text": "SavedSearch" - }, - ") => Promise" - ], - "path": "src/plugins/saved_search/public/services/saved_searches/saved_searches_utils.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "savedSearch", - "id": "def-public.getSavedSearchUrlConflictMessage.$1", - "type": "Object", - "tags": [], - "label": "savedSearch", - "description": [], - "signature": [ - { - "pluginId": "savedSearch", - "scope": "public", - "docId": "kibSavedSearchPluginApi", - "section": "def-public.SavedSearch", - "text": "SavedSearch" - } - ], - "path": "src/plugins/saved_search/public/services/saved_searches/saved_searches_utils.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, - { - "parentPluginId": "savedSearch", - "id": "def-public.throwErrorOnSavedSearchUrlConflict", - "type": "Function", - "tags": [], - "label": "throwErrorOnSavedSearchUrlConflict", - "description": [], - "signature": [ - "(savedSearch: ", - { - "pluginId": "savedSearch", - "scope": "public", - "docId": "kibSavedSearchPluginApi", - "section": "def-public.SavedSearch", - "text": "SavedSearch" - }, - ") => Promise" - ], - "path": "src/plugins/saved_search/public/services/saved_searches/saved_searches_utils.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "savedSearch", - "id": "def-public.throwErrorOnSavedSearchUrlConflict.$1", - "type": "Object", - "tags": [], - "label": "savedSearch", - "description": [], - "signature": [ - { - "pluginId": "savedSearch", - "scope": "public", - "docId": "kibSavedSearchPluginApi", - "section": "def-public.SavedSearch", - "text": "SavedSearch" - } - ], - "path": "src/plugins/saved_search/public/services/saved_searches/saved_searches_utils.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false } ], "interfaces": [ @@ -412,7 +190,189 @@ } ], "misc": [], - "objects": [] + "objects": [], + "start": { + "parentPluginId": "savedSearch", + "id": "def-public.SavedSearchPublicPluginStart", + "type": "Interface", + "tags": [], + "label": "SavedSearchPublicPluginStart", + "description": [ + "\nSaved search plugin public Setup contract" + ], + "path": "src/plugins/saved_search/public/plugin.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "savedSearch", + "id": "def-public.SavedSearchPublicPluginStart.get", + "type": "Function", + "tags": [], + "label": "get", + "description": [], + "signature": [ + "(savedSearchId: string) => Promise<", + { + "pluginId": "savedSearch", + "scope": "public", + "docId": "kibSavedSearchPluginApi", + "section": "def-public.SavedSearch", + "text": "SavedSearch" + }, + ">" + ], + "path": "src/plugins/saved_search/public/plugin.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "savedSearch", + "id": "def-public.SavedSearchPublicPluginStart.get.$1", + "type": "string", + "tags": [], + "label": "savedSearchId", + "description": [], + "signature": [ + "string" + ], + "path": "src/plugins/saved_search/public/plugin.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "savedSearch", + "id": "def-public.SavedSearchPublicPluginStart.getNew", + "type": "Function", + "tags": [], + "label": "getNew", + "description": [], + "signature": [ + "() => ", + { + "pluginId": "savedSearch", + "scope": "public", + "docId": "kibSavedSearchPluginApi", + "section": "def-public.SavedSearch", + "text": "SavedSearch" + } + ], + "path": "src/plugins/saved_search/public/plugin.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "savedSearch", + "id": "def-public.SavedSearchPublicPluginStart.getAll", + "type": "Function", + "tags": [], + "label": "getAll", + "description": [], + "signature": [ + "() => Promise<", + { + "pluginId": "@kbn/content-management-utils", + "scope": "common", + "docId": "kibKbnContentManagementUtilsPluginApi", + "section": "def-common.SOWithMetadata", + "text": "SOWithMetadata" + }, + "<", + "SavedSearchAttributes", + ">[]>" + ], + "path": "src/plugins/saved_search/public/plugin.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "savedSearch", + "id": "def-public.SavedSearchPublicPluginStart.save", + "type": "Function", + "tags": [], + "label": "save", + "description": [], + "signature": [ + "(savedSearch: ", + { + "pluginId": "savedSearch", + "scope": "common", + "docId": "kibSavedSearchPluginApi", + "section": "def-common.SavedSearch", + "text": "SavedSearch" + }, + ", options?: ", + { + "pluginId": "savedSearch", + "scope": "public", + "docId": "kibSavedSearchPluginApi", + "section": "def-public.SaveSavedSearchOptions", + "text": "SaveSavedSearchOptions" + }, + " | undefined) => Promise" + ], + "path": "src/plugins/saved_search/public/plugin.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "savedSearch", + "id": "def-public.SavedSearchPublicPluginStart.save.$1", + "type": "Object", + "tags": [], + "label": "savedSearch", + "description": [], + "signature": [ + { + "pluginId": "savedSearch", + "scope": "common", + "docId": "kibSavedSearchPluginApi", + "section": "def-common.SavedSearch", + "text": "SavedSearch" + } + ], + "path": "src/plugins/saved_search/public/plugin.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "savedSearch", + "id": "def-public.SavedSearchPublicPluginStart.save.$2", + "type": "Object", + "tags": [], + "label": "options", + "description": [], + "signature": [ + { + "pluginId": "savedSearch", + "scope": "public", + "docId": "kibSavedSearchPluginApi", + "section": "def-public.SaveSavedSearchOptions", + "text": "SaveSavedSearchOptions" + }, + " | undefined" + ], + "path": "src/plugins/saved_search/public/plugin.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [] + } + ], + "lifecycle": "start", + "initialIsOpen": true + } }, "server": { "classes": [], @@ -1249,6 +1209,27 @@ "path": "src/plugins/saved_search/common/types.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "savedSearch", + "id": "def-common.SavedSearch.references", + "type": "Array", + "tags": [], + "label": "references", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-saved-objects-common", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObjectReference", + "text": "SavedObjectReference" + }, + "[] | undefined" + ], + "path": "src/plugins/saved_search/common/types.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false @@ -1268,7 +1249,38 @@ "initialIsOpen": false } ], - "misc": [], + "misc": [ + { + "parentPluginId": "savedSearch", + "id": "def-common.LATEST_VERSION", + "type": "number", + "tags": [], + "label": "LATEST_VERSION", + "description": [], + "signature": [ + "1" + ], + "path": "src/plugins/saved_search/common/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "savedSearch", + "id": "def-common.SavedSearchType", + "type": "string", + "tags": [], + "label": "SavedSearchType", + "description": [], + "signature": [ + "\"search\"" + ], + "path": "src/plugins/saved_search/common/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], "objects": [] } } \ No newline at end of file diff --git a/api_docs/saved_search.mdx b/api_docs/saved_search.mdx index a4e540f93388d..6d6f7ec3107c5 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedSearch'] --- import savedSearchObj from './saved_search.devdocs.json'; @@ -21,10 +21,13 @@ Contact [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 58 | 0 | 55 | 2 | +| 59 | 0 | 58 | 2 | ## Client +### Start + + ### Functions @@ -50,3 +53,6 @@ Contact [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/k ### Enums +### Consts, variables and types + + diff --git a/api_docs/screenshot_mode.mdx b/api_docs/screenshot_mode.mdx index 0323086895861..55cfcc164213d 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-05-16 +date: 2023-06-07 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 afae22de29d6a..6579250f70b50 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'screenshotting'] --- import screenshottingObj from './screenshotting.devdocs.json'; diff --git a/api_docs/security.devdocs.json b/api_docs/security.devdocs.json index 03813dc959427..26dee07302962 100644 --- a/api_docs/security.devdocs.json +++ b/api_docs/security.devdocs.json @@ -3199,10 +3199,6 @@ "plugin": "ml", "path": "x-pack/plugins/ml/server/routes/annotations.ts" }, - { - "plugin": "logstash", - "path": "x-pack/plugins/logstash/server/routes/pipeline/save.ts" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/request_context_factory.ts" @@ -3227,6 +3223,10 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/open_close_signals_route.ts" }, + { + "plugin": "logstash", + "path": "x-pack/plugins/logstash/server/routes/pipeline/save.ts" + }, { "plugin": "cloudChat", "path": "x-pack/plugins/cloud_integrations/cloud_chat/server/routes/chat.ts" @@ -4963,14 +4963,14 @@ { "parentPluginId": "security", "id": "def-common.UserProfileAvatarData.imageUrl", - "type": "string", + "type": "CompoundType", "tags": [], "label": "imageUrl", "description": [ "\nBase64 data URL for the user avatar image." ], "signature": [ - "string | undefined" + "string | null | undefined" ], "path": "x-pack/plugins/security/common/model/user_profile.ts", "deprecated": false, diff --git a/api_docs/security.mdx b/api_docs/security.mdx index cd6ae5fdb7fe6..434c11a2ab1d6 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'security'] --- import securityObj from './security.devdocs.json'; diff --git a/api_docs/security_solution.devdocs.json b/api_docs/security_solution.devdocs.json index 381121bc6e4f6..2f36791e96846 100644 --- a/api_docs/security_solution.devdocs.json +++ b/api_docs/security_solution.devdocs.json @@ -101,7 +101,7 @@ "label": "experimentalFeatures", "description": [], "signature": [ - "{ readonly tGridEnabled: boolean; readonly tGridEventRenderedViewEnabled: boolean; readonly excludePoliciesInFilterEnabled: boolean; readonly kubernetesEnabled: boolean; readonly disableIsolationUIPendingStatuses: boolean; readonly pendingActionResponsesWithAck: boolean; readonly policyListEnabled: boolean; readonly policyResponseInFleetEnabled: boolean; readonly chartEmbeddablesEnabled: boolean; readonly donutChartEmbeddablesEnabled: boolean; readonly alertsPreviewChartEmbeddablesEnabled: boolean; readonly previewTelemetryUrlEnabled: boolean; readonly responseActionsConsoleEnabled: boolean; readonly insightsRelatedAlertsByProcessAncestry: boolean; readonly extendedRuleExecutionLoggingEnabled: boolean; readonly prebuiltRulesNewUpgradeAndInstallationWorkflowsEnabled: boolean; readonly socTrendsEnabled: boolean; readonly responseActionsEnabled: boolean; readonly endpointResponseActionsEnabled: boolean; readonly endpointRbacEnabled: boolean; readonly endpointRbacV1Enabled: boolean; readonly alertDetailsPageEnabled: boolean; readonly responseActionGetFileEnabled: boolean; readonly responseActionExecuteEnabled: boolean; readonly responseActionUploadEnabled: boolean; readonly alertsPageChartsEnabled: boolean; readonly alertTypeEnabled: boolean; readonly securityFlyoutEnabled: boolean; readonly riskyHostsEnabled: boolean; readonly riskyUsersEnabled: boolean; readonly alertsPageFiltersEnabled: boolean; readonly newUserDetailsFlyout: boolean; }" + "{ readonly tGridEnabled: boolean; readonly tGridEventRenderedViewEnabled: boolean; readonly excludePoliciesInFilterEnabled: boolean; readonly kubernetesEnabled: boolean; readonly disableIsolationUIPendingStatuses: boolean; readonly pendingActionResponsesWithAck: boolean; readonly policyListEnabled: boolean; readonly policyResponseInFleetEnabled: boolean; readonly chartEmbeddablesEnabled: boolean; readonly donutChartEmbeddablesEnabled: boolean; readonly alertsPreviewChartEmbeddablesEnabled: boolean; readonly previewTelemetryUrlEnabled: boolean; readonly responseActionsConsoleEnabled: boolean; readonly insightsRelatedAlertsByProcessAncestry: boolean; readonly extendedRuleExecutionLoggingEnabled: boolean; readonly prebuiltRulesNewUpgradeAndInstallationWorkflowsEnabled: boolean; readonly socTrendsEnabled: boolean; readonly responseActionsEnabled: boolean; readonly endpointResponseActionsEnabled: boolean; readonly endpointRbacEnabled: boolean; readonly endpointRbacV1Enabled: boolean; readonly alertDetailsPageEnabled: boolean; readonly responseActionGetFileEnabled: boolean; readonly responseActionExecuteEnabled: boolean; readonly responseActionUploadEnabled: boolean; readonly alertsPageChartsEnabled: boolean; readonly alertTypeEnabled: boolean; readonly securityFlyoutEnabled: boolean; readonly assistantEnabled: boolean; readonly riskyHostsEnabled: boolean; readonly riskyUsersEnabled: boolean; readonly alertsPageFiltersEnabled: boolean; readonly newUserDetailsFlyout: boolean; readonly detectionsCoverageOverview: boolean; }" ], "path": "x-pack/plugins/security_solution/public/plugin.tsx", "deprecated": false, @@ -390,6 +390,246 @@ } ], "initialIsOpen": false + }, + { + "parentPluginId": "securitySolution", + "id": "def-public.UpsellingService", + "type": "Class", + "tags": [], + "label": "UpsellingService", + "description": [], + "path": "x-pack/plugins/security_solution/public/common/lib/upsellings/upselling_service.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "securitySolution", + "id": "def-public.UpsellingService.sections$", + "type": "Object", + "tags": [], + "label": "sections$", + "description": [], + "signature": [ + "Observable", + ">>" + ], + "path": "x-pack/plugins/security_solution/public/common/lib/upsellings/upselling_service.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "securitySolution", + "id": "def-public.UpsellingService.pages$", + "type": "Object", + "tags": [], + "label": "pages$", + "description": [], + "signature": [ + "Observable", + ">>" + ], + "path": "x-pack/plugins/security_solution/public/common/lib/upsellings/upselling_service.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "securitySolution", + "id": "def-public.UpsellingService.Unnamed", + "type": "Function", + "tags": [], + "label": "Constructor", + "description": [], + "signature": [ + "any" + ], + "path": "x-pack/plugins/security_solution/public/common/lib/upsellings/upselling_service.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "securitySolution", + "id": "def-public.UpsellingService.registerSections", + "type": "Function", + "tags": [], + "label": "registerSections", + "description": [], + "signature": [ + "(sections: Partial>>) => void" + ], + "path": "x-pack/plugins/security_solution/public/common/lib/upsellings/upselling_service.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "securitySolution", + "id": "def-public.UpsellingService.registerSections.$1", + "type": "Object", + "tags": [], + "label": "sections", + "description": [], + "signature": [ + "Partial>>" + ], + "path": "x-pack/plugins/security_solution/public/common/lib/upsellings/upselling_service.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "securitySolution", + "id": "def-public.UpsellingService.registerPages", + "type": "Function", + "tags": [], + "label": "registerPages", + "description": [], + "signature": [ + "(pages: Partial>>) => void" + ], + "path": "x-pack/plugins/security_solution/public/common/lib/upsellings/upselling_service.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "securitySolution", + "id": "def-public.UpsellingService.registerPages.$1", + "type": "Object", + "tags": [], + "label": "pages", + "description": [], + "signature": [ + "Partial>>" + ], + "path": "x-pack/plugins/security_solution/public/common/lib/upsellings/upselling_service.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "securitySolution", + "id": "def-public.UpsellingService.isPageUpsellable", + "type": "Function", + "tags": [], + "label": "isPageUpsellable", + "description": [], + "signature": [ + "(id: ", + { + "pluginId": "securitySolution", + "scope": "common", + "docId": "kibSecuritySolutionPluginApi", + "section": "def-common.SecurityPageName", + "text": "SecurityPageName" + }, + ") => boolean" + ], + "path": "x-pack/plugins/security_solution/public/common/lib/upsellings/upselling_service.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "securitySolution", + "id": "def-public.UpsellingService.isPageUpsellable.$1", + "type": "Enum", + "tags": [], + "label": "id", + "description": [], + "signature": [ + { + "pluginId": "securitySolution", + "scope": "common", + "docId": "kibSecuritySolutionPluginApi", + "section": "def-common.SecurityPageName", + "text": "SecurityPageName" + } + ], + "path": "x-pack/plugins/security_solution/public/common/lib/upsellings/upselling_service.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "securitySolution", + "id": "def-public.UpsellingService.getPageUpselling", + "type": "Function", + "tags": [], + "label": "getPageUpselling", + "description": [], + "signature": [ + "(id: ", + { + "pluginId": "securitySolution", + "scope": "common", + "docId": "kibSecuritySolutionPluginApi", + "section": "def-common.SecurityPageName", + "text": "SecurityPageName" + }, + ") => React.ComponentType<{}> | undefined" + ], + "path": "x-pack/plugins/security_solution/public/common/lib/upsellings/upselling_service.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "securitySolution", + "id": "def-public.UpsellingService.getPageUpselling.$1", + "type": "Enum", + "tags": [], + "label": "id", + "description": [], + "signature": [ + { + "pluginId": "securitySolution", + "scope": "common", + "docId": "kibSecuritySolutionPluginApi", + "section": "def-common.SecurityPageName", + "text": "SecurityPageName" + } + ], + "path": "x-pack/plugins/security_solution/public/common/lib/upsellings/upselling_service.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false } ], "functions": [], @@ -1103,6 +1343,8 @@ "ExpandedDetailType", " | undefined; session?: ", "ExpandedDetailType", + " | undefined; securityAssistant?: ", + "ExpandedDetailType", " | undefined; }" ], "path": "x-pack/plugins/security_solution/public/timelines/store/timeline/model.ts", @@ -1314,7 +1556,53 @@ } ], "enums": [], - "misc": [], + "misc": [ + { + "parentPluginId": "securitySolution", + "id": "def-public.PageUpsellings", + "type": "Type", + "tags": [], + "label": "PageUpsellings", + "description": [], + "signature": [ + "{ administration?: React.ComponentType<{}> | undefined; alerts?: React.ComponentType<{}> | undefined; blocklist?: React.ComponentType<{}> | undefined; cases?: React.ComponentType<{}> | undefined; cases_configure?: React.ComponentType<{}> | undefined; cases_create?: React.ComponentType<{}> | undefined; \"cloud_security_posture-benchmarks\"?: React.ComponentType<{}> | undefined; \"cloud_security_posture-dashboard\"?: React.ComponentType<{}> | undefined; \"cloud_security_posture-findings\"?: React.ComponentType<{}> | undefined; \"cloud_security_posture-rules\"?: React.ComponentType<{}> | undefined; \"cloud_defend-policies\"?: React.ComponentType<{}> | undefined; dashboards?: React.ComponentType<{}> | undefined; data_quality?: React.ComponentType<{}> | undefined; detections?: React.ComponentType<{}> | undefined; detection_response?: React.ComponentType<{}> | undefined; endpoints?: React.ComponentType<{}> | undefined; event_filters?: React.ComponentType<{}> | undefined; exceptions?: React.ComponentType<{}> | undefined; explore?: React.ComponentType<{}> | undefined; host_isolation_exceptions?: React.ComponentType<{}> | undefined; hosts?: React.ComponentType<{}> | undefined; \"hosts-anomalies\"?: React.ComponentType<{}> | undefined; \"hosts-risk\"?: React.ComponentType<{}> | undefined; \"hosts-events\"?: React.ComponentType<{}> | undefined; investigate?: React.ComponentType<{}> | undefined; kubernetes?: React.ComponentType<{}> | undefined; get_started?: React.ComponentType<{}> | undefined; network?: React.ComponentType<{}> | undefined; \"network-anomalies\"?: React.ComponentType<{}> | undefined; \"network-dns\"?: React.ComponentType<{}> | undefined; \"network-events\"?: React.ComponentType<{}> | undefined; \"network-http\"?: React.ComponentType<{}> | undefined; \"network-tls\"?: React.ComponentType<{}> | undefined; \"\"?: React.ComponentType<{}> | undefined; overview?: React.ComponentType<{}> | undefined; policy?: React.ComponentType<{}> | undefined; response_actions_history?: React.ComponentType<{}> | undefined; rules?: React.ComponentType<{}> | undefined; \"rules-create\"?: React.ComponentType<{}> | undefined; sessions?: React.ComponentType<{}> | undefined; \"threat_intelligence-indicators\"?: React.ComponentType<{}> | undefined; timelines?: React.ComponentType<{}> | undefined; \"timelines-templates\"?: React.ComponentType<{}> | undefined; trusted_apps?: React.ComponentType<{}> | undefined; uncommon_processes?: React.ComponentType<{}> | undefined; users?: React.ComponentType<{}> | undefined; \"users-anomalies\"?: React.ComponentType<{}> | undefined; \"users-authentications\"?: React.ComponentType<{}> | undefined; \"users-events\"?: React.ComponentType<{}> | undefined; \"users-risk\"?: React.ComponentType<{}> | undefined; \"entity-analytics\"?: React.ComponentType<{}> | undefined; }" + ], + "path": "x-pack/plugins/security_solution/public/common/lib/upsellings/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "securitySolution", + "id": "def-public.SectionUpsellings", + "type": "Type", + "tags": [], + "label": "SectionUpsellings", + "description": [], + "signature": [ + "{ entity_analytics_panel?: React.ComponentType<{}> | undefined; }" + ], + "path": "x-pack/plugins/security_solution/public/common/lib/upsellings/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "securitySolution", + "id": "def-public.UpsellingSectionId", + "type": "Type", + "tags": [], + "label": "UpsellingSectionId", + "description": [], + "signature": [ + "\"entity_analytics_panel\"" + ], + "path": "x-pack/plugins/security_solution/public/common/lib/upsellings/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], "objects": [], "setup": { "parentPluginId": "securitySolution", @@ -1344,6 +1632,26 @@ "trackAdoption": false, "children": [], "returnComment": [] + }, + { + "parentPluginId": "securitySolution", + "id": "def-public.PluginSetup.upselling", + "type": "Object", + "tags": [], + "label": "upselling", + "description": [], + "signature": [ + { + "pluginId": "securitySolution", + "scope": "public", + "docId": "kibSecuritySolutionPluginApi", + "section": "def-public.UpsellingService", + "text": "UpsellingService" + } + ], + "path": "x-pack/plugins/security_solution/public/types.ts", + "deprecated": false, + "trackAdoption": false } ], "lifecycle": "setup", @@ -1411,6 +1719,40 @@ } ], "returnComment": [] + }, + { + "parentPluginId": "securitySolution", + "id": "def-public.PluginStart.setGetStartedPage", + "type": "Function", + "tags": [], + "label": "setGetStartedPage", + "description": [], + "signature": [ + "(getStartedComponent: ", + "GetStartedComponent", + ") => void" + ], + "path": "x-pack/plugins/security_solution/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "securitySolution", + "id": "def-public.PluginStart.setGetStartedPage.$1", + "type": "Function", + "tags": [], + "label": "getStartedComponent", + "description": [], + "signature": [ + "GetStartedComponent" + ], + "path": "x-pack/plugins/security_solution/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] } ], "lifecycle": "start", @@ -2131,7 +2473,13 @@ "description": [], "signature": [ "Readonly<{ prebuiltRulesPackageVersion?: string | undefined; } & { enabled: boolean; signalsIndex: string; maxRuleImportExportSize: number; maxRuleImportPayloadBytes: number; maxTimelineImportExportSize: number; maxTimelineImportPayloadBytes: number; alertMergeStrategy: \"allFields\" | \"missingFields\" | \"noFields\"; alertIgnoreFields: string[]; enableExperimental: string[]; packagerTaskInterval: string; maxUploadResponseActionFileBytes: number; }> & { experimentalFeatures: ", - "ExperimentalFeatures", + { + "pluginId": "securitySolution", + "scope": "common", + "docId": "kibSecuritySolutionPluginApi", + "section": "def-common.ExperimentalFeatures", + "text": "ExperimentalFeatures" + }, "; }" ], "path": "x-pack/plugins/security_solution/server/config.ts", @@ -2151,7 +2499,56 @@ "path": "x-pack/plugins/security_solution/server/plugin_contract.ts", "deprecated": false, "trackAdoption": false, - "children": [], + "children": [ + { + "parentPluginId": "securitySolution", + "id": "def-server.SecuritySolutionPluginSetup.setAppFeatures", + "type": "Function", + "tags": [], + "label": "setAppFeatures", + "description": [ + "\nSets the app features that are available to the Security Solution" + ], + "signature": [ + "(appFeatureKeys: ", + { + "pluginId": "securitySolution", + "scope": "common", + "docId": "kibSecuritySolutionPluginApi", + "section": "def-common.AppFeatureKeys", + "text": "AppFeatureKeys" + }, + ") => void" + ], + "path": "x-pack/plugins/security_solution/server/plugin_contract.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "securitySolution", + "id": "def-server.SecuritySolutionPluginSetup.setAppFeatures.$1", + "type": "Array", + "tags": [], + "label": "appFeatureKeys", + "description": [], + "signature": [ + { + "pluginId": "securitySolution", + "scope": "common", + "docId": "kibSecuritySolutionPluginApi", + "section": "def-common.AppFeatureKey", + "text": "AppFeatureKey" + }, + "[]" + ], + "path": "x-pack/plugins/security_solution/server/lib/app_features/app_features.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ], "lifecycle": "setup", "initialIsOpen": true }, @@ -2189,6 +2586,23 @@ } ], "misc": [ + { + "parentPluginId": "securitySolution", + "id": "def-common.APP_ID", + "type": "string", + "tags": [], + "label": "APP_ID", + "description": [ + "\nas const\n\nThe const assertion ensures that type widening does not occur\nhttps://mariusschulz.com/blog/literal-type-widening-in-typescript\nPlease follow this convention when adding to this file" + ], + "signature": [ + "\"securitySolution\"" + ], + "path": "x-pack/plugins/security_solution/common/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "securitySolution", "id": "def-common.APP_UI_ID", @@ -2204,6 +2618,60 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "securitySolution", + "id": "def-common.AppFeatureKey", + "type": "Type", + "tags": [], + "label": "AppFeatureKey", + "description": [], + "signature": [ + "AppFeatureSecurityKey", + " | ", + "AppFeatureCasesKey" + ], + "path": "x-pack/plugins/security_solution/common/types/app_features.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "securitySolution", + "id": "def-common.AppFeatureKeys", + "type": "Type", + "tags": [], + "label": "AppFeatureKeys", + "description": [], + "signature": [ + { + "pluginId": "securitySolution", + "scope": "common", + "docId": "kibSecuritySolutionPluginApi", + "section": "def-common.AppFeatureKey", + "text": "AppFeatureKey" + }, + "[]" + ], + "path": "x-pack/plugins/security_solution/common/types/app_features.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "securitySolution", + "id": "def-common.CASES_FEATURE_ID", + "type": "string", + "tags": [], + "label": "CASES_FEATURE_ID", + "description": [], + "signature": [ + "\"securitySolutionCases\"" + ], + "path": "x-pack/plugins/security_solution/common/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "securitySolution", "id": "def-common.ELASTIC_SECURITY_RULE_ID", @@ -2220,8 +2688,117 @@ "deprecated": false, "trackAdoption": false, "initialIsOpen": false + }, + { + "parentPluginId": "securitySolution", + "id": "def-common.ExperimentalFeatures", + "type": "Type", + "tags": [], + "label": "ExperimentalFeatures", + "description": [], + "signature": [ + "{ readonly tGridEnabled: boolean; readonly tGridEventRenderedViewEnabled: boolean; readonly excludePoliciesInFilterEnabled: boolean; readonly kubernetesEnabled: boolean; readonly disableIsolationUIPendingStatuses: boolean; readonly pendingActionResponsesWithAck: boolean; readonly policyListEnabled: boolean; readonly policyResponseInFleetEnabled: boolean; readonly chartEmbeddablesEnabled: boolean; readonly donutChartEmbeddablesEnabled: boolean; readonly alertsPreviewChartEmbeddablesEnabled: boolean; readonly previewTelemetryUrlEnabled: boolean; readonly responseActionsConsoleEnabled: boolean; readonly insightsRelatedAlertsByProcessAncestry: boolean; readonly extendedRuleExecutionLoggingEnabled: boolean; readonly prebuiltRulesNewUpgradeAndInstallationWorkflowsEnabled: boolean; readonly socTrendsEnabled: boolean; readonly responseActionsEnabled: boolean; readonly endpointResponseActionsEnabled: boolean; readonly endpointRbacEnabled: boolean; readonly endpointRbacV1Enabled: boolean; readonly alertDetailsPageEnabled: boolean; readonly responseActionGetFileEnabled: boolean; readonly responseActionExecuteEnabled: boolean; readonly responseActionUploadEnabled: boolean; readonly alertsPageChartsEnabled: boolean; readonly alertTypeEnabled: boolean; readonly securityFlyoutEnabled: boolean; readonly assistantEnabled: boolean; readonly riskyHostsEnabled: boolean; readonly riskyUsersEnabled: boolean; readonly alertsPageFiltersEnabled: boolean; readonly newUserDetailsFlyout: boolean; readonly detectionsCoverageOverview: boolean; }" + ], + "path": "x-pack/plugins/security_solution/common/experimental_features.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "securitySolution", + "id": "def-common.SERVER_APP_ID", + "type": "string", + "tags": [], + "label": "SERVER_APP_ID", + "description": [], + "signature": [ + "\"siem\"" + ], + "path": "x-pack/plugins/security_solution/common/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false } ], - "objects": [] + "objects": [ + { + "parentPluginId": "securitySolution", + "id": "def-common.ALL_APP_FEATURE_KEYS", + "type": "Object", + "tags": [], + "label": "ALL_APP_FEATURE_KEYS", + "description": [], + "signature": [ + "readonly (", + "AppFeatureSecurityKey", + ".advancedInsights | ", + "AppFeatureCasesKey", + ".casesConnectors)[]" + ], + "path": "x-pack/plugins/security_solution/common/types/app_features.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "securitySolution", + "id": "def-common.allowedExperimentalValues", + "type": "Object", + "tags": [], + "label": "allowedExperimentalValues", + "description": [ + "\nA list of allowed values that can be used in `xpack.securitySolution.enableExperimental`.\nThis object is then used to validate and parse the value entered." + ], + "signature": [ + "{ readonly tGridEnabled: boolean; readonly tGridEventRenderedViewEnabled: boolean; readonly excludePoliciesInFilterEnabled: boolean; readonly kubernetesEnabled: boolean; readonly disableIsolationUIPendingStatuses: boolean; readonly pendingActionResponsesWithAck: boolean; readonly policyListEnabled: boolean; readonly policyResponseInFleetEnabled: boolean; readonly chartEmbeddablesEnabled: boolean; readonly donutChartEmbeddablesEnabled: boolean; readonly alertsPreviewChartEmbeddablesEnabled: boolean; readonly previewTelemetryUrlEnabled: boolean; readonly responseActionsConsoleEnabled: boolean; readonly insightsRelatedAlertsByProcessAncestry: boolean; readonly extendedRuleExecutionLoggingEnabled: boolean; readonly prebuiltRulesNewUpgradeAndInstallationWorkflowsEnabled: boolean; readonly socTrendsEnabled: boolean; readonly responseActionsEnabled: boolean; readonly endpointResponseActionsEnabled: boolean; readonly endpointRbacEnabled: boolean; readonly endpointRbacV1Enabled: boolean; readonly alertDetailsPageEnabled: boolean; readonly responseActionGetFileEnabled: boolean; readonly responseActionExecuteEnabled: boolean; readonly responseActionUploadEnabled: boolean; readonly alertsPageChartsEnabled: boolean; readonly alertTypeEnabled: boolean; readonly securityFlyoutEnabled: boolean; readonly assistantEnabled: boolean; readonly riskyHostsEnabled: boolean; readonly riskyUsersEnabled: boolean; readonly alertsPageFiltersEnabled: boolean; readonly newUserDetailsFlyout: boolean; readonly detectionsCoverageOverview: boolean; }" + ], + "path": "x-pack/plugins/security_solution/common/experimental_features.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "securitySolution", + "id": "def-common.AppFeatureKey", + "type": "Object", + "tags": [], + "label": "AppFeatureKey", + "description": [], + "path": "x-pack/plugins/security_solution/common/types/app_features.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "securitySolution", + "id": "def-common.AppFeatureKey.Unnamed", + "type": "Any", + "tags": [], + "label": "Unnamed", + "description": [], + "signature": [ + "any" + ], + "path": "x-pack/plugins/security_solution/common/types/app_features.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "securitySolution", + "id": "def-common.AppFeatureKey.Unnamed", + "type": "Any", + "tags": [], + "label": "Unnamed", + "description": [], + "signature": [ + "any" + ], + "path": "x-pack/plugins/security_solution/common/types/app_features.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ] } } \ No newline at end of file diff --git a/api_docs/security_solution.mdx b/api_docs/security_solution.mdx index e2e248f6f25a5..79e29a899587a 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolution'] --- import securitySolutionObj from './security_solution.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/security-solution](https://github.com/orgs/elastic/teams/secur | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 123 | 0 | 82 | 27 | +| 154 | 2 | 110 | 29 | ## Client @@ -37,6 +37,9 @@ Contact [@elastic/security-solution](https://github.com/orgs/elastic/teams/secur ### Interfaces +### Consts, variables and types + + ## Server ### Setup @@ -56,6 +59,9 @@ Contact [@elastic/security-solution](https://github.com/orgs/elastic/teams/secur ## Common +### Objects + + ### Enums diff --git a/api_docs/serverless.devdocs.json b/api_docs/serverless.devdocs.json index 71e1b254cf003..1e514e2acbbfc 100644 --- a/api_docs/serverless.devdocs.json +++ b/api_docs/serverless.devdocs.json @@ -77,6 +77,122 @@ } ], "returnComment": [] + }, + { + "parentPluginId": "serverless", + "id": "def-public.ServerlessPluginStart.setNavigation", + "type": "Function", + "tags": [], + "label": "setNavigation", + "description": [], + "signature": [ + "(projectNavigation: ", + { + "pluginId": "@kbn/core-chrome-browser", + "scope": "common", + "docId": "kibKbnCoreChromeBrowserPluginApi", + "section": "def-common.ChromeProjectNavigation", + "text": "ChromeProjectNavigation" + }, + ") => void" + ], + "path": "x-pack/plugins/serverless/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "serverless", + "id": "def-public.ServerlessPluginStart.setNavigation.$1", + "type": "Object", + "tags": [], + "label": "projectNavigation", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-chrome-browser", + "scope": "common", + "docId": "kibKbnCoreChromeBrowserPluginApi", + "section": "def-common.ChromeProjectNavigation", + "text": "ChromeProjectNavigation" + } + ], + "path": "x-pack/plugins/serverless/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "serverless", + "id": "def-public.ServerlessPluginStart.setBreadcrumbs", + "type": "Function", + "tags": [], + "label": "setBreadcrumbs", + "description": [], + "signature": [ + "(breadcrumbs: ", + "EuiBreadcrumbProps", + " | ", + "EuiBreadcrumbProps", + "[], params?: Partial<", + { + "pluginId": "@kbn/core-chrome-browser", + "scope": "common", + "docId": "kibKbnCoreChromeBrowserPluginApi", + "section": "def-common.ChromeSetProjectBreadcrumbsParams", + "text": "ChromeSetProjectBreadcrumbsParams" + }, + "> | undefined) => void" + ], + "path": "x-pack/plugins/serverless/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "serverless", + "id": "def-public.ServerlessPluginStart.setBreadcrumbs.$1", + "type": "CompoundType", + "tags": [], + "label": "breadcrumbs", + "description": [], + "signature": [ + "EuiBreadcrumbProps", + " | ", + "EuiBreadcrumbProps", + "[]" + ], + "path": "x-pack/plugins/serverless/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "serverless", + "id": "def-public.ServerlessPluginStart.setBreadcrumbs.$2", + "type": "Object", + "tags": [], + "label": "params", + "description": [], + "signature": [ + "Partial<", + { + "pluginId": "@kbn/core-chrome-browser", + "scope": "common", + "docId": "kibKbnCoreChromeBrowserPluginApi", + "section": "def-common.ChromeSetProjectBreadcrumbsParams", + "text": "ChromeSetProjectBreadcrumbsParams" + }, + "> | undefined" + ], + "path": "x-pack/plugins/serverless/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [] } ], "lifecycle": "start", diff --git a/api_docs/serverless.mdx b/api_docs/serverless.mdx index 388c7af361468..9578fc31c1417 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverless'] --- import serverlessObj from './serverless.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 9 | 0 | 8 | 0 | +| 14 | 0 | 13 | 0 | ## Client diff --git a/api_docs/serverless_observability.mdx b/api_docs/serverless_observability.mdx index 5c08e4bbf86ae..74c09c245b708 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-05-16 +date: 2023-06-07 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 b6f19460443a8..e80af561f84bc 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessSearch'] --- import serverlessSearchObj from './serverless_search.devdocs.json'; diff --git a/api_docs/serverless_security.mdx b/api_docs/serverless_security.mdx index f02e9d9195e89..e622ca1756172 100644 --- a/api_docs/serverless_security.mdx +++ b/api_docs/serverless_security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessSecurity title: "serverlessSecurity" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessSecurity plugin -date: 2023-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessSecurity'] --- import serverlessSecurityObj from './serverless_security.devdocs.json'; diff --git a/api_docs/session_view.mdx b/api_docs/session_view.mdx index a1dc801def98f..cf3ae85e89e7d 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'sessionView'] --- import sessionViewObj from './session_view.devdocs.json'; diff --git a/api_docs/share.devdocs.json b/api_docs/share.devdocs.json index 6601c08555872..53e4bd286a6ac 100644 --- a/api_docs/share.devdocs.json +++ b/api_docs/share.devdocs.json @@ -878,6 +878,28 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "share", + "id": "def-public.ShareContext.shareableUrlLocatorParams", + "type": "Object", + "tags": [], + "label": "shareableUrlLocatorParams", + "description": [], + "signature": [ + "{ locator: ", + { + "pluginId": "share", + "scope": "common", + "docId": "kibSharePluginApi", + "section": "def-common.LocatorPublic", + "text": "LocatorPublic" + }, + "; params: any; } | undefined" + ], + "path": "src/plugins/share/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "share", "id": "def-public.ShareContext.sharingData", diff --git a/api_docs/share.mdx b/api_docs/share.mdx index 1e8a4144c9f7f..e32455c1cb6a4 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'share'] --- import shareObj from './share.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sh | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 118 | 0 | 59 | 10 | +| 119 | 0 | 60 | 10 | ## Client diff --git a/api_docs/snapshot_restore.mdx b/api_docs/snapshot_restore.mdx index ec4cc1ff5ef43..c63b38db06302 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-05-16 +date: 2023-06-07 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 faef743129fc3..14ae737d9b83f 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-05-16 +date: 2023-06-07 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 ddfdc068ad3de..7f04d3157fc05 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-05-16 +date: 2023-06-07 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 fb62eb043f51d..1a45753770ee2 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackConnectors'] --- import stackConnectorsObj from './stack_connectors.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 | |-------------------|-----------|------------------------|-----------------| -| 4 | 0 | 4 | 0 | +| 4 | 0 | 4 | 1 | ## Common diff --git a/api_docs/task_manager.devdocs.json b/api_docs/task_manager.devdocs.json index dee3179dbdfd0..7ab5334a9155f 100644 --- a/api_docs/task_manager.devdocs.json +++ b/api_docs/task_manager.devdocs.json @@ -94,6 +94,22 @@ ], "returnComment": [] }, + { + "parentPluginId": "taskManager", + "id": "def-server.TaskManagerPlugin.isNodeBackgroundTasksOnly", + "type": "Function", + "tags": [], + "label": "isNodeBackgroundTasksOnly", + "description": [], + "signature": [ + "() => boolean" + ], + "path": "x-pack/plugins/task_manager/server/plugin.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, { "parentPluginId": "taskManager", "id": "def-server.TaskManagerPlugin.setup", diff --git a/api_docs/task_manager.mdx b/api_docs/task_manager.mdx index ff909cab34510..8a5f0fecefab6 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'taskManager'] --- import taskManagerObj from './task_manager.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 | |-------------------|-----------|------------------------|-----------------| -| 82 | 0 | 40 | 6 | +| 83 | 0 | 41 | 6 | ## Server diff --git a/api_docs/telemetry.devdocs.json b/api_docs/telemetry.devdocs.json index 38561db5d5a0e..a74a9725ed82b 100644 --- a/api_docs/telemetry.devdocs.json +++ b/api_docs/telemetry.devdocs.json @@ -713,7 +713,7 @@ "section": "def-server.DataTelemetryPayload", "text": "DataTelemetryPayload" }, - " | undefined; kibana: { count: number; indices: number; os: {}; versions: { version: string; count: number; }[]; plugins: { [plugin: string]: Record; }; } | undefined; }; }" + " | undefined; kibana: { count: number; indices: number; os: Record; versions: { version: string; count: number; }[]; plugins: { [plugin: string]: Record; }; } | undefined; }; }" ], "path": "src/plugins/telemetry/server/telemetry_collection/get_local_stats.ts", "deprecated": false, @@ -781,7 +781,7 @@ ], "label": "getIsOptedIn", "description": [ - "\nResolves `true` if the user has opted into send Elastic usage data.\nResolves `false` if the user explicitly opted out of sending usage data to Elastic\nor did not choose to opt-in or out -yet- after a minor or major upgrade (only when previously opted-out).\n" + "\nResolves `true` if sending usage to Elastic is enabled.\nResolves `false` if the user explicitly opted out of sending usage data to Elastic\nor did not choose to opt-in or out -yet- after a minor or major upgrade (only when previously opted-out).\n" ], "signature": [ "() => Promise" diff --git a/api_docs/telemetry.mdx b/api_docs/telemetry.mdx index add96b3e995b4..6dadad7b695c6 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetry'] --- import telemetryObj from './telemetry.devdocs.json'; diff --git a/api_docs/telemetry_collection_manager.devdocs.json b/api_docs/telemetry_collection_manager.devdocs.json index 28e647519d979..b68644517c22f 100644 --- a/api_docs/telemetry_collection_manager.devdocs.json +++ b/api_docs/telemetry_collection_manager.devdocs.json @@ -244,7 +244,7 @@ "TransportRequestOptions", " | undefined): Promise<", "CountResponse", - ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", + ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchApplication]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", "default", "; child: (opts: ", "ClientOptions", @@ -490,29 +490,29 @@ "ExplainResponse", ">; }; features: ", "default", - "; fieldCaps: { (this: That, params: ", + "; fieldCaps: { (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithOutMeta", " | undefined): Promise<", "FieldCapsResponse", - ">; (this: That, params: ", + ">; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithMeta", " | undefined): Promise<", "TransportResult", "<", "FieldCapsResponse", - ", unknown>>; (this: That, params: ", + ", unknown>>; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptions", " | undefined): Promise<", "FieldCapsResponse", @@ -618,7 +618,33 @@ "TransportRequestOptions", " | undefined): Promise; }; graph: ", "default", - "; ilm: ", + "; healthReport: { (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "HealthReportResponse", + ">; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "HealthReportResponse", + ", unknown>>; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "HealthReportResponse", + ">; }; ilm: ", "default", "; index: { (this: That, params: ", "IndexRequest", @@ -1064,7 +1090,9 @@ "TransportRequestOptions", " | undefined): Promise<", "ScrollResponse", - ">; }; searchMvt: { (this: That, params: ", + ">; }; searchApplication: ", + "default", + "; searchMvt: { (this: That, params: ", "SearchMvtRequest", " | ", "SearchMvtRequest", diff --git a/api_docs/telemetry_collection_manager.mdx b/api_docs/telemetry_collection_manager.mdx index e760f02ff79b6..e03fa1d5bd24e 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-05-16 +date: 2023-06-07 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 39da8f2c3fd89..9612fd2e45f24 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-05-16 +date: 2023-06-07 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 9ae7c2d5b1152..2463f49fcc287 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryManagementSection'] --- import telemetryManagementSectionObj from './telemetry_management_section.devdocs.json'; diff --git a/api_docs/text_based_languages.devdocs.json b/api_docs/text_based_languages.devdocs.json new file mode 100644 index 0000000000000..e5f1b90b12a78 --- /dev/null +++ b/api_docs/text_based_languages.devdocs.json @@ -0,0 +1,323 @@ +{ + "id": "textBasedLanguages", + "client": { + "classes": [], + "functions": [ + { + "parentPluginId": "textBasedLanguages", + "id": "def-public.TextBasedLangEditor", + "type": "Function", + "tags": [], + "label": "TextBasedLangEditor", + "description": [], + "signature": [ + "(props: ", + { + "pluginId": "@kbn/text-based-editor", + "scope": "public", + "docId": "kibKbnTextBasedEditorPluginApi", + "section": "def-public.TextBasedLanguagesEditorProps", + "text": "TextBasedLanguagesEditorProps" + }, + ") => JSX.Element" + ], + "path": "src/plugins/text_based_languages/public/create_editor.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "textBasedLanguages", + "id": "def-public.TextBasedLangEditor.$1", + "type": "Object", + "tags": [], + "label": "props", + "description": [], + "signature": [ + { + "pluginId": "@kbn/text-based-editor", + "scope": "public", + "docId": "kibKbnTextBasedEditorPluginApi", + "section": "def-public.TextBasedLanguagesEditorProps", + "text": "TextBasedLanguagesEditorProps" + } + ], + "path": "src/plugins/text_based_languages/public/create_editor.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [ + { + "parentPluginId": "textBasedLanguages", + "id": "def-public.TextBasedLanguagesEditorProps", + "type": "Interface", + "tags": [], + "label": "TextBasedLanguagesEditorProps", + "description": [], + "path": "packages/kbn-text-based-editor/src/text_based_languages_editor.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "textBasedLanguages", + "id": "def-public.TextBasedLanguagesEditorProps.query", + "type": "CompoundType", + "tags": [], + "label": "query", + "description": [], + "signature": [ + "{ sql: string; } | { esql: string; }" + ], + "path": "packages/kbn-text-based-editor/src/text_based_languages_editor.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "textBasedLanguages", + "id": "def-public.TextBasedLanguagesEditorProps.onTextLangQueryChange", + "type": "Function", + "tags": [], + "label": "onTextLangQueryChange", + "description": [], + "signature": [ + "(query: ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.AggregateQuery", + "text": "AggregateQuery" + }, + ") => void" + ], + "path": "packages/kbn-text-based-editor/src/text_based_languages_editor.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "textBasedLanguages", + "id": "def-public.TextBasedLanguagesEditorProps.onTextLangQueryChange.$1", + "type": "CompoundType", + "tags": [], + "label": "query", + "description": [], + "signature": [ + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.AggregateQuery", + "text": "AggregateQuery" + } + ], + "path": "packages/kbn-text-based-editor/src/text_based_languages_editor.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "textBasedLanguages", + "id": "def-public.TextBasedLanguagesEditorProps.onTextLangQuerySubmit", + "type": "Function", + "tags": [], + "label": "onTextLangQuerySubmit", + "description": [], + "signature": [ + "() => void" + ], + "path": "packages/kbn-text-based-editor/src/text_based_languages_editor.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "textBasedLanguages", + "id": "def-public.TextBasedLanguagesEditorProps.expandCodeEditor", + "type": "Function", + "tags": [], + "label": "expandCodeEditor", + "description": [], + "signature": [ + "(status: boolean) => void" + ], + "path": "packages/kbn-text-based-editor/src/text_based_languages_editor.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "textBasedLanguages", + "id": "def-public.TextBasedLanguagesEditorProps.expandCodeEditor.$1", + "type": "boolean", + "tags": [], + "label": "status", + "description": [], + "signature": [ + "boolean" + ], + "path": "packages/kbn-text-based-editor/src/text_based_languages_editor.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "textBasedLanguages", + "id": "def-public.TextBasedLanguagesEditorProps.isCodeEditorExpanded", + "type": "boolean", + "tags": [], + "label": "isCodeEditorExpanded", + "description": [], + "path": "packages/kbn-text-based-editor/src/text_based_languages_editor.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "textBasedLanguages", + "id": "def-public.TextBasedLanguagesEditorProps.detectTimestamp", + "type": "CompoundType", + "tags": [], + "label": "detectTimestamp", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "packages/kbn-text-based-editor/src/text_based_languages_editor.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "textBasedLanguages", + "id": "def-public.TextBasedLanguagesEditorProps.errors", + "type": "Array", + "tags": [], + "label": "errors", + "description": [], + "signature": [ + "Error[] | undefined" + ], + "path": "packages/kbn-text-based-editor/src/text_based_languages_editor.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "textBasedLanguages", + "id": "def-public.TextBasedLanguagesEditorProps.isDisabled", + "type": "CompoundType", + "tags": [], + "label": "isDisabled", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "packages/kbn-text-based-editor/src/text_based_languages_editor.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "textBasedLanguages", + "id": "def-public.TextBasedLanguagesEditorProps.isDarkMode", + "type": "CompoundType", + "tags": [], + "label": "isDarkMode", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "packages/kbn-text-based-editor/src/text_based_languages_editor.tsx", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "textBasedLanguages", + "id": "def-public.TextBasedLanguagesEditorProps.dataTestSubj", + "type": "string", + "tags": [], + "label": "dataTestSubj", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-text-based-editor/src/text_based_languages_editor.tsx", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "textBasedLanguages", + "id": "def-public.TextBasedLanguagesPluginStart", + "type": "Interface", + "tags": [], + "label": "TextBasedLanguagesPluginStart", + "description": [], + "path": "src/plugins/text_based_languages/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "textBasedLanguages", + "id": "def-public.TextBasedLanguagesPluginStart.Editor", + "type": "CompoundType", + "tags": [], + "label": "Editor", + "description": [], + "signature": [ + "React.ComponentClass<", + { + "pluginId": "@kbn/text-based-editor", + "scope": "public", + "docId": "kibKbnTextBasedEditorPluginApi", + "section": "def-public.TextBasedLanguagesEditorProps", + "text": "TextBasedLanguagesEditorProps" + }, + ", any> | React.FunctionComponent<", + { + "pluginId": "@kbn/text-based-editor", + "scope": "public", + "docId": "kibKbnTextBasedEditorPluginApi", + "section": "def-public.TextBasedLanguagesEditorProps", + "text": "TextBasedLanguagesEditorProps" + }, + ">" + ], + "path": "src/plugins/text_based_languages/public/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/text_based_languages.mdx b/api_docs/text_based_languages.mdx new file mode 100644 index 0000000000000..b0015dd853dea --- /dev/null +++ b/api_docs/text_based_languages.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: kibTextBasedLanguagesPluginApi +slug: /kibana-dev-docs/api/textBasedLanguages +title: "textBasedLanguages" +image: https://source.unsplash.com/400x175/?github +description: API docs for the textBasedLanguages plugin +date: 2023-06-07 +tags: ['contributor', 'dev', 'apidocs', 'kibana', 'textBasedLanguages'] +--- +import textBasedLanguagesObj from './text_based_languages.devdocs.json'; + + + +Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 17 | 0 | 17 | 0 | + +## Client + +### Functions + + +### Interfaces + + diff --git a/api_docs/threat_intelligence.devdocs.json b/api_docs/threat_intelligence.devdocs.json index 688ae390b26a3..e61ea9b2ea265 100644 --- a/api_docs/threat_intelligence.devdocs.json +++ b/api_docs/threat_intelligence.devdocs.json @@ -3,45 +3,6 @@ "client": { "classes": [], "functions": [ - { - "parentPluginId": "threatIntelligence", - "id": "def-public.getSecuritySolutionDeepLink", - "type": "Function", - "tags": [], - "label": "getSecuritySolutionDeepLink", - "description": [ - "\nGets the threat intelligence properties of a TI page for deep linking in the security solution." - ], - "signature": [ - "(threatIntelligencePage: \"indicators\") => TIDeepLink" - ], - "path": "x-pack/plugins/threat_intelligence/public/utils/security_solution_links.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "threatIntelligence", - "id": "def-public.getSecuritySolutionDeepLink.$1", - "type": "string", - "tags": [], - "label": "threatIntelligencePage", - "description": [ - "the name of the threat intelligence page." - ], - "signature": [ - "\"indicators\"" - ], - "path": "x-pack/plugins/threat_intelligence/public/utils/security_solution_links.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [ - "a {@link TIDeepLink }" - ], - "initialIsOpen": false - }, { "parentPluginId": "threatIntelligence", "id": "def-public.getSecuritySolutionLink", @@ -80,62 +41,6 @@ "a {@link TILinkItem }" ], "initialIsOpen": false - }, - { - "parentPluginId": "threatIntelligence", - "id": "def-public.getSecuritySolutionNavTab", - "type": "Function", - "tags": [], - "label": "getSecuritySolutionNavTab", - "description": [ - "\nGets the threat intelligence properties of a TI page for navigation in the old security solution navigation." - ], - "signature": [ - "(threatIntelligencePage: \"indicators\", basePath: string) => TINavTab" - ], - "path": "x-pack/plugins/threat_intelligence/public/utils/security_solution_links.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "threatIntelligence", - "id": "def-public.getSecuritySolutionNavTab.$1", - "type": "string", - "tags": [], - "label": "threatIntelligencePage", - "description": [ - "the name of the threat intelligence page." - ], - "signature": [ - "\"indicators\"" - ], - "path": "x-pack/plugins/threat_intelligence/public/utils/security_solution_links.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "threatIntelligence", - "id": "def-public.getSecuritySolutionNavTab.$2", - "type": "string", - "tags": [], - "label": "basePath", - "description": [ - "the base path for links." - ], - "signature": [ - "string" - ], - "path": "x-pack/plugins/threat_intelligence/public/utils/security_solution_links.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [ - "a {@link TINavTab }" - ], - "initialIsOpen": false } ], "interfaces": [ diff --git a/api_docs/threat_intelligence.mdx b/api_docs/threat_intelligence.mdx index a989ea8393d37..f75476fb0e8ff 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'threatIntelligence'] --- import threatIntelligenceObj from './threat_intelligence.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/protections-experience](https://github.com/orgs/elastic/teams/ | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 35 | 0 | 14 | 5 | +| 30 | 0 | 14 | 5 | ## Client diff --git a/api_docs/timelines.devdocs.json b/api_docs/timelines.devdocs.json index 9726c2e691410..c4dec214ca201 100644 --- a/api_docs/timelines.devdocs.json +++ b/api_docs/timelines.devdocs.json @@ -911,11 +911,15 @@ "signature": [ "React.FunctionComponent<(", "DisambiguateSet", - " & ", + " & ", "CommonEuiButtonEmptyProps", " & { onClick?: React.MouseEventHandler | undefined; } & React.ButtonHTMLAttributes) | (", "DisambiguateSet", - " & ", + "<", + "EuiButtonEmptyPropsForButton", + ", EuiButtonEmptyPropsForAnchor> & ", "CommonEuiButtonEmptyProps", " & { href?: string | undefined; onClick?: React.MouseEventHandler | undefined; } & React.AnchorHTMLAttributes)> | React.FunctionComponent<(", "DisambiguateSet", @@ -1469,18 +1473,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/containers/source/index.tsx" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/containers/source/index.tsx" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/containers/source/index.tsx" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/containers/source/index.tsx" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/components/event_details/types.ts" @@ -1633,7 +1625,7 @@ "label": "fields", "description": [], "signature": [ - "{ readonly [x: string]: Partial<", + "{ [x: string]: Partial<", { "pluginId": "timelines", "scope": "common", @@ -3029,6 +3021,54 @@ "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/eql/index.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "timelines", + "id": "def-common.TimelineEqlRequestOptions.runtime_mappings", + "type": "Object", + "tags": [], + "label": "runtime_mappings", + "description": [], + "signature": [ + "Record & { type: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.RuntimePrimitiveTypes", + "text": "RuntimePrimitiveTypes" + }, + "; }> | undefined" + ], + "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/eql/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "timelines", + "id": "def-common.TimelineEqlRequestOptions.body", + "type": "CompoundType", + "tags": [], + "label": "body", + "description": [], + "signature": [ + "(Omit<", + "EqlSearchRequest", + ", \"body\"> & EqlBody & { runtime_mappings?: ", + "RunTimeMappings", + "; }) | undefined" + ], + "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/eql/index.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false @@ -3242,9 +3282,23 @@ "label": "runtimeMappings", "description": [], "signature": [ - "{ [x: string]: ", - "MappingRuntimeField", - "; }" + "Record & { type: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.RuntimePrimitiveTypes", + "text": "RuntimePrimitiveTypes" + }, + "; }> | undefined" ], "path": "x-pack/plugins/timelines/common/search_strategy/timeline/events/all/index.ts", "deprecated": false, @@ -4221,7 +4275,7 @@ "label": "BrowserFields", "description": [], "signature": [ - "{ readonly [x: string]: Partial<", + "{ [x: string]: Partial<", { "pluginId": "timelines", "scope": "common", @@ -4425,7 +4479,11 @@ }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/containers/source/index.tsx" + "path": "x-pack/plugins/security_solution/public/common/containers/source/use_data_view.tsx" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/common/containers/source/use_data_view.tsx" }, { "plugin": "securitySolution", @@ -4683,6 +4741,14 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/components/drag_and_drop/drag_drop_context_wrapper.tsx" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/detections/components/rules/step_define_rule/index.tsx" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/detections/components/rules/step_define_rule/index.tsx" + }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/flyout/right/context.tsx" @@ -4691,6 +4757,14 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/flyout/right/context.tsx" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/flyout/right/hooks/use_prevalence.tsx" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/flyout/right/hooks/use_prevalence.tsx" + }, { "plugin": "@kbn/securitysolution-data-table", "path": "x-pack/packages/security-solution/data_table/mock/mock_source.ts" @@ -4713,15 +4787,15 @@ ], "signature": [ "EuiDataGridCellValueElementProps", - " & { asPlainText?: boolean | undefined; browserFields?: Readonly>> | undefined; data: ", + " | undefined; data: ", { "pluginId": "timelines", "scope": "common", diff --git a/api_docs/timelines.mdx b/api_docs/timelines.mdx index 5c1c0437b8e05..95fe982e61794 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'timelines'] --- import timelinesObj from './timelines.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/security-threat-hunting-investigations](https://github.com/org | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 257 | 1 | 214 | 20 | +| 259 | 1 | 216 | 21 | ## Client diff --git a/api_docs/transform.mdx b/api_docs/transform.mdx index 9d8b4f352b534..8eb544b20b28a 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'transform'] --- import transformObj from './transform.devdocs.json'; diff --git a/api_docs/triggers_actions_ui.devdocs.json b/api_docs/triggers_actions_ui.devdocs.json index 8bd2aebccfba4..990a7738968c9 100644 --- a/api_docs/triggers_actions_ui.devdocs.json +++ b/api_docs/triggers_actions_ui.devdocs.json @@ -382,38 +382,6 @@ "returnComment": [], "initialIsOpen": false }, - { - "parentPluginId": "triggersActionsUi", - "id": "def-public.ButtonGroupField", - "type": "Function", - "tags": [], - "label": "ButtonGroupField", - "description": [], - "signature": [ - "React.NamedExoticComponent" - ], - "path": "x-pack/plugins/triggers_actions_ui/public/application/components/button_group_field.tsx", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "triggersActionsUi", - "id": "def-public.ButtonGroupField.$1", - "type": "Uncategorized", - "tags": [], - "label": "props", - "description": [], - "signature": [ - "P" - ], - "path": "node_modules/@types/react/index.d.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, { "parentPluginId": "triggersActionsUi", "id": "def-public.CreateConnectorFlyout", @@ -858,46 +826,6 @@ "returnComment": [], "initialIsOpen": false }, - { - "parentPluginId": "triggersActionsUi", - "id": "def-public.HiddenField", - "type": "Function", - "tags": [], - "label": "HiddenField", - "description": [], - "signature": [ - "React.NamedExoticComponent<", - "Props", - "> & { readonly type: (props: ", - "Props", - ") => JSX.Element; }" - ], - "path": "x-pack/plugins/triggers_actions_ui/public/application/components/hidden_field.tsx", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "triggersActionsUi", - "id": "def-public.HiddenField.$1", - "type": "Uncategorized", - "tags": [], - "label": "props", - "description": [], - "signature": [ - "P" - ], - "path": "node_modules/@types/react/index.d.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, { "parentPluginId": "triggersActionsUi", "id": "def-public.JsonEditorWithMessageVariables", @@ -1333,38 +1261,6 @@ ], "initialIsOpen": false }, - { - "parentPluginId": "triggersActionsUi", - "id": "def-public.PasswordField", - "type": "Function", - "tags": [], - "label": "PasswordField", - "description": [], - "signature": [ - "React.NamedExoticComponent" - ], - "path": "x-pack/plugins/triggers_actions_ui/public/application/components/password_field.tsx", - "deprecated": false, - "trackAdoption": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "triggersActionsUi", - "id": "def-public.PasswordField.$1", - "type": "Uncategorized", - "tags": [], - "label": "props", - "description": [], - "signature": [ - "P" - ], - "path": "node_modules/@types/react/index.d.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, { "parentPluginId": "triggersActionsUi", "id": "def-public.SectionLoading", diff --git a/api_docs/triggers_actions_ui.mdx b/api_docs/triggers_actions_ui.mdx index c09e863fde432..d1e33aa77105c 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'triggersActionsUi'] --- import triggersActionsUiObj from './triggers_actions_ui.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-o | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 550 | 11 | 521 | 49 | +| 544 | 11 | 518 | 49 | ## Client diff --git a/api_docs/ui_actions.mdx b/api_docs/ui_actions.mdx index fb9c109bdedbb..2ccddc2a4c014 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-05-16 +date: 2023-06-07 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 3b24604fc3d52..c8d12d6146db3 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActionsEnhanced'] --- import uiActionsEnhancedObj from './ui_actions_enhanced.devdocs.json'; diff --git a/api_docs/unified_field_list.devdocs.json b/api_docs/unified_field_list.devdocs.json index f592e3401ae0e..d936dbf5d94c1 100644 --- a/api_docs/unified_field_list.devdocs.json +++ b/api_docs/unified_field_list.devdocs.json @@ -1612,7 +1612,7 @@ "\nMemorizes current query, filters and absolute date range" ], "signature": [ - "({ data }: ", + "({ data, listenToSearchSessionUpdates, }: ", { "pluginId": "unifiedFieldList", "scope": "public", @@ -1638,7 +1638,7 @@ "id": "def-public.useQuerySubscriber.$1", "type": "Object", "tags": [], - "label": "{ data }", + "label": "{\n data,\n listenToSearchSessionUpdates = true,\n}", "description": [], "signature": [ { @@ -2970,15 +2970,15 @@ "label": "renderFieldItem", "description": [], "signature": [ - "(params: { field: T; hideDetails?: boolean | undefined; itemIndex: number; groupIndex: number; groupName: ", + "(params: ", { "pluginId": "unifiedFieldList", "scope": "public", "docId": "kibUnifiedFieldListPluginApi", - "section": "def-public.FieldsGroupNames", - "text": "FieldsGroupNames" + "section": "def-public.RenderFieldItemParams", + "text": "RenderFieldItemParams" }, - "; fieldSearchHighlight?: string | undefined; }) => JSX.Element" + ") => JSX.Element" ], "path": "src/plugins/unified_field_list/public/components/field_list_grouped/field_list_grouped.tsx", "deprecated": false, @@ -2993,15 +2993,14 @@ "label": "params", "description": [], "signature": [ - "{ field: T; hideDetails?: boolean | undefined; itemIndex: number; groupIndex: number; groupName: ", { "pluginId": "unifiedFieldList", "scope": "public", "docId": "kibUnifiedFieldListPluginApi", - "section": "def-public.FieldsGroupNames", - "text": "FieldsGroupNames" + "section": "def-public.RenderFieldItemParams", + "text": "RenderFieldItemParams" }, - "; fieldSearchHighlight?: string | undefined; }" + "" ], "path": "src/plugins/unified_field_list/public/components/field_list_grouped/fields_accordion.tsx", "deprecated": false, @@ -4901,6 +4900,20 @@ "path": "src/plugins/unified_field_list/public/hooks/use_query_subscriber.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.QuerySubscriberParams.listenToSearchSessionUpdates", + "type": "CompoundType", + "tags": [], + "label": "listenToSearchSessionUpdates", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "src/plugins/unified_field_list/public/hooks/use_query_subscriber.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false @@ -4999,6 +5012,114 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.RenderFieldItemParams", + "type": "Interface", + "tags": [], + "label": "RenderFieldItemParams", + "description": [], + "signature": [ + { + "pluginId": "unifiedFieldList", + "scope": "public", + "docId": "kibUnifiedFieldListPluginApi", + "section": "def-public.RenderFieldItemParams", + "text": "RenderFieldItemParams" + }, + "" + ], + "path": "src/plugins/unified_field_list/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.RenderFieldItemParams.field", + "type": "Uncategorized", + "tags": [], + "label": "field", + "description": [], + "signature": [ + "T" + ], + "path": "src/plugins/unified_field_list/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.RenderFieldItemParams.hideDetails", + "type": "CompoundType", + "tags": [], + "label": "hideDetails", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "src/plugins/unified_field_list/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.RenderFieldItemParams.itemIndex", + "type": "number", + "tags": [], + "label": "itemIndex", + "description": [], + "path": "src/plugins/unified_field_list/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.RenderFieldItemParams.groupIndex", + "type": "number", + "tags": [], + "label": "groupIndex", + "description": [], + "path": "src/plugins/unified_field_list/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.RenderFieldItemParams.groupName", + "type": "Enum", + "tags": [], + "label": "groupName", + "description": [], + "signature": [ + { + "pluginId": "unifiedFieldList", + "scope": "public", + "docId": "kibUnifiedFieldListPluginApi", + "section": "def-public.FieldsGroupNames", + "text": "FieldsGroupNames" + } + ], + "path": "src/plugins/unified_field_list/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "unifiedFieldList", + "id": "def-public.RenderFieldItemParams.fieldSearchHighlight", + "type": "string", + "tags": [], + "label": "fieldSearchHighlight", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/unified_field_list/public/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "unifiedFieldList", "id": "def-public.VisualizeInformation", @@ -5326,86 +5447,10 @@ "server": { "classes": [], "functions": [], - "interfaces": [ - { - "parentPluginId": "unifiedFieldList", - "id": "def-server.PluginSetup", - "type": "Interface", - "tags": [], - "label": "PluginSetup", - "description": [], - "path": "src/plugins/unified_field_list/server/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "initialIsOpen": false - }, - { - "parentPluginId": "unifiedFieldList", - "id": "def-server.PluginStart", - "type": "Interface", - "tags": [], - "label": "PluginStart", - "description": [], - "path": "src/plugins/unified_field_list/server/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "unifiedFieldList", - "id": "def-server.PluginStart.dataViews", - "type": "Object", - "tags": [], - "label": "dataViews", - "description": [], - "signature": [ - { - "pluginId": "dataViews", - "scope": "server", - "docId": "kibDataViewsPluginApi", - "section": "def-server.DataViewsServerPluginStart", - "text": "DataViewsServerPluginStart" - } - ], - "path": "src/plugins/unified_field_list/server/types.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - } - ], + "interfaces": [], "enums": [], "misc": [], - "objects": [], - "setup": { - "parentPluginId": "unifiedFieldList", - "id": "def-server.UnifiedFieldListServerPluginSetup", - "type": "Interface", - "tags": [], - "label": "UnifiedFieldListServerPluginSetup", - "description": [], - "path": "src/plugins/unified_field_list/server/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "lifecycle": "setup", - "initialIsOpen": true - }, - "start": { - "parentPluginId": "unifiedFieldList", - "id": "def-server.UnifiedFieldListServerPluginStart", - "type": "Interface", - "tags": [], - "label": "UnifiedFieldListServerPluginStart", - "description": [], - "path": "src/plugins/unified_field_list/server/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [], - "lifecycle": "start", - "initialIsOpen": true - } + "objects": [] }, "common": { "classes": [], diff --git a/api_docs/unified_field_list.mdx b/api_docs/unified_field_list.mdx index 0dc066e434999..b2946a875dd1e 100644 --- a/api_docs/unified_field_list.mdx +++ b/api_docs/unified_field_list.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedFieldList title: "unifiedFieldList" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedFieldList plugin -date: 2023-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedFieldList'] --- import unifiedFieldListObj from './unified_field_list.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 293 | 0 | 267 | 8 | +| 296 | 0 | 270 | 8 | ## Client @@ -43,17 +43,6 @@ Contact [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/k ### Consts, variables and types -## Server - -### Setup - - -### Start - - -### Interfaces - - ## Common ### Consts, variables and types diff --git a/api_docs/unified_histogram.devdocs.json b/api_docs/unified_histogram.devdocs.json index 7550ec5192e72..ed12834b728a3 100644 --- a/api_docs/unified_histogram.devdocs.json +++ b/api_docs/unified_histogram.devdocs.json @@ -617,7 +617,15 @@ "Theme", ">; readonly darkModeEnabled$: ", "Observable", - "; useDarkMode: () => boolean; useChartsTheme: () => ", + "<", + { + "pluginId": "@kbn/core-theme-browser", + "scope": "common", + "docId": "kibKbnCoreThemeBrowserPluginApi", + "section": "def-common.CoreTheme", + "text": "CoreTheme" + }, + ">; useDarkMode: () => boolean; useChartsTheme: () => ", "RecursivePartial", "<", "Theme", diff --git a/api_docs/unified_histogram.mdx b/api_docs/unified_histogram.mdx index ff512f74876da..87324b474cca8 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-05-16 +date: 2023-06-07 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 13a266c424933..671355edd564a 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-05-16 +date: 2023-06-07 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 d6880ae27eb44..eef9d6f3393a0 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch.autocomplete'] --- import unifiedSearchAutocompleteObj from './unified_search_autocomplete.devdocs.json'; diff --git a/api_docs/url_forwarding.mdx b/api_docs/url_forwarding.mdx index 06132b8b633c7..cc76a1b6641a5 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'urlForwarding'] --- import urlForwardingObj from './url_forwarding.devdocs.json'; diff --git a/api_docs/usage_collection.devdocs.json b/api_docs/usage_collection.devdocs.json index 43d4e76ba7865..46837f735f684 100644 --- a/api_docs/usage_collection.devdocs.json +++ b/api_docs/usage_collection.devdocs.json @@ -513,7 +513,7 @@ "TransportRequestOptions", " | undefined): Promise<", "CountResponse", - ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", + ">; }; [kAsyncSearch]: symbol | null; [kAutoscaling]: symbol | null; [kCat]: symbol | null; [kCcr]: symbol | null; [kCluster]: symbol | null; [kDanglingIndices]: symbol | null; [kEnrich]: symbol | null; [kEql]: symbol | null; [kFeatures]: symbol | null; [kFleet]: symbol | null; [kGraph]: symbol | null; [kIlm]: symbol | null; [kIndices]: symbol | null; [kIngest]: symbol | null; [kLicense]: symbol | null; [kLogstash]: symbol | null; [kMigration]: symbol | null; [kMl]: symbol | null; [kMonitoring]: symbol | null; [kNodes]: symbol | null; [kRollup]: symbol | null; [kSearchApplication]: symbol | null; [kSearchableSnapshots]: symbol | null; [kSecurity]: symbol | null; [kShutdown]: symbol | null; [kSlm]: symbol | null; [kSnapshot]: symbol | null; [kSql]: symbol | null; [kSsl]: symbol | null; [kTasks]: symbol | null; [kTextStructure]: symbol | null; [kTransform]: symbol | null; [kWatcher]: symbol | null; [kXpack]: symbol | null; transport: ", "default", "; child: (opts: ", "ClientOptions", @@ -759,29 +759,29 @@ "ExplainResponse", ">; }; features: ", "default", - "; fieldCaps: { (this: That, params: ", + "; fieldCaps: { (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithOutMeta", " | undefined): Promise<", "FieldCapsResponse", - ">; (this: That, params: ", + ">; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptionsWithMeta", " | undefined): Promise<", "TransportResult", "<", "FieldCapsResponse", - ", unknown>>; (this: That, params: ", + ", unknown>>; (this: That, params?: ", "FieldCapsRequest", " | ", "FieldCapsRequest", - ", options?: ", + " | undefined, options?: ", "TransportRequestOptions", " | undefined): Promise<", "FieldCapsResponse", @@ -887,7 +887,33 @@ "TransportRequestOptions", " | undefined): Promise; }; graph: ", "default", - "; ilm: ", + "; healthReport: { (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithOutMeta", + " | undefined): Promise<", + "HealthReportResponse", + ">; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptionsWithMeta", + " | undefined): Promise<", + "TransportResult", + "<", + "HealthReportResponse", + ", unknown>>; (this: That, params?: ", + "HealthReportRequest", + " | ", + "HealthReportRequest", + " | undefined, options?: ", + "TransportRequestOptions", + " | undefined): Promise<", + "HealthReportResponse", + ">; }; ilm: ", "default", "; index: { (this: That, params: ", "IndexRequest", @@ -1333,7 +1359,9 @@ "TransportRequestOptions", " | undefined): Promise<", "ScrollResponse", - ">; }; searchMvt: { (this: That, params: ", + ">; }; searchApplication: ", + "default", + "; searchMvt: { (this: That, params: ", "SearchMvtRequest", " | ", "SearchMvtRequest", diff --git a/api_docs/usage_collection.mdx b/api_docs/usage_collection.mdx index e164a591be04b..56e82c330a7fa 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-05-16 +date: 2023-06-07 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 bcf79c4d72b38..01217be085d85 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-05-16 +date: 2023-06-07 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 ed43287922dc7..12e2fea5678ee 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-05-16 +date: 2023-06-07 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 b7ee84b2187cd..b561ea2ec53f1 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-05-16 +date: 2023-06-07 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 2e9813cf88075..1a614f05d26fc 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-05-16 +date: 2023-06-07 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 6b6b544bb7e78..0fe3b46f0a533 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-05-16 +date: 2023-06-07 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 38eed4adabb3f..001be591ca494 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-05-16 +date: 2023-06-07 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 c5c03e68df74f..392dda077124c 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-05-16 +date: 2023-06-07 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 3046f82bf341c..644a9f42e3fa4 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-05-16 +date: 2023-06-07 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 f8ce92dcb56ef..de78aa2c71f7d 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-05-16 +date: 2023-06-07 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 dd4962c7172ea..417c61775c1bc 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-05-16 +date: 2023-06-07 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 791caa811dc45..d6d01efea20c8 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeXy'] --- import visTypeXyObj from './vis_type_xy.devdocs.json'; diff --git a/api_docs/visualization_ui_components.mdx b/api_docs/visualization_ui_components.mdx index b951e14d7d2a7..fb7ccac6aec09 100644 --- a/api_docs/visualization_ui_components.mdx +++ b/api_docs/visualization_ui_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visualizationUiComponents title: "visualizationUiComponents" image: https://source.unsplash.com/400x175/?github description: API docs for the visualizationUiComponents plugin -date: 2023-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizationUiComponents'] --- import visualizationUiComponentsObj from './visualization_ui_components.devdocs.json'; diff --git a/api_docs/visualizations.devdocs.json b/api_docs/visualizations.devdocs.json index 861de4dd41d4e..4ef49e6475769 100644 --- a/api_docs/visualizations.devdocs.json +++ b/api_docs/visualizations.devdocs.json @@ -294,10 +294,21 @@ }, { "parentPluginId": "visualizations", - "id": "def-public.BaseVisType.hidden", + "id": "def-public.BaseVisType.disableCreate", "type": "boolean", "tags": [], - "label": "hidden", + "label": "disableCreate", + "description": [], + "path": "src/plugins/visualizations/public/vis_types/base_vis_type.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "visualizations", + "id": "def-public.BaseVisType.disableEdit", + "type": "boolean", + "tags": [], + "label": "disableEdit", "description": [], "path": "src/plugins/visualizations/public/vis_types/base_vis_type.ts", "deprecated": false, @@ -4508,10 +4519,24 @@ }, { "parentPluginId": "visualizations", - "id": "def-public.VisTypeAlias.hidden", + "id": "def-public.VisTypeAlias.disableCreate", + "type": "CompoundType", + "tags": [], + "label": "disableCreate", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "src/plugins/visualizations/public/vis_types/vis_type_alias_registry.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "visualizations", + "id": "def-public.VisTypeAlias.disableEdit", "type": "CompoundType", "tags": [], - "label": "hidden", + "label": "disableEdit", "description": [], "signature": [ "boolean | undefined" @@ -5416,10 +5441,24 @@ }, { "parentPluginId": "visualizations", - "id": "def-public.VisTypeDefinition.hidden", + "id": "def-public.VisTypeDefinition.disableCreate", "type": "CompoundType", "tags": [], - "label": "hidden", + "label": "disableCreate", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "src/plugins/visualizations/public/vis_types/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "visualizations", + "id": "def-public.VisTypeDefinition.disableEdit", + "type": "CompoundType", + "tags": [], + "label": "disableEdit", "description": [], "signature": [ "boolean | undefined" @@ -6287,21 +6326,6 @@ "trackAdoption": false, "initialIsOpen": false }, - { - "parentPluginId": "visualizations", - "id": "def-public.VISUALIZE_ENABLE_LABS_SETTING", - "type": "string", - "tags": [], - "label": "VISUALIZE_ENABLE_LABS_SETTING", - "description": [], - "signature": [ - "\"visualize:enableLabs\"" - ], - "path": "src/plugins/visualizations/common/constants.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - }, { "parentPluginId": "visualizations", "id": "def-public.VisualizeEmbeddableContract", @@ -6643,8 +6667,6 @@ "section": "def-public.VisualizeEmbeddable", "text": "VisualizeEmbeddable" }, - " | ", - "DisabledLabEmbeddable", " | undefined>; readonly type: \"visualization\"; inject: (_state: ", { "pluginId": "embeddable", @@ -6741,8 +6763,6 @@ "section": "def-public.VisualizeEmbeddable", "text": "VisualizeEmbeddable" }, - " | ", - "DisabledLabEmbeddable", ">; readonly savedObjectMetaData: ", { "pluginId": "savedObjectsFinder", @@ -6911,7 +6931,7 @@ "section": "def-public.VisTypeAlias", "text": "VisTypeAlias" }, - ") => void; hideTypes: (typeNames: string[]) => void; } & { visEditorsRegistry: { registerDefault: (editor: ", + ") => void; } & { visEditorsRegistry: { registerDefault: (editor: ", "VisEditorConstructor", "<", { @@ -7045,44 +7065,61 @@ "functions": [], "interfaces": [], "enums": [], - "misc": [ - { - "parentPluginId": "visualizations", - "id": "def-server.VISUALIZE_ENABLE_LABS_SETTING", - "type": "string", - "tags": [], - "label": "VISUALIZE_ENABLE_LABS_SETTING", - "description": [], - "signature": [ - "\"visualize:enableLabs\"" - ], - "path": "src/plugins/visualizations/common/constants.ts", - "deprecated": false, - "trackAdoption": false, - "initialIsOpen": false - } - ], + "misc": [], "objects": [], "setup": { "parentPluginId": "visualizations", - "id": "def-server.VisualizationsPluginSetup", + "id": "def-server.VisualizationsServerSetup", "type": "Interface", "tags": [], - "label": "VisualizationsPluginSetup", + "label": "VisualizationsServerSetup", "description": [], "path": "src/plugins/visualizations/server/types.ts", "deprecated": false, "trackAdoption": false, - "children": [], + "children": [ + { + "parentPluginId": "visualizations", + "id": "def-server.VisualizationsServerSetup.registerReadOnlyVisType", + "type": "Function", + "tags": [], + "label": "registerReadOnlyVisType", + "description": [], + "signature": [ + "(visType: string) => void" + ], + "path": "src/plugins/visualizations/server/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "visualizations", + "id": "def-server.VisualizationsServerSetup.registerReadOnlyVisType.$1", + "type": "string", + "tags": [], + "label": "visType", + "description": [], + "signature": [ + "string" + ], + "path": "src/plugins/visualizations/server/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + } + ], "lifecycle": "setup", "initialIsOpen": true }, "start": { "parentPluginId": "visualizations", - "id": "def-server.VisualizationsPluginStart", + "id": "def-server.VisualizationsServerStart", "type": "Interface", "tags": [], - "label": "VisualizationsPluginStart", + "label": "VisualizationsServerStart", "description": [], "path": "src/plugins/visualizations/server/types.ts", "deprecated": false, diff --git a/api_docs/visualizations.mdx b/api_docs/visualizations.mdx index 3cc3fb77b4e20..3ee16976a0031 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-05-16 +date: 2023-06-07 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations'] --- import visualizationsObj from './visualizations.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 806 | 12 | 776 | 19 | +| 809 | 12 | 779 | 18 | ## Client @@ -57,9 +57,6 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k ### Start -### Consts, variables and types - - ## Common ### Objects diff --git a/config/README.md b/config/README.md index b5cad71cb0813..83ef1b1c66120 100644 --- a/config/README.md +++ b/config/README.md @@ -5,9 +5,12 @@ this configuration, pass `--serverless={mode}` or run `yarn serverless-{mode}` valid modes are currently: `es`, `oblt`, and `security` configuration is applied in the following order, later values override - 1. kibana.yml - 2. serverless.yml - 3. serverless.{mode}.yml + 1. serverless.yml (serverless configs go first) + 2. serverless.{mode}.yml (serverless configs go first) + 3. base config, in this preference order: + - my-config.yml(s) (set by --config) + - env-config.yml (described by `env.KBN_CONFIG_PATHS`) + - kibana.yml (default @ `env.KBN_PATH_CONF`/kibana.yml) 4. kibana.dev.yml 5. serverless.dev.yml 6. serverless.{mode}.dev.yml diff --git a/config/serverless.es.yml b/config/serverless.es.yml index 2d814e74e0160..e44af8565537b 100644 --- a/config/serverless.es.yml +++ b/config/serverless.es.yml @@ -3,7 +3,7 @@ ## Disable APM and Uptime, enable Enterprise Search xpack.apm.enabled: false xpack.uptime.enabled: false -enterpriseSearch.enabled: true +enterpriseSearch.enabled: false ## Enable the Serverless Search plugin xpack.serverless.search.enabled: true diff --git a/config/serverless.oblt.yml b/config/serverless.oblt.yml index 2c4de7a4addaf..fb41ef4438bfe 100644 --- a/config/serverless.oblt.yml +++ b/config/serverless.oblt.yml @@ -15,7 +15,7 @@ xpack.observability_onboarding.ui.enabled: true xpack.infra.logs.app_target: discover ## Set the home route -uiSettings.overrides.defaultRoute: /app/observability/overview +uiSettings.overrides.defaultRoute: /app/observabilityOnboarding ## Set the dev project switch current type xpack.serverless.plugin.developer.projectSwitcher.currentType: 'observability' diff --git a/config/serverless.security.yml b/config/serverless.security.yml index f01186a6ceecf..e9375bd10e2a2 100644 --- a/config/serverless.security.yml +++ b/config/serverless.security.yml @@ -8,6 +8,7 @@ xpack.uptime.enabled: false ## Enable the Serverless Security plugin xpack.serverless.security.enabled: true +xpack.serverless.security.productTypes: [{ product_line: 'security', product_tier: 'complete' }] ## Set the home route uiSettings.overrides.defaultRoute: /app/security/get_started diff --git a/config/serverless.yml b/config/serverless.yml index 6a9c4793dc85d..1a0c42b9a9ed3 100644 --- a/config/serverless.yml +++ b/config/serverless.yml @@ -1,9 +1,13 @@ +interactiveSetup.enabled: false newsfeed.enabled: false xpack.security.showNavLinks: false xpack.serverless.plugin.enabled: true -xpack.fleet.enableExperimental: ['fleetServerStandalone'] +xpack.fleet.internal.fleetServerStandalone: true xpack.fleet.internal.disableILMPolicies: true +# Ess plugins +xpack.ess.security.enabled: false + # Management team plugins xpack.upgrade_assistant.enabled: false xpack.rollup.enabled: false @@ -17,9 +21,18 @@ xpack.license_management.enabled: false # Other disabled plugins #xpack.canvas.enabled: false #only disabable in dev-mode xpack.reporting.enabled: false +xpack.cloud_integrations.data_migration.enabled: false +data.search.sessions.enabled: false # Enforce restring access to internal APIs see https://github.com/elastic/kibana/issues/151940 # server.restrictInternalApis: true # Telemetry enabled by default and not disableable via UI telemetry.optIn: true telemetry.allowChangingOptInStatus: false + +# Harden security response headers, see https://github.com/elastic/kibana/issues/150884 +# The browser should remember that a site, including subdomains, is only to be accessed using HTTPS for 1 year +# Can override this setting in kibana.dev.yml, e.g. server.securityResponseHeaders.strictTransportSecurity: null +server.securityResponseHeaders.strictTransportSecurity: max-age=31536000; includeSubDomains +# Disable embedding for serverless MVP +server.securityResponseHeaders.disableEmbedding: true diff --git a/dev_docs/getting_started/setting_up_a_development_env.mdx b/dev_docs/getting_started/setting_up_a_development_env.mdx index 8599adf0e53b3..49b745f9d0f0d 100644 --- a/dev_docs/getting_started/setting_up_a_development_env.mdx +++ b/dev_docs/getting_started/setting_up_a_development_env.mdx @@ -75,11 +75,13 @@ In another terminal tab/window you can start Kibana. yarn start ``` -Include developer examples](https://github.com/elastic/kibana/tree/main/examples) by adding an optional `--run-examples` flag. Read more about the advanced options for [Running Kibana](https://www.elastic.co/guide/en/kibana/current/running-kibana-advanced.html). +Include developer [examples](https://github.com/elastic/kibana/tree/main/examples) by adding an optional `--run-examples` flag. Read more about the advanced options for [Running Kibana](https://www.elastic.co/guide/en/kibana/current/running-kibana-advanced.html). +You will find the development server running on (http://localhost:5601) - and you can log in with the `elastic:changeme` credential pair. ## Code away! -You are now ready to start developing. Changes to the source files should be picked up automatically and either cause the server to restart, or be served to the browser on the next page refresh. +You are now ready to start developing. +Changes to the source files should be picked up automatically and either cause the server to restart, or be served to the browser on the next page refresh. ## Install pre-commit hook (optional) diff --git a/dev_docs/tutorials/saved_objects.mdx b/dev_docs/tutorials/saved_objects.mdx index f6ab46c9a3e8d..26a93631c5324 100644 --- a/dev_docs/tutorials/saved_objects.mdx +++ b/dev_docs/tutorials/saved_objects.mdx @@ -254,6 +254,38 @@ the error should be verbose and informative so that the corrupt document can be **WARNING:** Do not attempt to change the `typeMigrationVersion`, `id`, or `type` fields within a migration function, this is not supported. +### Deferred Migrations +Usually, migrations run during the upgrade process, and sometimes that may block it if there is a huge amount of outdated objects. +In this case, it is recommended to mark some of the migrations to defer their execution. + +```ts +export const dashboardVisualization: SavedObjectsType = { + name: 'dashboard_visualization', [1] + /** ... */ + migrations: { + // Takes a pre 1.1.0 doc, and converts it to 1.1.0 + '1.1.0': { + deferred: true, + transform: migrateDashboardVisualization110, + }, + }, +}; +``` + +By default, all the migrations are not deferred, and in order to make them so, the `deferred` flag should be explicitly set to `true`. +In this case, the documents with only pending deferred migrations will not be migrated during the upgrade process. + +But whenever they are accessed via Saved Object API or repository, all the migrations will be applied to them on the fly: +- On read operations, the stored objects remain untouched and only transformed before returning the result. + If there are some failures during the migration, an exception or 500 server error will be thrown, + so that it is guaranteed that all the returned objects will be up to date. +- On write operations, the objects will be migrated to the latest version before writing them. + +In other words, this flag postpones the write operation until the objects are explicitly modified. + +One important notice: if there is a few pending migrations for a document and not all of them can be deferred, +the document will be migrated during the upgrade process, and all pending migrations will be applied. + ### Testing Migrations Bugs in a migration function cause downtime for our users and therefore have a very high impact. Follow the . diff --git a/dev_docs/tutorials/versioning_http_apis.mdx b/dev_docs/tutorials/versioning_http_apis.mdx index 81599028819b9..b0a4bf899158c 100644 --- a/dev_docs/tutorials/versioning_http_apis.mdx +++ b/dev_docs/tutorials/versioning_http_apis.mdx @@ -212,17 +212,45 @@ The changes are: ### 4. Adhere to the HTTP versioning specification -#### Choosing the right version -##### Public endpoints +We categorize our endpoints based on their intended audience: `public` or `internal`. Different versioning practices apply to each. + +#### Public endpoints Public endpoints include any endpoint that is intended for users to directly integrate with via HTTP. + + All Kibana's public endpoints must be versioned using the format described below. + + +##### Version lifecycle + +Introducing a new version or moving a current version into deprecation to eventually be deleted must +follow [this process](https://github.com/elastic/dev/issues/new?assignees=&labels=breaking-change-proposal&projects=&template=breaking-change.md). + +##### Version format + Choose a date string in the format `YYYY-MM-DD`. This date should be the date that a (group) of APIs was made available. -##### Internal endpoints -Internal endpoints are all non-public endpoints (see definition above). +-------- + +#### Internal endpoints +Internal endpoints are all non-public endpoints (see definition above). Note: these endpoints do not need to be versioned, +but versioning can be leveraged to maintain BWC with existing clients. -If you need to maintain backwards-compatibility for an internal endpoint use a single, larger-than-zero number. Ex. `1`. +##### Version lifecycle + +Introducing/removing a version is up to the team who owns the HTTP API. Consider how introduction or removal might +affect client code when being rolled out. + + + To keep maintenance light it is **highly** recommended to reduce the number of versions you have for internal endpoints. In your code it is possible to + centrally define and share internal versions through code that is `common` to your browser- and server-side plugin code. + + + +##### Version format + +If you need to version an internal endpoint use a single, larger-than-zero major version. Ex. `1`. #### Use the versioned router @@ -335,4 +363,5 @@ export class MyPlugin implements Plugin { ``` #### Additional reading + For more details on the versioning specification see [this document](https://docs.google.com/document/d/1YpF6hXIHZaHvwNaQAxWFzexUF1nbqACTtH2IfDu0ldA/edit?usp=sharing). diff --git a/docs/CHANGELOG.asciidoc b/docs/CHANGELOG.asciidoc index e84286f34c4a6..ac894d34e2d12 100644 --- a/docs/CHANGELOG.asciidoc +++ b/docs/CHANGELOG.asciidoc @@ -45,8 +45,6 @@ Review important information about the {kib} 8.x releases. [[release-notes-8.8.0]] == {kib} 8.8.0 -coming::[8.8.0] - Review the following information about the {kib} 8.8.0 release. [float] @@ -170,13 +168,9 @@ To monitor endpoints, pages, and user journeys, go to **{observability}** -> **S Alerting:: * Adds Maintenance Window Task Runner Integration + New AAD/Event Log Fields {kibana-pull}154761[#154761] -* Adds support for file attachments in Cases {kibana-pull}154436[#154436] * Adds support for users authenticated with API keys to manage alerting rules {kibana-pull}154189[#154189] * Adds the ability to control allowed attached file mime types and the maximum file size {kibana-pull}154013[#154013] * Adds query and timeframe params to RuleAction to filter alerts {kibana-pull}152360[#152360] -* Adds the Cases column to the alerts table {kibana-pull}150963[#150963] -* Adds filtering and sorting for the case activity {kibana-pull}149396[#149396] -* Adds the ability to filter user activities with pagination {kibana-pull}152702[#152702] APM:: * Adds group-by feature in APM rules {kibana-pull}155001[#155001] @@ -185,6 +179,12 @@ APM:: * Adds table tabs showing summary of metrics {kibana-pull}153044[#153044] * Adds warning to Edit Rule Flyout when publicUrl is not configured {kibana-pull}149832[#149832] +Cases:: +* Adds support for file attachments in Cases {kibana-pull}154436[#154436] +* Adds the Cases column to the alerts table {kibana-pull}150963[#150963] +* Adds filtering and sorting for the case activity {kibana-pull}149396[#149396] +* Adds the ability to filter user activities with pagination {kibana-pull}152702[#152702] + Dashboard:: Pins the unified search bar and dashboard toolbar to the top of the dashboard page when scrolling {kibana-pull}145628[#145628] @@ -478,8 +478,6 @@ Uptime:: [[release-notes-8.7.1]] == {kib} 8.7.1 -coming::[8.7.1] - Review the following information about the {kib} 8.7.1 release. [float] @@ -746,15 +744,7 @@ For detailed information about the 8.7.0 release, review the enhancements and bu === Enhancements Alerting:: * Bring flapping status and settings in o11y {kibana-pull}150483[#150483] -* Redesign all cases list select modal {kibana-pull}149851[#149851] * RenderCustomActionsRow with named params instead of args {kibana-pull}149304[#149304] -* Adds new column `Updated on ` in `all cases list ` table. This column can be sorted and can persist sorting options {kibana-pull}149116[#149116] -* Users can now click a button on Case Detail and All Cases List to copy a case's UUID to the clipboard {kibana-pull}148962[#148962] -* Sorting, severity filter and status filter are now persisted in the URL and local storage for the all cases list {kibana-pull}148549[#148549] -* Sorting by status, severity, and title is now allowed in the all-cases list {kibana-pull}148193[#148193] -* See "My recently assigned cases" to the recent cases widget of Security Solution dashboard {kibana-pull}147763[#147763] -* Adds the ability to bulk edit assignees on multiple cases {kibana-pull}146907[#146907] -* Save draft user comment {kibana-pull}146327[#146327] * Ram 145739 use bulk enable disable in UI {kibana-pull}145928[#145928] * Create generic retry if function {kibana-pull}145713[#145713] * Return rules from bulk enable {kibana-pull}145391[#145391] @@ -780,6 +770,16 @@ APM:: * Adds pagination to source map API {kibana-pull}145959[#145959] * Adds ability to offset point labels on maps {kibana-pull}145773[#145773] +Cases:: +* Adds new column `Updated on ` in `all cases list ` table. This column can be sorted and can persist sorting options {kibana-pull}149116[#149116] +* Improves the design of all cases list select modal {kibana-pull}149851[#149851] +* Adds a button to Case Detail and All Cases List to copy case UUIDs to the clipboard {kibana-pull}148962[#148962] +* Adds the ability to persist sorting, severity filter, and status filter in the URL and local storage for the all cases list {kibana-pull}148549[#148549] +* Adds the ability to allow sorting by status, severity, and title in the all-cases list {kibana-pull}148193[#148193] +* See "My recently assigned cases" to the recent cases widget of Overview dashboard in Security {kibana-pull}147763[#147763] +* Adds the ability to bulk edit assignees on multiple cases {kibana-pull}146907[#146907] +* Adds the ability to save draft comments {kibana-pull}146327[#146327] + Dashboard:: * Add new panel settings option to change the title, description, and time range for panels {kibana-pull}148301[#148301] * Anchor time slider to start {kibana-pull}148028[#148028] @@ -1087,6 +1087,18 @@ For each {kibana-ref}/xpack-spaces.html[space], complete the following to change . Enter `100`, then click *Save changes*. ==== +[discrete] +[[breaking-158338]] +.CSV reports use PIT instead of Scroll +[%collapsible] +==== +*Details* + +CSV reports now use PIT instead of Scroll. Previously generated CSV reports that used an index alias with alias-only privileges, but without privileges on the alias referenced-indices will no longer generate. For more information, refer to {kibana-pull}158338[#158338]. + +*Impact* + +To generate CSV reports, grant `read` privileges to the underlying indices. +==== + To review the breaking changes in previous versions, refer to the following: {kibana-ref-all}/8.5/release-notes-8.5.0.html#breaking-changes-8.5.0[8.5.0] | {kibana-ref-all}/8.4/release-notes-8.4.0.html#breaking-changes-8.4.0[8.4.0] | {kibana-ref-all}/8.3/release-notes-8.3.0.html#breaking-changes-8.3.0[8.3.0] | {kibana-ref-all}/8.2/release-notes-8.2.0.html#breaking-changes-8.2.0[8.2.0] | {kibana-ref-all}/8.1/release-notes-8.1.0.html#breaking-changes-8.1.0[8.1.0] | {kibana-ref-all}/8.0/release-notes-8.0.0.html#breaking-changes-8.0.0[8.0.0] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc2.html#breaking-changes-8.0.0-rc2[8.0.0-rc2] | {kibana-ref-all}/8.0/release-notes-8.0.0-rc1.html#breaking-changes-8.0.0-rc1[8.0.0-rc1] | {kibana-ref-all}/8.0/release-notes-8.0.0-beta1.html#breaking-changes-8.0.0-beta1[8.0.0-beta1] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha2.html#breaking-changes-8.0.0-alpha2[8.0.0-alpha2] | {kibana-ref-all}/8.0/release-notes-8.0.0-alpha1.html#breaking-changes-8.0.0-alpha1[8.0.0-alpha1] diff --git a/docs/api-generated/cases/case-apis-passthru.asciidoc b/docs/api-generated/cases/case-apis-passthru.asciidoc index 492d9efe9600c..d983ab1d2a099 100644 --- a/docs/api-generated/cases/case-apis-passthru.asciidoc +++ b/docs/api-generated/cases/case-apis-passthru.asciidoc @@ -24,6 +24,7 @@ Any modifications made to this file will be overwritten.
  • delete /s/{spaceId}/api/cases/{caseId}/comments/{commentId}
  • delete /s/{spaceId}/api/cases/{caseId}/comments
  • get /s/{spaceId}/api/cases/{caseId}/user_actions/_find
  • +
  • get /s/{spaceId}/api/cases/{caseId}/comments/_find
  • get /s/{spaceId}/api/cases/configure/connectors/_find
  • get /s/{spaceId}/api/cases/_find
  • get /s/{spaceId}/api/cases/{caseId}/comments
  • @@ -461,9 +462,9 @@ Any modifications made to this file will be overwritten.
    Query Parameter — The page number to return. default: 1
    perPage (optional)
    -
    Query Parameter — The number of user actions to return per page. default: 20
    sortOrder (optional)
    +
    Query Parameter — The number of items to return. default: 20
    sortOrder (optional)
    -
    Query Parameter — Determines the sort order. default: asc
    types (optional)
    +
    Query Parameter — Determines the sort order. default: desc
    types (optional)
    Query Parameter — Determines the types of user actions to return. default: null
    @@ -530,6 +531,119 @@ Any modifications made to this file will be overwritten. 4xx_response
    +
    +
    + Up +
    get /s/{spaceId}/api/cases/{caseId}/comments/_find
    +
    Retrieves all the user comments from a case. (findCaseComments)
    +
    You must have read privileges for the Cases feature in the Management, Observability, or Security section of the Kibana feature privileges, depending on the owner of the cases with the comments you're seeking.
    + +

    Path parameters

    +
    +
    caseId (required)
    + +
    Path Parameter — The identifier for the case. To retrieve case IDs, use the find cases API. All non-ASCII characters must be URL encoded. default: null
    spaceId (required)
    + +
    Path Parameter — An identifier for the space. If /s/ and the identifier are omitted from the path, the default space is used. default: null
    +
    + + + + +

    Query parameters

    +
    +
    page (optional)
    + +
    Query Parameter — The page number to return. default: 1
    perPage (optional)
    + +
    Query Parameter — The number of items to return. default: 20
    sortOrder (optional)
    + +
    Query Parameter — Determines the sort order. default: desc
    +
    + + +

    Return type

    + + + + +

    Example data

    +
    Content-Type: application/json
    +
    {
    +  "owner" : "cases",
    +  "totalComment" : 0,
    +  "settings" : {
    +    "syncAlerts" : true
    +  },
    +  "totalAlerts" : 0,
    +  "closed_at" : "2000-01-23T04:56:07.000+00:00",
    +  "comments" : [ null, null ],
    +  "assignees" : [ {
    +    "uid" : "u_0wpfV1MqYDaXzLtRVY-gLMrddKDEmfz51Fszhj7hWC8_0"
    +  }, {
    +    "uid" : "u_0wpfV1MqYDaXzLtRVY-gLMrddKDEmfz51Fszhj7hWC8_0"
    +  } ],
    +  "created_at" : "2022-05-13T09:16:17.416Z",
    +  "description" : "A case description.",
    +  "title" : "Case title 1",
    +  "created_by" : {
    +    "full_name" : "full_name",
    +    "profile_uid" : "u_J41Oh6L9ki-Vo2tOogS8WRTENzhHurGtRc87NgEAlkc_0",
    +    "email" : "email",
    +    "username" : "elastic"
    +  },
    +  "version" : "WzUzMiwxXQ==",
    +  "closed_by" : {
    +    "full_name" : "full_name",
    +    "profile_uid" : "u_J41Oh6L9ki-Vo2tOogS8WRTENzhHurGtRc87NgEAlkc_0",
    +    "email" : "email",
    +    "username" : "elastic"
    +  },
    +  "tags" : [ "tag-1" ],
    +  "duration" : 120,
    +  "updated_at" : "2000-01-23T04:56:07.000+00:00",
    +  "updated_by" : {
    +    "full_name" : "full_name",
    +    "profile_uid" : "u_J41Oh6L9ki-Vo2tOogS8WRTENzhHurGtRc87NgEAlkc_0",
    +    "email" : "email",
    +    "username" : "elastic"
    +  },
    +  "id" : "66b9aa00-94fa-11ea-9f74-e7e108796192",
    +  "external_service" : {
    +    "external_title" : "external_title",
    +    "pushed_by" : {
    +      "full_name" : "full_name",
    +      "profile_uid" : "u_J41Oh6L9ki-Vo2tOogS8WRTENzhHurGtRc87NgEAlkc_0",
    +      "email" : "email",
    +      "username" : "elastic"
    +    },
    +    "external_url" : "external_url",
    +    "pushed_at" : "2000-01-23T04:56:07.000+00:00",
    +    "connector_id" : "connector_id",
    +    "external_id" : "external_id",
    +    "connector_name" : "connector_name"
    +  }
    +}
    + +

    Produces

    + This API call produces the following media types according to the Accept request header; + the media type will be conveyed by the Content-Type response header. +
      +
    • application/json
    • +
    + +

    Responses

    +

    200

    + Indicates a successful call. + case_response_properties +

    401

    + Authorization information is missing or invalid. + 4xx_response +
    +
    Up @@ -620,7 +734,7 @@ Any modifications made to this file will be overwritten.
    Query Parameter — The page number to return. default: 1
    perPage (optional)
    -
    Query Parameter — The number of cases to return per page. default: 20
    reporters (optional)
    +
    Query Parameter — The number of items to return. default: 20
    reporters (optional)
    Query Parameter — Filters the returned cases by the user name of the reporter. default: null
    search (optional)
    @@ -2880,7 +2994,7 @@ Any modifications made to this file will be overwritten.

    search_fields - Up

    -
    +
    The fields to perform the simple_query_string parsed query against.
    diff --git a/docs/api-generated/rules/rule-apis-passthru.asciidoc b/docs/api-generated/rules/rule-apis-passthru.asciidoc index 08fdcd1d0276a..c4f472c161efe 100644 --- a/docs/api-generated/rules/rule-apis-passthru.asciidoc +++ b/docs/api-generated/rules/rule-apis-passthru.asciidoc @@ -111,6 +111,7 @@ Any modifications made to this file will be overwritten. "warning" : "warning", "outcome" : "succeeded" }, + "api_key_created_by_user" : false, "params" : { "key" : "" }, @@ -118,6 +119,7 @@ Any modifications made to this file will be overwritten. "enabled" : true, "muted_alert_ids" : [ "muted_alert_ids", "muted_alert_ids" ], "rule_type_id" : "monitoring_alert_cluster_health", + "revision" : 5, "tags" : [ "tags", "tags" ], "running" : true, "api_key_owner" : "elastic", @@ -142,6 +144,7 @@ Any modifications made to this file will be overwritten. "params" : { "key" : "" }, + "uuid" : "1c7a1280-f28c-4e06-96b2-e4e5f05d1d61", "connector_type_id" : ".server-log", "frequency" : { "summary" : true, @@ -154,6 +157,7 @@ Any modifications made to this file will be overwritten. "params" : { "key" : "" }, + "uuid" : "1c7a1280-f28c-4e06-96b2-e4e5f05d1d61", "connector_type_id" : ".server-log", "frequency" : { "summary" : true, @@ -407,6 +411,7 @@ Any modifications made to this file will be overwritten. "warning" : "warning", "outcome" : "succeeded" }, + "api_key_created_by_user" : false, "params" : { "key" : "" }, @@ -414,6 +419,7 @@ Any modifications made to this file will be overwritten. "enabled" : true, "muted_alert_ids" : [ "muted_alert_ids", "muted_alert_ids" ], "rule_type_id" : "monitoring_alert_cluster_health", + "revision" : 5, "tags" : [ "tags", "tags" ], "running" : true, "api_key_owner" : "elastic", @@ -438,6 +444,7 @@ Any modifications made to this file will be overwritten. "params" : { "key" : "" }, + "uuid" : "1c7a1280-f28c-4e06-96b2-e4e5f05d1d61", "connector_type_id" : ".server-log", "frequency" : { "summary" : true, @@ -450,6 +457,7 @@ Any modifications made to this file will be overwritten. "params" : { "key" : "" }, + "uuid" : "1c7a1280-f28c-4e06-96b2-e4e5f05d1d61", "connector_type_id" : ".server-log", "frequency" : { "summary" : true, @@ -473,6 +481,7 @@ Any modifications made to this file will be overwritten. "warning" : "warning", "outcome" : "succeeded" }, + "api_key_created_by_user" : false, "params" : { "key" : "" }, @@ -480,6 +489,7 @@ Any modifications made to this file will be overwritten. "enabled" : true, "muted_alert_ids" : [ "muted_alert_ids", "muted_alert_ids" ], "rule_type_id" : "monitoring_alert_cluster_health", + "revision" : 5, "tags" : [ "tags", "tags" ], "running" : true, "api_key_owner" : "elastic", @@ -504,6 +514,7 @@ Any modifications made to this file will be overwritten. "params" : { "key" : "" }, + "uuid" : "1c7a1280-f28c-4e06-96b2-e4e5f05d1d61", "connector_type_id" : ".server-log", "frequency" : { "summary" : true, @@ -516,6 +527,7 @@ Any modifications made to this file will be overwritten. "params" : { "key" : "" }, + "uuid" : "1c7a1280-f28c-4e06-96b2-e4e5f05d1d61", "connector_type_id" : ".server-log", "frequency" : { "summary" : true, @@ -654,6 +666,7 @@ Any modifications made to this file will be overwritten. "warning" : "warning", "outcome" : "succeeded" }, + "api_key_created_by_user" : false, "params" : { "key" : "" }, @@ -661,6 +674,7 @@ Any modifications made to this file will be overwritten. "enabled" : true, "muted_alert_ids" : [ "muted_alert_ids", "muted_alert_ids" ], "rule_type_id" : "monitoring_alert_cluster_health", + "revision" : 5, "tags" : [ "tags", "tags" ], "running" : true, "api_key_owner" : "elastic", @@ -685,6 +699,7 @@ Any modifications made to this file will be overwritten. "params" : { "key" : "" }, + "uuid" : "1c7a1280-f28c-4e06-96b2-e4e5f05d1d61", "connector_type_id" : ".server-log", "frequency" : { "summary" : true, @@ -697,6 +712,7 @@ Any modifications made to this file will be overwritten. "params" : { "key" : "" }, + "uuid" : "1c7a1280-f28c-4e06-96b2-e4e5f05d1d61", "connector_type_id" : ".server-log", "frequency" : { "summary" : true, @@ -2012,6 +2028,7 @@ Any modifications made to this file will be overwritten. "warning" : "warning", "outcome" : "succeeded" }, + "api_key_created_by_user" : false, "params" : { "key" : "" }, @@ -2019,6 +2036,7 @@ Any modifications made to this file will be overwritten. "enabled" : true, "muted_alert_ids" : [ "muted_alert_ids", "muted_alert_ids" ], "rule_type_id" : "monitoring_alert_cluster_health", + "revision" : 5, "tags" : [ "tags", "tags" ], "running" : true, "api_key_owner" : "elastic", @@ -2043,6 +2061,7 @@ Any modifications made to this file will be overwritten. "params" : { "key" : "" }, + "uuid" : "1c7a1280-f28c-4e06-96b2-e4e5f05d1d61", "connector_type_id" : ".server-log", "frequency" : { "summary" : true, @@ -2055,6 +2074,7 @@ Any modifications made to this file will be overwritten. "params" : { "key" : "" }, + "uuid" : "1c7a1280-f28c-4e06-96b2-e4e5f05d1d61", "connector_type_id" : ".server-log", "frequency" : { "summary" : true, @@ -2231,6 +2251,7 @@ Any modifications made to this file will be overwritten.
    group (optional)
    String The group name for the actions. If you don't need to group actions, set to default.
    id (optional)
    String The identifier for the connector saved object.
    params (optional)
    map[String, oas_any_type_not_mapped] The parameters for the action, which are sent to the connector. The params are handled as Mustache templates and passed a default set of context.
    +
    uuid (optional)
    String A universally unique identifier (UUID) for the action.
    @@ -2566,7 +2587,8 @@ Any modifications made to this file will be overwritten.
    actions
    -
    api_key_owner
    +
    api_key_created_by_user (optional)
    Boolean Indicates whether the API key that is associated with the rule was created by the user.
    +
    api_key_owner
    String The owner of the API key that is associated with the rule and used to run background tasks.
    consumer
    String The application or feature that owns the rule. For example, alerts, apm, discover, infrastructure, logs, metrics, ml, monitoring, securitySolution, siem, stackAlerts, or uptime.
    created_at
    Date The date and time that the rule was created. format: date-time
    created_by
    String The identifier for the user that created the rule.
    @@ -2580,6 +2602,7 @@ Any modifications made to this file will be overwritten.
    next_run (optional)
    Date format: date-time
    notify_when (optional)
    params
    map[String, oas_any_type_not_mapped] The parameters for the rule.
    +
    revision (optional)
    Integer The rule revision number.
    rule_type_id
    String The identifier for the type of rule. For example, .es-query, .index-threshold, logs.alert.document.count, monitoring_alert_cluster_health, siem.thresholdRule, or xpack.ml.anomaly_detection_alert.
    running (optional)
    Boolean Indicates whether the rule is running.
    schedule
    diff --git a/docs/api/data-views/update-fields.asciidoc b/docs/api/data-views/update-fields.asciidoc index c43daff187528..9b0b044238f36 100644 --- a/docs/api/data-views/update-fields.asciidoc +++ b/docs/api/data-views/update-fields.asciidoc @@ -49,7 +49,7 @@ Set popularity `count` for field `foo`: [source,sh] -------------------------------------------------- -$ curl -X POST api/data_views/data-view/my-view/fields +$ curl -X POST api/data_views/data_view/my-view/fields { "fields": { "foo": { @@ -64,7 +64,7 @@ Change a simple field format: [source,sh] -------------------------------------------------- -$ curl -X POST api/data_views/data-view/my-view/fields +$ curl -X POST api/data_views/data_view/my-view/fields { "fields": { "foo": { @@ -81,7 +81,7 @@ Change a complex field format: [source,sh] -------------------------------------------------- -$ curl -X POST api/data_views/data-view/my-view/fields +$ curl -X POST api/data_views/data_view/my-view/fields { "fields": { "foo": { @@ -111,7 +111,7 @@ Update multiple metadata fields in one request: [source,sh] -------------------------------------------------- -$ curl -X POST api/data_views/data-view/my-view/fields +$ curl -X POST api/data_views/data_view/my-view/fields { "fields": { "foo": { @@ -130,7 +130,7 @@ Use `null` value to delete metadata: [source,sh] -------------------------------------------------- -$ curl -X POST api/data_views/data-view/my-pattern/fields +$ curl -X POST api/data_views/data_view/my-pattern/fields { "fields": { "foo": { diff --git a/docs/api/spaces-management/copy_saved_objects.asciidoc b/docs/api/spaces-management/copy_saved_objects.asciidoc index b402e73dadd19..20c1cdd567e94 100644 --- a/docs/api/spaces-management/copy_saved_objects.asciidoc +++ b/docs/api/spaces-management/copy_saved_objects.asciidoc @@ -69,6 +69,15 @@ NOTE: This option cannot be used with the `createNewCopies` option. + NOTE: This option cannot be used with the `createNewCopies` option. +[[spaces-api-copy-saved-objects-response-codes]] +==== Response codes + +`200`:: + Indicates a successful call. + +`404`:: + Indicates that the request failed because one or more of the objects specified could not be found. A list of the unresolved objects are included in the 404 response attributes. + [role="child_attributes"] [[spaces-api-copy-saved-objects-response-body]] ==== {api-response-body-title} diff --git a/docs/concepts/data-views.asciidoc b/docs/concepts/data-views.asciidoc index d2155820545f9..f75012e8d69f4 100644 --- a/docs/concepts/data-views.asciidoc +++ b/docs/concepts/data-views.asciidoc @@ -40,7 +40,8 @@ image::images/discover-data-view.png[How to set the {data-source} in Discover, w . Give your {data-source} a name. . Start typing in the *Index pattern* field, and {kib} looks for the names of -indices, data streams, and aliases that match your input. +indices, data streams, and aliases that match your input. You can +view all available sources or only the sources that the data view targets. + [role="screenshot"] image:management/index-patterns/images/create-data-view.png["Create data view"] diff --git a/docs/concepts/kuery.asciidoc b/docs/concepts/kuery.asciidoc index 4eb95fa444058..8c14333b0e1f3 100644 --- a/docs/concepts/kuery.asciidoc +++ b/docs/concepts/kuery.asciidoc @@ -178,13 +178,17 @@ http.request.method: (GET OR POST OR DELETE) === Matching multiple fields Wildcards can also be used to query multiple fields. For example, to search for -documents where any sub-field of `http.response` contains “error”, use the following: +documents where any sub-field of `datastream` contains “logs”, use the following: [source,yaml] ------------------- -http.response.*: error +datastream.*: logs ------------------- +NOTE: When using wildcards to query multiple fields, errors might occur if the fields are of +different types. For example, if `datastream.*` matches both numeric and string fields, the +above query will result in an error because numeric fields cannot be queried for string values. + [discrete] === Querying nested fields diff --git a/docs/developer/architecture/core/configuration-service.asciidoc b/docs/developer/architecture/core/configuration-service.asciidoc index 1cf9a17a43878..fdc4ad9b0a922 100644 --- a/docs/developer/architecture/core/configuration-service.asciidoc +++ b/docs/developer/architecture/core/configuration-service.asciidoc @@ -187,6 +187,10 @@ Some features require special configuration when running in different modes (dev |`12345` |The build SHA (typically refers to the last commit's SHA) +|`buildDate` +|`2023-05-15T23:12:09+0000` +|The ISO 8601 date of the build + |=== To use any of the references listed above in a config validation schema, they can be accessed via `schema.contextRef('{CONTEXT_REFERENCE}')`: diff --git a/docs/developer/plugin-list.asciidoc b/docs/developer/plugin-list.asciidoc index e218387d64341..264478293d77d 100644 --- a/docs/developer/plugin-list.asciidoc +++ b/docs/developer/plugin-list.asciidoc @@ -300,6 +300,10 @@ generating deep links to other apps using locators, and creating short URLs. |This plugin adds the Advanced Settings section for the Usage and Security Data collection (aka Telemetry). +|{kib-repo}blob/{branch}/src/plugins/text_based_languages/README.md[textBasedLanguages] +|The editor accepts the following properties: + + |<> |UI Actions plugins provides API to manage *triggers* and *actions*. @@ -530,6 +534,10 @@ security and spaces filtering. |This plugin provides Kibana user interfaces for managing the Enterprise Search solution and its products, App Search and Workplace Search. +|{kib-repo}blob/{branch}/x-pack/plugins/ess_security/README.md[essSecurity] +|This plugin contains the ESS/on-prem deployments (non-serverless) customizations for Security Solution. + + |{kib-repo}blob/{branch}/x-pack/plugins/event_log/README.md[eventLog] |The event log plugin provides a persistent history of alerting and action activities. @@ -673,6 +681,10 @@ Elastic. |An awesome Kibana reporting plugin +|{kib-repo}blob/{branch}/x-pack/plugins/reporting_export_types/README.md[reportingExportTypes] +|This plugin is intended to be a central point for the export types of reporting to convene before hitting the reporting plugin. + + |{kib-repo}blob/{branch}/x-pack/plugins/rollup/README.md[rollup] |Welcome to the Kibana rollup plugin! This plugin provides Kibana support for Elasticsearch's rollup feature. Please refer to the Elasticsearch documentation to understand rollup indices and how to create rollup jobs. diff --git a/docs/discover/document-explorer.asciidoc b/docs/discover/document-explorer.asciidoc index 2576cd1e3ae6d..071c9f9875028 100644 --- a/docs/discover/document-explorer.asciidoc +++ b/docs/discover/document-explorer.asciidoc @@ -5,7 +5,7 @@ Fine tune your explorations by customizing *Discover* to bring out the the best Adjust the chart height, modify the document table, and look inside a document. [role="screenshot"] -image:images/discover.png[A view of the Discover app] +image::images/hello-field.png[A view of the Discover app] [float] diff --git a/docs/discover/images/customer.png b/docs/discover/images/customer.png index 3163d8458e12c..4a60460b7bca6 100644 Binary files a/docs/discover/images/customer.png and b/docs/discover/images/customer.png differ diff --git a/docs/discover/images/discover-add-icon.png b/docs/discover/images/discover-add-icon.png index aa9f3ac40f440..21876b81a6533 100644 Binary files a/docs/discover/images/discover-add-icon.png and b/docs/discover/images/discover-add-icon.png differ diff --git a/docs/discover/images/discover-context.png b/docs/discover/images/discover-context.png index e02171e3f8572..8f3d90603779b 100644 Binary files a/docs/discover/images/discover-context.png and b/docs/discover/images/discover-context.png differ diff --git a/docs/discover/images/discover-day-of-week.png b/docs/discover/images/discover-day-of-week.png new file mode 100644 index 0000000000000..c95e908deaa32 Binary files /dev/null and b/docs/discover/images/discover-day-of-week.png differ diff --git a/docs/discover/images/discover-from-visualize.png b/docs/discover/images/discover-from-visualize.png index 2a3ba610299b6..4fb2bfbcbbf1a 100644 Binary files a/docs/discover/images/discover-from-visualize.png and b/docs/discover/images/discover-from-visualize.png differ diff --git a/docs/discover/images/discover-search-for-relevance.png b/docs/discover/images/discover-search-for-relevance.png index 2157604ddec30..16be07dce5fb8 100644 Binary files a/docs/discover/images/discover-search-for-relevance.png and b/docs/discover/images/discover-search-for-relevance.png differ diff --git a/docs/discover/images/discover-sidebar-available-fields.png b/docs/discover/images/discover-sidebar-available-fields.png index a5c24f27a0ed2..6bc9f04c9ba70 100644 Binary files a/docs/discover/images/discover-sidebar-available-fields.png and b/docs/discover/images/discover-sidebar-available-fields.png differ diff --git a/docs/discover/images/document-explorer-compare-data.png b/docs/discover/images/document-explorer-compare-data.png index aa14375a4f1ff..36560dcabd13e 100644 Binary files a/docs/discover/images/document-explorer-compare-data.png and b/docs/discover/images/document-explorer-compare-data.png differ diff --git a/docs/discover/images/document-explorer-row-height.png b/docs/discover/images/document-explorer-row-height.png index d274d8de338c2..19b30b0af9e54 100644 Binary files a/docs/discover/images/document-explorer-row-height.png and b/docs/discover/images/document-explorer-row-height.png differ diff --git a/docs/discover/images/document-table-expanded.png b/docs/discover/images/document-table-expanded.png index d0b85010c5b7d..a6fee908b668f 100644 Binary files a/docs/discover/images/document-table-expanded.png and b/docs/discover/images/document-table-expanded.png differ diff --git a/docs/discover/images/document-table.png b/docs/discover/images/document-table.png index f2a9e57a38cbc..8fbabe4703b24 100644 Binary files a/docs/discover/images/document-table.png and b/docs/discover/images/document-table.png differ diff --git a/docs/discover/images/hello-field.png b/docs/discover/images/hello-field.png index 8d8d5943ba76a..261cb00acfa4c 100644 Binary files a/docs/discover/images/hello-field.png and b/docs/discover/images/hello-field.png differ diff --git a/docs/discover/images/log-pattern-analysis-available-fields.png b/docs/discover/images/log-pattern-analysis-available-fields.png new file mode 100644 index 0000000000000..9ac267c58bbd3 Binary files /dev/null and b/docs/discover/images/log-pattern-analysis-available-fields.png differ diff --git a/docs/discover/images/log-pattern-analysis-results.png b/docs/discover/images/log-pattern-analysis-results.png new file mode 100644 index 0000000000000..8071c9bb9d05b Binary files /dev/null and b/docs/discover/images/log-pattern-analysis-results.png differ diff --git a/docs/discover/log-pattern-analysis.asciidoc b/docs/discover/log-pattern-analysis.asciidoc new file mode 100644 index 0000000000000..f3aff8549a01a --- /dev/null +++ b/docs/discover/log-pattern-analysis.asciidoc @@ -0,0 +1,38 @@ +[[run-pattern-analysis-discover]] +== Run a pattern analysis on your log data + +preview::[] + +include::../user/ml/index.asciidoc[tag=log-pattern-analysis-intro] +Log pattern analysis works on every text field. + +This example uses the <>, or you +can use your own data. + +. Open the main menu, and click *Discover*. + +. Expand the {data-source} dropdown, and select *Kibana Sample Data Logs*. + +. If you don't see any results, expand the time range, for example, to +*Last 15 days*. + +. Click the `message` field in the **Available fields** list sidebar and click +**Run pattern analysis**. ++ +-- +[role="screenshot"] +image::images/log-pattern-analysis-available-fields.png["Available fields view in Discover showing the message field selected."] + +The pattern analysis starts. The results are displayed in a flyout when the +analysis is complete. + +[role="screenshot"] +image::images/log-pattern-analysis-results.png["Log pattern analysis results in Discover."] +-- + +. (optional) Apply filters to one or more patterns. *Discover* only displays +documents that match the selected patterns. Additionally, you can remove +selected patterns from *Discover*, resulting in the display of only those +documents that don't match the selected pattern. These options enable you to +remove unimportant messages and focus on the more important, actionable data +during troubleshooting. \ No newline at end of file diff --git a/docs/getting-started/quick-start-guide.asciidoc b/docs/getting-started/quick-start-guide.asciidoc index ae57a9a32b553..dd2effc048294 100644 --- a/docs/getting-started/quick-start-guide.asciidoc +++ b/docs/getting-started/quick-start-guide.asciidoc @@ -146,7 +146,7 @@ image::images/dashboard_sampleDataAddFilter_8.6.0.png[The [eCommerce] Revenue Da [[quick-start-whats-next]] == What's next? -*Add your own data.* Ready to add your own data? Go to {observability-guide}/ingest-logs-metrics-uptime.html[Ingest logs, metrics, and uptime data with {agent}], or go to <> and learn about all the other ways you can add data. +*Add your own data.* Ready to add your own data? Go to {observability-guide}/observability-get-started.html[Get started with Elastic Observability], or go to <> and learn about all the ways you can add data. *Explore your own data in Discover.* Ready to learn more about exploring your data in *Discover*? Go to <>. diff --git a/docs/management/action-types.asciidoc b/docs/management/action-types.asciidoc index 4e9adbd8c8e77..24db744c5dd50 100644 --- a/docs/management/action-types.asciidoc +++ b/docs/management/action-types.asciidoc @@ -78,6 +78,15 @@ a| <> a| <> | Trigger a Torq workflow. + +a| <> + +| Send a request to OpenAI. + +a| <> + +| Send a request to D3 Security. + |=== [NOTE] diff --git a/docs/management/advanced-options.asciidoc b/docs/management/advanced-options.asciidoc index 709763dd6a03f..0c02b97909821 100644 --- a/docs/management/advanced-options.asciidoc +++ b/docs/management/advanced-options.asciidoc @@ -545,19 +545,6 @@ The maximum number of buckets a datasource can return. High numbers can have a n [[visualization-visualize-heatmapChartslibrary]]`visualization:visualize:legacyHeatmapChartsLibrary`:: Disable this option if you prefer to use the new heatmap charts with improved performance, legend settings, and more.. -[[visualize-enablelabs]]`visualize:enableLabs`:: -Enables users to create, view, and edit experimental visualizations. When disabled, -only production-ready visualizations are available to users. - -[float] -[[kibana-telemetry-settings]] -==== Usage Data - -[horizontal] -[[telemetry-enabled-advanced-setting]]`telemetry:enabled`:: -When enabled, helps improve the Elastic Stack by providing usage statistics for -basic features. - [float] [[kibana-global-settings-reference]] === Change the global settings @@ -590,8 +577,10 @@ The URL of a custom SVG image that appears on {kib} browser tabs. Images must be The URL of a custom PNG image that appears on {kib} browser tabs. [float] -[[kibana-usage-data-settings]] -==== Usage Data +[[kibana-usage-collection-settings]] +==== Usage collection [[provide-usage-data]]`telemetry:enabled`:: -When enabled, helps manage and improve Elastic products and services by providing usage statistics. \ No newline at end of file +Enabling data usage collection (also known as Telemetry) allows us to learn +what our users are most interested in, so we can improve our products and services. +Refer to our https://www.elastic.co/legal/product-privacy-statement[Privacy Statement] for more details. \ No newline at end of file diff --git a/docs/management/connectors/action-types/d3security.asciidoc b/docs/management/connectors/action-types/d3security.asciidoc new file mode 100644 index 0000000000000..095e5f5980328 --- /dev/null +++ b/docs/management/connectors/action-types/d3security.asciidoc @@ -0,0 +1,91 @@ +[[d3security-action-type]] +== D3 Security connector and action +++++ +D3 Security +++++ + +The D3 Security connector uses https://github.com/axios/axios[axios] to send a POST request to a D3 Security endpoint. The connector uses the <> to send the request. You can use the connector for rule actions. + +[float] +[[d3security-connector-prerequisites]] +=== Prerequisites + +To use a D3 Security connector, you must first configure a webhook key in your D3 SOAR environment. To generate an API URL and a token in D3 Security: +1. Log in to your D3 SOAR environment. +2. Navigate to Configuration. +3. Navigate to Integration > Search for “Kibana”. Click “Fetch Event”. +4. Select the "Enable Webhook" checkbox. +5. Click Set up Webhook Keys. +6. Under Event Ingestion, Click +. Select the site for the webhook integration, then click Generate. +7. Copy the Request URL and Request Header Value to configure the Kibana connector + +[float] +[[define-d3security-ui]] +=== Create connectors in {kib} + +You can create connectors in *{stack-manage-app} > {connectors-ui}*. For example: + +[role="screenshot"] +image::management/connectors/images/d3security-connector.png[D3 Security connector] + +[float] +[[d3security-connector-configuration]] +==== Connector configuration + +D3 Security connectors have the following configuration properties: + +Name:: The name of the connector. +URL:: The D3 Security API request URL. +Token:: The D3 Security token + +[float] +[[preconfigured-d3security-configuration]] +=== Create preconfigured connectors + +If you are running {kib} on-prem, you can define connectors by +adding `xpack.actions.preconfigured` settings to your `kibana.yml` file. +For example: + +[source,text] +-- +xpack.actions.preconfigured: + my-d3security: + name: preconfigured-d3security-connector-type + actionTypeId: .d3security + config: + url: https://testurl.com/elasticsearch/VSOC/api/Data/Kibana/Security%20Operations/CreateEvents + secrets: + token: superlongtoken +-- + +Config defines information for the connector type. + +`url`:: A URL string that corresponds to the *D3 Security API URL*. + +Secrets defines sensitive information for the connector type. + +`token`:: A string that corresponds to *D3 Security API Token*. + +[float] +[[d3security-action-configuration]] +=== Test connectors + +You can test connectors with the <> or +as you're creating or editing the connector in {kib}. For example: + +[role="screenshot"] +image::management/connectors/images/d3security-params-test.png[D3 Security params test] + +The D3 Security actions have the following configuration properties. + +Body:: A typeless payload sent to the D3 Security API URL. For example: ++ +[source,text] +-- +this can be any type, it is not validated +-- +[float] +[[d3security-connector-networking-configuration]] +=== Connector networking configuration + +Use the <> to customize connector networking configurations, such as proxies, certificates, or TLS settings. You can set configurations that apply to all your connectors or use `xpack.actions.customHostSettings` to set per-host configurations. \ No newline at end of file diff --git a/docs/management/connectors/action-types/gen-ai.asciidoc b/docs/management/connectors/action-types/gen-ai.asciidoc new file mode 100644 index 0000000000000..dda7ebc3e190a --- /dev/null +++ b/docs/management/connectors/action-types/gen-ai.asciidoc @@ -0,0 +1,89 @@ +[[gen-ai-action-type]] +== Generative AI connector and action +++++ +Generative AI +++++ + +The Generative AI connector uses https://github.com/axios/axios[axios] to send a POST request to an OpenAI provider, either OpenAI or Azure OpenAI. The connector uses the <> to send the request. + +[float] +[[define-gen-ai-ui]] +=== Create connectors in {kib} + +You can create connectors in *{stack-manage-app} > {connectors-ui}*. For example: + +[role="screenshot"] +image::management/connectors/images/gen-ai-connector.png[Generative AI connector] + +[float] +[[gen-ai-connector-configuration]] +==== Connector configuration + +Generative AI connectors have the following configuration properties: + +Name:: The name of the connector. +API Provider:: The OpenAI API provider, either OpenAI or Azure OpenAI. +API URL:: The OpenAI request URL. +API Key:: The OpenAI or Azure OpenAI API key for authentication. + +[float] +[[preconfigured-gen-ai-configuration]] +=== Create preconfigured connectors + +If you are running {kib} on-prem, you can define connectors by +adding `xpack.actions.preconfigured` settings to your `kibana.yml` file. +For example: + +[source,text] +-- +xpack.actions.preconfigured: + my-gen-ai: + name: preconfigured-gen-ai-connector-type + actionTypeId: .gen-ai + config: + apiUrl: https://api.openai.com/v1/chat/completions + apiProvider: 'Azure OpenAI' + secrets: + apiKey: superlongapikey +-- + +Config defines information for the connector type. + +`apiProvider`:: A string that corresponds to *OpenAI API Provider*. +`apiUrl`:: A URL string that corresponds to the *OpenAI API URL*. + +Secrets defines sensitive information for the connector type. + +`apiKey`:: A string that corresponds to *OpenAI API Key*. + +[float] +[[gen-ai-action-configuration]] +=== Test connectors + +You can test connectors with the <> or +as you're creating or editing the connector in {kib}. For example: + +[role="screenshot"] +image::management/connectors/images/gen-ai-params-test.png[Generative AI params test] + +The Generative AI actions have the following configuration properties. + +Body:: A JSON payload sent to the OpenAI API URL. For example: ++ +[source,text] +-- +{ + "model": "gpt-3.5-turbo", + "messages": [ + { + "role": "user", + "content": "Hello world" + } + ] +} +-- +[float] +[[gen-ai-connector-networking-configuration]] +=== Connector networking configuration + +Use the <> to customize connector networking configurations, such as proxies, certificates, or TLS settings. You can set configurations that apply to all your connectors or use `xpack.actions.customHostSettings` to set per-host configurations. \ No newline at end of file diff --git a/docs/management/connectors/action-types/index.asciidoc b/docs/management/connectors/action-types/index.asciidoc index d674ba868686e..87c7494df23ea 100644 --- a/docs/management/connectors/action-types/index.asciidoc +++ b/docs/management/connectors/action-types/index.asciidoc @@ -26,8 +26,7 @@ image::management/connectors/images/index-connector.png[Index connector] [[index-connector-configuration]] ==== Connector configuration -Index connectors must have a name and an {es} index. You can optionally set the -{ref}/docs-refresh.html[refresh] policy and the time field, which contains the +Index connectors must have a name and an {es} index. You can optionally set the time field, which contains the details about when each alert condition was detected. [float] @@ -46,10 +45,8 @@ xpack.actions.preconfigured: actionTypeId: .index config: index: .kibana - refresh: true <1> executionTimeField: my-field -- -<1> By default, the {ref}/docs-refresh.html[refresh] policy is `false`. For more information, go to <>. diff --git a/docs/management/connectors/action-types/servicenow-sir.asciidoc b/docs/management/connectors/action-types/servicenow-sir.asciidoc index 56f1ccef67ac7..0fc96f9baa85c 100644 --- a/docs/management/connectors/action-types/servicenow-sir.asciidoc +++ b/docs/management/connectors/action-types/servicenow-sir.asciidoc @@ -49,7 +49,7 @@ A CORS rule is required for communication between Elastic and {sn}. To create a . Configure the rule as follows: * *Name*: Name the rule. * *REST API*: Set the rule to use the Elastic SecOps API by choosing `Elastic SIR API [x_elas2_sir_int/elastic_api]`. -* *Domain*: Enter the Kibana URL. +* *Domain*: Enter the Kibana URL, including the port number. . Go to the *HTTP methods* tab and select *GET*. . Click *Submit* to create the rule. diff --git a/docs/management/connectors/action-types/servicenow.asciidoc b/docs/management/connectors/action-types/servicenow.asciidoc index b1ad3be504af4..2151100451232 100644 --- a/docs/management/connectors/action-types/servicenow.asciidoc +++ b/docs/management/connectors/action-types/servicenow.asciidoc @@ -54,7 +54,7 @@ A CORS rule is required for communication between Elastic and {sn}. To create a . Configure the rule as follows: * *Name*: Name the rule. * *REST API*: Set the rule to use the Elastic ITSM API by choosing `Elastic ITSM API [x_elas2_inc_int/elastic_api]`. -* *Domain*: Enter the Kibana URL. +* *Domain*: Enter the Kibana URL, including the port number. . Go to the *HTTP methods* tab and select *GET*. . Click *Submit* to create the rule. diff --git a/docs/management/connectors/images/d3security-connector.png b/docs/management/connectors/images/d3security-connector.png new file mode 100644 index 0000000000000..6525e1f55ae03 Binary files /dev/null and b/docs/management/connectors/images/d3security-connector.png differ diff --git a/docs/management/connectors/images/d3security-params-test.png b/docs/management/connectors/images/d3security-params-test.png new file mode 100644 index 0000000000000..daf31fff2b681 Binary files /dev/null and b/docs/management/connectors/images/d3security-params-test.png differ diff --git a/docs/management/connectors/images/gen-ai-connector.png b/docs/management/connectors/images/gen-ai-connector.png new file mode 100644 index 0000000000000..7306f6b28383c Binary files /dev/null and b/docs/management/connectors/images/gen-ai-connector.png differ diff --git a/docs/management/connectors/images/gen-ai-params-test.png b/docs/management/connectors/images/gen-ai-params-test.png new file mode 100644 index 0000000000000..2a48c4f369ef9 Binary files /dev/null and b/docs/management/connectors/images/gen-ai-params-test.png differ diff --git a/docs/management/connectors/images/index-connector.png b/docs/management/connectors/images/index-connector.png index 438aac772c409..4ef698b860946 100644 Binary files a/docs/management/connectors/images/index-connector.png and b/docs/management/connectors/images/index-connector.png differ diff --git a/docs/management/connectors/index.asciidoc b/docs/management/connectors/index.asciidoc index 86adf5d49581b..63de5aca67dca 100644 --- a/docs/management/connectors/index.asciidoc +++ b/docs/management/connectors/index.asciidoc @@ -16,4 +16,6 @@ include::action-types/torq.asciidoc[leveloffset=+1] include::action-types/webhook.asciidoc[leveloffset=+1] include::action-types/cases-webhook.asciidoc[leveloffset=+1] include::action-types/xmatters.asciidoc[leveloffset=+1] +include::action-types/gen-ai.asciidoc[leveloffset=+1] +include::action-types/d3security.asciidoc[leveloffset=+1] include::pre-configured-connectors.asciidoc[leveloffset=+1] diff --git a/docs/management/index-patterns/images/create-data-view.png b/docs/management/index-patterns/images/create-data-view.png index af5b01111cd2e..b099995d90853 100644 Binary files a/docs/management/index-patterns/images/create-data-view.png and b/docs/management/index-patterns/images/create-data-view.png differ diff --git a/docs/management/maintenance-windows/images/create-maintenance-window.png b/docs/management/maintenance-windows/images/create-maintenance-window.png new file mode 100644 index 0000000000000..aa6132afbeaf9 Binary files /dev/null and b/docs/management/maintenance-windows/images/create-maintenance-window.png differ diff --git a/docs/management/maintenance-windows/maintenance-windows.asciidoc b/docs/management/maintenance-windows/maintenance-windows.asciidoc new file mode 100644 index 0000000000000..ba630092016b2 --- /dev/null +++ b/docs/management/maintenance-windows/maintenance-windows.asciidoc @@ -0,0 +1,52 @@ +[[maintenance-windows]] +== Maintenance windows + +:frontmatter-description: Maintenance windows enable you to suppress rule notifications. +:frontmatter-tags-products: [kibana, alerting] +:frontmatter-tags-content-type: [overview] +:frontmatter-tags-user-goals: [manage] + +preview::[] + +You can schedule single or recurring maintenance windows to temporarily reduce rule notifications. +For example, a maintenance window prevents false alarms during planned outages. + +Maintenance windows affect all rules in all {kib} apps and spaces. +Alerts continue to be generated, however notifications are suppressed as follows: + +- When an alert occurs during a maintenance window, there are no notifications. +When the alert recovers, there are no notifications--even if the recovery occurs after the maintenance window ends. +- When an alert occurs before a maintenance window and recovers during or after the maintenance window, notifications are sent as usual. + +[discrete] +[[setup-maintenance-windows]] +== Configure access to maintenance windows + +To use maintenance windows, you must have the appropriate {subscriptions}[subscription] and {kib} feature privileges. + +- To have full access to maintenance windows, you must have `All` privileges for the *Management > Maintenance Windows* feature. +- To have view-only access to maintenance windows, you must have `Read` privileges for the **Management > Maintenance Windows* feature. + +For more details, refer to <>. + +[discrete] +[[manage-maintenance-windows]] +== Create and manange maintenance windows + +In *Management > {stack-manage-app} > Maintenance Windows*, you can create, edit, and archive maintenance windows. + +When you create a maintenance window, you must provide a name and a schedule. +You can optionally configure it to repeat daily, monthly, yearly, or on a custom interval. + +[role="screenshot"] +image::images/create-maintenance-window.png[The Create Maintenance Window user interface in {kib}] +// NOTE: This is an autogenerated screenshot. Do not edit it directly. + +A maintenance window can have any one of the following statuses: + +- `Upcoming`: It will run at the scheduled date and time. +- `Running`: It is running. +- `Finished`: It ended and does not have a repeat schedule. +- `Archived`: It is archived. In a future release, archived maintenance windows will be queued for deletion. + +When you <> in {kib}, each alert shows unique identifiers for maintenance windows that affected it. \ No newline at end of file diff --git a/docs/management/manage-data-views.asciidoc b/docs/management/manage-data-views.asciidoc index 4505fbc71935f..0f51a04359d25 100644 --- a/docs/management/manage-data-views.asciidoc +++ b/docs/management/manage-data-views.asciidoc @@ -1,7 +1,8 @@ [[managing-data-views]] == Manage data views -:keywords: administrator, data view, data views, management, runtime fields, runtime fields in Kibana, scripted fields, field formatters, data fields, index pattern, index patterns -:description: Conceptual and step-by-step procedures for using runtime fields, scripted fields, and field formatters. + +:frontmatter-description: Conceptual and step-by-step procedures for using runtime fields, scripted fields, and field formatters. +:frontmatter-tags-products: [kibana] To customize the data fields in your data view, you can add runtime fields to the existing documents, diff --git a/docs/maps/asset-tracking-tutorial.asciidoc b/docs/maps/asset-tracking-tutorial.asciidoc index 56a486ba1e239..7c92c7b05b37a 100644 --- a/docs/maps/asset-tracking-tutorial.asciidoc +++ b/docs/maps/asset-tracking-tutorial.asciidoc @@ -440,7 +440,9 @@ image::maps/images/asset-tracking-tutorial/construction_zones.png[] [float] ==== Step 2. Configure an alert -Create a new alert by defining a rule and a connector. The rule includes the conditions that will trigger the alert, and the connector defines what action takes place once the alert is triggered. In this case, each alert will log a message to the Kibana log. +Create a new alert by defining a rule and a connector. The rule includes the conditions that will trigger the alert, and the connector defines what action takes place once the alert is triggered. In this case, each alert will log a message to the {kib} log. + +NOTE: For this example, you will set the rule to check every 5 seconds. However, when running in production, consider setting a higher check interval (such as 1 minute) to avoid performance issues. Refer to <> for more information. . Open *{stack-manage-app}*, and then click *{rules-ui}*. . Click *Create rule*. diff --git a/docs/settings/alert-action-settings.asciidoc b/docs/settings/alert-action-settings.asciidoc index ba41d20112ad1..a5174a972c7dd 100644 --- a/docs/settings/alert-action-settings.asciidoc +++ b/docs/settings/alert-action-settings.asciidoc @@ -4,10 +4,10 @@ Alerting and action settings ++++ -:description: Learn about the settings that affect {kib} {alert-features}. -:tags-products: [kibana, alerting] -:tags-content-type: [reference] -:tags-user-goals: [configure] +:frontmatter-description: Learn about the settings that affect {kib} {alert-features}. +:frontmatter-tags-products: [kibana, alerting] +:frontmatter-tags-content-type: [reference] +:frontmatter-tags-user-goals: [configure] Alerting and actions are enabled by default in {kib}, but require you to configure the following: @@ -138,7 +138,7 @@ WARNING: This feature is available in {kib} 7.17.4 and 8.3.0 onwards but is not A boolean value indicating that a footer with a relevant link should be added to emails sent as alerting actions. Default: true. `xpack.actions.enabledActionTypes` {ess-icon}:: -A list of action types that are enabled. It defaults to `[*]`, enabling all types. The names for built-in {kib} action types are prefixed with a `.` and include: `.email`, `.index`, `.jira`, `.opsgenie`, `.pagerduty`, `.resilient`, `.server-log`, `.servicenow`, .`servicenow-itom`, `.servicenow-sir`, `.slack`, `.swimlane`, `.teams`, `.tines`, `.torq`, `.xmatters`, and `.webhook`. An empty list `[]` will disable all action types. +A list of action types that are enabled. It defaults to `[*]`, enabling all types. The names for built-in {kib} action types are prefixed with a `.` and include: `.email`, `.index`, `.jira`, `.opsgenie`, `.pagerduty`, `.resilient`, `.server-log`, `.servicenow`, .`servicenow-itom`, `.servicenow-sir`, `.slack`, `.swimlane`, `.teams`, `.tines`, `.torq`, `.xmatters`, `.gen-ai`, `.d3security`, and `.webhook`. An empty list `[]` will disable all action types. + Disabled action types will not appear as an option when creating new connectors, but existing connectors and actions of that type will remain in {kib} and will not function. diff --git a/docs/settings/fleet-settings.asciidoc b/docs/settings/fleet-settings.asciidoc index 28a855c29bace..0960937564b7d 100644 --- a/docs/settings/fleet-settings.asciidoc +++ b/docs/settings/fleet-settings.asciidoc @@ -52,12 +52,11 @@ Hostnames used by {agent} for accessing {es}. `xpack.fleet.agents.elasticsearch.ca_sha256`:: Hash pin used for certificate verification. The pin is a base64-encoded string of the SHA-256 fingerprint. - [role="child_attributes"] ==== Preconfiguration settings (for advanced use cases) -Use these settings to pre-define integrations and agent policies that you -want {fleet} to load up by default. +Use these settings to pre-define integrations, agent policies, and {fleet-server} +hosts or proxies that you want {fleet} to load up by default. NOTE: These settings are not supported to pre-configure the Endpoint and Cloud Security integration. @@ -134,6 +133,41 @@ List of agent policies that are configured when the {fleet} app starts. Array that overrides any default input settings for this integration. Follows the same schema as integration inputs, with the exception that any object in `vars` can be passed `frozen: true` in order to prevent that specific `var` from being edited by the user. ======= ===== ++ +Example configuration: ++ +[source,yaml] +---- +xpack.fleet.packages: + - name: apache + version: 0.5.0 + +xpack.fleet.agentPolicies: + - name: Preconfigured Policy + id: 1 + namespace: test + package_policies: + - package: + name: system + name: System Integration + id: preconfigured-system + inputs: + - type: system/metrics + enabled: true + vars: + - name: system.hostfs + value: home/test + streams: + - data_stream: + dataset: system.core + enabled: true + vars: + - name: period + value: 20s + - type: winlog + enabled: false +---- + `xpack.fleet.outputs`:: List of outputs that are configured when the {fleet} app starts. @@ -157,6 +191,8 @@ NOTE: The `xpack.fleet.outputs` settings are intended for advanced configuration Array that contains the list of host for that output. `config`::: Extra config for that output. + `proxy_id`::: + Unique ID of a proxy to access the output. ===== + .Optional properties of `xpack.fleet.outputs` @@ -167,40 +203,66 @@ NOTE: The `xpack.fleet.outputs` settings are intended for advanced configuration `is_default_monitoring`::: If `true`, the output specified in `xpack.fleet.outputs` will be the one used to send agent monitoring data unless there is another one configured specifically for the agent policy. ===== + +`xpack.fleet.fleetServerHosts`:: +List of {fleet-server} hosts that are configured when the {fleet} app starts. + -Example configuration: +.Required properties of `xpack.fleet.fleetServerHosts` +[%collapsible%open] +===== + `id`::: + Unique ID for the host server. + `name`::: + Name of the host server. + `host_urls`::: + Array of one or more host URLs that {agents} will use to connect to {fleet-server}. +===== + -[source,yaml] ----- -xpack.fleet.packages: - - name: apache - version: 0.5.0 +.Optional properties of `xpack.fleet.fleetServerHosts` +[%collapsible%open] +===== + `is_default`::: + Whether or not this host should be the default to use for {fleet-server}. + `proxy_id`::: + Unique ID of the proxy to access the {fleet-server} host. +===== -xpack.fleet.agentPolicies: - - name: Preconfigured Policy - id: 1 - namespace: test - package_policies: - - package: - name: system - name: System Integration - id: preconfigured-system - inputs: - - type: system/metrics - enabled: true - vars: - - name: system.hostfs - value: home/test - streams: - - data_stream: - dataset: system.core - enabled: true - vars: - - name: period - value: 20s - - type: winlog - enabled: false ----- +`xpack.fleet.proxy`:: +List of proxies to access {fleet-server} that are configured when the {fleet} app starts. ++ +.Required properties of `xpack.fleet.proxy` +[%collapsible%open] +===== + `id`::: + Unique ID of the proxy to access the {fleet-server} host. + `name`::: + Name of the proxy to access the {fleet-server} host. + `url`::: + URL that {agents} use to connect to the proxy to access {fleet-server}. +===== ++ +.Optional properties of `xpack.fleet.proxy` +[%collapsible%open] +===== + `proxy_headers`::: + Map of headers to use with the proxy. +.Properties of `proxy_headers` +[%collapsible%open] +======= + `key`:::: + Key to use for the proxy header. + `value`:::: + Value to use for the proxy header. +======= + `certificate_authorities`::: + Certificate authority (CA) used to issue the certificate. + `certificate`::: + The name of the certificate used to authenticate the proxy. + `certificate_key`::: + The certificate key used to authenticate the proxy. +===== `xpack.fleet.enableExperimental`:: -List of experimental feature flag to enable in Fleet. \ No newline at end of file +List of experimental feature flag to enable in Fleet. + + diff --git a/docs/settings/logs-ui-settings.asciidoc b/docs/settings/logs-ui-settings.asciidoc index e7321b7f0768c..7d86a85680863 100644 --- a/docs/settings/logs-ui-settings.asciidoc +++ b/docs/settings/logs-ui-settings.asciidoc @@ -7,6 +7,13 @@ You do not need to configure any settings to use the Logs app in {kib}. It is enabled by default. +The {kib} logs can be found per operating system under: + +* Linux, DEB or RPM package: /var/log/kibana/kibana.log +* Linux, tar.gz package: $KIBANA_HOME/log/kibana.log +* Windows: $KIBANA_HOME\log\kibana.log + + [float] [[general-logs-ui-settings-kb]] ==== General Logs settings diff --git a/docs/settings/reporting-settings.asciidoc b/docs/settings/reporting-settings.asciidoc index 7a5ef51a2a710..77f1b01cc21b4 100644 --- a/docs/settings/reporting-settings.asciidoc +++ b/docs/settings/reporting-settings.asciidoc @@ -4,8 +4,11 @@ ++++ Reporting settings ++++ -:keywords: administrator, reference, setup, reporting -:description: A reference of the reporting settings administrators configure in kibana.yml. + +:frontmatter-description: A reference of the reporting settings administrators configure in kibana.yml. +:frontmatter-tags-products: [kibana] +:frontmatter-tags-content-type: [reference] +:frontmatter-tags-user-goals: [configure] You can configure `xpack.reporting` settings in your `kibana.yml` to: diff --git a/docs/settings/telemetry-settings.asciidoc b/docs/settings/telemetry-settings.asciidoc index b6fa74fb37010..74c85061cd713 100644 --- a/docs/settings/telemetry-settings.asciidoc +++ b/docs/settings/telemetry-settings.asciidoc @@ -4,32 +4,30 @@ Telemetry settings ++++ -By default, Usage Collection (also known as Telemetry) is enabled. This -helps us learn about the {kib} features that our users are most interested in, so we -can focus our efforts on making them even better. - -You can control whether this data is sent from the {kib} servers, or if it should be sent -from the user's browser, in case a firewall is blocking the connections from the server. Additionally, you can decide to completely disable this feature either in the config file or in {kib} via *Management > Kibana > Advanced Settings > Usage Data*. +Usage Collection (also known as Telemetry) is enabled by default. This allows us to learn what our users are most interested in, so we can improve our products and services. Refer to our https://www.elastic.co/legal/product-privacy-statement[Privacy Statement] to learn more. +You can control whether this data is sent from the {kib} servers, or if it should be sent +from the user's browser, in case a firewall is blocking the connections from the server. Additionally, you can disable this feature either in *Stack Management > {kib} > Advanced Settings > Global Settings > Usage collection* or the config file with the following settings. + [float] [[telemetry-general-settings]] ==== General telemetry settings -`telemetry.sendUsageFrom`:: - Set to `'server'` to report the cluster statistics from the {kib} server. - If the server fails to connect to our endpoint at https://telemetry.elastic.co/, it assumes - it is behind a firewall and falls back to `'browser'` to send it from users' browsers - when they are navigating through {kib}. Defaults to `'server'`. - [[telemetry-optIn]] `telemetry.optIn`:: - Set to `true` to send cluster statistics to Elastic. Reporting your - cluster statistics helps us improve your user experience. Set to `false` to stop sending any telemetry data to Elastic. + + Set to `false` to stop sending any telemetry data to Elastic. Reporting your +cluster statistics helps us improve your user experience. *Default: `true`.* + + This setting can be changed at any time in <>. To prevent users from changing it, -set <> to `false`. Defaults to `true`. +set <> to `false`. `telemetry.allowChangingOptInStatus`:: - Set to `true` to allow overwriting the <> setting via the <> in {kib}. Defaults to `true`. + Set to `false` to disallow overwriting the <> setting via the <> in {kib}. *Default: `true`.* + +`telemetry.sendUsageFrom`:: + Set to `'server'` to report the cluster statistics from the {kib} server. + If the server fails to connect to our endpoint at https://telemetry.elastic.co/, it assumes + it is behind a firewall and falls back to `'browser'` to send it from users' browsers + when they are navigating through {kib}. *Default: `'server'`.* diff --git a/docs/setup/access.asciidoc b/docs/setup/access.asciidoc index 77ad6ffb9c602..2b76843b5964d 100644 --- a/docs/setup/access.asciidoc +++ b/docs/setup/access.asciidoc @@ -39,19 +39,27 @@ For JSON-formatted server status details, use the `localhost:5601/api/status` AP [float] [[not-ready]] -=== {kib} not ready +=== Troubleshoot {kib} UI error -If you receive an error that the {kib} `server is not ready`, check the following: +Troubleshoot the `Kibana Server is not Ready yet` error. -* The {es} connectivity: +. From within a {kib} node, confirm the connection to {es}: + [source,sh] ---- -`curl -XGET elasticsearch_ip_or_hostname:9200/` +curl -XGET elasticsearch_ip_or_hostname:9200/ ---- -* The {kib} logs: -** Linux, DEB or RPM package: `/var/log/kibana/kibana.log` -** Linux, tar.gz package: `$KIBANA_HOME/log/kibana.log` -** Windows: `$KIBANA_HOME\log\kibana.log` -* The health status of `.kibana*` indices +. Guarantee the health of the three {kib}-backing indices. All indices must appear and display `status:green` and `status:open`: ++ +[source,sh] +---- +curl -XGET elasticsearch_ip_or_hostname:9200/_cat/indices/.kibana,.kibana_task_manager,.kibana_security_session?v=true +---- +. <>. +. Choose any {kib} node, then update the config to set the <>. +. <>, then check the start-up debug logs for `ERROR` messages or other start-up issues. ++ +For example: +* When {kib} is unable to connect to a healthy {es} cluster, the `master_not_discovered_exception` or `Unable to revive connection` errors appear. +* When one or more {kib}-backing indices are unhealthy, the `index_not_green_timeout` error appears. diff --git a/docs/setup/connect-to-elasticsearch.asciidoc b/docs/setup/connect-to-elasticsearch.asciidoc index f459150b0ee8d..e271eb6cce5c0 100644 --- a/docs/setup/connect-to-elasticsearch.asciidoc +++ b/docs/setup/connect-to-elasticsearch.asciidoc @@ -31,7 +31,7 @@ Discover, extract, and index your web content into App Search engines using the Search across Google Drive, GitHub, Salesforce, and many other web services using {workplace-search-ref}/workplace-search-content-sources.html[Workplace Search content sources]. -* *Elastic APM.* +* *Elastic Observability.* Get logs, metrics, traces, and uptime data into the Elastic Stack. Integrations are available for popular services and platforms, such as Nginx, AWS, and MongoDB, diff --git a/docs/setup/docker.asciidoc b/docs/setup/docker.asciidoc index 3f9cc2bca309f..f8ad122d7e865 100644 --- a/docs/setup/docker.asciidoc +++ b/docs/setup/docker.asciidoc @@ -34,13 +34,39 @@ endif::[] ifeval::["{release-state}"!="unreleased"] +.. Create a new Docker network for {es} and {kib}: ++ [source,sh,subs="attributes"] ---- docker network create elastic +---- + +.. Pull the {es} Docker image: ++ +[source,sh,subs="attributes"] +---- docker pull {es-docker-image} +---- + +.. Optional: Verify the {es} Docker image signature:: ++ +[source,sh,subs="attributes"] +---- +wget https://artifacts.elastic.co/cosign.pub +cosign verify --key cosign.pub {docker-repo}:{version} +---- ++ +For details about this step, refer to {ref}/docker.html#docker-verify-signature[Verify the {es} Docker image signature] in the {es} documentation. + +.. Start {es} in Docker: ++ +[source,sh,subs="attributes"] +---- docker run --name es-node01 --net elastic -p 9200:9200 -p 9300:9300 -t {es-docker-image} ---- + + endif::[] -- @@ -79,6 +105,34 @@ docker pull {docker-image} docker run --name kib-01 --net elastic -p 5601:5601 {docker-image} ---- +.. Pull the {kib} Docker image: ++ +[source,sh,subs="attributes"] +---- +docker pull {docker-image} +---- + +.. Optional: Verify the {kib} Docker image signature:: ++ +[source,sh,subs="attributes"] +---- +wget https://artifacts.elastic.co/cosign.pub +cosign verify --key cosign.pub {docker-repo}:{version} +---- ++ +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: ++ +[source,sh,subs="attributes"] +---- +docker run --name kib-01 --net elastic -p 5601:5601 {docker-image} +---- + + + + + endif::[] -- + diff --git a/docs/setup/secure-settings.asciidoc b/docs/setup/secure-settings.asciidoc index 37fe4db6e6123..1ac3ff310b586 100644 --- a/docs/setup/secure-settings.asciidoc +++ b/docs/setup/secure-settings.asciidoc @@ -5,7 +5,12 @@ Some settings are sensitive, and relying on filesystem permissions to protect their values is not sufficient. For this use case, Kibana provides a keystore, and the `kibana-keystore` tool to manage the settings in the keystore. -NOTE: All commands here should be run as the user which will run Kibana. +[NOTE] +==== +* Run all commands as the user who runs {kib}. +* Only the settings with the `(Secure)` qualifier should be stored in the keystore. + Unsupported, extraneous or invalid JSON-string settings cause {kib} to fail to start up. +==== [float] [[creating-keystore]] @@ -36,7 +41,8 @@ bin/kibana-keystore list [[add-string-to-keystore]] === Add string settings -NOTE: Your input will be JSON-parsed to allow for object/array input configurations. To enforce string values, use "double quotes" around your input. +NOTE: Your input will be JSON-parsed to allow for object/array input configurations. + To enforce string values, use "double quotes" around your input. Sensitive string settings, like authentication credentials for Elasticsearch can be added using the `add` command: @@ -75,3 +81,14 @@ To remove a setting from the keystore, use the `remove` command: ---------------------------------------------------------------- bin/kibana-keystore remove the.setting.name.to.remove ---------------------------------------------------------------- + +[float] +[[read-settings]] +=== Read settings + +To display the configured setting values, use the `show` command: + +[source, sh] +---------------------------------------------------------------- +bin/kibana-keystore show setting.key +---------------------------------------------------------------- diff --git a/docs/setup/settings.asciidoc b/docs/setup/settings.asciidoc index 9e7010110568b..4750e631d9b26 100644 --- a/docs/setup/settings.asciidoc +++ b/docs/setup/settings.asciidoc @@ -556,14 +556,13 @@ setting this to `true` enables unauthenticated users to access the {kib} server status API and status page. *Default: `false`* [[telemetry-allowChangingOptInStatus]] `telemetry.allowChangingOptInStatus`:: -When `true`, users are able to change the telemetry setting at a later time in -<>. When `false`, users cannot change the opt-in status through *Advanced Settings*, and +When `false`, users cannot change the opt-in status through <>, and {kib} only looks at the value of <> to determine whether to send telemetry data or not. *Default: `true`*. [[settings-telemetry-optIn]] `telemetry.optIn`:: +Set to `false` to stop sending any telemetry data to Elastic. Reporting your cluster statistics helps us improve your user experience. -Set to `true` to allow telemetry data to be sent to Elastic. When `false`, the telemetry data is never sent to Elastic. + + This setting can be changed at any time in <>. diff --git a/docs/setup/upgrade/resolving-migration-failures.asciidoc b/docs/setup/upgrade/resolving-migration-failures.asciidoc index 63264cb4f0963..d81a577a19a88 100644 --- a/docs/setup/upgrade/resolving-migration-failures.asciidoc +++ b/docs/setup/upgrade/resolving-migration-failures.asciidoc @@ -8,8 +8,8 @@ with the new version. ==== Saved object migration failures If {kib} unexpectedly terminates while migrating a saved object index, {kib} automatically attempts to -perform the migration again when the process restarts. Do not delete any saved objects indices to -fix a failed migration. Unlike previous versions, {kib} 7.12.0 and later does not require deleting +perform the migration again when the process restarts. Do not delete any saved objects indices to +fix a failed migration. Unlike previous versions, {kib} 7.12.0 and later does not require deleting indices to release a failed migration lock. If upgrade migrations fail repeatedly, refer to @@ -19,14 +19,6 @@ When you address the root cause for the migration failure, If you're unable to resolve a failed migration, contact Support. -[float] -[[upgrade-migrations-old-indices]] -==== Old `.kibana_N` indices - -After the migrations complete, multiple {kib} indices are created in {es}: (`.kibana_1`, `.kibana_2`, `.kibana_7.12.0` etc). -{kib} only uses the index that the `.kibana` and `.kibana_task_manager` aliases point to. -The other {kib} indices can be safely deleted, but are left around as a matter of historical record, and to facilitate rolling {kib} back to a previous version. - [float] ==== Known issues with {fleet} beta If you see a`timeout_exception` or `receive_timeout_transport_exception` error, diff --git a/docs/setup/upgrade/saved-objects-migration.asciidoc b/docs/setup/upgrade/saved-objects-migration.asciidoc index 3dac6a02c96ef..1f4ed9a7fff09 100644 --- a/docs/setup/upgrade/saved-objects-migration.asciidoc +++ b/docs/setup/upgrade/saved-objects-migration.asciidoc @@ -8,34 +8,66 @@ To access the assistant, go to *Stack Management > Upgrade Assistant*. WARNING: {kib} 7.12.0 and later uses a new migration process and index naming scheme. Before you upgrade, read the documentation for your version of {kib}. -WARNING: The following instructions assumes {kib} is using the default index names. If the `kibana.index` or `xpack.tasks.index` configuration settings are different from the default, adapt the instructions accordingly. +WARNING: The `kibana.index` and `xpack.tasks.index` configuration settings are obsolete and no longer taken into account in 8.x. If you are using custom index names, please perform the necessary adaptations before attempting to upgrade to 8.x. [float] [[upgrade-migrations-process]] ==== How saved objects migrations work -Saved objects are stored in two indices: - -* `.kibana_{kibana_version}_001`, e.g. for {kib} 7.12.0 `.kibana_7.12.0_001`. -* `.kibana_task_manager_{kibana_version}_001`, e.g. for {kib} 7.12.0 `.kibana_task_manager_7.12.0_001`. - -The index aliases `.kibana` and `.kibana_task_manager` always point to -the most up-to-date saved object indices. - When you start a new {kib} installation, an upgrade migration is performed before starting plugins or serving HTTP traffic. Before you upgrade, shut down old nodes to prevent losing acknowledged writes. To reduce the likelihood of old nodes losing acknowledged writes, {kib} 7.12.0 and later adds a write block to the outdated index. -The following tables lists the saved objects indices used by previous {kib} versions. +Saved objects are stored in multiple indices. Whilst all of them start with the `.kibana*` prefix, other `.kibana*` indices exist, which are not used to store saved objects. The following tables lists the saved objects indices used by each {kib} version. .Saved object indices and aliases per {kib} version [options="header"] |======================= -|Upgrading from version | Outdated index (alias) -| 6.5.0 through 7.3.x | `.kibana_N` (`.kibana` alias) +|Upgrading from version | Index | Aliases +| 6.5.0 through 7.3.x +| `.kibana_N` +| `.kibana` | 7.4.0 through 7.11.x -| `.kibana_N` (`.kibana` alias) - -`.kibana_task_manager_N` (`.kibana_task_manager` alias) +| `.kibana_N` + +`.kibana_task_manager_N` +| `.kibana` + +`.kibana_task_manager` +| 7.11.x through 8.7.x +| `.kibana_{kibana_version}_001` + +`.kibana_task_manager_{kibana_version}_001` +| `.kibana`, `.kibana_{kibana_version}` + +`.kibana_task_manager`, `.kibana_task_manager_{kibana_version}` +| 8.8.0+ +| `.kibana_{kibana_version}_001` + +`.kibana_alerting_cases_{kibana_version}_001` +`.kibana_analytics_{kibana_version}_001` +`.kibana_ingest_{kibana_version}_001` +`.kibana_task_manager_{kibana_version}_001` +`.kibana_security_solution_{kibana_version}_001` +| `.kibana`, `.kibana_{kibana_version}` + +`.kibana_alerting_cases`, `.kibana_alerting_cases_{kibana_version}` +`.kibana_analytics`, `.kibana_analytics_{kibana_version}` +`.kibana_ingest`, `.kibana_ingest_{kibana_version}` +`.kibana_task_manager`, `.kibana_task_manager_{kibana_version}` +`.kibana_security_solution`, `.kibana_security_solution_{kibana_version}` |======================= + +Starting on 7.11.0, each of the saved objects indices has a couple of aliases, e.g. the `.kibana_8.8.0_001` index has a _default_ alias `.kibana` and a _version_ alias `.kibana_8.8.0`. The _default_ aliases (e.g. `.kibana` and `.kibana_task_manager`) always point to +the most up-to-date saved object indices. Then, _version_ aliases are aligned with the deployed {kib} version. + + +Starting on 8.6.0, index names aren't necessarily aligned with the deployed {kib} version. When updates on a certain index are compatible, {kib} will keep the existing index instead of creating a new one. This allows for a more efficient upgrade process. The following example illustrates a completely valid state for a 8.8.0 deployment: + +* `.kibana_8.8.0_001` index, with `.kibana` and `.kibana_8.8.0` aliases. +* `.kibana_task_manager_8.7.0_001` index, with `.kibana_task_manager` and `.kibana_task_manager_8.8.0` aliases. + +Starting on 8.8.0, {kib} splits the main saved object index into multiple ones, as depicted on the table above. When upgrading from a previous version, the {kib} migration process will reindex some saved objects from the `.kibana` index into the new indices, depending on their types. Note that the `.kibana` index still exists, and it continues to store multiple saved object types. + +[float] +[[upgrade-migrations-old-indices]] +==== Old {kib} indices + +As a deployment is gradually upgraded, multiple {kib} indices are created in {es}: (`.kibana_1`, `.kibana_2`, `.kibana_7.12.0_001`, `.kibana_7.13.0_001`, `.kibana_8.0.0_001` etc). +{kib} only uses those indices that the _default_ and _version_ aliases point to. +The other, older {kib} saved object indices can be safely deleted, but are left around as a matter of historical record, and to facilitate rolling {kib} back to a previous version. diff --git a/docs/user/alerting/alerting-getting-started.asciidoc b/docs/user/alerting/alerting-getting-started.asciidoc index b7ca2f3c58b55..3e6787370ff2f 100644 --- a/docs/user/alerting/alerting-getting-started.asciidoc +++ b/docs/user/alerting/alerting-getting-started.asciidoc @@ -77,6 +77,9 @@ Rather than repeatedly entering connection information and credentials for each The _action frequency_ defines when the action runs (for example, only when the alert status changes or at specific time intervals). Each rule type also has a set of the _action groups_ that affects when the action runs (for example, when the threshold is met or when the alert is recovered). If you want to reduce the number of notifications you receive without affecting their timeliness, some rule types support alert summaries. You can set the action frequency such that you receive notifications that summarize the new, ongoing, and recovered alerts at your preferred time intervals. +Some types of rules enable you to further refine the conditions under which actions run. +For example, you can specify that actions run only when an alert occurs within a specific time frame or when it matches a KQL query. + Each action definition is therefore a template: all the parameters needed to invoke a service are supplied except for specific values that are only known at the time the rule condition is detected. In the server monitoring example, the `email` connector type is used, and `server` is mapped to the body of the email, using the template string `CPU on {{server}} is high`. diff --git a/docs/user/alerting/alerting-setup.asciidoc b/docs/user/alerting/alerting-setup.asciidoc index 41675029e411c..0a2e35d0abceb 100644 --- a/docs/user/alerting/alerting-setup.asciidoc +++ b/docs/user/alerting/alerting-setup.asciidoc @@ -74,16 +74,16 @@ A rule or connector created in one space will not be visible in another. [[alerting-authorization]] === Authorization -Rules are authorized using an <> associated with the last user -to edit the rule. This API key captures a snapshot of the user's privileges at -the time of the edit. They are subsequently used to run all background tasks -associated with the rule, including condition checks like {es} queries and -triggered actions. The following rule actions will re-generate the API key: +Rules are authorized using an API key. +Its credentials are used to run all background tasks associated with the rule, including condition checks like {es} queries and triggered actions. + +You can create API keys and use them in the header of your API calls as described in <>. +If you create or edit a rule in {kib}, an API key is created that captures a snapshot of your privileges at the time of the edit. The following actions regenerate the API key in {kib}: * Creating a rule * Updating a rule -When you disable a rule, it retains the associated API key which is re-used when +When you disable a rule, it retains the associated API key which is reused when the rule is enabled. If the API key is missing when you enable the rule (for example, in the case of imported rules), it generates a new key that has your security privileges. @@ -94,10 +94,11 @@ You can update an API key manually in [IMPORTANT] ============================================== -If a rule requires certain privileges, such as index privileges, to run, and a +If a rule requires certain privileges, such as index privileges, to run and a user without those privileges updates the rule, the rule will no longer function. Conversely, if a user with greater or administrator privileges modifies the rule, it will begin running with increased privileges. +The same behavior occurs when you change the API key in the header of your API calls. ============================================== [float] diff --git a/docs/user/alerting/create-and-manage-rules.asciidoc b/docs/user/alerting/create-and-manage-rules.asciidoc index 2640ba46de062..88060edab5437 100644 --- a/docs/user/alerting/create-and-manage-rules.asciidoc +++ b/docs/user/alerting/create-and-manage-rules.asciidoc @@ -1,6 +1,10 @@ [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. +:frontmatter-tags-products: [kibana, alerting] +:frontmatter-tags-content-type: [how-to] +:frontmatter-tags-user-goals: [manage] The *{stack-manage-app}* > *{rules-ui}* UI provides a cross-app view of alerting. Different {kib} apps like {observability-guide}/create-alerts.html[*{observability}*], @@ -77,6 +81,9 @@ Alternatively, you can set the action frequency such that the action runs for ea image::images/rule-flyout-action-details.png[UI for defining an email action,500] // NOTE: This is an autogenerated screenshot. Do not edit it directly. +If you create rules in the {security-app}, you can further refine when actions run by adding time frame and query filters. +For more details, refer to {security-guide}/rules-ui-create.html[Create a detection rule]. + 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 <>. [[alerting-concepts-suppressing-duplicate-notifications]] @@ -134,6 +141,7 @@ image:images/snooze-panel.png[Snooze notifications for a rule] When a rule is in a snoozed state, you can cancel or change the duration of this state. +preview:[] To temporarily suppress notifications for _all_ rules, create a <>. [float] [[importing-and-exporting-rules]] @@ -182,6 +190,9 @@ When an alert is created, it generates actions. If the conditions that caused th NOTE: The `flapping` state is possible only if you have enabled alert flapping detection in *{stack-manage-app}* > *{rules-ui}* > *Settings*. For each space, you can choose a look back window and threshold that are used to determine whether alerts are flapping. For example, you can specify that the alert must change status at least 6 times in the last 10 runs. If the rule has actions that run when the alert status changes, those actions are suppressed while the alert is flapping. +If an alert was affected by a maintenance window, its identifier appears in the *Maintenance windows* column. +For more information about their impact on alert notifications, refer to <>. + You can suppress future actions for a specific alert by turning on the *Mute* toggle. If a muted alert no longer meets the rule conditions, it stays in the list to avoid generating actions if the conditions recur. You can also disable a rule, which stops it from running checks and clears any alerts it was tracking. You may want to disable rules that are not currently needed to reduce the load on {kib} and {es}. [role="screenshot"] diff --git a/docs/user/alerting/images/rule-details-alerts-active.png b/docs/user/alerting/images/rule-details-alerts-active.png index deb2feff7993e..295cb263c40eb 100644 Binary files a/docs/user/alerting/images/rule-details-alerts-active.png and b/docs/user/alerting/images/rule-details-alerts-active.png differ diff --git a/docs/user/alerting/rule-types/es-query.asciidoc b/docs/user/alerting/rule-types/es-query.asciidoc index ccd8128020f56..abe81f3e953ae 100644 --- a/docs/user/alerting/rule-types/es-query.asciidoc +++ b/docs/user/alerting/rule-types/es-query.asciidoc @@ -1,6 +1,11 @@ [[rule-type-es-query]] == {es} query +:frontmatter-description: An {es} query rule generates alerts when your query meets a threshold. +:frontmatter-tags-products: [kibana,alerting] +:frontmatter-tags-content-type: [overview] +:frontmatter-tags-user-goals: [analyze] + 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. @@ -20,19 +25,21 @@ Define properties to detect the condition. [role="screenshot"] image::user/alerting/images/rule-types-es-query-conditions.png[Eight clauses define the condition to detect] -Index:: Specifies an *index or data view* and a *time field* that is used for -the *time window*. -{es} query:: Specifies the ES DSL query. Only the `query`, `fields`, `_source` and `runtime_mappings` fields are used, other DSL fields are not considered. -When:: Specifies how the value to be compared to the threshold is calculated. The value is calculated by aggregating a numeric field within the *time window*. The aggregation options are: `count`, `average`, `sum`, `min`, and `max`. When using `count` the document count is used and an aggregation field is not necessary. -Over or Grouped Over:: Specifies whether the aggregation is applied over all documents or split into groups using a grouping field. If grouping is used, an <> will be created for each group when it meets the condition. To limit the number of alerts on high cardinality fields, you must specify the number of groups to check against the threshold. Only the *top* groups are checked. -Threshold:: Defines a threshold value and a comparison operator (`is above`, +Define your query:: +If you chose the query DSL option, you must specify indices to query and a time field that is used for the time window. You must then define a query in {es} query DSL. Only the `query`, `fields`, `_source` and `runtime_mappings` fields are used, other DSL fields are not considered. ++ +If you chose the KQL or Lucene option, you must specify a data view then define a text-based query. +Set the group, theshold, and time window:: +When::: Specify how to calculate the value that is compared to the threshold. The value is calculated by aggregating a numeric field within the time window. The aggregation options are: `count`, `average`, `sum`, `min`, and `max`. When using `count` the document count is used and an aggregation field is not necessary. +Over or Grouped Over::: Specify whether the aggregation is applied over all documents or split into groups using a grouping field. If grouping is used, an alert will be created for each group when it meets the condition. To limit the number of alerts on high cardinality fields, you must specify the number of groups to check against the threshold. Only the top groups are checked. +Threshold::: Defines a threshold value and a comparison operator (`is above`, `is above or equals`, `is below`, `is below or equals`, or `is between`). The value calculated by the aggregation is compared to this threshold. -Time window:: Defines how far back to search for documents, using the -*time field* set in the *index* clause. Generally this value should be set to a -value higher than the *check every* value, to avoid gaps in +Time window::: Defines how far back to search for documents, using the +time field set in the index clause. Generally this value should be set to a +value higher than the check interval, to avoid gaps in detection. -Size:: Specifies the number of documents to pass to the configured actions when +Set the number of documents to send:: Specifies the number of documents to pass to the configured actions when the threshold condition is met. 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 diff --git a/docs/user/alerting/rule-types/index-threshold.asciidoc b/docs/user/alerting/rule-types/index-threshold.asciidoc index 9c6ca54a20dcb..d6a3217f3276d 100644 --- a/docs/user/alerting/rule-types/index-threshold.asciidoc +++ b/docs/user/alerting/rule-types/index-threshold.asciidoc @@ -1,6 +1,11 @@ [[rule-type-index-threshold]] == Index threshold +:frontmatter-description: An index threshold rule generates alerts when an aggregated query meets a threshold. +:frontmatter-tags-products: [kibana,alerting] +:frontmatter-tags-content-type: [overview] +:frontmatter-tags-user-goals: [analyze] + The index threshold rule type runs an {es} query. It aggregates field values from documents, compares them to threshold values, and schedules actions to run when the thresholds are met. [float] @@ -12,11 +17,13 @@ image::user/alerting/images/rule-types-index-threshold-conditions.png[Defining i When you create an index threshold rule, you must define the conditions for the rule to detect. For example: -Index:: This clause requires an *index or data view* and a *time field* that will be used for the *time window*. -When:: This clause specifies how the value to be compared to the threshold is calculated. The value is calculated by aggregating a numeric field a the *time window*. The aggregation options are: `count`, `average`, `sum`, `min`, and `max`. When using `count` the document count is used, and an aggregation field is not necessary. -Over/Grouped Over:: This clause lets you configure whether the aggregation is applied over all documents, or should be split into groups using a grouping field. If grouping is used, an <> will be created for each group when it exceeds the threshold. To limit the number of alerts on high cardinality fields, you must specify the number of groups to check against the threshold. Only the *top* groups are checked. -Threshold:: This clause defines a threshold value and a comparison operator (one of `is above`, `is above or equals`, `is below`, `is below or equals`, or `is between`). The result of the aggregation is compared to this threshold. -Time window:: This clause determines how far back to search for documents, using the *time field* set in the *index* clause. Generally this value should be to a value higher than the *check every* value, to avoid gaps in detection. +Select an index:: +Index::: Specify the indices to query and a time field that will be used for the time window. +When::: Specify how to calculate the value that is compared to the threshold. The value is calculated by aggregating a numeric field in a time window. The aggregation options are: `count`, `average`, `sum`, `min`, and `max`. When using `count` the document count is used and an aggregation field is not necessary. +Over/Grouped Over::: Specify whether the aggregation is applied over all documents or split into groups using a grouping field. If grouping is used, an <> will be created for each group when it exceeds the threshold. To limit the number of alerts on high cardinality fields, you must specify the number of groups to check against the threshold. Only the top groups are checked. +Define the condition:: +This section defines a threshold value and a comparison operator (`is above`, `is above or equals`, `is below`, `is below or equals`, or `is between`). The result of the aggregation is compared to this threshold. +It also defines a time window, which determines how far back to search for documents, using the time field set in the index clause. Generally this value should be a value higher than the check interval to avoid gaps in detection. If data is available and all clauses have been defined, a preview chart will render the threshold value and display a line chart showing the value for the last 30 intervals. This can provide an indication of recent values and their proximity to the threshold, and help you tune the clauses. diff --git a/docs/user/alerting/troubleshooting/alerting-common-issues.asciidoc b/docs/user/alerting/troubleshooting/alerting-common-issues.asciidoc index 85e95d4c935c3..b7d9ba5168d11 100644 --- a/docs/user/alerting/troubleshooting/alerting-common-issues.asciidoc +++ b/docs/user/alerting/troubleshooting/alerting-common-issues.asciidoc @@ -263,7 +263,7 @@ This error happens when the `xpack.encryptedSavedObjects.encryptionKey` value us | The other {kib} instance might be trying to run the rule using a different encryption key than what the rule was created with. Ensure the encryption keys among all the {kib} instances are the same, and setting <> for previously used encryption keys. | If other scenarios don't apply. -| Generate a new API key for the rule by disabling then enabling the rule. +| Generate a new API key for the rule. For example, in *{stack-manage-app} > {rules-ui}*, select *Update API key* from the action menu. |=== diff --git a/docs/user/dashboard/dashboard.asciidoc b/docs/user/dashboard/dashboard.asciidoc index f4f3aa74a8c8f..5da14bc58572d 100644 --- a/docs/user/dashboard/dashboard.asciidoc +++ b/docs/user/dashboard/dashboard.asciidoc @@ -333,47 +333,42 @@ Copy panels from one dashboard to another dashboard. . On the *Copy to dashboard* window, select the dashboard, then click *Copy and go to dashboard*. [float] -[[search-or-filter-your-data]] -== Search and filter your data - -{kib} supports several ways to search your data and apply {es} filters. You can combine the filters with any panel -filter to display the data want to you see. +[[add-dashboard-settings]] +== Add the dashboard settings -For more information about {kib} and {es} filters, refer to <>. +Add the title, tags, design options, and more to the dashboard. -To apply a panel-level time filter: +. In the toolbar, click *Settings*. -. Open the panel menu, then select *More > Edit panel settings*. - -. Select *Apply a custom time range*. +. On the *Dashboard settings* flyout, enter the *Title* and an optional *Description*. -. Enter the time range you want to view, then click *Save*. +. Add any applicable <>. -To view and edit panel-level filters: +. Specify the following settings: -. On the panel, click image:images/dashboard_panelFiltersButton_8.7.0.png[Panel filters button on panel header]. +* *Store time with dashboard* — Saves the specified time filter. -. To edit, click *Edit filters*. +* *Use margins between panels* — Adds a margin of space between each panel. -[float] -[[apply-design-options]] -== Apply design options +* *Show panel titles* — Displays the titles in the panel headers. -Apply a set of design options to the entire dashboard. +* *Sync color palettes across panels* — Applies the same color palette to all panels on the dashboard. -. If you're in view mode, click *Edit* in the toolbar. +* *Sync cursor across panels* — When you hover your cursor over a *Lens*, *TSVB*, aggregation-based, or *Timelion* XY or heatmap chart, the cursor on all other related dashboard charts automatically appears. -. In the toolbar, click *Settings*, to open the *Dashboard settings* flyout, then use the following options: +* *Sync tooltips across panels* — When you hover your cursor over a *Lens*, *TSVB*, aggregation-based, or *Timelion* XY chart, the tooltips on all other related dashboard charts automatically appears. -* *Use margins between panels* — Adds a margin of space between each panel. +. Click *Apply*. -* *Show panel titles* — Displays the titles in the panels headers. +[float] +[[reset-the-dashboard]] +== Reset the dashboard -* *Sync color pallettes across panels* — Applies the same color palette to all panels on the dashboard. +To remove any dashboard changes you've made, reset the dashboard to the last saved changes. -* *Sync cursor across panels* — When you hover your cursor over a *Lens*, *TSVB*, aggregation-based, or *Timelion* XY chart and a heatmap chart, the cursor on all other related dashboard charts automatically appear. +. In the toolbar, click *Reset*. -* *Sync tooltips across panels* — When you hover your cursor over a *Lens*, *TSVB*, aggregation-based, or *Timelion* XY chart, the tooltips on all other related dashboard charts automatically appear. +. On the *Reset dashboard* window, click *Reset dashboard*. [float] [[save-dashboards]] @@ -381,21 +376,32 @@ Apply a set of design options to the entire dashboard. When you've finished making changes to the dashboard, save it. -If you are saving a new dashboard: - . In the toolbar, click *Save*. -. On the *Save dashboard* window, enter the *Title* and an optional *Description*. +. To exit *Edit* mode, click *Switch to view mode*. -. Add any applicable <>. +[float] +[[search-or-filter-your-data]] +== Search and filter your data + +{kib} supports several ways to search your data and apply {es} filters. You can combine the filters with any panel +filter to display the data want to you see. -. To save the time filter to the dashboard, select *Store time with dashboard*. +For more information about {kib} and {es} filters, refer to <>. -. Click *Save*. +To apply a panel-level time filter: -If you are saving an existing dashboard, click *Save*. +. Open the panel menu, then select *More > Edit panel settings*. + +. Select *Apply a custom time range*. + +. Enter the time range you want to view, then click *Save*. -To exit *Edit* mode, click *Switch to view mode*. +To view and edit panel-level filters: + +. On the panel, click image:images/dashboard_panelFiltersButton_8.7.0.png[Panel filters button on panel header]. + +. To edit, click *Edit filters*. [float] [[download-csv]] diff --git a/docs/user/dashboard/images/formula_reference.png b/docs/user/dashboard/images/formula_reference.png index dff574120c2a1..7b385e7749880 100644 Binary files a/docs/user/dashboard/images/formula_reference.png and b/docs/user/dashboard/images/formula_reference.png differ diff --git a/docs/user/dashboard/images/lens_visualizationModifierPopup_8.8.0.png b/docs/user/dashboard/images/lens_visualizationModifierPopup_8.8.0.png new file mode 100644 index 0000000000000..d3252fa9c16f0 Binary files /dev/null and b/docs/user/dashboard/images/lens_visualizationModifierPopup_8.8.0.png differ diff --git a/docs/user/dashboard/lens.asciidoc b/docs/user/dashboard/lens.asciidoc index eafe5cbf076c3..38a21cf3e97c8 100644 --- a/docs/user/dashboard/lens.asciidoc +++ b/docs/user/dashboard/lens.asciidoc @@ -175,18 +175,35 @@ Compare your real-time data to the results that are offset by a time increment. For a time shift example, refer to <>. [float] -[[multi-metric-partition-chart]] -==== Build a partition chart from multiple metrics +[[create-partition-charts-with-multiple-metrics]] +==== Create partition charts with multiple metrics -By default, partition charts (e.g. pie) are built from one or more "slice-by" dimensions to define the partitions and a single metric dimension to define their size. However, you can also build a partition chart from multiple metric dimensions. +To create partition charts, such as pie charts, configure one or more *Slice by* dimensions to define the partitions, and a *Metric* dimension to define the size. +To create partition charts with multiple metrics, use the layer settings. Multiple metrics are unsupported for mosaic visualizations. -. Open the layer context menu at the top right of the layer panel. +. In the layer pane, click image:dashboard/images/lens_layerActions_8.5.0.png[Actions menu for the partition visualization layer], then select *Layer settings*. -. Click *Layer settings*. +. Select *Multiple metrics*. -. Click the switch labeled *Multiple metrics*. +. Click *X*. -Note: this option is not available for mosaic charts. +[float] +[[improve-visualization-loading-time]] +=== Improve visualization loading time + +preview::[] + +Data sampling allows you to improve the visualization loading time. To decrease the loading time, use a lower sampling percentage, which also decreases the accuracy. +Use low sampling percentages on large datasets. + +. In the layer pane, click image:dashboard/images/lens_layerActions_8.5.0.png[Actions menu for the partition visualization layer], then select *Layer settings*. + +. To select the *Sampling* percentage, use the slider. + +. Click *X*. ++ +When you add the visualization to dashboards, image:dashboard/images/lens_visualizationModifierPopup_8.8.0.png[Visualization modifier popup] appears, +which allows you to view settings changes to the visualization. [float] [[add-annotations]] @@ -214,6 +231,9 @@ Create the annotation layer. . From the fields list, drag a field to the *Add an annotation* field. . To use global filters in the annotation, click image:dashboard/images/lens_layerActions_8.5.0.png[Actions menu for the annotations layer], then select *Keep global filters* from the dropdown. ++ +When you add the visualization to dashboards, image:dashboard/images/lens_visualizationModifierPopup_8.8.0.png[Visualization modifier popup] appears, +which allows you to view settings changes to the visualization. Create static annotations. diff --git a/docs/user/dashboard/make-dashboards-interactive.asciidoc b/docs/user/dashboard/make-dashboards-interactive.asciidoc index e66e7c33b4be4..1ebcc2ca2402f 100644 --- a/docs/user/dashboard/make-dashboards-interactive.asciidoc +++ b/docs/user/dashboard/make-dashboards-interactive.asciidoc @@ -2,10 +2,10 @@ [[drilldowns]] == Make dashboards interactive -:keywords: administrator, analyst, concept, task, analyze, dashboard, controls, range slider, options list, author, drilldowns -:description: Add interactive capabilities to your dashboard, such as controls that allow \ -you to apply dashboard-level filters, and drilldowns that allow you to navigate to other \ -dashboards and external websites. +:frontmatter-description: Add interactive filter and navigation capabilities to your dashboard. +:frontmatter-tags-products: [kibana] +:frontmatter-tags-content-type: [how-to] +:frontmatter-tags-user-goals: [analyze, visualize] Add interactive capabilities to your dashboard, such as interactive filter controls, and drilldowns that allow you to navigate to *Discover*, other dashboards, and external websites. diff --git a/docs/user/discover.asciidoc b/docs/user/discover.asciidoc index 17cde2abcba6b..6f35e9a9d59ba 100644 --- a/docs/user/discover.asciidoc +++ b/docs/user/discover.asciidoc @@ -82,21 +82,23 @@ that shows all the documents that match your search. By default, the document table includes a column for the time field and a column that lists all other fields in the document. You’ll modify the document table to display your fields of interest. -. In the sidebar, enter `ma` to in the search field to find the `manufacturer` field. +. In the sidebar, enter `ma` in the search field to find the `manufacturer` field. + [role="screenshot"] image:images/discover-sidebar-available-fields.png[Fields list that displays the top five search results, width=50%] ++ +NOTE: You can use wildcards in field searches. For example, `goe*dest` finds `geo.dest` and `geo.src.dest`. . In the *Available fields* list, click `manufacturer` to view its most popular values. + **Discover** shows the top 10 values and the number of records used to calculate those values. . Click image:images/add-icon.png[Add icon] to toggle the field into the document table. +You can also drag the field from the *Available fields* list into the document table. + [role="screenshot"] image::images/discover-add-icon.png[How to add a field as a column in the table, width="50%"] - . Find the `customer_first_name` and `customer_last_name` fields and add them to the document table. Your table should look similar to this: + @@ -111,15 +113,19 @@ column header, and then select *Move left* or *Move right*. + * To copy the name or values in a column to the clipboard, click the column header and select the desired **Copy** option. + -* For keyboard shortcuts on the document table, click -image:images/keyboard-shortcut-icon.png[icon button for opening list of keyboard shortcuts, width=24px]. -+ * To view more of the document table, click image:images/chart-icon.png[icon button for opening Show/Hide chart menu, width=24px] to open the *Chart options* menu, and then select *Hide chart*. + +* For keyboard shortcuts on the document table, click +image:images/keyboard-shortcut-icon.png[icon button for opening list of keyboard shortcuts, width=24px]. ++ +* To set the row height to one or more lines, or automatically +adjust the height to fit the contents, click +image:images/row-height-icon.png[icon to open the Row height pop-up, width=24px]. ++ * To toggle the table in and out of fullscreen mode, click the fullscreen icon image:images/fullscreen-icon.png[icon to display the document table in fullscreen mode]. @@ -270,6 +276,10 @@ If a field can be {ref}/search-aggregations.html[aggregated], you can quickly visualize it from **Discover**. . In the sidebar, find and then click `day_of_week`. ++ +[role="screenshot"] +image:images/discover-day-of-week.png[Top values for the day_of_week field, plus Visualize button, width=50%] + . In the popup, click **Visualize**. + @@ -334,4 +344,6 @@ include::{kib-repo-dir}/discover/save-search.asciidoc[] include::{kib-repo-dir}/discover/field-statistics.asciidoc[] -include::{kib-repo-dir}/discover/search-sessions.asciidoc[] +include::{kib-repo-dir}/discover/log-pattern-analysis.asciidoc[] + +include::{kib-repo-dir}/discover/search-sessions.asciidoc[] \ No newline at end of file diff --git a/docs/user/management.asciidoc b/docs/user/management.asciidoc index 5c78d91183861..0d49ad2a1ef55 100644 --- a/docs/user/management.asciidoc +++ b/docs/user/management.asciidoc @@ -97,6 +97,9 @@ Viewer or Anomaly Explorer to see your {anomaly-detect} results. For example, you might create an alert when the maximum total CPU usage on a machine goes above a certain percentage. +| <> +| Suppress rule notifications for scheduled periods of time. + |=== [float] @@ -184,6 +187,8 @@ include::{kib-repo-dir}/management/action-types.asciidoc[] include::{kib-repo-dir}/management/managing-licenses.asciidoc[] +include::{kib-repo-dir}/management/maintenance-windows/maintenance-windows.asciidoc[] + include::{kib-repo-dir}/management/manage-data-views.asciidoc[] include::{kib-repo-dir}/management/numeral.asciidoc[] diff --git a/docs/user/ml/index.asciidoc b/docs/user/ml/index.asciidoc index 5307375f31958..e5a8f6712a6b2 100644 --- a/docs/user/ml/index.asciidoc +++ b/docs/user/ml/index.asciidoc @@ -1,6 +1,8 @@ -[role="xpack"] [[xpack-ml]] = {ml-cap} +:frontmatter-tags-products: [ml] +:frontmatter-tags-content-type: [overview] +:frontmatter-tags-user-goals: [analyze] [partintro] -- @@ -33,6 +35,9 @@ information, refer to {ml-docs}/ml-limitations.html[{ml-cap}]. [[xpack-ml-anomalies]] == {anomaly-detect-cap} +:frontmatter-tags-products: [ml] +:frontmatter-tags-content-type: [overview] +:frontmatter-tags-user-goals: [analyze] The Elastic {ml} {anomaly-detect} feature automatically models the normal behavior of your time series data — learning trends, periodicity, and more — in @@ -84,6 +89,9 @@ and {ml-docs}/ml-ad-overview.html[{ml-cap} {anomaly-detect}]. [[xpack-ml-dfanalytics]] == {dfanalytics-cap} +:frontmatter-tags-products: [ml] +:frontmatter-tags-content-type: [overview] +:frontmatter-tags-user-goals: [analyze] The Elastic {ml} {dfanalytics} feature enables you to analyze your data using {classification}, {oldetection}, and {regression} algorithms and generate new @@ -101,6 +109,9 @@ For more information about the {dfanalytics} feature, see [[xpack-ml-aiops]] == AIOps Labs +:frontmatter-tags-products: [ml] +:frontmatter-tags-content-type: [overview] +:frontmatter-tags-user-goals: [analyze] AIOps Labs is a part of {ml-app} in {kib} which provides features that use advanced statistical methods to help you interpret your data and its behavior. @@ -130,7 +141,7 @@ the spike and displays them in a table. You can optionally choose to summarize the results into groups. The table also shows an indicator of the level of impact and a sparkline showing the shape of the impact in the chart. Hovering over a row displays the impact on the histogram chart in more detail. You can -inspect a field in **Discover**, further investiage in **Log pattern analysis**, +inspect a field in **Discover**, further investigate in **Log pattern analysis**, or copy the table row information as a query filter to the clipboard by selecting the corresponding option under the **Actions** column. You can also pin a table row by clicking on it then move the cursor to the histogram chart. @@ -151,11 +162,14 @@ image::user/ml/images/ml-explain-log-rate.png[Log rate spike explained] preview::[] +// The following intro is used on the `run-pattern-analysis-discover` page. +//tag::log-pattern-analysis-intro[] Log pattern analysis helps you to find patterns in unstructured log messages and makes it easier to examine your data. It performs categorization analysis on a selected field of a {data-source}, creates categories based on the data and displays them together with a chart that shows the distribution of each category and an example document that matches the category. +//end::log-pattern-analysis-intro[] You can find log pattern analysis under **{ml-app}** > **AIOps Labs** where you can select the {data-source} or saved search that you want to analyze, or in diff --git a/docs/user/production-considerations/reporting-production-considerations.asciidoc b/docs/user/production-considerations/reporting-production-considerations.asciidoc index 20ea82be9c6e4..db972e1bbf368 100644 --- a/docs/user/production-considerations/reporting-production-considerations.asciidoc +++ b/docs/user/production-considerations/reporting-production-considerations.asciidoc @@ -5,8 +5,9 @@ ++++ Reporting ++++ -:keywords: administrator, analyst, concept, setup, reporting -:description: Consider the production components that are used to generate reports. + +:frontmatter-description: Consider the production components that are used to generate reports. +:frontmatter-tags-products: [kibana] To generate reports, {kib} uses the Chromium web browser, which runs on the server in headless mode. Chromium is an open-source project not related to Elastic, and is embedded into {kib}. Chromium may require additional OS dependencies to run properly. diff --git a/docs/user/production-considerations/security-production-considerations.asciidoc b/docs/user/production-considerations/security-production-considerations.asciidoc index 0a7a3988f1c7b..1c6d7f50e8fae 100644 --- a/docs/user/production-considerations/security-production-considerations.asciidoc +++ b/docs/user/production-considerations/security-production-considerations.asciidoc @@ -5,8 +5,9 @@ ++++ Security ++++ -:keywords: administrator, analyst, concept, setup, security -:description: Consider the production components for {kib} security. + +:frontmatter-description: Consider the production components for {kib} security. +:frontmatter-tags-products: [kibana] To secure your {kib} installation in production, consider these high-priority topics to ensure that only authorized users can access {kib}. diff --git a/docs/user/reporting/index.asciidoc b/docs/user/reporting/index.asciidoc index e85c46d04ed38..8d53018dec572 100644 --- a/docs/user/reporting/index.asciidoc +++ b/docs/user/reporting/index.asciidoc @@ -1,31 +1,31 @@ -[role="xpack"] [[reporting-getting-started]] = Reporting and sharing [partintro] -- - -:keywords: analyst, concept, task, reporting -:description: {kib} provides you with several options to share *Discover* saved searches, dashboards, *Visualize Library* visualizations, and *Canvas* workpads with others, or on a website. +:frontmatter-description: {kib} provides you with several options to share *Discover* saved searches, dashboards, *Visualize Library* visualizations, and *Canvas* workpads with others, or on a website. +:frontmatter-tags-products: [kibana] {kib} provides you with several options to share *Discover* saved searches, dashboards, *Visualize Library* visualizations, and *Canvas* workpads. You access the options from the *Share* menu in the toolbar. The sharing options include the following: -* *PDF Reports* — Generate and download a PDF file of a dashboard, visualization, or *Canvas* workpad. PDF reports are a link:https://www.elastic.co/subscriptions[subscription feature]. +* *PDF Reports* — Generate and download PDF files of dashboards, visualizations, and *Canvas* workpads. PDF reports are a link:https://www.elastic.co/subscriptions[subscription feature]. + +* *PNG Reports* — Generate and download PNG files of dashboards and visualizations. PNG reports are a link:https://www.elastic.co/subscriptions[subscription feature]. -* *PNG Reports* — Generate and download a PNG file of a dashboard or visualization. PNG reports are a link:https://www.elastic.co/subscriptions[subscription feature]. +* *CSV Reports* — Generate and download CSV files of saved searches. -* *CSV Reports* — Generate and download a CSV file of a *Discover* saved search. +* *CSV Download* — Generate and download CSV files of *Lens* visualizations. -* *Get links* — Share a direct link to a *Discover* saved search, dashboard, or visualization. +* *Get links* — Share direct links to saved searches, dashboards, and visualizations. -* *Download as JSON* — Generate and download a JSON file of a *Canvas* workpad. +* *Download as JSON* — Generate and download JSON files of *Canvas* workpads. * beta[] *Share on a website* — Download and securely share *Canvas* workpads on any website. -* *Embed code* — Embed a fully interactive dashboard as an iframe on a web page. +* *Embed code* — Embed fully interactive dashboards as an iframe on web pages. [[reporting-on-cloud-resource-requirements]] NOTE: For Elastic Cloud deployments, {kib} instances require a minimum of 2GB RAM to generate PDF or PNG reports. To @@ -51,19 +51,13 @@ image::user/reporting/images/shareable-container.png["Shareable Container"] . Open the main menu, then open the saved search, dashboard, visualization, or workpad you want to share. -. From the toolbar, click *Share*, then select one of the following options: - -** **PDF Reports** — Generates a PDF file of the dashboard, visualization, or workpad. +. From the toolbar, click *Share*, then select the report option. -** **PNG Reports** — Generates a PNG file of the dashboard or visualization. - -** **CSV Reports** — Generates a CSV report of the saved search. - -. If you are creating a PDF report of a dashboard, select *Optimize for printing* to create a printer-friendly PDF with multiple A4 portrait pages and two visualizations per page. +* If you are creating dashboard PDFs, select *Optimize for printing* to create printer-friendly PDFs with multiple A4 portrait pages and two visualizations per page. + NOTE: When you create a dashboard report that includes a data table or saved search, the PDF includes only the visible data. -. If you are creating a PDF report of a workpad, select *Full page layout* to create a PDF without margins that surround the workpad. +* If you are creating workpad PDFs, select *Full page layout* to create PDFs without margins that surround the workpad. . Generate the report. @@ -78,9 +72,9 @@ more about {ilm-init} policies, refer to the {es} [float] [[share-a-direct-link]] -== Share a direct link +== Share direct links -Share a direct link to a saved search, dashboard, or visualization. To access the shared object, authentication is required. +Create and share direct links to saved searches, dashboards, and visualizations. To access the shared object, authentication is required. . Open the main menu, then open the saved search, dashboard, or visualization you want to share. @@ -105,9 +99,9 @@ NOTE: *Public URL* is available only when anonymous access is configured and you [float] [[download-as-json]] -== Create a JSON file +== Create JSON files -Create a JSON file for a workpad. +Create and share JSON files for workpads. . Open the main menu, then click *Canvas*. @@ -119,8 +113,7 @@ Create a JSON file for a workpad. [[add-workpad-website]] == Share workpads on a website -beta[] *Canvas* allows you to create _shareables_, which are workpads that you download and securely share on a website. -To customize the behavior of the workpad on your website, you can choose to autoplay the pages or hide the workpad toolbar. +beta[] Create and securely share static *Canvas* workpads on a website. To customize the behavior of the workpad on your website, you can choose to autoplay the pages or hide the workpad toolbar. . Open the main menu, then click *Canvas*. @@ -128,8 +121,6 @@ To customize the behavior of the workpad on your website, you can choose to auto . Click *Share > Share on a website*. -. Follow the instructions. - . To customize the workpad behavior to autoplay the pages or hide the toolbar, use the inline parameters. + To make sure that your data remains secure, the data in the JSON file is not connected to {kib}. *Canvas* does not display elements that manipulate the data on the workpad. @@ -142,9 +133,9 @@ NOTE: Shareable workpads encode the current state of the workpad in a JSON file. [[embed-code]] == Embed code -Display your dashboard on an internal company website or personal web page with an iframe. Embedding other {kib} objects is generally supported, but you might need to manually craft the proper HTML code. +Display your dashboards on an internal company website or personal web page with an iframe. To embed other {kib} objects, manually create the HTML code. -Some users might not have access to the dashboard or visualization. For more information, refer to <> and <>. +For information about granting access to embedded dashboards, refer to <>. . Open the main menu, then open the dashboard you want to share. @@ -152,11 +143,11 @@ Some users might not have access to the dashboard or visualization. For more inf . Specify how you want to generate the code: -* To display only the current state, select *Snapshot*. +* To display the current state, select *Snapshot*. * To display up-to-date changes, select *Saved object*. -* Select the dashboard components you want to include. +* Select the dashboard components you want to share. * To generate a shortened link, select *Short URL*. diff --git a/docs/user/security/authentication/index.asciidoc b/docs/user/security/authentication/index.asciidoc index d0280ca8e2f40..8d1e054ecf470 100644 --- a/docs/user/security/authentication/index.asciidoc +++ b/docs/user/security/authentication/index.asciidoc @@ -1,11 +1,11 @@ -[role="xpack"] [[kibana-authentication]] === Authentication in {kib} ++++ Authentication ++++ -:keywords: administrator, concept, security, authentication -:description: A list of the supported authentication mechanisms in {kib}. + +:frontmatter-description: A list of the supported authentication mechanisms in {kib}. +:frontmatter-tags-products: [kibana] {kib} supports the following authentication mechanisms: diff --git a/examples/portable_dashboards_example/public/dashboard_with_controls_example.tsx b/examples/portable_dashboards_example/public/dashboard_with_controls_example.tsx index b0ad160b0829c..ce67d8525d479 100644 --- a/examples/portable_dashboards_example/public/dashboard_with_controls_example.tsx +++ b/examples/portable_dashboards_example/public/dashboard_with_controls_example.tsx @@ -14,7 +14,11 @@ import { EuiPanel, EuiSpacer, EuiText, EuiTitle } from '@elastic/eui'; import { controlGroupInputBuilder } from '@kbn/controls-plugin/public'; import { getDefaultControlGroupInput } from '@kbn/controls-plugin/common'; import { FILTER_DEBUGGER_EMBEDDABLE } from '@kbn/embeddable-examples-plugin/public'; -import { AwaitingDashboardAPI, DashboardRenderer } from '@kbn/dashboard-plugin/public'; +import { + AwaitingDashboardAPI, + DashboardRenderer, + DashboardCreationOptions, +} from '@kbn/dashboard-plugin/public'; export const DashboardWithControlsExample = ({ dataView }: { dataView: DataView }) => { const [dashboard, setDashboard] = useState(); @@ -48,7 +52,7 @@ export const DashboardWithControlsExample = ({ dataView }: { dataView: DataView { + getCreationOptions={async (): Promise => { const builder = controlGroupInputBuilder; const controlGroupInput = getDefaultControlGroupInput(); await builder.addDataControlFromField(controlGroupInput, { @@ -68,11 +72,11 @@ export const DashboardWithControlsExample = ({ dataView }: { dataView: DataView return { useControlGroupIntegration: true, - initialInput: { + getInitialInput: () => ({ timeRange: { from: 'now-30d', to: 'now' }, viewMode: ViewMode.VIEW, controlGroupInput, - }, + }), }; }} ref={setDashboard} diff --git a/examples/portable_dashboards_example/public/dynamically_add_panels_example.tsx b/examples/portable_dashboards_example/public/dynamically_add_panels_example.tsx index c1c4f7b850f21..c949727f58d65 100644 --- a/examples/portable_dashboards_example/public/dynamically_add_panels_example.tsx +++ b/examples/portable_dashboards_example/public/dynamically_add_panels_example.tsx @@ -136,10 +136,10 @@ export const DynamicByReferenceExample = () => { getCreationOptions={async () => { const persistedInput = getPersistableInput(); return { - initialInput: { + getInitialInput: () => ({ ...persistedInput, timeRange: { from: 'now-30d', to: 'now' }, // need to set the time range for the by value vis - }, + }), }; }} ref={setdashboard} diff --git a/examples/portable_dashboards_example/public/static_by_reference_example.tsx b/examples/portable_dashboards_example/public/static_by_reference_example.tsx index 3cd5bcb073a75..8d66e3ccf6ed3 100644 --- a/examples/portable_dashboards_example/public/static_by_reference_example.tsx +++ b/examples/portable_dashboards_example/public/static_by_reference_example.tsx @@ -50,12 +50,15 @@ export const StaticByReferenceExample = ({ const field = dataView.getFieldByName('machine.os.keyword'); let filter: Filter; let creationOptions: DashboardCreationOptions = { - initialInput: { viewMode: ViewMode.VIEW }, + getInitialInput: () => ({ viewMode: ViewMode.VIEW }), }; if (field) { filter = buildPhraseFilter(field, 'win xp', dataView); filter.meta.negate = true; - creationOptions = { ...creationOptions, initialInput: { filters: [filter] } }; + creationOptions = { + ...creationOptions, + getInitialInput: () => ({ filters: [filter] }), + }; } return creationOptions; // if can't find the field, then just return no special creation options }} diff --git a/examples/portable_dashboards_example/public/static_by_value_example.tsx b/examples/portable_dashboards_example/public/static_by_value_example.tsx index 3fbf416fbfbfa..733c340a463ec 100644 --- a/examples/portable_dashboards_example/public/static_by_value_example.tsx +++ b/examples/portable_dashboards_example/public/static_by_value_example.tsx @@ -29,11 +29,11 @@ export const StaticByValueExample = () => { { return { - initialInput: { + getInitialInput: () => ({ timeRange: { from: 'now-30d', to: 'now' }, viewMode: ViewMode.VIEW, panels: panelsJson as DashboardPanelMap, - }, + }), }; }} /> diff --git a/examples/response_stream/public/containers/app/pages/page_reducer_stream/index.tsx b/examples/response_stream/public/containers/app/pages/page_reducer_stream/index.tsx index 913f8b4064440..713e2307938f7 100644 --- a/examples/response_stream/public/containers/app/pages/page_reducer_stream/index.tsx +++ b/examples/response_stream/public/containers/app/pages/page_reducer_stream/index.tsx @@ -51,6 +51,7 @@ export const PageReducerStream: FC = () => { typeof basePath >( `${basePath}/internal/response_stream/reducer_stream`, + '1', { compressResponse, simulateErrors }, { reducer: reducerStreamReducer, initialState } ); diff --git a/examples/response_stream/public/containers/app/pages/page_simple_string_stream/index.tsx b/examples/response_stream/public/containers/app/pages/page_simple_string_stream/index.tsx index 35b1cf07ed63b..149174b04e3ea 100644 --- a/examples/response_stream/public/containers/app/pages/page_simple_string_stream/index.tsx +++ b/examples/response_stream/public/containers/app/pages/page_simple_string_stream/index.tsx @@ -34,7 +34,7 @@ export const PageSimpleStringStream: FC = () => { const { dispatch, errors, start, cancel, data, isRunning } = useFetchStream< ApiSimpleStringStream, typeof basePath - >(`${basePath}/internal/response_stream/simple_string_stream`, { + >(`${basePath}/internal/response_stream/simple_string_stream`, '1', { compressResponse, timeout: 500, }); diff --git a/examples/response_stream/server/routes/reducer_stream.ts b/examples/response_stream/server/routes/reducer_stream.ts index e9fe6d02b68f6..1546583c6d3bc 100644 --- a/examples/response_stream/server/routes/reducer_stream.ts +++ b/examples/response_stream/server/routes/reducer_stream.ts @@ -20,103 +20,110 @@ import { import { API_ENDPOINT } from '../../common/api'; export const defineReducerStreamRoute = (router: IRouter, logger: Logger) => { - router.post( - { + router.versioned + .post({ path: API_ENDPOINT.REDUCER_STREAM, - validate: { - body: reducerStreamRequestBodySchema, + access: 'internal', + }) + .addVersion( + { + version: '1', + validate: { + request: { + body: reducerStreamRequestBodySchema, + }, + }, }, - }, - async (context, request, response) => { - const maxTimeoutMs = request.body.timeout ?? 250; - const simulateError = request.body.simulateErrors ?? false; - - let logMessageCounter = 1; - - function logDebugMessage(msg: string) { - logger.debug(`Response Stream Example #${logMessageCounter}: ${msg}`); - logMessageCounter++; - } - - logDebugMessage('Starting stream.'); - - let shouldStop = false; - request.events.aborted$.subscribe(() => { - logDebugMessage('aborted$ subscription trigger.'); - shouldStop = true; - }); - request.events.completed$.subscribe(() => { - logDebugMessage('completed$ subscription trigger.'); - shouldStop = true; - }); - - const { end, push, responseWithHeaders } = streamFactory( - request.headers, - logger, - request.body.compressResponse - ); - - const entities = [ - 'kimchy', - 's1monw', - 'martijnvg', - 'jasontedor', - 'nik9000', - 'javanna', - 'rjernst', - 'jrodewig', - ]; - - const actions = [...Array(19).fill('add'), 'delete']; - - if (simulateError) { - actions.push('throw-error'); - actions.push('emit-error'); - } - - let progress = 0; - - async function pushStreamUpdate() { - setTimeout(() => { - try { - progress++; - - if (progress > 100 || shouldStop) { - end(); - return; + async (context, request, response) => { + const maxTimeoutMs = request.body.timeout ?? 250; + const simulateError = request.body.simulateErrors ?? false; + + let logMessageCounter = 1; + + function logDebugMessage(msg: string) { + logger.debug(`Response Stream Example #${logMessageCounter}: ${msg}`); + logMessageCounter++; + } + + logDebugMessage('Starting stream.'); + + let shouldStop = false; + request.events.aborted$.subscribe(() => { + logDebugMessage('aborted$ subscription trigger.'); + shouldStop = true; + }); + request.events.completed$.subscribe(() => { + logDebugMessage('completed$ subscription trigger.'); + shouldStop = true; + }); + + const { end, push, responseWithHeaders } = streamFactory( + request.headers, + logger, + request.body.compressResponse + ); + + const entities = [ + 'kimchy', + 's1monw', + 'martijnvg', + 'jasontedor', + 'nik9000', + 'javanna', + 'rjernst', + 'jrodewig', + ]; + + const actions = [...Array(19).fill('add'), 'delete']; + + if (simulateError) { + actions.push('throw-error'); + actions.push('emit-error'); + } + + let progress = 0; + + async function pushStreamUpdate() { + setTimeout(() => { + try { + progress++; + + if (progress > 100 || shouldStop) { + end(); + return; + } + + push(updateProgressAction(progress)); + + const randomEntity = entities[Math.floor(Math.random() * entities.length)]; + const randomAction = actions[Math.floor(Math.random() * actions.length)]; + + if (randomAction === 'add') { + const randomCommits = Math.floor(Math.random() * 100); + push(addToEntityAction(randomEntity, randomCommits)); + } else if (randomAction === 'delete') { + push(deleteEntityAction(randomEntity)); + } else if (randomAction === 'throw-error') { + // Throw an error. It should not crash Kibana! + // It should be caught and logged to the Kibana server console. + throw new Error('There was a (simulated) server side error!'); + } else if (randomAction === 'emit-error') { + // Emit an error as a stream action. + push(errorAction('(Simulated) error pushed to the stream')); + return; + } + + pushStreamUpdate(); + } catch (e) { + logger.error(e); } + }, Math.floor(Math.random() * maxTimeoutMs)); + } - push(updateProgressAction(progress)); - - const randomEntity = entities[Math.floor(Math.random() * entities.length)]; - const randomAction = actions[Math.floor(Math.random() * actions.length)]; - - if (randomAction === 'add') { - const randomCommits = Math.floor(Math.random() * 100); - push(addToEntityAction(randomEntity, randomCommits)); - } else if (randomAction === 'delete') { - push(deleteEntityAction(randomEntity)); - } else if (randomAction === 'throw-error') { - // Throw an error. It should not crash Kibana! - // It should be caught and logged to the Kibana server console. - throw new Error('There was a (simulated) server side error!'); - } else if (randomAction === 'emit-error') { - // Emit an error as a stream action. - push(errorAction('(Simulated) error pushed to the stream')); - return; - } + // do not call this using `await` so it will run asynchronously while we return the stream already. + pushStreamUpdate(); - pushStreamUpdate(); - } catch (e) { - logger.error(e); - } - }, Math.floor(Math.random() * maxTimeoutMs)); + return response.ok(responseWithHeaders); } - - // do not call this using `await` so it will run asynchronously while we return the stream already. - pushStreamUpdate(); - - return response.ok(responseWithHeaders); - } - ); + ); }; diff --git a/examples/response_stream/server/routes/single_string_stream.ts b/examples/response_stream/server/routes/single_string_stream.ts index fde4947746dbf..ee55cf3b0bc8e 100644 --- a/examples/response_stream/server/routes/single_string_stream.ts +++ b/examples/response_stream/server/routes/single_string_stream.ts @@ -17,63 +17,70 @@ function timeout(ms: number) { } export const defineSimpleStringStreamRoute = (router: IRouter, logger: Logger) => { - router.post( - { + router.versioned + .post({ path: API_ENDPOINT.SIMPLE_STRING_STREAM, - validate: { - body: simpleStringStreamRequestBodySchema, + access: 'internal', + }) + .addVersion( + { + version: '1', + validate: { + request: { + body: simpleStringStreamRequestBodySchema, + }, + }, }, - }, - async (context, request, response) => { - const maxTimeoutMs = request.body.timeout ?? 250; + async (context, request, response) => { + const maxTimeoutMs = request.body.timeout ?? 250; - let shouldStop = false; - request.events.aborted$.subscribe(() => { - shouldStop = true; - }); - request.events.completed$.subscribe(() => { - shouldStop = true; - }); + let shouldStop = false; + request.events.aborted$.subscribe(() => { + shouldStop = true; + }); + request.events.completed$.subscribe(() => { + shouldStop = true; + }); - const { end, push, responseWithHeaders } = streamFactory( - request.headers, - logger, - request.body.compressResponse - ); + const { end, push, responseWithHeaders } = streamFactory( + request.headers, + logger, + request.body.compressResponse + ); - const text = - 'Elasticsearch is a search engine based on the Lucene library. It provides a distributed, multitenant-capable full-text search engine with an HTTP web interface and schema-free JSON documents. Elasticsearch is developed in Java and is dual-licensed under the source-available Server Side Public License and the Elastic license, while other parts fall under the proprietary (source-available) Elastic License. Official clients are available in Java, .NET (C#), PHP, Python, Apache Groovy, Ruby and many other languages. According to the DB-Engines ranking, Elasticsearch is the most popular enterprise search engine.'; + const text = + 'Elasticsearch is a search engine based on the Lucene library. It provides a distributed, multitenant-capable full-text search engine with an HTTP web interface and schema-free JSON documents. Elasticsearch is developed in Java and is dual-licensed under the source-available Server Side Public License and the Elastic license, while other parts fall under the proprietary (source-available) Elastic License. Official clients are available in Java, .NET (C#), PHP, Python, Apache Groovy, Ruby and many other languages. According to the DB-Engines ranking, Elasticsearch is the most popular enterprise search engine.'; - const tokens = text.split(' '); + const tokens = text.split(' '); - async function pushStreamUpdate() { - try { - if (shouldStop) { - end(); - return; - } + async function pushStreamUpdate() { + try { + if (shouldStop) { + end(); + return; + } - const token = tokens.shift(); + const token = tokens.shift(); - if (token !== undefined) { - push(`${token} `); - await timeout(Math.floor(Math.random() * maxTimeoutMs)); + if (token !== undefined) { + push(`${token} `); + await timeout(Math.floor(Math.random() * maxTimeoutMs)); - if (!shouldStop) { - pushStreamUpdate(); + if (!shouldStop) { + pushStreamUpdate(); + } + } else { + end(); } - } else { - end(); + } catch (e) { + logger.error(`There was an error: ${e.toString()}`); } - } catch (e) { - logger.error(`There was an error: ${e.toString()}`); } - } - // do not call this using `await` so it will run asynchronously while we return the stream already. - pushStreamUpdate(); + // do not call this using `await` so it will run asynchronously while we return the stream already. + pushStreamUpdate(); - return response.ok(responseWithHeaders); - } - ); + return response.ok(responseWithHeaders); + } + ); }; diff --git a/examples/unified_field_list_examples/README.md b/examples/unified_field_list_examples/README.md new file mode 100644 index 0000000000000..923cb56ee6072 --- /dev/null +++ b/examples/unified_field_list_examples/README.md @@ -0,0 +1,9 @@ +# unified_field_list_examples + +Examples of unified field list components. + +To run this example, ensure you have data to search against (for example, the sample datasets) and start kibana with the `--run-examples` flag. + +```bash +yarn start --run-examples +``` \ No newline at end of file diff --git a/examples/unified_field_list_examples/common/index.ts b/examples/unified_field_list_examples/common/index.ts new file mode 100644 index 0000000000000..a269c58a2d7ff --- /dev/null +++ b/examples/unified_field_list_examples/common/index.ts @@ -0,0 +1,10 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export const PLUGIN_ID = 'unifiedFieldListExamples'; +export const PLUGIN_NAME = 'Unified Field List Examples'; diff --git a/examples/unified_field_list_examples/kibana.jsonc b/examples/unified_field_list_examples/kibana.jsonc new file mode 100644 index 0000000000000..5a61ed17791b5 --- /dev/null +++ b/examples/unified_field_list_examples/kibana.jsonc @@ -0,0 +1,24 @@ +{ + "type": "plugin", + "id": "@kbn/unified-field-list-examples-plugin", + "owner": "@elastic/kibana-data-discovery", + "description": "Examples for using unified field list.", + "plugin": { + "id": "unifiedFieldListExamples", + "server": false, + "browser": true, + "requiredPlugins": [ + "navigation", + "developerExamples", + "inspector", + "kibanaUtils", + "unifiedSearch", + "unifiedFieldList", + "data", + "dataViews", + "dataViewFieldEditor", + "charts", + "fieldFormats" + ] + } +} diff --git a/examples/unified_field_list_examples/public/application.tsx b/examples/unified_field_list_examples/public/application.tsx new file mode 100644 index 0000000000000..cb5428c2085f7 --- /dev/null +++ b/examples/unified_field_list_examples/public/application.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 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 ReactDOM from 'react-dom'; +import { I18nProvider } from '@kbn/i18n-react'; +import type { AppMountParameters, CoreStart } from '@kbn/core/public'; +import { AppPluginStartDependencies } from './types'; +import { UnifiedFieldListExampleApp } from './example_app'; + +export const renderApp = ( + core: CoreStart, + deps: AppPluginStartDependencies, + { element }: AppMountParameters +) => { + ReactDOM.render( + + + , + element + ); + + return () => { + ReactDOM.unmountComponentAtNode(element); + }; +}; diff --git a/examples/unified_field_list_examples/public/example_app.tsx b/examples/unified_field_list_examples/public/example_app.tsx new file mode 100644 index 0000000000000..9c73c204a02c9 --- /dev/null +++ b/examples/unified_field_list_examples/public/example_app.tsx @@ -0,0 +1,161 @@ +/* + * Copyright 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, { useCallback, useEffect, useState } from 'react'; +import { css } from '@emotion/react'; +import { + EuiFlexGroup, + EuiFlexItem, + EuiPage, + EuiPageBody, + EuiPageSidebar, + EuiTitle, + EuiEmptyPrompt, + EuiLoadingLogo, +} from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import type { DataView } from '@kbn/data-views-plugin/public'; +import { RootDragDropProvider } from '@kbn/dom-drag-drop'; +import type { DataViewField } from '@kbn/data-views-plugin/public'; +import { PLUGIN_ID, PLUGIN_NAME } from '../common'; +import { FieldListSidebar, FieldListSidebarProps } from './field_list_sidebar'; +import { ExampleDropZone } from './example_drop_zone'; + +interface UnifiedFieldListExampleAppProps { + services: FieldListSidebarProps['services']; +} + +export const UnifiedFieldListExampleApp: React.FC = ({ + services, +}) => { + const { navigation, data, unifiedSearch } = services; + const { IndexPatternSelect } = unifiedSearch.ui; + const [dataView, setDataView] = useState(); + const [selectedFieldNames, setSelectedFieldNames] = useState([]); + + const onAddFieldToWorkplace = useCallback( + (field: DataViewField) => { + setSelectedFieldNames((names) => [...names, field.name]); + }, + [setSelectedFieldNames] + ); + + const onRemoveFieldFromWorkspace = useCallback( + (field: DataViewField) => { + setSelectedFieldNames((names) => names.filter((name) => name !== field.name)); + }, + [setSelectedFieldNames] + ); + + const onDropFieldToWorkplace = useCallback( + (fieldName: string) => { + setSelectedFieldNames((names) => [...names.filter((name) => name !== fieldName), fieldName]); + }, + [setSelectedFieldNames] + ); + + // Fetch the default data view using the `data.dataViews` service, as the component is mounted. + useEffect(() => { + const setDefaultDataView = async () => { + try { + const defaultDataView = await data.dataViews.getDefault(); + setDataView(defaultDataView); + } catch (e) { + setDataView(null); + } + }; + + setDefaultDataView(); + }, [data]); + + if (typeof dataView === 'undefined') { + return ( + } + title={

    {PLUGIN_NAME}

    } + body={

    Loading...

    } + /> + ); + } + + return ( + + + + + +

    {PLUGIN_NAME}

    +
    +
    + + { + if (dataViewId) { + const newDataView = await data.dataViews.get(dataViewId); + setDataView(newDataView); + } else { + setDataView(undefined); + } + }} + isClearable={false} + data-test-subj="dataViewSelector" + /> + + {dataView ? ( + <> + + + + + + + + + + + + + + + + + + + ) : ( + Select a data view} + body={

    Make sure to have at least one data view or install sample data.

    } + /> + )} +
    +
    +
    + ); +}; diff --git a/examples/unified_field_list_examples/public/example_drop_zone.tsx b/examples/unified_field_list_examples/public/example_drop_zone.tsx new file mode 100644 index 0000000000000..e1122d82ee30b --- /dev/null +++ b/examples/unified_field_list_examples/public/example_drop_zone.tsx @@ -0,0 +1,73 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 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. + */ + +/* + * Copyright 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, { useContext, useMemo } from 'react'; +import { DragContext, DragDrop, DropOverlayWrapper, DropType } from '@kbn/dom-drag-drop'; +import { EuiEmptyPrompt, EuiPanel } from '@elastic/eui'; + +const DROP_PROPS = { + value: { + id: 'exampleDropZone', + humanData: { + label: 'Drop zone for selecting fields', + }, + }, + order: [1, 0, 0, 0], + types: ['field_add'] as DropType[], +}; + +export interface ExampleDropZoneProps { + onDropField: (fieldName: string) => void; +} + +export const ExampleDropZone: React.FC = ({ onDropField }) => { + const dragDropContext = useContext(DragContext); + const draggingFieldName = dragDropContext.dragging?.id; + + const onDroppingField = useMemo(() => { + if (!draggingFieldName) { + return undefined; + } + + return () => onDropField(draggingFieldName); + }, [onDropField, draggingFieldName]); + + const isDropAllowed = Boolean(onDroppingField); + + return ( + + + + Example drop zone} + body={ +

    + Drop {draggingFieldName || 'a field'} here to select it +

    + } + /> +
    +
    +
    + ); +}; diff --git a/examples/unified_field_list_examples/public/field_list_item.tsx b/examples/unified_field_list_examples/public/field_list_item.tsx new file mode 100644 index 0000000000000..8862db3067327 --- /dev/null +++ b/examples/unified_field_list_examples/public/field_list_item.tsx @@ -0,0 +1,225 @@ +/* + * Copyright 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. + */ + +/* + * Copyright 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, { useCallback, useEffect, useMemo, useRef, useState } from 'react'; +import type { DataViewField, DataView } from '@kbn/data-views-plugin/common'; +import { DragDrop } from '@kbn/dom-drag-drop'; +import { + AddFieldFilterHandler, + FieldItemButton, + FieldItemButtonProps, + FieldPopover, + FieldPopoverHeader, + FieldsGroupNames, + FieldStats, + hasQuerySubscriberData, + RenderFieldItemParams, + useQuerySubscriber, +} from '@kbn/unified-field-list-plugin/public'; +import { generateFilters } from '@kbn/data-plugin/public'; +import type { CoreStart } from '@kbn/core-lifecycle-browser'; +import type { AppPluginStartDependencies } from './types'; + +export interface FieldListItemProps extends RenderFieldItemParams { + dataView: DataView; + services: AppPluginStartDependencies & { + core: CoreStart; + uiSettings: CoreStart['uiSettings']; + }; + isSelected: boolean; + onAddFieldToWorkspace: FieldItemButtonProps['onAddFieldToWorkspace']; + onRemoveFieldFromWorkspace: FieldItemButtonProps['onRemoveFieldFromWorkspace']; + onRefreshFields: () => void; +} + +export function FieldListItem({ + dataView, + services, + isSelected, + field, + fieldSearchHighlight, + groupIndex, + groupName, + itemIndex, + hideDetails, + onRefreshFields, + onAddFieldToWorkspace, + onRemoveFieldFromWorkspace, +}: FieldListItemProps) { + const { dataViewFieldEditor, data } = services; + const querySubscriberResult = useQuerySubscriber({ data, listenToSearchSessionUpdates: false }); // this example app does not use search sessions + const filterManager = data?.query?.filterManager; + const [infoIsOpen, setOpen] = useState(false); + + const togglePopover = useCallback(() => { + setOpen((value) => !value); + }, [setOpen]); + + const closePopover = useCallback(() => { + setOpen(false); + }, [setOpen]); + + const closeFieldEditor = useRef<() => void | undefined>(); + const setFieldEditorRef = useCallback((ref: () => void | undefined) => { + closeFieldEditor.current = ref; + }, []); + + const value = useMemo( + () => ({ + id: field.name, + humanData: { label: field.displayName || field.name }, + }), + [field] + ); + + const order = useMemo(() => [0, groupIndex, itemIndex], [groupIndex, itemIndex]); + + const addFilterAndClose: AddFieldFilterHandler | undefined = useMemo( + () => + filterManager && dataView + ? (clickedField, values, operation) => { + closePopover(); + const newFilters = generateFilters( + filterManager, + clickedField, + values, + operation, + dataView + ); + filterManager.addFilters(newFilters); + } + : undefined, + [dataView, filterManager, closePopover] + ); + + const editFieldAndClose = useMemo( + () => + dataView + ? (fieldName?: string) => { + const ref = dataViewFieldEditor.openEditor({ + ctx: { + dataView, + }, + fieldName, + onSave: async () => { + onRefreshFields(); + }, + }); + if (setFieldEditorRef) { + setFieldEditorRef(ref); + } + closePopover(); + } + : undefined, + [dataViewFieldEditor, dataView, setFieldEditorRef, closePopover, onRefreshFields] + ); + + const removeFieldAndClose = useMemo( + () => + dataView + ? async (fieldName: string) => { + const ref = dataViewFieldEditor.openDeleteModal({ + ctx: { + dataView, + }, + fieldName, + onDelete: async () => { + onRefreshFields(); + }, + }); + if (setFieldEditorRef) { + setFieldEditorRef(ref); + } + closePopover(); + } + : undefined, + [dataView, setFieldEditorRef, closePopover, dataViewFieldEditor, onRefreshFields] + ); + + useEffect(() => { + const cleanup = () => { + if (closeFieldEditor?.current) { + closeFieldEditor?.current(); + } + }; + return () => { + // Make sure to close the editor when unmounting + cleanup(); + }; + }, []); + + return ( +
  • + + + + } + renderHeader={() => { + return ( + + ); + }} + renderContent={ + !hideDetails + ? () => ( + <> + {hasQuerySubscriberData(querySubscriberResult) && ( + + )} + + ) + : undefined + } + /> +
  • + ); +} diff --git a/examples/unified_field_list_examples/public/field_list_sidebar.tsx b/examples/unified_field_list_examples/public/field_list_sidebar.tsx new file mode 100644 index 0000000000000..539f47e744377 --- /dev/null +++ b/examples/unified_field_list_examples/public/field_list_sidebar.tsx @@ -0,0 +1,127 @@ +/* + * Copyright 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. + */ + +/* + * Copyright 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, { useCallback, useContext, useMemo } from 'react'; +import type { DataView, DataViewField } from '@kbn/data-views-plugin/public'; +import { ChildDragDropProvider, DragContext } from '@kbn/dom-drag-drop'; +import { + FieldList, + FieldListFilters, + FieldListGrouped, + FieldListGroupedProps, + FieldsGroupNames, + useExistingFieldsFetcher, + useGroupedFields, + useQuerySubscriber, +} from '@kbn/unified-field-list-plugin/public'; +import { FieldListItem, FieldListItemProps } from './field_list_item'; + +export interface FieldListSidebarProps { + dataView: DataView; + selectedFieldNames: string[]; + services: FieldListItemProps['services']; + onAddFieldToWorkplace: FieldListItemProps['onAddFieldToWorkspace']; + onRemoveFieldFromWorkspace: FieldListItemProps['onRemoveFieldFromWorkspace']; +} + +export const FieldListSidebar: React.FC = ({ + dataView, + selectedFieldNames, + services, + onAddFieldToWorkplace, + onRemoveFieldFromWorkspace, +}) => { + const dragDropContext = useContext(DragContext); + const allFields = dataView.fields; + const activeDataViews = useMemo(() => [dataView], [dataView]); + const querySubscriberResult = useQuerySubscriber({ + data: services.data, + listenToSearchSessionUpdates: false, // this example app does not use search sessions + }); + + const onSelectedFieldFilter = useCallback( + (field: DataViewField) => { + return selectedFieldNames.includes(field.name); + }, + [selectedFieldNames] + ); + + const { refetchFieldsExistenceInfo, isProcessing } = useExistingFieldsFetcher({ + dataViews: activeDataViews, // if you need field existence info for more than one data view, you can specify it here + query: querySubscriberResult.query, + filters: querySubscriberResult.filters, + fromDate: querySubscriberResult.fromDate, + toDate: querySubscriberResult.toDate, + services, + }); + + const { fieldListFiltersProps, fieldListGroupedProps } = useGroupedFields({ + dataViewId: dataView.id ?? null, + allFields, + services, + isAffectedByGlobalFilter: Boolean(querySubscriberResult.filters?.length), + onSupportedFieldFilter, + onSelectedFieldFilter, + }); + + const onRefreshFields = useCallback(() => { + refetchFieldsExistenceInfo(); + }, [refetchFieldsExistenceInfo]); + + const renderFieldItem: FieldListGroupedProps['renderFieldItem'] = useCallback( + (params) => ( + + ), + [ + dataView, + services, + onRefreshFields, + selectedFieldNames, + onAddFieldToWorkplace, + onRemoveFieldFromWorkspace, + ] + ); + + return ( + + } + > + + + + ); +}; + +function onSupportedFieldFilter(field: DataViewField): boolean { + return field.name !== '_source'; +} diff --git a/examples/unified_field_list_examples/public/index.ts b/examples/unified_field_list_examples/public/index.ts new file mode 100644 index 0000000000000..cc0d7bafd6bde --- /dev/null +++ b/examples/unified_field_list_examples/public/index.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 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 { UnifiedFieldListExamplesPlugin } from './plugin'; + +// This exports static code and TypeScript types, +// as well as, Kibana Platform `plugin()` initializer. +export function plugin() { + return new UnifiedFieldListExamplesPlugin(); +} +export type { + UnifiedFieldListExamplesPluginSetup, + UnifiedFieldListExamplesPluginStart, +} from './types'; diff --git a/examples/unified_field_list_examples/public/plugin.ts b/examples/unified_field_list_examples/public/plugin.ts new file mode 100644 index 0000000000000..91dbbaa78c124 --- /dev/null +++ b/examples/unified_field_list_examples/public/plugin.ts @@ -0,0 +1,77 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { + AppMountParameters, + AppNavLinkStatus, + CoreSetup, + CoreStart, + Plugin, +} from '@kbn/core/public'; +import { + AppPluginSetupDependencies, + AppPluginStartDependencies, + UnifiedFieldListExamplesPluginSetup, + UnifiedFieldListExamplesPluginStart, +} from './types'; +import { PLUGIN_ID, PLUGIN_NAME } from '../common'; +import image from './unified_field_list.png'; + +export class UnifiedFieldListExamplesPlugin + implements + Plugin< + UnifiedFieldListExamplesPluginSetup, + UnifiedFieldListExamplesPluginStart, + AppPluginSetupDependencies, + AppPluginStartDependencies + > +{ + public setup( + core: CoreSetup, + { developerExamples }: AppPluginSetupDependencies + ): UnifiedFieldListExamplesPluginSetup { + // Register an application into the side navigation menu + core.application.register({ + id: PLUGIN_ID, + title: PLUGIN_NAME, + navLinkStatus: AppNavLinkStatus.hidden, + mount: async (params: AppMountParameters) => { + // Load application bundle + const { renderApp } = await import('./application'); + // Get start services as specified in kibana.json + const [coreStart, depsStart] = await core.getStartServices(); + // Render the application + return renderApp(coreStart, depsStart, params); + }, + }); + + developerExamples.register({ + appId: PLUGIN_ID, + title: PLUGIN_NAME, + description: `Examples of unified field list functionality.`, + image, + links: [ + { + label: 'README', + href: 'https://github.com/elastic/kibana/tree/main/src/plugins/unified_field_list/README.md', + iconType: 'logoGithub', + target: '_blank', + size: 's', + }, + ], + }); + + return {}; + } + + public start(core: CoreStart): UnifiedFieldListExamplesPluginStart { + return {}; + } + + public stop() {} +} diff --git a/examples/unified_field_list_examples/public/types.ts b/examples/unified_field_list_examples/public/types.ts new file mode 100644 index 0000000000000..cb276d668d74f --- /dev/null +++ b/examples/unified_field_list_examples/public/types.ts @@ -0,0 +1,35 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { NavigationPublicPluginStart } from '@kbn/navigation-plugin/public'; +import type { DataPublicPluginStart } from '@kbn/data-plugin/public'; +import type { UnifiedSearchPublicPluginStart } from '@kbn/unified-search-plugin/public'; +import type { DeveloperExamplesSetup } from '@kbn/developer-examples-plugin/public'; +import type { DataViewsPublicPluginStart } from '@kbn/data-views-plugin/public'; +import type { ChartsPluginStart } from '@kbn/charts-plugin/public'; +import type { FieldFormatsStart } from '@kbn/field-formats-plugin/public'; +import type { DataViewFieldEditorStart } from '@kbn/data-view-field-editor-plugin/public'; + +// eslint-disable-next-line @typescript-eslint/no-empty-interface +export interface UnifiedFieldListExamplesPluginSetup {} +// eslint-disable-next-line @typescript-eslint/no-empty-interface +export interface UnifiedFieldListExamplesPluginStart {} + +export interface AppPluginSetupDependencies { + developerExamples: DeveloperExamplesSetup; +} + +export interface AppPluginStartDependencies { + navigation: NavigationPublicPluginStart; + data: DataPublicPluginStart; + dataViews: DataViewsPublicPluginStart; + dataViewFieldEditor: DataViewFieldEditorStart; + unifiedSearch: UnifiedSearchPublicPluginStart; + charts: ChartsPluginStart; + fieldFormats: FieldFormatsStart; +} diff --git a/examples/unified_field_list_examples/public/unified_field_list.png b/examples/unified_field_list_examples/public/unified_field_list.png new file mode 100644 index 0000000000000..71fe2c893d137 Binary files /dev/null and b/examples/unified_field_list_examples/public/unified_field_list.png differ diff --git a/examples/unified_field_list_examples/tsconfig.json b/examples/unified_field_list_examples/tsconfig.json new file mode 100644 index 0000000000000..5078675159226 --- /dev/null +++ b/examples/unified_field_list_examples/tsconfig.json @@ -0,0 +1,32 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types" + }, + "include": [ + "index.ts", + "common/**/*.ts", + "public/**/*.ts", + "public/**/*.tsx", + "../../typings/**/*", + ], + "exclude": [ + "target/**/*", + ], + "kbn_references": [ + "@kbn/core", + "@kbn/data-plugin", + "@kbn/data-views-plugin", + "@kbn/navigation-plugin", + "@kbn/developer-examples-plugin", + "@kbn/unified-search-plugin", + "@kbn/i18n-react", + "@kbn/i18n", + "@kbn/dom-drag-drop", + "@kbn/unified-field-list-plugin", + "@kbn/core-lifecycle-browser", + "@kbn/charts-plugin", + "@kbn/field-formats-plugin", + "@kbn/data-view-field-editor-plugin", + ] +} diff --git a/fleet_packages.json b/fleet_packages.json index f82b1f0606385..d66f368675c02 100644 --- a/fleet_packages.json +++ b/fleet_packages.json @@ -24,7 +24,7 @@ [ { "name": "apm", - "version": "8.9.0-preview-1683859066", + "version": "8.9.0-preview-1684289323", "forceAlignStackVersion": true, "allowSyncToPrerelease": true }, @@ -46,6 +46,12 @@ "forceAlignStackVersion": true, "allowSyncToPrerelease": true }, + { + "name": "profiler_collector", + "version": "8.9.0-preview", + "forceAlignStackVersion": true, + "allowSyncToPrerelease": true + }, { "name": "synthetics", "version": "1.0.1" diff --git a/nav-kibana-dev.docnav.json b/nav-kibana-dev.docnav.json index 237a5a1b94a9b..11f2e7124ca37 100644 --- a/nav-kibana-dev.docnav.json +++ b/nav-kibana-dev.docnav.json @@ -183,6 +183,9 @@ { "label": "Contributors Newsletters", "items": [ + { + "id": "kibMay2023ContributorNewsletter" + }, { "id": "kibMarch2023ContributorNewsletter" }, diff --git a/package.json b/package.json index cfc7f7f80e9d2..51112aba8faa7 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,8 @@ "tsdocMetadata": "./build/tsdoc-metadata.json", "build": { "number": 8467, - "sha": "6cb7fec4e154faa0a4a3fee4b33dfef91b9870d9" + "sha": "6cb7fec4e154faa0a4a3fee4b33dfef91b9870d9", + "date": "2023-05-15T23:12:09+0000" }, "homepage": "https://www.elastic.co/products/kibana", "bugs": { @@ -93,11 +94,11 @@ "@dnd-kit/utilities": "^2.0.0", "@elastic/apm-rum": "^5.12.0", "@elastic/apm-rum-react": "^1.4.2", - "@elastic/charts": "55.0.0", + "@elastic/charts": "57.0.1", "@elastic/datemath": "5.0.3", - "@elastic/elasticsearch": "npm:@elastic/elasticsearch-canary@8.6.0-canary.3", + "@elastic/elasticsearch": "npm:@elastic/elasticsearch-canary@8.8.0-canary.2", "@elastic/ems-client": "8.4.0", - "@elastic/eui": "79.0.1", + "@elastic/eui": "81.3.0", "@elastic/filesaver": "1.1.2", "@elastic/node-crypto": "1.2.1", "@elastic/numeral": "^2.5.1", @@ -107,12 +108,12 @@ "@elastic/search-ui": "^1.20.2", "@elastic/search-ui-app-search-connector": "^1.20.2", "@elastic/search-ui-engines-connector": "^1.20.2", - "@emotion/cache": "^11.10.3", - "@emotion/css": "^11.10.0", - "@emotion/react": "^11.10.4", - "@emotion/serialize": "^1.1.0", - "@emotion/server": "^11.10.0", - "@emotion/styled": "^11.10.5", + "@emotion/cache": "^11.11.0", + "@emotion/css": "^11.11.0", + "@emotion/react": "^11.11.0", + "@emotion/serialize": "^1.1.2", + "@emotion/server": "^11.11.0", + "@emotion/styled": "^11.11.0", "@grpc/grpc-js": "^1.6.7", "@hapi/accept": "^5.0.2", "@hapi/boom": "^9.1.4", @@ -360,6 +361,7 @@ "@kbn/ecs": "link:packages/kbn-ecs", "@kbn/ecs-data-quality-dashboard": "link:x-pack/packages/security-solution/ecs_data_quality_dashboard", "@kbn/ecs-data-quality-dashboard-plugin": "link:x-pack/plugins/ecs_data_quality_dashboard", + "@kbn/elastic-assistant": "link:x-pack/packages/kbn-elastic-assistant", "@kbn/elasticsearch-client-plugin": "link:test/plugin_functional/plugins/elasticsearch_client_plugin", "@kbn/elasticsearch-client-xpack-plugin": "link:x-pack/test/plugin_api_integration/plugins/elasticsearch_client", "@kbn/embeddable-enhanced-plugin": "link:x-pack/plugins/embeddable_enhanced", @@ -374,6 +376,7 @@ "@kbn/es-types": "link:packages/kbn-es-types", "@kbn/es-ui-shared-plugin": "link:src/plugins/es_ui_shared", "@kbn/eso-plugin": "link:x-pack/test/encrypted_saved_objects_api_integration/plugins/api_consumer_plugin", + "@kbn/ess-security": "link:x-pack/plugins/ess_security", "@kbn/event-annotation-plugin": "link:src/plugins/event_annotation", "@kbn/event-log-fixture-plugin": "link:x-pack/test/plugin_api_integration/plugins/event_log", "@kbn/event-log-plugin": "link:x-pack/plugins/event_log", @@ -473,12 +476,17 @@ "@kbn/maps-custom-raster-source-plugin": "link:x-pack/examples/third_party_maps_source_example", "@kbn/maps-ems-plugin": "link:src/plugins/maps_ems", "@kbn/maps-plugin": "link:x-pack/plugins/maps", + "@kbn/maps-vector-tile-utils": "link:x-pack/packages/maps/vector_tile_utils", "@kbn/ml-agg-utils": "link:x-pack/packages/ml/agg_utils", "@kbn/ml-anomaly-utils": "link:x-pack/packages/ml/anomaly_utils", + "@kbn/ml-data-frame-analytics-utils": "link:x-pack/packages/ml/data_frame_analytics_utils", + "@kbn/ml-data-grid": "link:x-pack/packages/ml/data_grid", "@kbn/ml-date-picker": "link:x-pack/packages/ml/date_picker", + "@kbn/ml-date-utils": "link:x-pack/packages/ml/date_utils", "@kbn/ml-error-utils": "link:x-pack/packages/ml/error_utils", "@kbn/ml-is-defined": "link:x-pack/packages/ml/is_defined", "@kbn/ml-is-populated-object": "link:x-pack/packages/ml/is_populated_object", + "@kbn/ml-kibana-theme": "link:x-pack/packages/ml/kibana_theme", "@kbn/ml-local-storage": "link:x-pack/packages/ml/local_storage", "@kbn/ml-nested-property": "link:x-pack/packages/ml/nested_property", "@kbn/ml-number-utils": "link:x-pack/packages/ml/number_utils", @@ -486,6 +494,7 @@ "@kbn/ml-query-utils": "link:x-pack/packages/ml/query_utils", "@kbn/ml-random-sampler-utils": "link:x-pack/packages/ml/random_sampler_utils", "@kbn/ml-route-utils": "link:x-pack/packages/ml/route_utils", + "@kbn/ml-runtime-field-utils": "link:x-pack/packages/ml/runtime_field_utils", "@kbn/ml-string-hash": "link:x-pack/packages/ml/string_hash", "@kbn/ml-trained-models-utils": "link:x-pack/packages/ml/trained_models_utils", "@kbn/ml-url-state": "link:x-pack/packages/ml/url_state", @@ -520,6 +529,7 @@ "@kbn/repo-packages": "link:packages/kbn-repo-packages", "@kbn/reporting-common": "link:packages/kbn-reporting/common", "@kbn/reporting-example-plugin": "link:x-pack/examples/reporting_example", + "@kbn/reporting-export-types-plugin": "link:x-pack/plugins/reporting_export_types", "@kbn/reporting-plugin": "link:x-pack/plugins/reporting", "@kbn/resolver-test-plugin": "link:x-pack/test/plugin_functional/plugins/resolver_test", "@kbn/response-stream-plugin": "link:examples/response_stream", @@ -660,6 +670,8 @@ "@kbn/telemetry-test-plugin": "link:test/plugin_functional/plugins/telemetry", "@kbn/test-feature-usage-plugin": "link:x-pack/test/licensing_plugin/plugins/test_feature_usage", "@kbn/testing-embedded-lens-plugin": "link:x-pack/examples/testing_embedded_lens", + "@kbn/text-based-editor": "link:packages/kbn-text-based-editor", + "@kbn/text-based-languages": "link:src/plugins/text_based_languages", "@kbn/third-party-lens-navigation-prompt-plugin": "link:x-pack/examples/third_party_lens_navigation_prompt", "@kbn/third-party-vis-lens-example-plugin": "link:x-pack/examples/third_party_vis_lens_example", "@kbn/threat-intelligence-plugin": "link:x-pack/plugins/threat_intelligence", @@ -682,6 +694,7 @@ "@kbn/ui-shared-deps-npm": "link:packages/kbn-ui-shared-deps-npm", "@kbn/ui-shared-deps-src": "link:packages/kbn-ui-shared-deps-src", "@kbn/ui-theme": "link:packages/kbn-ui-theme", + "@kbn/unified-field-list-examples-plugin": "link:examples/unified_field_list_examples", "@kbn/unified-field-list-plugin": "link:src/plugins/unified_field_list", "@kbn/unified-histogram-plugin": "link:src/plugins/unified_histogram", "@kbn/unified-search-plugin": "link:src/plugins/unified_search", @@ -788,7 +801,7 @@ "deepmerge": "^4.2.2", "del": "^6.1.0", "elastic-apm-http-client": "^11.0.1", - "elastic-apm-node": "^3.45.0", + "elastic-apm-node": "^3.46.0", "email-addresses": "^5.0.0", "execa": "^4.0.2", "expiry-js": "0.1.7", @@ -912,7 +925,7 @@ "react-syntax-highlighter": "^15.3.1", "react-tiny-virtual-list": "^2.2.0", "react-use": "^15.3.8", - "react-virtualized": "^9.22.3", + "react-virtualized": "^9.22.5", "react-visibility-sensor": "^5.1.1", "recompose": "^0.30.0", "reduce-reducers": "^1.0.4", @@ -964,7 +977,7 @@ "vega-tooltip": "^0.28.0", "vinyl": "^2.2.0", "whatwg-fetch": "^3.0.0", - "xml2js": "^0.4.22", + "xml2js": "^0.5.0", "xstate": "^4.37.2", "xterm": "^5.1.0", "yauzl": "^2.10.0", @@ -995,13 +1008,14 @@ "@bazel/ibazel": "^0.16.2", "@bazel/typescript": "4.6.2", "@cypress/code-coverage": "^3.10.0", + "@cypress/grep": "^3.1.5", "@cypress/snapshot": "^2.1.7", "@cypress/webpack-preprocessor": "^5.12.2", "@elastic/eslint-plugin-eui": "0.0.2", "@elastic/makelogs": "^6.1.1", "@elastic/synthetics": "^1.0.0-beta.39", - "@emotion/babel-preset-css-prop": "^11.10.0", - "@emotion/jest": "^11.10.0", + "@emotion/babel-preset-css-prop": "^11.11.0", + "@emotion/jest": "^11.11.0", "@istanbuljs/nyc-config-typescript": "^1.0.2", "@istanbuljs/schema": "^0.1.2", "@jest/console": "^29.3.1", @@ -1283,7 +1297,7 @@ "@types/react-router-dom": "^5.1.5", "@types/react-syntax-highlighter": "^15.4.0", "@types/react-test-renderer": "^17.0.2", - "@types/react-virtualized": "^9.21.21", + "@types/react-virtualized": "^9.21.22", "@types/recompose": "^0.30.10", "@types/redux-actions": "^2.6.1", "@types/redux-logger": "^3.0.8", @@ -1315,7 +1329,7 @@ "@types/webpack-merge": "^4.1.5", "@types/webpack-sources": "^0.1.4", "@types/xml-crypto": "^1.4.2", - "@types/xml2js": "^0.4.5", + "@types/xml2js": "^0.4.11", "@types/yargs": "^15.0.0", "@types/yauzl": "^2.9.1", "@types/yazl": "^2.4.2", @@ -1344,6 +1358,7 @@ "chance": "1.0.18", "chromedriver": "^113.0.0", "clean-webpack-plugin": "^3.0.0", + "cli-table3": "^0.6.1", "compression-webpack-plugin": "^4.0.0", "copy-webpack-plugin": "^6.0.2", "cpy": "^8.1.1", @@ -1351,20 +1366,19 @@ "cssnano": "^5.1.12", "cssnano-preset-default": "^5.2.12", "csstype": "^3.0.2", - "cypress": "^12.10.0", + "cypress": "^12.13.0", "cypress-axe": "^1.4.0", "cypress-file-upload": "^5.0.8", "cypress-multi-reporters": "^1.6.3", - "cypress-pipe": "^2.0.0", "cypress-react-selector": "^3.0.0", - "cypress-real-events": "^1.7.6", - "cypress-recurse": "^1.31.2", + "cypress-real-events": "^1.8.1", + "cypress-recurse": "^1.35.1", "date-fns": "^2.29.3", "debug": "^2.6.9", "delete-empty": "^2.0.0", "dependency-check": "^4.1.0", "diff": "^4.0.1", - "dpdm": "3.5.0", + "dpdm": "3.9.0", "ejs": "^3.1.8", "enzyme": "^3.11.0", "enzyme-to-json": "^3.6.2", @@ -1394,7 +1408,7 @@ "file-loader": "^4.2.0", "fnv-plus": "^1.3.1", "form-data": "^4.0.0", - "geckodriver": "^3.2.0", + "geckodriver": "^4.0.0", "gulp-brotli": "^3.0.0", "gulp-postcss": "^9.0.1", "gulp-sourcemaps": "2.6.5", @@ -1434,8 +1448,8 @@ "minimist": "^1.2.6", "mocha": "^10.1.0", "mocha-junit-reporter": "^2.0.2", - "mochawesome": "^7.0.1", - "mochawesome-merge": "^4.2.1", + "mochawesome": "^7.1.3", + "mochawesome-merge": "^4.3.0", "mock-fs": "^5.1.2", "ms-chromium-edge-driver": "^0.5.1", "multistream": "^4.1.0", @@ -1462,7 +1476,7 @@ "postcss-prefix-selector": "^1.16.0", "postcss-scss": "^4.0.4", "prettier": "^2.7.1", - "proxy": "^1.0.2", + "proxy": "^2.1.1", "q": "^1.5.1", "raw-loader": "^3.1.0", "react-test-renderer": "^17.0.2", diff --git a/packages/content-management/table_list/src/components/item_details.tsx b/packages/content-management/table_list/src/components/item_details.tsx index ccfbb5e3ea55a..b7f4186438b66 100644 --- a/packages/content-management/table_list/src/components/item_details.tsx +++ b/packages/content-management/table_list/src/components/item_details.tsx @@ -7,7 +7,7 @@ */ import React, { useCallback, useMemo } from 'react'; -import { EuiText, EuiLink, EuiTitle, EuiSpacer, EuiHighlight } from '@elastic/eui'; +import { EuiText, EuiLink, EuiSpacer, EuiHighlight } from '@elastic/eui'; import { RedirectAppLinks } from '@kbn/shared-ux-link-redirect-app'; import type { Tag } from '../types'; @@ -104,9 +104,9 @@ export function ItemDetails({ return (
    - {renderTitle()} + {renderTitle()} {Boolean(description) && ( - +

    {description!} diff --git a/packages/content-management/table_list/src/table_list_view.test.tsx b/packages/content-management/table_list/src/table_list_view.test.tsx index 0245af450fb8a..6b0b850cddcd4 100644 --- a/packages/content-management/table_list/src/table_list_view.test.tsx +++ b/packages/content-management/table_list/src/table_list_view.test.tsx @@ -450,7 +450,7 @@ describe('TableListView', () => { expect(filterOptions.map((wrapper) => wrapper.text())).toEqual([ 'Name A-Z ', 'Name Z-A ', - 'Recently updated - Checked option. ', + 'Recently updated. Checked option. ', 'Least recently updated ', ]); }); @@ -532,7 +532,7 @@ describe('TableListView', () => { expect(filterOptions.map((wrapper) => wrapper.text())).toEqual([ 'Name A-Z ', 'Name Z-A ', - 'Recently updated - Checked option. ', // checked + 'Recently updated. Checked option. ', // checked 'Least recently updated ', ]); @@ -571,7 +571,7 @@ describe('TableListView', () => { expect(filterOptions.map((wrapper) => wrapper.text())).toEqual([ 'Name A-Z ', - 'Name Z-A - Checked option. ', // now this option is checked + 'Name Z-A. Checked option. ', // now this option is checked 'Recently updated ', 'Least recently updated ', ]); diff --git a/packages/content-management/table_list/src/table_list_view.tsx b/packages/content-management/table_list/src/table_list_view.tsx index 2191a3c9b7eee..030aaad0527a9 100644 --- a/packages/content-management/table_list/src/table_list_view.tsx +++ b/packages/content-management/table_list/src/table_list_view.tsx @@ -87,7 +87,14 @@ export interface Props void; createItem?(): void; deleteItems?(items: T[]): Promise; + /** + * Edit action onClick handler. Edit action not provided when property is not provided + */ editItem?(item: T): void; + /** + * Handler to set edit action visiblity per item. + */ + showEditActionForItem?(item: T): boolean; /** * Name for the column containing the "title" value. */ @@ -251,6 +258,7 @@ function TableListViewComp({ findItems, createItem, editItem, + showEditActionForItem, deleteItems, getDetailViewLink, onClickTitle, @@ -523,6 +531,7 @@ function TableListViewComp({ ), icon: 'pencil', type: 'icon', + available: (v) => (showEditActionForItem ? showEditActionForItem(v) : true), enabled: (v) => !(v as unknown as { error: string })?.error, onClick: editItem, }); @@ -577,6 +586,7 @@ function TableListViewComp({ DateFormatterComp, contentEditor, inspectItem, + showEditActionForItem, ]); const itemsById = useMemo(() => { diff --git a/packages/core/apps/core-apps-browser-internal/src/status/components/version_header.test.tsx b/packages/core/apps/core-apps-browser-internal/src/status/components/version_header.test.tsx index bfe2d6a2c40de..8172b705a6ffe 100644 --- a/packages/core/apps/core-apps-browser-internal/src/status/components/version_header.test.tsx +++ b/packages/core/apps/core-apps-browser-internal/src/status/components/version_header.test.tsx @@ -16,6 +16,7 @@ const buildServerVersion = (parts: Partial = {}): ServerVersion = build_hash: 'build_hash', build_number: 9000, build_snapshot: false, + build_date: '2023-05-15T23:12:09.000Z', ...parts, }); diff --git a/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.test.ts b/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.test.ts index 6fe5feceb5cbe..45b466225c375 100644 --- a/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.test.ts +++ b/packages/core/apps/core-apps-browser-internal/src/status/lib/load_status.test.ts @@ -20,6 +20,7 @@ const mockedResponse: StatusResponse = { build_hash: '9007199254740991', build_number: 12, build_snapshot: false, + build_date: '2023-05-15T23:12:09.000Z', }, status: { overall: { diff --git a/packages/core/apps/core-apps-server-internal/src/bundle_routes/register_bundle_routes.test.ts b/packages/core/apps/core-apps-server-internal/src/bundle_routes/register_bundle_routes.test.ts index 0e1770eada9b1..7f444d3221a38 100644 --- a/packages/core/apps/core-apps-server-internal/src/bundle_routes/register_bundle_routes.test.ts +++ b/packages/core/apps/core-apps-server-internal/src/bundle_routes/register_bundle_routes.test.ts @@ -21,6 +21,7 @@ const createPackageInfo = (parts: Partial = {}): PackageInfo => ({ dist: true, branch: 'master', version: '8.0.0', + buildDate: new Date('2023-05-15T23:12:09.000Z'), }); const createUiPlugins = (...ids: string[]): UiPlugins => ({ diff --git a/packages/core/base/core-base-browser-mocks/src/core_context.mock.ts b/packages/core/base/core-base-browser-mocks/src/core_context.mock.ts index e871621b909ef..4de9ca33e0eef 100644 --- a/packages/core/base/core-base-browser-mocks/src/core_context.mock.ts +++ b/packages/core/base/core-base-browser-mocks/src/core_context.mock.ts @@ -25,6 +25,7 @@ function createCoreContext({ production = false }: { production?: boolean } = {} buildNum: 100, buildSha: 'buildSha', dist: false, + buildDate: new Date('2023-05-15T23:12:09.000Z'), }, }, }; diff --git a/packages/core/base/core-base-server-mocks/src/core_context.mock.ts b/packages/core/base/core-base-server-mocks/src/core_context.mock.ts index db7da70b80fd7..3dd7e6f7d97b4 100644 --- a/packages/core/base/core-base-server-mocks/src/core_context.mock.ts +++ b/packages/core/base/core-base-server-mocks/src/core_context.mock.ts @@ -6,16 +6,15 @@ * Side Public License, v 1. */ -import { REPO_ROOT } from '@kbn/repo-info'; import type { DeeplyMockedKeys } from '@kbn/utility-types-jest'; import { Env, IConfigService } from '@kbn/config'; import type { LoggerFactory } from '@kbn/logging'; import { loggerMock } from '@kbn/logging-mocks'; -import { configServiceMock, getEnvOptions } from '@kbn/config-mocks'; +import { configServiceMock, createTestEnv } from '@kbn/config-mocks'; import type { CoreContext } from '@kbn/core-base-server-internal'; function create({ - env = Env.createDefault(REPO_ROOT, getEnvOptions()), + env = createTestEnv(), logger = loggerMock.create(), configService = configServiceMock.create(), }: { diff --git a/packages/core/base/core-base-server-mocks/tsconfig.json b/packages/core/base/core-base-server-mocks/tsconfig.json index 55ec929a987a5..fa02a561576e7 100644 --- a/packages/core/base/core-base-server-mocks/tsconfig.json +++ b/packages/core/base/core-base-server-mocks/tsconfig.json @@ -17,7 +17,6 @@ "@kbn/logging", "@kbn/logging-mocks", "@kbn/core-base-server-internal", - "@kbn/repo-info", ], "exclude": [ "target/**/*", diff --git a/packages/core/capabilities/core-capabilities-browser-mocks/src/capabilities_service.mock.ts b/packages/core/capabilities/core-capabilities-browser-mocks/src/capabilities_service.mock.ts index fa1636b57dedb..0f2d12390a6ae 100644 --- a/packages/core/capabilities/core-capabilities-browser-mocks/src/capabilities_service.mock.ts +++ b/packages/core/capabilities/core-capabilities-browser-mocks/src/capabilities_service.mock.ts @@ -6,7 +6,6 @@ * Side Public License, v 1. */ -import { deepFreeze } from '@kbn/std'; import type { PublicMethodsOf } from '@kbn/utility-types'; import type { CapabilitiesStart, @@ -14,11 +13,11 @@ import type { } from '@kbn/core-capabilities-browser-internal'; const createStartContractMock = (): jest.Mocked => ({ - capabilities: deepFreeze({ + capabilities: { catalogue: {}, management: {}, navLinks: {}, - }), + }, }); const createMock = (): jest.Mocked> => ({ diff --git a/packages/core/capabilities/core-capabilities-browser-mocks/tsconfig.json b/packages/core/capabilities/core-capabilities-browser-mocks/tsconfig.json index 3ef89ddcbb465..531350d618920 100644 --- a/packages/core/capabilities/core-capabilities-browser-mocks/tsconfig.json +++ b/packages/core/capabilities/core-capabilities-browser-mocks/tsconfig.json @@ -12,7 +12,6 @@ "**/*.tsx", ], "kbn_references": [ - "@kbn/std", "@kbn/utility-types", "@kbn/core-capabilities-browser-internal" ], diff --git a/packages/core/chrome/core-chrome-browser-internal/src/chrome_service.tsx b/packages/core/chrome/core-chrome-browser-internal/src/chrome_service.tsx index 4f994ad0aaf42..22f32f7960a37 100644 --- a/packages/core/chrome/core-chrome-browser-internal/src/chrome_service.tsx +++ b/packages/core/chrome/core-chrome-browser-internal/src/chrome_service.tsx @@ -29,6 +29,7 @@ import type { ChromeUserBanner, ChromeStyle, ChromeProjectNavigation, + ChromeSetProjectBreadcrumbsParams, } from '@kbn/core-chrome-browser'; import type { CustomBrandingStart } from '@kbn/core-custom-branding-browser'; import type { SideNavComponent as ISideNavComponent } from '@kbn/core-chrome-browser'; @@ -198,6 +199,13 @@ export class ChromeService { projectNavigation.setProjectNavigation(config); }; + const setProjectBreadcrumbs = ( + breadcrumbs: ChromeBreadcrumb[] | ChromeBreadcrumb, + params?: ChromeSetProjectBreadcrumbsParams + ) => { + projectNavigation.setProjectBreadcrumbs(breadcrumbs, params); + }; + const isIE = () => { const ua = window.navigator.userAgent; const msie = ua.indexOf('MSIE '); // IE 10 or older @@ -247,9 +255,11 @@ export class ChromeService { // } const projectNavigationComponent$ = projectNavigation.getProjectSideNavComponent$(); + // const projectNavigation$ = projectNavigation.getProjectNavigation$(); const ProjectHeaderWithNavigation = () => { const CustomSideNavComponent = useObservable(projectNavigationComponent$, undefined); + // const projectNavigationConfig = useObservable(projectNavigation$, undefined); let SideNavComponent: ISideNavComponent = () => null; @@ -261,6 +271,13 @@ export class ChromeService { : ProjectSideNavigation; } + // if projectNavigation wasn't set fallback to the default breadcrumbs + // TODO: Uncommented when we support the project navigation config + // const projectBreadcrumbs$ = projectNavigationConfig + // ? projectNavigation.getProjectBreadcrumbs$() + // : breadcrumbs$; + const projectBreadcrumbs$ = breadcrumbs$; + return ( { + return { + text: , + title: 'Home', + href: homeHref, + }; +}; diff --git a/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/project_navigation_service.test.ts b/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/project_navigation_service.test.ts new file mode 100644 index 0000000000000..675a32ea6d8b7 --- /dev/null +++ b/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/project_navigation_service.test.ts @@ -0,0 +1,91 @@ +/* + * Copyright 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 { firstValueFrom } from 'rxjs'; +import { ProjectNavigationService } from './project_navigation_service'; +import { applicationServiceMock } from '@kbn/core-application-browser-mocks'; +import type { ChromeNavLinks } from '@kbn/core-chrome-browser'; + +const setup = () => { + const projectNavigationService = new ProjectNavigationService(); + const projectNavigation = projectNavigationService.start({ + application: applicationServiceMock.createInternalStartContract(), + navLinks: {} as unknown as ChromeNavLinks, + }); + + return { projectNavigation }; +}; + +describe('breadcrumbs', () => { + test('should return list of breadcrumbs home / nav / custom', async () => { + const { projectNavigation } = setup(); + + projectNavigation.setProjectBreadcrumbs([ + { text: 'custom1', href: '/custom1' }, + { text: 'custom2', href: '/custom1/custom2' }, + ]); + + // TODO: add projectNavigation.setProjectNavigation() to test the part of breadcrumbs extracted from the nav tree + + const breadcrumbs = await firstValueFrom(projectNavigation.getProjectBreadcrumbs$()); + expect(breadcrumbs).toMatchInlineSnapshot(` + Array [ + Object { + "href": "/", + "text": , + "title": "Home", + }, + Object { + "href": "/custom1", + "text": "custom1", + }, + Object { + "href": "/custom1/custom2", + "text": "custom2", + }, + ] + `); + }); + + test('should skip the default navigation from project navigation when absolute: true is used', async () => { + const { projectNavigation } = setup(); + + projectNavigation.setProjectBreadcrumbs( + [ + { text: 'custom1', href: '/custom1' }, + { text: 'custom2', href: '/custom1/custom2' }, + ], + { absolute: true } + ); + + // TODO: add projectNavigation.setProjectNavigation() to test the part of breadcrumbs extracted from the nav tree + + const breadcrumbs = await firstValueFrom(projectNavigation.getProjectBreadcrumbs$()); + expect(breadcrumbs).toMatchInlineSnapshot(` + Array [ + Object { + "href": "/", + "text": , + "title": "Home", + }, + Object { + "href": "/custom1", + "text": "custom1", + }, + Object { + "href": "/custom1/custom2", + "text": "custom2", + }, + ] + `); + }); +}); diff --git a/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/project_navigation_service.ts b/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/project_navigation_service.ts index 97b696c18f6cb..5398d09d132f3 100644 --- a/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/project_navigation_service.ts +++ b/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/project_navigation_service.ts @@ -11,8 +11,11 @@ import { ChromeNavLinks, ChromeProjectNavigation, SideNavComponent, + ChromeProjectBreadcrumb, + ChromeSetProjectBreadcrumbsParams, } from '@kbn/core-chrome-browser'; -import { BehaviorSubject } from 'rxjs'; +import { BehaviorSubject, Observable, combineLatest, map } from 'rxjs'; +import { createHomeBreadcrumb } from './home_breadcrumbs'; interface StartDeps { application: InternalApplicationStart; @@ -25,6 +28,11 @@ export class ProjectNavigationService { }>({ current: null }); private projectNavigation$ = new BehaviorSubject(undefined); + private projectBreadcrumbs$ = new BehaviorSubject<{ + breadcrumbs: ChromeProjectBreadcrumb[]; + params: ChromeSetProjectBreadcrumbsParams; + }>({ breadcrumbs: [], params: { absolute: false } }); + public start({ application, navLinks }: StartDeps) { // TODO: use application, navLink and projectNavigation$ to: // 1. validate projectNavigation$ against navLinks, @@ -44,6 +52,33 @@ export class ProjectNavigationService { getProjectSideNavComponent$: () => { return this.customProjectSideNavComponent$.asObservable(); }, + setProjectBreadcrumbs: ( + breadcrumbs: ChromeProjectBreadcrumb | ChromeProjectBreadcrumb[], + params?: Partial + ) => { + this.projectBreadcrumbs$.next({ + breadcrumbs: Array.isArray(breadcrumbs) ? breadcrumbs : [breadcrumbs], + params: { absolute: false, ...params }, + }); + }, + getProjectBreadcrumbs$: (): Observable => { + return combineLatest([this.projectBreadcrumbs$, this.projectNavigation$]).pipe( + map(([breadcrumbs, projectNavigation]) => { + /* TODO: point home breadcrumb to the correct place */ + const homeBreadcrumb = createHomeBreadcrumb({ homeHref: '/' }); + + if (breadcrumbs.params.absolute) { + return [homeBreadcrumb, ...breadcrumbs.breadcrumbs]; + } else { + return [ + homeBreadcrumb, + /* TODO: insert nav breadcrumbs based on projectNavigation and application path */ + ...breadcrumbs.breadcrumbs, + ]; + } + }) + ); + }, }; } } diff --git a/packages/core/chrome/core-chrome-browser-internal/src/types.ts b/packages/core/chrome/core-chrome-browser-internal/src/types.ts index 070506b1526a4..98f5ab672df94 100644 --- a/packages/core/chrome/core-chrome-browser-internal/src/types.ts +++ b/packages/core/chrome/core-chrome-browser-internal/src/types.ts @@ -10,6 +10,8 @@ import type { ChromeProjectNavigation, ChromeStart, SideNavComponent, + ChromeProjectBreadcrumb, + ChromeSetProjectBreadcrumbsParams, } from '@kbn/core-chrome-browser'; import type { Observable } from 'rxjs'; @@ -50,5 +52,18 @@ export interface InternalChromeStart extends ChromeStart { * @remarks Has no effect if the chrome style is not `project`. */ setSideNavComponent(component: SideNavComponent | null): void; + + /** + * Set project breadcrumbs + * + * @param breadcrumbs + * @param params.absolute If true, If true, the breadcrumbs will replace the defaults, otherwise they will be appended to the default ones. false by default. + * + * @remarks Has no effect if the chrome style is not `project` or if setNavigation was not called + */ + setBreadcrumbs( + breadcrumbs: ChromeProjectBreadcrumb[] | ChromeProjectBreadcrumb, + params?: Partial + ): void; }; } diff --git a/packages/core/chrome/core-chrome-browser-internal/src/ui/header/header.tsx b/packages/core/chrome/core-chrome-browser-internal/src/ui/header/header.tsx index 5449ee34bb662..f1867cbea256d 100644 --- a/packages/core/chrome/core-chrome-browser-internal/src/ui/header/header.tsx +++ b/packages/core/chrome/core-chrome-browser-internal/src/ui/header/header.tsx @@ -42,7 +42,7 @@ import { HeaderBreadcrumbs } from './header_breadcrumbs'; import { HeaderHelpMenu } from './header_help_menu'; import { HeaderLogo } from './header_logo'; import { HeaderNavControls } from './header_nav_controls'; -import { HeaderActionMenu } from './header_action_menu'; +import { HeaderActionMenu, useHeaderActionMenuMounter } from './header_action_menu'; import { HeaderExtension } from './header_extension'; import { HeaderTopBanner } from './header_top_banner'; import { HeaderMenuButton } from './header_menu_button'; @@ -92,6 +92,7 @@ export function Header({ const [isNavOpen, setIsNavOpen] = useState(false); const [navId] = useState(htmlIdGenerator()()); const breadcrumbsAppendExtension = useObservable(breadcrumbsAppendExtension$); + const headerActionMenuMounter = useHeaderActionMenuMounter(application.currentActionMenu$); if (!isVisible) { return ( @@ -235,7 +236,7 @@ export function Header({ - + diff --git a/packages/core/chrome/core-chrome-browser-internal/src/ui/header/header_action_menu.test.tsx b/packages/core/chrome/core-chrome-browser-internal/src/ui/header/header_action_menu.test.tsx index a582091145cac..9a7b4fa5a8b14 100644 --- a/packages/core/chrome/core-chrome-browser-internal/src/ui/header/header_action_menu.test.tsx +++ b/packages/core/chrome/core-chrome-browser-internal/src/ui/header/header_action_menu.test.tsx @@ -11,7 +11,7 @@ import { mount, ReactWrapper } from 'enzyme'; import { BehaviorSubject } from 'rxjs'; import { act } from 'react-dom/test-utils'; import type { MountPoint, UnmountCallback } from '@kbn/core-mount-utils-browser'; -import { HeaderActionMenu } from './header_action_menu'; +import { HeaderActionMenu, useHeaderActionMenuMounter } from './header_action_menu'; type MockedUnmount = jest.MockedFunction; @@ -26,7 +26,7 @@ describe('HeaderActionMenu', () => { }); const refresh = () => { - new Promise(async (resolve, reject) => { + new Promise((resolve, reject) => { try { if (component) { act(() => { @@ -53,26 +53,35 @@ describe('HeaderActionMenu', () => { return unmount; }; - it('mounts the current value of the provided observable', async () => { - component = mount(); + it('mounts the current value of the provided observable', () => { + const TestComponent = () => { + const mounter = useHeaderActionMenuMounter(menuMount$); + return ; + }; + component = mount(); act(() => { menuMount$.next(createMountPoint('FOO')); }); - await refresh(); + refresh(); expect(component.html()).toMatchInlineSnapshot( `"

    FOO
    "` ); }); - it('clears the content of the component when emitting undefined', async () => { - component = mount(); + it('clears the content of the component when emitting undefined', () => { + const TestComponent = () => { + const mounter = useHeaderActionMenuMounter(menuMount$); + return ; + }; + + component = mount(); act(() => { menuMount$.next(createMountPoint('FOO')); }); - await refresh(); + refresh(); expect(component.html()).toMatchInlineSnapshot( `"
    FOO
    "` @@ -81,20 +90,24 @@ describe('HeaderActionMenu', () => { act(() => { menuMount$.next(undefined); }); - await refresh(); + refresh(); expect(component.html()).toMatchInlineSnapshot( `"
    "` ); }); - it('updates the dom when a new mount point is emitted', async () => { - component = mount(); + it('updates the dom when a new mount point is emitted', () => { + const TestComponent = () => { + const mounter = useHeaderActionMenuMounter(menuMount$); + return ; + }; + component = mount(); act(() => { menuMount$.next(createMountPoint('FOO')); }); - await refresh(); + refresh(); expect(component.html()).toMatchInlineSnapshot( `"
    FOO
    "` @@ -103,20 +116,24 @@ describe('HeaderActionMenu', () => { act(() => { menuMount$.next(createMountPoint('BAR')); }); - await refresh(); + refresh(); expect(component.html()).toMatchInlineSnapshot( `"
    BAR
    "` ); }); - it('calls the previous mount point `unmount` when mounting a new mount point', async () => { - component = mount(); + it('calls the previous mount point `unmount` when mounting a new mount point', () => { + const TestComponent = () => { + const mounter = useHeaderActionMenuMounter(menuMount$); + return ; + }; + component = mount(); act(() => { menuMount$.next(createMountPoint('FOO')); }); - await refresh(); + refresh(); expect(Object.keys(unmounts)).toEqual(['FOO']); expect(unmounts.FOO).not.toHaveBeenCalled(); @@ -124,7 +141,7 @@ describe('HeaderActionMenu', () => { act(() => { menuMount$.next(createMountPoint('BAR')); }); - await refresh(); + refresh(); expect(Object.keys(unmounts)).toEqual(['FOO', 'BAR']); expect(unmounts.FOO).toHaveBeenCalledTimes(1); diff --git a/packages/core/chrome/core-chrome-browser-internal/src/ui/header/header_action_menu.tsx b/packages/core/chrome/core-chrome-browser-internal/src/ui/header/header_action_menu.tsx index aabf2cf11307f..ec2a06266a0fe 100644 --- a/packages/core/chrome/core-chrome-browser-internal/src/ui/header/header_action_menu.tsx +++ b/packages/core/chrome/core-chrome-browser-internal/src/ui/header/header_action_menu.tsx @@ -11,10 +11,12 @@ import { Observable } from 'rxjs'; import type { MountPoint, UnmountCallback } from '@kbn/core-mount-utils-browser'; interface HeaderActionMenuProps { - actionMenu$: Observable; + mounter: { mount: MountPoint | undefined }; } -export const HeaderActionMenu: FC = ({ actionMenu$ }) => { +export const useHeaderActionMenuMounter = ( + actionMenu$: Observable | undefined> +) => { // useObservable relies on useState under the hood. The signature is type SetStateAction = S | ((prevState: S) => S); // As we got a Observable here, React's setState setter assume he's getting a `(prevState: S) => S` signature, // therefore executing the mount method, causing everything to crash. @@ -29,6 +31,10 @@ export const HeaderActionMenu: FC = ({ actionMenu$ }) => return () => s.unsubscribe(); }, [actionMenu$]); + return mounter; +}; + +export const HeaderActionMenu: FC = ({ mounter }) => { const elementRef = useRef(null); const unmountRef = useRef(null); diff --git a/packages/core/chrome/core-chrome-browser-internal/src/ui/header/screen_reader_a11y.test.tsx b/packages/core/chrome/core-chrome-browser-internal/src/ui/header/screen_reader_a11y.test.tsx index b468eefd51d79..327fbbe8c46c1 100644 --- a/packages/core/chrome/core-chrome-browser-internal/src/ui/header/screen_reader_a11y.test.tsx +++ b/packages/core/chrome/core-chrome-browser-internal/src/ui/header/screen_reader_a11y.test.tsx @@ -24,7 +24,7 @@ describe('ScreenReaderRouteAnnouncements', () => { expect(component).toMatchSnapshot(); }); - it('does not set the focusOnRegionOnTextChange for canvas or discover', () => { + it('does not set the focusOnRegionOnTextChange for canvas', () => { const noFocusComponentCanvas = mount( { breadcrumbs$={new BehaviorSubject([])} /> ); - const noFocusComponentDiscover = mount( - - ); expect( noFocusComponentCanvas .debug() .includes('') ).toBeTruthy(); - - expect( - noFocusComponentDiscover - .debug() - .includes('') - ).toBeTruthy(); }); it('sets the focusOnRegionOnTextChange to true for other apps', () => { diff --git a/packages/core/chrome/core-chrome-browser-internal/src/ui/header/screen_reader_a11y.tsx b/packages/core/chrome/core-chrome-browser-internal/src/ui/header/screen_reader_a11y.tsx index f879e896297dc..1971c38977f8b 100644 --- a/packages/core/chrome/core-chrome-browser-internal/src/ui/header/screen_reader_a11y.tsx +++ b/packages/core/chrome/core-chrome-browser-internal/src/ui/header/screen_reader_a11y.tsx @@ -45,10 +45,8 @@ export const ScreenReaderRouteAnnouncements: FC<{ // 1. Canvas dynamically updates breadcrumbs *and* page title/history on every name onChange, // which leads to focus fighting if this is enabled - // 2. Discover has custom h1 focus behavior on route change, which should probably - // be removed in favor of this for a more consistent SR experience const appId = useObservable(appId$); - const disableFocusForApps = ['canvas', 'discover']; + const disableFocusForApps = ['canvas']; const focusRegionOnTextChange = !disableFocusForApps.includes(appId || ''); return ( diff --git a/packages/core/chrome/core-chrome-browser-internal/src/ui/project/header.tsx b/packages/core/chrome/core-chrome-browser-internal/src/ui/project/header.tsx index 208f3aac7100d..9b7ad144055e7 100644 --- a/packages/core/chrome/core-chrome-browser-internal/src/ui/project/header.tsx +++ b/packages/core/chrome/core-chrome-browser-internal/src/ui/project/header.tsx @@ -6,20 +6,30 @@ * Side Public License, v 1. */ -import React from 'react'; +import React, { createRef, useState } from 'react'; import { Router } from 'react-router-dom'; -import { EuiHeader, EuiHeaderLogo, EuiHeaderSection, EuiHeaderSectionItem } from '@elastic/eui'; +import { + EuiHeader, + EuiHeaderLogo, + EuiHeaderSection, + EuiHeaderSectionItem, + EuiHeaderSectionItemButton, + EuiIcon, + htmlIdGenerator, +} from '@elastic/eui'; import { ChromeBreadcrumb, ChromeGlobalHelpExtensionMenuLink, ChromeHelpExtension, ChromeNavControl, } from '@kbn/core-chrome-browser/src'; +import useLocalStorage from 'react-use/lib/useLocalStorage'; +import { i18n } from '@kbn/i18n'; import { Observable } from 'rxjs'; import { MountPoint } from '@kbn/core-mount-utils-browser'; import { InternalApplicationStart } from '@kbn/core-application-browser-internal'; import { HeaderBreadcrumbs } from '../header/header_breadcrumbs'; -import { HeaderActionMenu } from '../header/header_action_menu'; +import { HeaderActionMenu, useHeaderActionMenuMounter } from '../header/header_action_menu'; import { HeaderHelpMenu } from '../header/header_help_menu'; import { HeaderNavControls } from '../header/header_nav_controls'; import { ProjectNavigation } from './navigation'; @@ -37,6 +47,8 @@ interface Props { children: React.ReactNode; } +const LOCAL_STORAGE_IS_OPEN_KEY = 'PROJECT_NAVIGATION_OPEN' as const; + export const ProjectHeader = ({ application, kibanaDocLink, @@ -44,6 +56,10 @@ export const ProjectHeader = ({ children, ...observables }: Props) => { + const [navId] = useState(htmlIdGenerator()()); + const [isOpen, setIsOpen] = useLocalStorage(LOCAL_STORAGE_IS_OPEN_KEY, true); + const toggleCollapsibleNavRef = createRef void }>(); + const renderLogo = () => ( ); + const headerActionMenuMounter = useHeaderActionMenuMounter(observables.actionMenu$); + return ( <> - {renderLogo()} + + + { + setIsOpen(false); + if (toggleCollapsibleNavRef.current) { + toggleCollapsibleNavRef.current.focus(); + } + }} + button={ + setIsOpen(!isOpen)} + aria-expanded={isOpen!} + aria-pressed={isOpen!} + aria-controls={navId} + ref={toggleCollapsibleNavRef} + > + + + } + > + {children} + + + + {renderLogo()} @@ -73,18 +121,25 @@ export const ProjectHeader = ({ navigateToUrl={application.navigateToUrl} /> - - - - - {children} - + {headerActionMenuMounter.mount && ( + + {/* TODO: This puts a group of nav menu items on the right edge of the screen, + but it should be possible for apps customize the layout in a grid and use spacers between items. + https://github.com/elastic/kibana/issues/158034 */} + + + + + + + + )} ); }; diff --git a/packages/core/chrome/core-chrome-browser-internal/src/ui/project/navigation.tsx b/packages/core/chrome/core-chrome-browser-internal/src/ui/project/navigation.tsx index 649318a26d15e..f22a8acb067ed 100644 --- a/packages/core/chrome/core-chrome-browser-internal/src/ui/project/navigation.tsx +++ b/packages/core/chrome/core-chrome-browser-internal/src/ui/project/navigation.tsx @@ -6,67 +6,52 @@ * Side Public License, v 1. */ -import React, { useCallback } from 'react'; -import useLocalStorage from 'react-use/lib/useLocalStorage'; +import React from 'react'; import { css } from '@emotion/react'; - -import { i18n } from '@kbn/i18n'; -import { EuiButtonIcon, EuiCollapsibleNav } from '@elastic/eui'; - -const LOCAL_STORAGE_IS_OPEN_KEY = 'PROJECT_NAVIGATION_OPEN' as const; -const SIZE_OPEN = 248; -const SIZE_CLOSED = 40; - -const buttonCSS = css` - margin-left: -32px; - margin-top: 12px; - position: fixed; - z-index: 1000; -`; - -const openAriaLabel = i18n.translate('core.ui.chrome.projectNav.collapsibleNavOpenAriaLabel', { - defaultMessage: 'Close navigation', -}); - -const closedAriaLabel = i18n.translate('core.ui.chrome.projectNav.collapsibleNavClosedAriaLabel', { - defaultMessage: 'Open navigation', -}); - -export const ProjectNavigation: React.FC = ({ children }) => { - const [isOpen, setIsOpen] = useLocalStorage(LOCAL_STORAGE_IS_OPEN_KEY, true); - - const toggleOpen = useCallback(() => { - setIsOpen(!isOpen); - }, [isOpen, setIsOpen]); - +import { EuiCollapsibleNav, EuiCollapsibleNavProps, useIsWithinMinBreakpoint } from '@elastic/eui'; + +const SIZE_EXPANDED = 248; +const SIZE_COLLAPSED = 48; + +export interface ProjectNavigationProps { + isOpen: boolean; + closeNav: () => void; + button: EuiCollapsibleNavProps['button']; +} + +export const ProjectNavigation: React.FC = ({ + children, + isOpen, + closeNav, + button, +}) => { const collabsibleNavCSS = css` border-inline-end-width: 1, display: flex, flex-direction: row, `; + // on small screen isOpen hides the nav, + // on larger screen isOpen makes it smaller + const DOCKED_BREAKPOINT = 's' as const; + const isCollapsible = useIsWithinMinBreakpoint(DOCKED_BREAKPOINT); + const isVisible = isCollapsible ? true : isOpen; + const isCollapsed = isCollapsible ? !isOpen : false; + return ( - - - } + button={button} > - {isOpen && children} + {!isCollapsed && children} ); }; diff --git a/packages/core/chrome/core-chrome-browser-mocks/src/chrome_service.mock.ts b/packages/core/chrome/core-chrome-browser-mocks/src/chrome_service.mock.ts index 7025608bc969d..4c2461510c669 100644 --- a/packages/core/chrome/core-chrome-browser-mocks/src/chrome_service.mock.ts +++ b/packages/core/chrome/core-chrome-browser-mocks/src/chrome_service.mock.ts @@ -66,6 +66,7 @@ const createStartContractMock = () => { project: { setNavigation: jest.fn(), setSideNavComponent: jest.fn(), + setBreadcrumbs: jest.fn(), }, }; startContract.navLinks.getAll.mockReturnValue([]); diff --git a/packages/core/chrome/core-chrome-browser/index.ts b/packages/core/chrome/core-chrome-browser/index.ts index dbf2cc59bb280..78efd33849aec 100644 --- a/packages/core/chrome/core-chrome-browser/index.ts +++ b/packages/core/chrome/core-chrome-browser/index.ts @@ -34,4 +34,6 @@ export type { ChromeProjectNavigationNode, SideNavCompProps, SideNavComponent, + ChromeProjectBreadcrumb, + ChromeSetProjectBreadcrumbsParams, } from './src'; diff --git a/packages/core/chrome/core-chrome-browser/src/index.ts b/packages/core/chrome/core-chrome-browser/src/index.ts index 1810c0ec0bac7..a8cdd85d6b401 100644 --- a/packages/core/chrome/core-chrome-browser/src/index.ts +++ b/packages/core/chrome/core-chrome-browser/src/index.ts @@ -34,4 +34,6 @@ export type { ChromeProjectNavigationLink, SideNavCompProps, SideNavComponent, + ChromeSetProjectBreadcrumbsParams, + ChromeProjectBreadcrumb, } from './project_navigation'; diff --git a/packages/core/chrome/core-chrome-browser/src/project_navigation.ts b/packages/core/chrome/core-chrome-browser/src/project_navigation.ts index da5140d55266c..7ef86b1e34a98 100644 --- a/packages/core/chrome/core-chrome-browser/src/project_navigation.ts +++ b/packages/core/chrome/core-chrome-browser/src/project_navigation.ts @@ -7,6 +7,8 @@ */ import type { ComponentType } from 'react'; +import type { ChromeBreadcrumb } from './breadcrumb'; +import type { ChromeNavLink } from './nav_links'; /** @internal */ type AppId = string; @@ -17,21 +19,44 @@ type DeepLinkId = string; /** @internal */ export type AppDeepLinkId = `${AppId}:${DeepLinkId}`; -/** @public */ +/** + * @public + * + * App id or deeplink id + */ export type ChromeProjectNavigationLink = AppId | AppDeepLinkId; /** @public */ export interface ChromeProjectNavigationNode { - id?: string; - link?: ChromeProjectNavigationLink; - children?: ChromeProjectNavigationNode[]; - - title?: string; + /** Optional id, if not passed a "link" must be provided. */ + id: string; + /** Optional title. If not provided and a "link" is provided the title will be the Deep link title */ + title: string; + /** Path in the tree of the node */ + path: string[]; + /** App id or deeplink id */ + deepLink?: ChromeNavLink; + /** Optional icon for the navigation node. Note: not all navigation depth will render the icon */ icon?: string; + /** Optional children of the navigation node */ + children?: ChromeProjectNavigationNode[]; + /** + * Temporarilly we allow href to be passed. + * Once all the deeplinks will be exposed in packages we will not allow href anymore + * and force deeplink id to be passed + */ + href?: string; } /** @public */ export interface ChromeProjectNavigation { + /** + * The URL href for the home link + */ + homeRef: string; + /** + * The navigation tree representation of the side bar navigation. + */ navigationTree: ChromeProjectNavigationNode[]; } @@ -44,3 +69,11 @@ export interface SideNavCompProps { /** @public */ export type SideNavComponent = ComponentType; + +/** @public */ +export type ChromeProjectBreadcrumb = ChromeBreadcrumb; + +/** @public */ +export interface ChromeSetProjectBreadcrumbsParams { + absolute: boolean; +} diff --git a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/retry_call_cluster.ts b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/retry_call_cluster.ts index b3d5c69cec155..e20639cf4f405 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/retry_call_cluster.ts +++ b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/retry_call_cluster.ts @@ -48,7 +48,7 @@ export const retryCallCluster = >(apiCaller: () => T) * Retries the provided Elasticsearch API call when an error such as * `AuthenticationException` `NoConnections`, `ConnectionFault`, * `ServiceUnavailable` or `RequestTimeout` are encountered. The API call will - * be retried once a second, indefinitely, until a successful response or a + * be retried once every `delay` millis, indefinitely, until a successful response or a * different error is received. * * @example diff --git a/packages/core/http/core-http-common/src/constants.ts b/packages/core/http/core-http-common/src/constants.ts index 3227b38417523..742ef21a0db42 100644 --- a/packages/core/http/core-http-common/src/constants.ts +++ b/packages/core/http/core-http-common/src/constants.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -/** @internal */ +/** @public */ export const ELASTIC_HTTP_VERSION_HEADER = 'elastic-api-version' as const; export const X_ELASTIC_INTERNAL_ORIGIN_REQUEST = 'x-elastic-internal-origin' as const; diff --git a/packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_route.test.ts b/packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_route.test.ts index 28869506316f9..032914981ceb4 100644 --- a/packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_route.test.ts +++ b/packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_route.test.ts @@ -9,12 +9,18 @@ import { hapiMocks } from '@kbn/hapi-mocks'; import { schema } from '@kbn/config-schema'; import type { ApiVersion } from '@kbn/core-http-common'; -import type { IRouter, KibanaResponseFactory, RequestHandler } from '@kbn/core-http-server'; +import type { + IRouter, + KibanaResponseFactory, + RequestHandler, + RouteConfig, +} from '@kbn/core-http-server'; import { ELASTIC_HTTP_VERSION_HEADER } from '@kbn/core-http-common'; import { createRouter } from './mocks'; import { CoreVersionedRouter } from '.'; import { passThroughValidation } from './core_versioned_route'; import { CoreKibanaRequest } from '../request'; +import { Method } from './types'; const createRequest = ( { @@ -92,23 +98,17 @@ describe('Versioned route', () => { versionedRouter .get({ path: '/test/{id}', access: 'internal' }) .addVersion({ version: 'foo' as ApiVersion, validate: false }, handlerFn) - ).toThrowError( - `Invalid version number. Received "foo", expected any finite, whole number greater than 0.` - ); + ).toThrowError(`Invalid version number`); expect(() => versionedRouter .get({ path: '/test/{id}', access: 'internal' }) .addVersion({ version: '-1', validate: false }, handlerFn) - ).toThrowError( - `Invalid version number. Received "-1", expected any finite, whole number greater than 0.` - ); + ).toThrowError(`Invalid version number`); expect(() => versionedRouter .get({ path: '/test/{id}', access: 'internal' }) .addVersion({ version: '1.1', validate: false }, handlerFn) - ).toThrowError( - `Invalid version number. Received "1.1", expected any finite, whole number greater than 0.` - ); + ).toThrowError(`Invalid version number`); expect(() => versionedRouter .get({ path: '/test/{id}', access: 'internal' }) @@ -210,4 +210,32 @@ describe('Versioned route', () => { expect(validatedQuery).toBe(true); expect(validatedOutputBody).toBe(true); }); + it('passes through the expected values to the IRouter registrar', () => { + const versionedRouter = CoreVersionedRouter.from({ router }); + const opts: Parameters[0] = { + path: '/test/{id}', + access: 'internal', + options: { + authRequired: true, + tags: ['access:test'], + timeout: { payload: 60_000, idleSocket: 10_000 }, + xsrfRequired: false, + }, + }; + + versionedRouter.post(opts); + expect(router.post).toHaveBeenCalledTimes(1); + const { access, options } = opts; + + const expectedRouteConfig: RouteConfig = { + path: opts.path, + options: { access, ...options }, + validate: passThroughValidation, + }; + + expect(router.post).toHaveBeenCalledWith( + expect.objectContaining(expectedRouteConfig), + expect.any(Function) + ); + }); }); diff --git a/packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_route.ts b/packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_route.ts index abf18d0ef7f97..3bef80c63eb05 100644 --- a/packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_route.ts +++ b/packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_route.ts @@ -17,6 +17,7 @@ import type { VersionedRoute, VersionedRouteConfig, IKibanaResponse, + RouteConfigOptions, } from '@kbn/core-http-server'; import type { Mutable } from 'utility-types'; import type { Method } from './types'; @@ -61,6 +62,7 @@ export class CoreVersionedRoute implements VersionedRoute { } private isPublic: boolean; + private isInternal: boolean; private constructor( private readonly router: CoreVersionedRouter, public readonly method: Method, @@ -68,26 +70,31 @@ export class CoreVersionedRoute implements VersionedRoute { public readonly options: VersionedRouteConfig ) { this.isPublic = this.options.access === 'public'; + this.isInternal = !this.isPublic; this.router.router[this.method]( { path: this.path, validate: passThroughValidation, - options: this.options, + options: this.getRouteConfigOptions(), }, this.requestHandler ); } + private getRouteConfigOptions(): RouteConfigOptions { + return { + access: this.options.access, + ...this.options.options, + }; + } + /** This method assumes that one or more versions handlers are registered */ private getDefaultVersion(): ApiVersion { return resolvers[this.router.defaultHandlerResolutionStrategy]([...this.handlers.keys()]); } - private getAvailableVersionsMessage(): string { - const versions = [...this.handlers.keys()]; - return `Available versions are: ${ - versions.length ? '[' + [...versions].join(', ') + ']' : '' - }`; + private versionsToString(): string { + return this.handlers.size ? '[' + [...this.handlers.keys()].join(', ') + ']' : ''; } private requestHandler = async ( @@ -101,6 +108,13 @@ export class CoreVersionedRoute implements VersionedRoute { body: `No handlers registered for [${this.method}] [${this.path}].`, }); } + + if (!this.hasVersion(req) && (this.isInternal || this.router.isDev)) { + return res.badRequest({ + body: `Please specify a version. Available versions: ${this.versionsToString()}`, + }); + } + const version = this.getVersion(req); const invalidVersionMessage = isValidRouteVersion(this.isPublic, version); @@ -113,7 +127,7 @@ export class CoreVersionedRoute implements VersionedRoute { return res.badRequest({ body: `No version "${version}" available for [${this.method}] [${ this.path - }]. ${this.getAvailableVersionsMessage()}`, + }]. Available versions are: ${this.versionsToString()}`, }); } @@ -171,6 +185,10 @@ export class CoreVersionedRoute implements VersionedRoute { ); }; + private hasVersion(request: KibanaRequest): boolean { + return ELASTIC_HTTP_VERSION_HEADER in request.headers; + } + private getVersion(request: KibanaRequest): ApiVersion { const versions = request.headers?.[ELASTIC_HTTP_VERSION_HEADER]; return Array.isArray(versions) ? versions[0] : versions ?? this.getDefaultVersion(); diff --git a/packages/core/http/core-http-router-server-internal/src/versioned_router/is_valid_route_version.test.ts b/packages/core/http/core-http-router-server-internal/src/versioned_router/is_valid_route_version.test.ts index 8062371f9a0c4..4394acfcaa2b4 100644 --- a/packages/core/http/core-http-router-server-internal/src/versioned_router/is_valid_route_version.test.ts +++ b/packages/core/http/core-http-router-server-internal/src/versioned_router/is_valid_route_version.test.ts @@ -22,10 +22,22 @@ describe('isValidRouteVersion', () => { }); describe('internal', () => { test('allows valid numbers', () => { - expect(isValidRouteVersion(false, '1')).toBe(undefined); + expect(isValidRouteVersion(false, '1234')).toBe(undefined); }); - test.each([['1.1'], [''], ['abc']])('%p returns an error message', (value: string) => { + test.each([ + ['1.1'], + [''], + ['abc'], + ['2023-02-01'], + ['2023.02.01'], + ['2023 01 02'], + ['0'], + [' 11'], + ['11 '], + [' 11 '], + ['-1'], + ])('%p returns an error message', (value: string) => { expect(isValidRouteVersion(false, value)).toMatch(/Invalid version number/); }); }); diff --git a/packages/core/http/core-http-router-server-internal/src/versioned_router/is_valid_route_version.ts b/packages/core/http/core-http-router-server-internal/src/versioned_router/is_valid_route_version.ts index d903fd015a1e5..553ddd5fa9300 100644 --- a/packages/core/http/core-http-router-server-internal/src/versioned_router/is_valid_route_version.ts +++ b/packages/core/http/core-http-router-server-internal/src/versioned_router/is_valid_route_version.ts @@ -8,7 +8,8 @@ import moment from 'moment'; -const VERSION_REGEX = /^[0-9]{4}-[0-9]{2}-[0-9]{2}$/; +const PUBLIC_VERSION_REGEX = /^[0-9]{4}-[0-9]{2}-[0-9]{2}$/; +const INTERNAL_VERSION_REGEX = /^[0-9]+$/; /** * For public routes we must check that the version is a string that is YYYY-MM-DD. @@ -17,12 +18,11 @@ const VERSION_REGEX = /^[0-9]{4}-[0-9]{2}-[0-9]{2}$/; */ export function isValidRouteVersion(isPublicApi: boolean, version: string): undefined | string { if (isPublicApi) { - return VERSION_REGEX.test(version) && moment(version, 'YYYY-MM-DD').isValid() + return PUBLIC_VERSION_REGEX.test(version) && moment(version, 'YYYY-MM-DD').isValid() ? undefined : `Invalid version. Received "${version}", expected a valid date string formatted as YYYY-MM-DD.`; } - const float = parseFloat(version); - return isFinite(float) && !isNaN(float) && float > 0 && Math.round(float) === float + return INTERNAL_VERSION_REGEX.test(version) && version !== '0' ? undefined - : `Invalid version number. Received "${version}", expected any finite, whole number greater than 0.`; + : `Invalid version number. Received "${version}", expected a string containing _only_ a finite, whole number greater than 0.`; } diff --git a/packages/core/http/core-http-router-server-internal/src/versioned_router/validate.ts b/packages/core/http/core-http-router-server-internal/src/versioned_router/validate.ts index b1923f4f452c9..37443209e4508 100644 --- a/packages/core/http/core-http-router-server-internal/src/versioned_router/validate.ts +++ b/packages/core/http/core-http-router-server-internal/src/versioned_router/validate.ts @@ -18,8 +18,8 @@ export function validate( ): { body: unknown; params: unknown; query: unknown } { const validator = RouteValidator.from(runtimeSchema); return { - body: validator.getBody(data.body, `get ${version} body`), - params: validator.getParams(data.params, `get ${version} params`), - query: validator.getQuery(data.query, `get ${version} query`), + params: validator.getParams(data.params, 'request params'), + query: validator.getQuery(data.query, 'request query'), + body: validator.getBody(data.body, 'request body'), }; } diff --git a/packages/core/http/core-http-server-internal/src/__snapshots__/http_config.test.ts.snap b/packages/core/http/core-http-server-internal/src/__snapshots__/http_config.test.ts.snap index 87a5efcc5d279..b8d605bd75824 100644 --- a/packages/core/http/core-http-server-internal/src/__snapshots__/http_config.test.ts.snap +++ b/packages/core/http/core-http-server-internal/src/__snapshots__/http_config.test.ts.snap @@ -56,6 +56,16 @@ Object { "enabled": false, }, "customResponseHeaders": Object {}, + "eluMonitor": Object { + "enabled": true, + "logging": Object { + "enabled": false, + "threshold": Object { + "ela": 250, + "elu": 0.15, + }, + }, + }, "host": "localhost", "keepaliveTimeout": 120000, "maxPayload": ByteSizeValue { diff --git a/packages/core/http/core-http-server-internal/src/http_config.ts b/packages/core/http/core-http-server-internal/src/http_config.ts index 53417d9c533f8..be45c8a700231 100644 --- a/packages/core/http/core-http-server-internal/src/http_config.ts +++ b/packages/core/http/core-http-server-internal/src/http_config.ts @@ -16,6 +16,7 @@ import { hostname } from 'os'; import url from 'url'; import type { Duration } from 'moment'; +import { IHttpEluMonitorConfig } from '@kbn/core-http-server/src/elu_monitor'; import { CspConfigType, CspConfig } from './csp'; import { ExternalUrlConfig } from './external_url'; import { @@ -137,6 +138,21 @@ const configSchema = schema.object( { defaultValue: [] } ), }), + eluMonitor: schema.object({ + enabled: schema.boolean({ defaultValue: true }), + logging: schema.object({ + enabled: schema.conditional( + schema.contextRef('dist'), + false, + schema.boolean({ defaultValue: true }), + schema.boolean({ defaultValue: false }) + ), + threshold: schema.object({ + elu: schema.number({ defaultValue: 0.15, min: 0, max: 1 }), + ela: schema.number({ defaultValue: 250, min: 0 }), + }), + }), + }), requestId: schema.object( { allowFromAnyIp: schema.boolean({ defaultValue: false }), @@ -226,6 +242,8 @@ export class HttpConfig implements IHttpConfig { public shutdownTimeout: Duration; public restrictInternalApis: boolean; + public eluMonitor: IHttpEluMonitorConfig; + /** * @internal */ @@ -244,12 +262,12 @@ export class HttpConfig implements IHttpConfig { this.securityResponseHeaders = securityResponseHeaders; this.customResponseHeaders = Object.entries(rawHttpConfig.customResponseHeaders ?? {}).reduce( (headers, [key, value]) => { - return { - ...headers, - [key]: Array.isArray(value) ? value.map((e) => convertHeader(e)) : convertHeader(value), - }; + headers[key] = Array.isArray(value) + ? value.map((e) => convertHeader(e)) + : convertHeader(value); + return headers; }, - {} + {} as Record ); this.maxPayload = rawHttpConfig.maxPayload; this.name = rawHttpConfig.name; @@ -265,7 +283,9 @@ export class HttpConfig implements IHttpConfig { this.xsrf = rawHttpConfig.xsrf; this.requestId = rawHttpConfig.requestId; this.shutdownTimeout = rawHttpConfig.shutdownTimeout; + this.restrictInternalApis = rawHttpConfig.restrictInternalApis; + this.eluMonitor = rawHttpConfig.eluMonitor; } } diff --git a/packages/core/http/core-http-server-internal/src/http_server.ts b/packages/core/http/core-http-server-internal/src/http_server.ts index 2bdf76ee23310..747c477d1b41d 100644 --- a/packages/core/http/core-http-server-internal/src/http_server.ts +++ b/packages/core/http/core-http-server-internal/src/http_server.ts @@ -43,6 +43,10 @@ import type { HttpAuth, IAuthHeadersStorage, } from '@kbn/core-http-server'; +import { performance } from 'perf_hooks'; +import { isBoom } from '@hapi/boom'; +import { identity } from 'lodash'; +import { IHttpEluMonitorConfig } from '@kbn/core-http-server/src/elu_monitor'; import { HttpConfig } from './http_config'; import { adoptToHapiAuthFormat } from './lifecycle/auth'; import { adoptToHapiOnPreAuth } from './lifecycle/on_pre_auth'; @@ -55,6 +59,62 @@ import { AuthHeadersStorage } from './auth_headers_storage'; import { BasePath } from './base_path_service'; import { getEcsResponseLog } from './logging'; +/** + * Adds ELU timings for the executed function to the current's context transaction + * + * @param path The request path + * @param log Logger + */ +function startEluMeasurement( + path: string, + log: Logger, + eluMonitorOptions: IHttpEluMonitorConfig | undefined +): () => void { + if (!eluMonitorOptions?.enabled) { + return identity; + } + + const startUtilization = performance.eventLoopUtilization(); + const start = performance.now(); + + return function stopEluMeasurement() { + const { active, utilization } = performance.eventLoopUtilization(startUtilization); + + apm.currentTransaction?.addLabels( + { + event_loop_utilization: utilization, + event_loop_active: active, + }, + false + ); + + const duration = performance.now() - start; + + const { elu: eluThreshold, ela: elaThreshold } = eluMonitorOptions.logging.threshold; + + if ( + eluMonitorOptions.logging.enabled && + active >= eluMonitorOptions.logging.threshold.ela && + utilization >= eluMonitorOptions.logging.threshold.elu + ) { + log.warn( + `Event loop utilization for ${path} exceeded threshold of ${elaThreshold}ms (${Math.round( + active + )}ms out of ${Math.round(duration)}ms) and ${eluThreshold * 100}% (${Math.round( + utilization * 100 + )}%) `, + { + labels: { + request_path: path, + event_loop_active: active, + event_loop_utilization: utilization, + }, + } + ); + } + }; +} + /** @internal */ export interface HttpServerSetup { server: Server; @@ -350,7 +410,27 @@ export class HttpServer { config: HttpConfig, executionContext?: InternalExecutionContextSetup ) { + this.server!.ext('onPreResponse', (request, responseToolkit) => { + const stop = (request.app as KibanaRequestState).measureElu; + + if (!stop) { + return responseToolkit.continue; + } + + if (isBoom(request.response)) { + stop(); + } else { + request.response.events.once('finish', () => { + stop(); + }); + } + + return responseToolkit.continue; + }); + this.server!.ext('onRequest', (request, responseToolkit) => { + const stop = startEluMeasurement(request.path, this.log, this.config?.eluMonitor); + const requestId = getRequestId(request, config.requestId); const parentContext = executionContext?.getParentContextFrom(request.headers); @@ -366,6 +446,7 @@ export class HttpServer { ...(request.app ?? {}), requestId, requestUuid: uuidv4(), + measureElu: stop, // Kibana stores trace.id until https://github.com/elastic/apm-agent-nodejs/issues/2353 is resolved // The current implementation of the APM agent ends a request transaction before "response" log is emitted. traceId: apm.currentTraceIds['trace.id'], diff --git a/packages/core/http/core-http-server/index.ts b/packages/core/http/core-http-server/index.ts index de373db4c27de..043f18e131628 100644 --- a/packages/core/http/core-http-server/index.ts +++ b/packages/core/http/core-http-server/index.ts @@ -107,6 +107,8 @@ export type { ICspConfig } from './src/csp'; export type { IExternalUrlConfig } from './src/external_url'; +export type { IHttpEluMonitorConfig } from './src/elu_monitor'; + export type { IBasePath } from './src/base_path'; export type { diff --git a/packages/core/http/core-http-server/src/elu_monitor.ts b/packages/core/http/core-http-server/src/elu_monitor.ts new file mode 100644 index 0000000000000..6ccb140d3746e --- /dev/null +++ b/packages/core/http/core-http-server/src/elu_monitor.ts @@ -0,0 +1,36 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +/** + * HTTP request ELU monitor config + * @public + */ +export interface IHttpEluMonitorConfig { + /** + * Whether the monitoring of event loop utilization for HTTP requests is enabled. + */ + readonly enabled: boolean; + + readonly logging: { + /** + * Whether to log ELU + ELA violations. Both `.elu` and `.ela` need to be exceeded for it to be considered a violation. + */ + readonly enabled: boolean; + + readonly threshold: { + /** + * The minimum percentage of the request duration that needs to be exceeded (needs to be between 0 and 1) + */ + readonly elu: number; + /** + * The minimum number of milliseconds the event loop was active for the duration of the request. + */ + readonly ela: number; + }; + }; +} diff --git a/packages/core/http/core-http-server/src/router/request.ts b/packages/core/http/core-http-server/src/router/request.ts index e0664cb1ea29a..a92f2d496705a 100644 --- a/packages/core/http/core-http-server/src/router/request.ts +++ b/packages/core/http/core-http-server/src/router/request.ts @@ -30,6 +30,7 @@ export interface KibanaRequestState extends RequestApplicationState { requestUuid: string; rewrittenUrl?: URL; traceId?: string; + measureElu?: () => void; } /** diff --git a/packages/core/http/core-http-server/src/router/router.ts b/packages/core/http/core-http-server/src/router/router.ts index af1f8339854a4..cf1f87a9f86bb 100644 --- a/packages/core/http/core-http-server/src/router/router.ts +++ b/packages/core/http/core-http-server/src/router/router.ts @@ -43,6 +43,8 @@ export interface IRouter; @@ -50,6 +52,8 @@ export interface IRouter; @@ -57,6 +61,8 @@ export interface IRouter; @@ -64,6 +70,8 @@ export interface IRouter; @@ -71,6 +79,8 @@ export interface IRouter; diff --git a/packages/core/http/core-http-server/src/versioning/types.ts b/packages/core/http/core-http-server/src/versioning/types.ts index 16b865de04ed7..47ecaeca169e9 100644 --- a/packages/core/http/core-http-server/src/versioning/types.ts +++ b/packages/core/http/core-http-server/src/versioning/types.ts @@ -140,15 +140,30 @@ export type VersionedRouteRegistrar { - /** @experimental */ + /** + * @experimental + * @track-adoption + */ get: VersionedRouteRegistrar<'get', Ctx>; - /** @experimental */ + /** + * @experimental + * @track-adoption + */ put: VersionedRouteRegistrar<'put', Ctx>; - /** @experimental */ + /** + * @experimental + * @track-adoption + */ post: VersionedRouteRegistrar<'post', Ctx>; - /** @experimental */ + /** + * @experimental + * @track-adoption + */ patch: VersionedRouteRegistrar<'patch', Ctx>; - /** @experimental */ + /** + * @experimental + * @track-adoption + */ delete: VersionedRouteRegistrar<'delete', Ctx>; } diff --git a/packages/core/i18n/core-i18n-browser-internal/src/__snapshots__/i18n_service.test.tsx.snap b/packages/core/i18n/core-i18n-browser-internal/src/__snapshots__/i18n_service.test.tsx.snap index 50c6cdba510ba..a5e0bcc328783 100644 --- a/packages/core/i18n/core-i18n-browser-internal/src/__snapshots__/i18n_service.test.tsx.snap +++ b/packages/core/i18n/core-i18n-browser-internal/src/__snapshots__/i18n_service.test.tsx.snap @@ -154,6 +154,10 @@ exports[`#start() returns \`Context\` component 1`] = ` "euiHue.label": "Select the HSV color mode \\"hue\\" value", "euiImageButton.closeFullScreen": "Press Escape or click to close image fullscreen mode", "euiImageButton.openFullScreen": "Click to open this image in fullscreen mode", + "euiInlineEditForm.activateEditModeDescription": "Click to edit this text inline.", + "euiInlineEditForm.cancelButtonAriaLabel": "Cancel edit", + "euiInlineEditForm.inputKeyboardInstructions": "Press Enter to save your edited text. Press Escape to cancel your edit.", + "euiInlineEditForm.saveButtonAriaLabel": "Save edit", "euiKeyboardShortcuts.ctrl": "Ctrl", "euiKeyboardShortcuts.ctrlEndDescription": "Move to the last cell of the current page", "euiKeyboardShortcuts.ctrlHomeDescription": "Move to the first cell of the current page", @@ -294,13 +298,15 @@ exports[`#start() returns \`Context\` component 1`] = ` "euiSelectable.placeholderName": "Filter options", "euiSelectable.screenReaderInstructions": "Use the Up and Down arrow keys to move focus over options. Press Enter to select. Press Escape to collapse options.", "euiSelectable.searchResults": [Function], + "euiSelectableListItem.checkOptionInstructions": "To check this option, press Enter.", "euiSelectableListItem.checkedOption": "Checked option.", - "euiSelectableListItem.checkedOptionInstructions": "To uncheck this option, press enter.", + "euiSelectableListItem.excludeOptionInstructions": "To exclude this option, press Enter.", "euiSelectableListItem.excludedOption": "Excluded option.", - "euiSelectableListItem.excludedOptionInstructions": "To uncheck this option, press enter.", - "euiSelectableListItem.includedOption": "Selected option.", - "euiSelectableListItem.includedOptionInstructions": "To exclude this option, press enter.", - "euiSelectableListItem.unckeckedOptionInstructions": "To select this option, press enter.", + "euiSelectableListItem.mixedOption": "Mixed (indeterminate) option.", + "euiSelectableListItem.mixedOptionExcludeInstructions": "To exclude this option for all, press Enter twice.", + "euiSelectableListItem.mixedOptionInstructions": "To check this option for all, press Enter once.", + "euiSelectableListItem.mixedOptionUncheckInstructions": "To uncheck this option for all, press Enter twice.", + "euiSelectableListItem.uncheckOptionInstructions": "To uncheck this option, press Enter.", "euiSelectableTemplateSitewide.loadingResults": "Loading results", "euiSelectableTemplateSitewide.noResults": "No results available", "euiSelectableTemplateSitewide.onFocusBadgeGoTo": "Go to", diff --git a/packages/core/i18n/core-i18n-browser-internal/src/i18n_eui_mapping.tsx b/packages/core/i18n/core-i18n-browser-internal/src/i18n_eui_mapping.tsx index 642e444f038ce..6e786f4205499 100644 --- a/packages/core/i18n/core-i18n-browser-internal/src/i18n_eui_mapping.tsx +++ b/packages/core/i18n/core-i18n-browser-internal/src/i18n_eui_mapping.tsx @@ -812,6 +812,22 @@ export const getEuiContextMapping = (): EuiTokensObject => { 'euiImageButton.closeFullScreen': i18n.translate('core.euiImageButton.closeFullScreen', { defaultMessage: 'Press Escape or click to close image fullscreen mode', }), + 'euiInlineEditForm.activateEditModeDescription': i18n.translate( + 'core.euiInlineEditForm.activateEditModeDescription', + { defaultMessage: 'Click to edit this text inline.' } + ), + 'euiInlineEditForm.inputKeyboardInstructions': i18n.translate( + 'core.euiInlineEditForm.inputKeyboardInstructions', + { defaultMessage: 'Press Enter to save your edited text. Press Escape to cancel your edit.' } + ), + 'euiInlineEditForm.cancelButtonAriaLabel': i18n.translate( + 'core.euiInlineEditForm.cancelButtonAriaLabel', + { defaultMessage: 'Cancel edit' } + ), + 'euiInlineEditForm.saveButtonAriaLabel': i18n.translate( + 'core.euiInlineEditForm.saveButtonAriaLabel', + { defaultMessage: 'Save edit' } + ), 'euiLink.external.ariaLabel': i18n.translate('core.euiLink.external.ariaLabel', { defaultMessage: 'External link', }), @@ -1499,40 +1515,50 @@ export const getEuiContextMapping = (): EuiTokensObject => { defaultMessage: 'Checked option.', } ), - 'euiSelectableListItem.checkedOptionInstructions': i18n.translate( - 'core.euiSelectableListItem.checkedOptionInstructions', + 'euiSelectableListItem.excludedOption': i18n.translate( + 'core.euiSelectableListItem.excludedOption', { - defaultMessage: 'To uncheck this option, press enter.', + defaultMessage: 'Excluded option.', } ), - 'euiSelectableListItem.includedOption': i18n.translate( - 'core.euiSelectableListItem.includedOption', + 'euiSelectableListItem.checkOptionInstructions': i18n.translate( + 'core.euiSelectableListItem.checkOptionInstructions', { - defaultMessage: 'Selected option.', + defaultMessage: 'To check this option, press Enter.', } ), - 'euiSelectableListItem.includedOptionInstructions': i18n.translate( - 'core.euiSelectableListItem.includedOptionInstructions', + 'euiSelectableListItem.uncheckOptionInstructions': i18n.translate( + 'core.euiSelectableListItem.uncheckOptionInstructions', { - defaultMessage: 'To exclude this option, press enter.', + defaultMessage: 'To uncheck this option, press Enter.', } ), - 'euiSelectableListItem.excludedOption': i18n.translate( - 'core.euiSelectableListItem.excludedOption', + 'euiSelectableListItem.excludeOptionInstructions': i18n.translate( + 'core.euiSelectableListItem.excludeOptionInstructions', { - defaultMessage: 'Excluded option.', + defaultMessage: 'To exclude this option, press Enter.', + } + ), + 'euiSelectableListItem.mixedOption': i18n.translate('core.euiSelectableListItem.mixedOption', { + defaultMessage: 'Mixed (indeterminate) option.', + }), + + 'euiSelectableListItem.mixedOptionInstructions': i18n.translate( + 'core.euiSelectableListItem.mixedOptionInstructions', + { + defaultMessage: 'To check this option for all, press Enter once.', } ), - 'euiSelectableListItem.excludedOptionInstructions': i18n.translate( - 'core.euiSelectableListItem.excludedOptionInstructions', + 'euiSelectableListItem.mixedOptionUncheckInstructions': i18n.translate( + 'core.euiSelectableListItem.mixedOptionUncheckInstructions', { - defaultMessage: 'To uncheck this option, press enter.', + defaultMessage: 'To uncheck this option for all, press Enter twice.', } ), - 'euiSelectableListItem.unckeckedOptionInstructions': i18n.translate( - 'core.euiSelectableListItem.unckeckedOptionInstructions', + 'euiSelectableListItem.mixedOptionExcludeInstructions': i18n.translate( + 'core.euiSelectableListItem.mixedOptionExcludeInstructions', { - defaultMessage: 'To select this option, press enter.', + defaultMessage: 'To exclude this option for all, press Enter twice.', } ), 'euiSelectableTemplateSitewide.loadingResults': i18n.translate( diff --git a/packages/core/node/core-node-server-internal/src/node_service.ts b/packages/core/node/core-node-server-internal/src/node_service.ts index d84582d57e892..c8b3618aee611 100644 --- a/packages/core/node/core-node-server-internal/src/node_service.ts +++ b/packages/core/node/core-node-server-internal/src/node_service.ts @@ -70,7 +70,8 @@ export class NodeService { // We assume the combination of node roles has been validated and avoid doing additional checks here. this.roles = NODE_ALL_ROLES.reduce((acc, curr) => { - return { ...acc, [camelCase(curr)]: (roles as string[]).includes(curr) }; + acc[camelCase(curr) as keyof NodeRoles] = (roles as string[]).includes(curr); + return acc; }, {} as NodeRoles); return { diff --git a/packages/core/plugins/core-plugins-browser-internal/src/test_helpers/mocks.ts b/packages/core/plugins/core-plugins-browser-internal/src/test_helpers/mocks.ts index 7c013b17ec4cf..aea293345175f 100644 --- a/packages/core/plugins/core-plugins-browser-internal/src/test_helpers/mocks.ts +++ b/packages/core/plugins/core-plugins-browser-internal/src/test_helpers/mocks.ts @@ -24,6 +24,7 @@ export const createPluginInitializerContextMock = (config: unknown = {}) => { buildNum: 100, buildSha: 'buildSha', dist: false, + buildDate: new Date('2023-05-15T23:12:09.000Z'), }, }, logger: loggerMock.create(), diff --git a/packages/core/plugins/core-plugins-browser-mocks/src/plugins_service.mock.ts b/packages/core/plugins/core-plugins-browser-mocks/src/plugins_service.mock.ts index 75ec4e4570688..45154fa0165d5 100644 --- a/packages/core/plugins/core-plugins-browser-mocks/src/plugins_service.mock.ts +++ b/packages/core/plugins/core-plugins-browser-mocks/src/plugins_service.mock.ts @@ -42,6 +42,7 @@ const createPluginInitializerContextMock = (config: unknown = {}) => { buildNum: 100, buildSha: 'buildSha', dist: false, + buildDate: new Date('2023-05-15T23:12:09.000Z'), }, }, logger: loggerMock.create(), diff --git a/packages/core/plugins/core-plugins-server-internal/src/discovery/plugin_manifest_parser.test.ts b/packages/core/plugins/core-plugins-server-internal/src/discovery/plugin_manifest_parser.test.ts index 9d1cef302d1bd..9f2cd298adfbd 100644 --- a/packages/core/plugins/core-plugins-server-internal/src/discovery/plugin_manifest_parser.test.ts +++ b/packages/core/plugins/core-plugins-server-internal/src/discovery/plugin_manifest_parser.test.ts @@ -21,6 +21,7 @@ const packageInfo = { buildSha: '', version: '7.0.0-alpha1', dist: false, + buildDate: new Date('2023-05-15T23:12:09.000Z'), }; afterEach(() => { diff --git a/packages/core/rendering/core-rendering-browser-internal/src/app_containers.test.tsx b/packages/core/rendering/core-rendering-browser-internal/src/app_containers.test.tsx index 10f5f3f1c138f..5ab8ded943aa0 100644 --- a/packages/core/rendering/core-rendering-browser-internal/src/app_containers.test.tsx +++ b/packages/core/rendering/core-rendering-browser-internal/src/app_containers.test.tsx @@ -21,6 +21,7 @@ describe('AppWrapper', () => { expect(component.getDOMNode()).toMatchInlineSnapshot(`
    app-content
    @@ -31,6 +32,7 @@ describe('AppWrapper', () => { expect(component.getDOMNode()).toMatchInlineSnapshot(`
    app-content
    @@ -41,6 +43,7 @@ describe('AppWrapper', () => { expect(component.getDOMNode()).toMatchInlineSnapshot(`
    app-content
    diff --git a/packages/core/rendering/core-rendering-browser-internal/src/app_containers.tsx b/packages/core/rendering/core-rendering-browser-internal/src/app_containers.tsx index 73eea36592207..6e55757ee543c 100644 --- a/packages/core/rendering/core-rendering-browser-internal/src/app_containers.tsx +++ b/packages/core/rendering/core-rendering-browser-internal/src/app_containers.tsx @@ -17,7 +17,10 @@ export const AppWrapper: React.FunctionComponent<{ }> = ({ chromeVisible$, children }) => { const visible = useObservable(chromeVisible$); return ( -
    +
    {children}
    ); diff --git a/packages/core/rendering/core-rendering-browser-internal/src/rendering_service.test.tsx b/packages/core/rendering/core-rendering-browser-internal/src/rendering_service.test.tsx index 5dcde921837b1..09589ebb0a40d 100644 --- a/packages/core/rendering/core-rendering-browser-internal/src/rendering_service.test.tsx +++ b/packages/core/rendering/core-rendering-browser-internal/src/rendering_service.test.tsx @@ -61,6 +61,7 @@ describe('RenderingService#start', () => { expect(targetDomElement.querySelector('div.kbnAppWrapper')).toMatchInlineSnapshot(`
    , + "buildDate": "2023-05-15T23:12:09.000Z", "buildNum": Any, "buildSha": Any, "dist": Any, @@ -80,6 +81,7 @@ Object { }, "packageInfo": Object { "branch": Any, + "buildDate": "2023-05-15T23:12:09.000Z", "buildNum": Any, "buildSha": Any, "dist": Any, @@ -145,6 +147,7 @@ Object { }, "packageInfo": Object { "branch": Any, + "buildDate": "2023-05-15T23:12:09.000Z", "buildNum": Any, "buildSha": Any, "dist": Any, @@ -206,6 +209,7 @@ Object { }, "packageInfo": Object { "branch": Any, + "buildDate": "2023-05-15T23:12:09.000Z", "buildNum": Any, "buildSha": Any, "dist": Any, @@ -267,6 +271,7 @@ Object { }, "packageInfo": Object { "branch": Any, + "buildDate": "2023-05-15T23:12:09.000Z", "buildNum": Any, "buildSha": Any, "dist": Any, @@ -332,6 +337,7 @@ Object { }, "packageInfo": Object { "branch": Any, + "buildDate": "2023-05-15T23:12:09.000Z", "buildNum": Any, "buildSha": Any, "dist": Any, @@ -393,6 +399,7 @@ Object { }, "packageInfo": Object { "branch": Any, + "buildDate": "2023-05-15T23:12:09.000Z", "buildNum": Any, "buildSha": Any, "dist": Any, @@ -454,6 +461,7 @@ Object { }, "packageInfo": Object { "branch": Any, + "buildDate": "2023-05-15T23:12:09.000Z", "buildNum": Any, "buildSha": Any, "dist": Any, @@ -519,6 +527,7 @@ Object { }, "packageInfo": Object { "branch": Any, + "buildDate": "2023-05-15T23:12:09.000Z", "buildNum": Any, "buildSha": Any, "dist": Any, @@ -588,6 +597,7 @@ Object { }, "packageInfo": Object { "branch": Any, + "buildDate": "2023-05-15T23:12:09.000Z", "buildNum": Any, "buildSha": Any, "dist": Any, @@ -649,6 +659,7 @@ Object { }, "packageInfo": Object { "branch": Any, + "buildDate": "2023-05-15T23:12:09.000Z", "buildNum": Any, "buildSha": Any, "dist": Any, @@ -714,6 +725,7 @@ Object { }, "packageInfo": Object { "branch": Any, + "buildDate": "2023-05-15T23:12:09.000Z", "buildNum": Any, "buildSha": Any, "dist": Any, @@ -783,6 +795,7 @@ Object { }, "packageInfo": Object { "branch": Any, + "buildDate": "2023-05-15T23:12:09.000Z", "buildNum": Any, "buildSha": Any, "dist": Any, @@ -848,6 +861,7 @@ Object { }, "packageInfo": Object { "branch": Any, + "buildDate": "2023-05-15T23:12:09.000Z", "buildNum": Any, "buildSha": Any, "dist": Any, diff --git a/packages/core/rendering/core-rendering-server-internal/src/bootstrap/bootstrap_renderer.test.ts b/packages/core/rendering/core-rendering-server-internal/src/bootstrap/bootstrap_renderer.test.ts index 354d3fda659fe..d7f4bb9007910 100644 --- a/packages/core/rendering/core-rendering-server-internal/src/bootstrap/bootstrap_renderer.test.ts +++ b/packages/core/rendering/core-rendering-server-internal/src/bootstrap/bootstrap_renderer.test.ts @@ -25,6 +25,7 @@ const createPackageInfo = (parts: Partial = {}): PackageInfo => ({ branch: 'master', buildNum: 42, buildSha: 'buildSha', + buildDate: new Date('2023-05-15T23:12:09.000Z'), dist: false, version: '8.0.0', ...parts, diff --git a/packages/core/rendering/core-rendering-server-internal/src/rendering_service.test.ts b/packages/core/rendering/core-rendering-server-internal/src/rendering_service.test.ts index c5c19d112cb21..81a1cea933f19 100644 --- a/packages/core/rendering/core-rendering-server-internal/src/rendering_service.test.ts +++ b/packages/core/rendering/core-rendering-server-internal/src/rendering_service.test.ts @@ -27,6 +27,7 @@ import { InternalRenderingServicePreboot, InternalRenderingServiceSetup } from ' import { RenderingService } from './rendering_service'; import { AuthStatus } from '@kbn/core-http-server'; +const BUILD_DATE = '2023-05-15T23:12:09+0000'; const INJECTED_METADATA = { version: expect.any(String), branch: expect.any(String), @@ -43,6 +44,7 @@ const INJECTED_METADATA = { buildSha: expect.any(String), dist: expect.any(Boolean), version: expect.any(String), + buildDate: new Date(BUILD_DATE).toISOString(), }, }, }; @@ -209,7 +211,7 @@ function renderDarkModeTestCases( }); describe('Dark Mode', () => { - it('UserSettings value should override the space setting', async () => { + it('UserSettings darkMode === true should override the space setting', async () => { mockRenderingSetupDeps.userSettings.getUserSettingDarkMode.mockReturnValueOnce( Promise.resolve(true) ); @@ -235,6 +237,32 @@ function renderDarkModeTestCases( }); }); + it('UserSettings darkMode === false should override the space setting', async () => { + mockRenderingSetupDeps.userSettings.getUserSettingDarkMode.mockReturnValueOnce( + Promise.resolve(false) + ); + + getSettingValueMock.mockImplementation((settingName: string) => { + if (settingName === 'theme:darkMode') { + return true; + } + return settingName; + }); + + const settings = { 'theme:darkMode': { userValue: false } }; + uiSettings.client.getUserProvided.mockResolvedValue(settings); + + const [render] = await getRender(); + await render(createKibanaRequest(), uiSettings); + + expect(getStylesheetPathsMock).toHaveBeenCalledWith({ + darkMode: false, + themeVersion: 'v8', + basePath: '/mock-server-basepath', + buildNum: expect.any(Number), + }); + }); + it('Space setting value should be used if UsersSettings value is undefined', async () => { mockRenderingSetupDeps.userSettings.getUserSettingDarkMode.mockReturnValueOnce( Promise.resolve(undefined) @@ -258,6 +286,102 @@ function renderDarkModeTestCases( buildNum: expect.any(Number), }); }); + + it('config `theme:darkMode: true` setting should override User Settings theme `darkMode === false', async () => { + mockRenderingSetupDeps.userSettings.getUserSettingDarkMode.mockReturnValueOnce( + Promise.resolve(false) + ); + getSettingValueMock.mockImplementation((settingName: string) => { + if (settingName === 'theme:darkMode') { + return true; + } + return settingName; + }); + + const settings = { 'theme:darkMode': { userValue: true, isOverridden: true } }; + uiSettings.client.getUserProvided.mockResolvedValue(settings); + const [render] = await getRender(); + await render(createKibanaRequest(), uiSettings); + + expect(getStylesheetPathsMock).toHaveBeenCalledWith({ + darkMode: true, + themeVersion: 'v8', + basePath: '/mock-server-basepath', + buildNum: expect.any(Number), + }); + }); + + it('config `theme:darkMode: false` setting should override User Settings theme `darkMode === true', async () => { + mockRenderingSetupDeps.userSettings.getUserSettingDarkMode.mockReturnValueOnce( + Promise.resolve(true) + ); + getSettingValueMock.mockImplementation((settingName: string) => { + if (settingName === 'theme:darkMode') { + return false; + } + return settingName; + }); + + const settings = { 'theme:darkMode': { userValue: false, isOverridden: true } }; + uiSettings.client.getUserProvided.mockResolvedValue(settings); + const [render] = await getRender(); + await render(createKibanaRequest(), uiSettings); + + expect(getStylesheetPathsMock).toHaveBeenCalledWith({ + darkMode: false, + themeVersion: 'v8', + basePath: '/mock-server-basepath', + buildNum: expect.any(Number), + }); + }); + + it('config `theme:darkMode: false` setting should override User Settings theme `darkMode === undefined', async () => { + mockRenderingSetupDeps.userSettings.getUserSettingDarkMode.mockReturnValueOnce( + Promise.resolve(undefined) + ); + getSettingValueMock.mockImplementation((settingName: string) => { + if (settingName === 'theme:darkMode') { + return false; + } + return settingName; + }); + + const settings = { 'theme:darkMode': { userValue: false, isOverridden: true } }; + uiSettings.client.getUserProvided.mockResolvedValue(settings); + const [render] = await getRender(); + await render(createKibanaRequest(), uiSettings); + + expect(getStylesheetPathsMock).toHaveBeenCalledWith({ + darkMode: false, + themeVersion: 'v8', + basePath: '/mock-server-basepath', + buildNum: expect.any(Number), + }); + }); + + it('config `theme:darkMode: true` setting should override User Settings theme `darkMode === undefined', async () => { + mockRenderingSetupDeps.userSettings.getUserSettingDarkMode.mockReturnValueOnce( + Promise.resolve(undefined) + ); + getSettingValueMock.mockImplementation((settingName: string) => { + if (settingName === 'theme:darkMode') { + return true; + } + return settingName; + }); + + const settings = { 'theme:darkMode': { userValue: true, isOverridden: true } }; + uiSettings.client.getUserProvided.mockResolvedValue(settings); + const [render] = await getRender(); + await render(createKibanaRequest(), uiSettings); + + expect(getStylesheetPathsMock).toHaveBeenCalledWith({ + darkMode: true, + themeVersion: 'v8', + basePath: '/mock-server-basepath', + buildNum: expect.any(Number), + }); + }); }); }); } @@ -265,6 +389,15 @@ function renderDarkModeTestCases( describe('RenderingService', () => { let service: RenderingService; + beforeAll(() => { + jest.useFakeTimers(); + jest.setSystemTime(new Date(BUILD_DATE)); + }); + + afterAll(() => { + jest.useRealTimers(); + }); + beforeEach(() => { jest.clearAllMocks(); service = new RenderingService(mockRenderingServiceParams); diff --git a/packages/core/rendering/core-rendering-server-internal/src/rendering_service.tsx b/packages/core/rendering/core-rendering-server-internal/src/rendering_service.tsx index d2854059e8508..854202e4aebc4 100644 --- a/packages/core/rendering/core-rendering-server-internal/src/rendering_service.tsx +++ b/packages/core/rendering/core-rendering-server-internal/src/rendering_service.tsx @@ -167,7 +167,9 @@ export class RenderingService { let darkMode: boolean; - if (userSettingDarkMode) { + const isThemeOverridden = settings.user['theme:darkMode']?.isOverridden ?? false; + + if (userSettingDarkMode !== undefined && !isThemeOverridden) { darkMode = userSettingDarkMode; } else { darkMode = getSettingValue('theme:darkMode', settings, Boolean); diff --git a/packages/core/root/core-root-server-internal/src/bootstrap.test.mocks.ts b/packages/core/root/core-root-server-internal/src/bootstrap.test.mocks.ts index 07277d565f694..be54edf7f2124 100644 --- a/packages/core/root/core-root-server-internal/src/bootstrap.test.mocks.ts +++ b/packages/core/root/core-root-server-internal/src/bootstrap.test.mocks.ts @@ -21,5 +21,6 @@ jest.doMock('@kbn/config', () => ({ jest.doMock('./root', () => ({ Root: jest.fn(() => ({ shutdown: jest.fn(), + logger: { get: () => ({ info: jest.fn(), debug: jest.fn() }) }, })), })); diff --git a/packages/core/root/core-root-server-internal/src/bootstrap.ts b/packages/core/root/core-root-server-internal/src/bootstrap.ts index 3f55b6493a6bd..bb0e3ddc8c701 100644 --- a/packages/core/root/core-root-server-internal/src/bootstrap.ts +++ b/packages/core/root/core-root-server-internal/src/bootstrap.ts @@ -78,6 +78,9 @@ export async function bootstrap({ configs, cliArgs, applyConfigOverrides }: Boot } const root = new Root(rawConfigService, env, onRootShutdown); + const cliLogger = root.logger.get('cli'); + + cliLogger.debug('Kibana configurations evaluated in this order: ' + env.configs.join(', ')); process.on('SIGHUP', () => reloadConfiguration()); @@ -93,7 +96,6 @@ export async function bootstrap({ configs, cliArgs, applyConfigOverrides }: Boot }); function reloadConfiguration(reason = 'SIGHUP signal received') { - const cliLogger = root.logger.get('cli'); cliLogger.info(`Reloading Kibana configuration (reason: ${reason}).`, { tags: ['config'] }); try { diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_create.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_create.ts index c7802397739c2..52e59ca23519c 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_create.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_create.ts @@ -71,6 +71,7 @@ export const performBulkCreate = async ( encryption: encryptionHelper, preflight: preflightHelper, serializer: serializerHelper, + migration: migrationHelper, } = helpers; const { securityExtension } = extensions; const namespace = commonHelper.getCurrentNamespace(options.namespace); @@ -213,7 +214,7 @@ export const performBulkCreate = async ( const originId = Object.keys(object).includes('originId') ? object.originId : existingOriginId; - const migrated = migrator.migrateDocument({ + const migrated = migrationHelper.migrateInputDocument({ id: object.id, type: object.type, attributes: await encryptionHelper.optionallyEncryptAttributes( diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_get.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_get.ts index 745f61784416d..3a135d4b73ce8 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_get.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_get.ts @@ -46,12 +46,21 @@ type ExpectedBulkGetResult = Either< export const performBulkGet = async ( { objects, options }: PerformBulkGetParams, - { helpers, allowedTypes, client, serializer, registry, extensions = {} }: ApiExecutionContext + { + helpers, + allowedTypes, + client, + migrator, + serializer, + registry, + extensions = {}, + }: ApiExecutionContext ): Promise> => { const { common: commonHelper, validation: validationHelper, encryption: encryptionHelper, + migration: migrationHelper, } = helpers; const { securityExtension, spacesExtension } = extensions; @@ -192,9 +201,12 @@ export const performBulkGet = async ( } // @ts-expect-error MultiGetHit._source is optional - return getSavedObjectFromSource(registry, type, id, doc, { + const document = getSavedObjectFromSource(registry, type, id, doc, { migrationVersionCompatibility, }); + const migrated = migrationHelper.migrateStorageDocument(document); + + return migrated; }), }; diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_resolve.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_resolve.ts index 74ab7026eb177..a18b69ec29bf6 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_resolve.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/bulk_resolve.ts @@ -32,6 +32,7 @@ export const performBulkResolve = async ( helpers, allowedTypes, client, + migrator, serializer, extensions = {}, } = apiExecutionContext; @@ -43,6 +44,7 @@ export const performBulkResolve = async ( registry, allowedTypes, client, + migrator, serializer, getIndexForType: commonHelper.getIndexForType.bind(commonHelper), incrementCounterInternal: (type, id, counterFields, opts = {}) => diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/create.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/create.ts index b8b9b8a0d2dbb..cbde193f0f922 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/create.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/create.ts @@ -44,6 +44,7 @@ export const performCreate = async ( encryption: encryptionHelper, preflight: preflightHelper, serializer: serializerHelper, + migration: migrationHelper, } = helpers; const { securityExtension } = extensions; @@ -114,7 +115,7 @@ export const performCreate = async ( // 1. If the originId has been *explicitly set* in the options (defined or undefined), respect that. // 2. Otherwise, preserve the originId of the existing object that is being overwritten, if any. const originId = Object.keys(options).includes('originId') ? options.originId : existingOriginId; - const migrated = migrator.migrateDocument({ + const migrated = migrationHelper.migrateInputDocument({ id, type, ...(savedObjectNamespace && { namespace: savedObjectNamespace }), diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/find.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/find.ts index 697af05ce4eb4..4fa0068313b51 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/find.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/find.ts @@ -13,6 +13,7 @@ import { SavedObjectsErrorHelpers, type SavedObjectsRawDoc, CheckAuthorizationResult, + type SavedObject, SavedObjectsRawDocSource, } from '@kbn/core-saved-objects-server'; import { @@ -48,7 +49,6 @@ export const performFind = async ( allowedTypes: rawAllowedTypes, mappings, client, - serializer, migrator, extensions = {}, }: ApiExecutionContext @@ -57,6 +57,7 @@ export const performFind = async ( common: commonHelper, encryption: encryptionHelper, serializer: serializerHelper, + migration: migrationHelper, } = helpers; const { securityExtension, spacesExtension } = extensions; let namespaces!: string[]; @@ -229,22 +230,35 @@ export const performFind = async ( return SavedObjectsUtils.createEmptyFindResponse(options); } - const result = { - ...(body.aggregations ? { aggregations: body.aggregations as unknown as A } : {}), - page, - per_page: perPage, - total: body.hits.total, - saved_objects: body.hits.hits.map( - (hit: estypes.SearchHit): SavedObjectsFindResult => ({ - ...serializerHelper.rawToSavedObject(hit as SavedObjectsRawDoc, { - migrationVersionCompatibility, - }), - score: hit._score!, - sort: hit.sort, - }) - ), - pit_id: body.pit_id, - } as SavedObjectsFindResponse; + let result: SavedObjectsFindResponse; + try { + result = { + ...(body.aggregations ? { aggregations: body.aggregations as unknown as A } : {}), + page, + per_page: perPage, + total: body.hits.total, + saved_objects: body.hits.hits.map( + (hit: estypes.SearchHit): SavedObjectsFindResult => { + const savedObject = migrationHelper.migrateStorageDocument( + serializerHelper.rawToSavedObject(hit as SavedObjectsRawDoc, { + migrationVersionCompatibility, + }) + ) as SavedObject; + return { + ...savedObject, + score: hit._score!, + sort: hit.sort, + }; + } + ), + pit_id: body.pit_id, + } as typeof result; + } catch (error) { + throw SavedObjectsErrorHelpers.decorateGeneralError( + error, + 'Failed to migrate document to the latest version.' + ); + } if (disableExtensions) { return result; diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/get.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/get.ts index d2fbe46fc6c85..215036f29583c 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/get.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/get.ts @@ -24,9 +24,21 @@ export interface PerformGetParams { export const performGet = async ( { type, id, options }: PerformGetParams, - { registry, helpers, allowedTypes, client, serializer, extensions = {} }: ApiExecutionContext + { + registry, + helpers, + allowedTypes, + client, + migrator, + serializer, + extensions = {}, + }: ApiExecutionContext ): Promise> => { - const { common: commonHelper, encryption: encryptionHelper } = helpers; + const { + common: commonHelper, + encryption: encryptionHelper, + migration: migrationHelper, + } = helpers; const { securityExtension } = extensions; const namespace = commonHelper.getCurrentNamespace(options.namespace); @@ -68,12 +80,22 @@ export const performGet = async ( throw SavedObjectsErrorHelpers.createGenericNotFoundError(type, id); } - const result = getSavedObjectFromSource(registry, type, id, body, { + const document = getSavedObjectFromSource(registry, type, id, body, { migrationVersionCompatibility, }); + let migrated: SavedObject; + try { + migrated = migrationHelper.migrateStorageDocument(document) as SavedObject; + } catch (error) { + throw SavedObjectsErrorHelpers.decorateGeneralError( + error, + 'Failed to migrate document to the latest version.' + ); + } + return encryptionHelper.optionallyDecryptAndRedactSingleResult( - result, + migrated, authorizationResult?.typeMap ); }; diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/helpers/index.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/helpers/index.ts index 7c59a738ad3d7..9989b4264f28f 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/helpers/index.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/helpers/index.ts @@ -11,13 +11,16 @@ import type { IEncryptionHelper } from './encryption'; import type { IValidationHelper } from './validation'; import type { IPreflightCheckHelper } from './preflight_check'; import type { ISerializerHelper } from './serializer'; +import type { IMigrationHelper } from './migration'; -export { CommonHelper } from './common'; -export { EncryptionHelper } from './encryption'; -export { ValidationHelper } from './validation'; -export { SerializerHelper } from './serializer'; +export { CommonHelper, type ICommonHelper } from './common'; +export { EncryptionHelper, type IEncryptionHelper } from './encryption'; +export { ValidationHelper, type IValidationHelper } from './validation'; +export { SerializerHelper, type ISerializerHelper } from './serializer'; +export { MigrationHelper, type IMigrationHelper } from './migration'; export { PreflightCheckHelper, + type IPreflightCheckHelper, type PreflightCheckNamespacesParams, type PreflightCheckNamespacesResult, } from './preflight_check'; @@ -28,4 +31,5 @@ export interface RepositoryHelpers { validation: IValidationHelper; preflight: IPreflightCheckHelper; serializer: ISerializerHelper; + migration: IMigrationHelper; } diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/helpers/migration.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/helpers/migration.ts new file mode 100644 index 0000000000000..c7ae86b101984 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/helpers/migration.ts @@ -0,0 +1,42 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { PublicMethodsOf } from '@kbn/utility-types'; +import type { SavedObjectUnsanitizedDoc } from '@kbn/core-saved-objects-server'; +import type { IKibanaMigrator } from '@kbn/core-saved-objects-base-server-internal'; + +export type IMigrationHelper = PublicMethodsOf; + +/** + * Repository helper for document migrations. + */ +export class MigrationHelper { + private migrator: IKibanaMigrator; + + constructor({ migrator }: { migrator: IKibanaMigrator }) { + this.migrator = migrator; + } + + /** + * Migrate the given SO document, throwing if a downgrade is required. + * This function is meant to be used by write APIs (create, update) for documents provided as input. + * before storing it in the index. It will therefore throw if the document is in a higher / unknown version. + */ + migrateInputDocument(document: SavedObjectUnsanitizedDoc): SavedObjectUnsanitizedDoc { + return this.migrator.migrateDocument(document, { allowDowngrade: false }); + } + + /** + * Migrate the given SO document, accepting downgrades. + * This function is meant to be used by read APIs (get, find) for documents fetched from the index. + * It will therefore accept downgrading the document before returning it from the API. + */ + migrateStorageDocument(document: SavedObjectUnsanitizedDoc): SavedObjectUnsanitizedDoc { + return this.migrator.migrateDocument(document, { allowDowngrade: true }); + } +} diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/helpers/validation.test.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/helpers/validation.test.ts new file mode 100644 index 0000000000000..323aa18c8f6ef --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/helpers/validation.test.ts @@ -0,0 +1,95 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 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 { loggerMock, type MockedLogger } from '@kbn/logging-mocks'; +import { SavedObjectsType } from '@kbn/core-saved-objects-server'; +import { type SavedObjectSanitizedDoc } from '@kbn/core-saved-objects-server'; +import { ValidationHelper } from './validation'; +import { typedef, typedef1, typedef2 } from './validation_fixtures'; +import { SavedObjectTypeRegistry } from '@kbn/core-saved-objects-base-server-internal'; + +const defaultVersion = '8.10.0'; +const modelVirtualVersion = '10.1.0'; +const typeA = 'my-typeA'; +const typeB = 'my-typeB'; +const typeC = 'my-typeC'; + +describe('Saved Objects type validation helper', () => { + let helper: ValidationHelper; + let logger: MockedLogger; + let typeRegistry: SavedObjectTypeRegistry; + + const createMockObject = ( + type: string, + attr: Partial + ): SavedObjectSanitizedDoc => ({ + type, + id: 'test-id', + references: [], + attributes: {}, + ...attr, + }); + const registerType = (name: string, parts: Partial) => { + typeRegistry.registerType({ + name, + hidden: false, + namespaceType: 'single', + mappings: { properties: {} }, + ...parts, + }); + }; + beforeEach(() => { + logger = loggerMock.create(); + typeRegistry = new SavedObjectTypeRegistry(); + }); + + afterEach(() => { + jest.resetAllMocks(); + }); + + describe('validation helper', () => { + beforeEach(() => { + registerType(typeA, typedef); + registerType(typeB, typedef1); + registerType(typeC, typedef2); + }); + + it('should validate objects against stack versions', () => { + helper = new ValidationHelper({ + logger, + registry: typeRegistry, + kibanaVersion: defaultVersion, + }); + const data = createMockObject(typeA, { attributes: { foo: 'hi', count: 1 } }); + expect(() => helper.validateObjectForCreate(typeA, data)).not.toThrowError(); + }); + + it('should validate objects against model versions', () => { + helper = new ValidationHelper({ + logger, + registry: typeRegistry, + kibanaVersion: modelVirtualVersion, + }); + const data = createMockObject(typeB, { attributes: { foo: 'hi', count: 1 } }); + expect(() => helper.validateObjectForCreate(typeB, data)).not.toThrowError(); + }); + + it('should fail validation against invalid objects when version requested does not support a field', () => { + helper = new ValidationHelper({ + logger, + registry: typeRegistry, + kibanaVersion: defaultVersion, + }); + const validationError = new Error( + '[attributes.count]: definition for this key is missing: Bad Request' + ); + const data = createMockObject(typeC, { attributes: { foo: 'hi', count: 1 } }); + expect(() => helper.validateObjectForCreate(typeC, data)).toThrowError(validationError); + }); + }); +}); diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/helpers/validation.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/helpers/validation.ts index 96224953ba459..e9c8c6bcf50cd 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/helpers/validation.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/helpers/validation.ts @@ -9,7 +9,10 @@ import type { PublicMethodsOf } from '@kbn/utility-types'; import type { Logger } from '@kbn/logging'; import type { ISavedObjectTypeRegistry } from '@kbn/core-saved-objects-server'; -import { SavedObjectsTypeValidator } from '@kbn/core-saved-objects-base-server-internal'; +import { + SavedObjectsTypeValidator, + modelVersionToVirtualVersion, +} from '@kbn/core-saved-objects-base-server-internal'; import { SavedObjectsErrorHelpers, type SavedObjectSanitizedDoc, @@ -91,7 +94,7 @@ export class ValidationHelper { } const validator = this.getTypeValidator(type); try { - validator.validate(doc, this.kibanaVersion); + validator.validate(doc); } catch (error) { throw SavedObjectsErrorHelpers.createBadRequestError(error.message); } @@ -100,10 +103,30 @@ export class ValidationHelper { private getTypeValidator(type: string): SavedObjectsTypeValidator { if (!this.typeValidatorMap[type]) { const savedObjectType = this.registry.getType(type); + + const stackVersionSchemas = + typeof savedObjectType?.schemas === 'function' + ? savedObjectType.schemas() + : savedObjectType?.schemas ?? {}; + + const modelVersionCreateSchemas = + typeof savedObjectType?.modelVersions === 'function' + ? savedObjectType.modelVersions() + : savedObjectType?.modelVersions ?? {}; + + const combinedSchemas = { ...stackVersionSchemas }; + Object.entries(modelVersionCreateSchemas).reduce((map, [key, modelVersion]) => { + if (modelVersion.schemas?.create) { + const virtualVersion = modelVersionToVirtualVersion(key); + combinedSchemas[virtualVersion] = modelVersion.schemas!.create!; + } + return map; + }, {}); + this.typeValidatorMap[type] = new SavedObjectsTypeValidator({ logger: this.logger.get('type-validator'), type, - validationMap: savedObjectType!.schemas ?? {}, + validationMap: combinedSchemas, defaultVersion: this.kibanaVersion, }); } diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/helpers/validation_fixtures.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/helpers/validation_fixtures.ts new file mode 100644 index 0000000000000..539c5f13c840d --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/helpers/validation_fixtures.ts @@ -0,0 +1,123 @@ +/* + * Copyright 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 { schema } from '@kbn/config-schema'; +import { SavedObjectsType } from '@kbn/core-saved-objects-server'; + +export const typedef: Partial = { + mappings: { + properties: { + foo: { + type: 'keyword', + }, + count: { + type: 'integer', + }, + }, + }, + schemas: { + '8.9.0': schema.object({ + foo: schema.string(), + }), + '8.10.0': schema.object({ + foo: schema.string(), + count: schema.number(), + }), + }, + switchToModelVersionAt: '8.10.0', +}; + +export const typedef1: Partial = { + mappings: { + properties: { + foo: { + type: 'keyword', + }, + count: { + type: 'integer', + }, + }, + }, + schemas: { + '8.9.0': schema.object({ + foo: schema.string(), + }), + '8.10.0': schema.object({ + foo: schema.string(), + count: schema.number(), + }), + }, + switchToModelVersionAt: '8.10.0', + modelVersions: { + '1': { + changes: [ + { + type: 'mappings_addition', + addedMappings: { + count: { + properties: { + count: { + type: 'integer', + }, + }, + }, + }, + }, + ], + schemas: { + create: schema.object({ + foo: schema.string(), + count: schema.number(), + }), + }, + }, + }, +}; + +export const typedef2: Partial = { + mappings: { + properties: { + foo: { + type: 'keyword', + }, + count: { + type: 'integer', + }, + }, + }, + schemas: { + '8.9.0': schema.object({ + foo: schema.string(), + }), + }, + switchToModelVersionAt: '8.10.0', + modelVersions: { + '1': { + changes: [ + { + type: 'mappings_addition', + addedMappings: { + count: { + properties: { + count: { + type: 'integer', + }, + }, + }, + }, + }, + ], + schemas: { + create: schema.object({ + foo: schema.string(), + count: schema.number(), + }), + }, + }, + }, +}; diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/internals/increment_counter_internal.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/internals/increment_counter_internal.ts index 6ff63bc437189..6abb1b6acf55f 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/internals/increment_counter_internal.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/internals/increment_counter_internal.ts @@ -32,7 +32,7 @@ export const incrementCounterInternal = async ( { type, id, counterFields, options }: PerformIncrementCounterInternalParams, { registry, helpers, client, serializer, migrator }: ApiExecutionContext ): Promise> => { - const { common: commonHelper, preflight: preflightHelper } = helpers; + const { common: commonHelper, preflight: preflightHelper, migration: migrationHelper } = helpers; const { migrationVersion, @@ -97,7 +97,7 @@ export const incrementCounterInternal = async ( } // attributes: { [counterFieldName]: incrementBy }, - const migrated = migrator.migrateDocument({ + const migrated = migrationHelper.migrateInputDocument({ id, type, ...(savedObjectNamespace && { namespace: savedObjectNamespace }), diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/internals/internal_bulk_resolve.test.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/internals/internal_bulk_resolve.test.ts index 4b619764a042c..d1fb50a1bc08a 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/internals/internal_bulk_resolve.test.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/internals/internal_bulk_resolve.test.ts @@ -31,6 +31,7 @@ import { type ISavedObjectTypeRegistry, type SavedObject, SavedObjectsErrorHelpers, + type SavedObjectUnsanitizedDoc, } from '@kbn/core-saved-objects-server'; import { enforceError, @@ -38,6 +39,7 @@ import { setupAuthorizeAndRedactInternalBulkResolveSuccess, } from '../../../test_helpers/repository.test.common'; import { savedObjectsExtensionsMock } from '../../../mocks/saved_objects_extensions.mock'; +import { kibanaMigratorMock } from '../../../mocks'; const VERSION_PROPS = { _seq_no: 1, _primary_term: 1 }; const OBJ_TYPE = 'obj-type'; @@ -57,6 +59,7 @@ beforeEach(() => { describe('internalBulkResolve', () => { let client: ReturnType; + let migrator: ReturnType; let serializer: SavedObjectsSerializer; let incrementCounterInternal: jest.Mock; let registry: jest.Mocked; @@ -72,11 +75,13 @@ describe('internalBulkResolve', () => { ): InternalBulkResolveParams { registry = typeRegistryMock.create(); client = elasticsearchClientMock.createElasticsearchClient(); + migrator = kibanaMigratorMock.create(); serializer = new SavedObjectsSerializer(registry); incrementCounterInternal = jest.fn().mockRejectedValue(new Error('increment error')); // mock error to implicitly test that it is caught and swallowed return { registry, allowedTypes: [OBJ_TYPE, ENCRYPTED_TYPE], + migrator, client, serializer, getIndexForType: (type: string) => `index-for-${type}`, @@ -223,7 +228,7 @@ describe('internalBulkResolve', () => { }; } - for (const namespace of [undefined, 'default', 'space-x']) { + describe.each([undefined, 'default', 'space-x'])(`with namespace '%s'`, (namespace) => { const expectedNamespaceString = SavedObjectsUtils.namespaceIdToString(namespace); it('throws if mget call results in non-ES-originated 404 error', async () => { @@ -362,7 +367,35 @@ describe('internalBulkResolve', () => { expectConflictResult({ id: '7', alias_target_id: '7-newId', alias_purpose: 'y' }), ]); }); - } + + it('migrates the resolved objects', async () => { + const objects = [ + { type: OBJ_TYPE, id: '1' }, + { type: OBJ_TYPE, id: '2' }, + ]; + const params = setup(objects, { namespace }); + mockBulkResults({ found: false }, { found: false }); + mockMgetResults({ found: true }, { found: true }); + migrator.migrateDocument.mockImplementation( + (doc) => `migrated-${doc}` as unknown as SavedObjectUnsanitizedDoc + ); + + await expect(internalBulkResolve(params)).resolves.toHaveProperty('resolved_objects', [ + expect.objectContaining({ saved_object: 'migrated-mock-obj-for-1' }), + expect.objectContaining({ saved_object: 'migrated-mock-obj-for-2' }), + ]); + + expect(migrator.migrateDocument).toHaveBeenCalledTimes(2); + expect(migrator.migrateDocument).nthCalledWith( + 1, + 'mock-obj-for-1', + expect.objectContaining({ allowDowngrade: expect.any(Boolean) }) + ); + expect(migrator.migrateDocument).nthCalledWith(2, 'mock-obj-for-2', { + allowDowngrade: expect.any(Boolean), + }); + }); + }); describe('with encryption extension', () => { const namespace = 'foo'; diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/internals/internal_bulk_resolve.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/internals/internal_bulk_resolve.ts index 6e143004dfb3a..53cb04453555c 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/internals/internal_bulk_resolve.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/internals/internal_bulk_resolve.ts @@ -27,6 +27,7 @@ import { SavedObjectsErrorHelpers, } from '@kbn/core-saved-objects-server'; import { + type IKibanaMigrator, LEGACY_URL_ALIAS_TYPE, type LegacyUrlAlias, } from '@kbn/core-saved-objects-base-server-internal'; @@ -59,6 +60,7 @@ const MAX_CONCURRENT_RESOLVE = 10; */ export interface InternalBulkResolveParams { registry: ISavedObjectTypeRegistry; + migrator: IKibanaMigrator; allowedTypes: string[]; client: RepositoryEsClient; serializer: ISavedObjectsSerializer; @@ -98,6 +100,7 @@ export async function internalBulkResolve( ): Promise> { const { registry, + migrator, allowedTypes, client, serializer, @@ -184,10 +187,12 @@ export async function internalBulkResolve( const object = getSavedObjectFromSource(registry, objectType, objectId, doc, { migrationVersionCompatibility, }); - if (!encryptionExtension?.isEncryptableType(object.type)) { - return object; + const migrated = migrator.migrateDocument(object, { allowDowngrade: true }) as SavedObject; + + if (!encryptionExtension?.isEncryptableType(migrated.type)) { + return migrated; } - return encryptionExtension.decryptOrStripResponseAttributes(object); + return encryptionExtension.decryptOrStripResponseAttributes(migrated); } // map function for pMap below @@ -211,28 +216,39 @@ export async function internalBulkResolve( const { type, id } = either.value; let result: SavedObjectsResolveResponse | null = null; - if (foundExactMatch && foundAliasMatch) { - result = { - saved_object: await getSavedObject(type, id, exactMatchDoc!), - outcome: 'conflict', - alias_target_id: aliasInfo!.targetId, - alias_purpose: aliasInfo!.purpose, - }; - resolveCounter.recordOutcome(REPOSITORY_RESOLVE_OUTCOME_STATS.CONFLICT); - } else if (foundExactMatch) { - result = { - saved_object: await getSavedObject(type, id, exactMatchDoc!), - outcome: 'exactMatch', - }; - resolveCounter.recordOutcome(REPOSITORY_RESOLVE_OUTCOME_STATS.EXACT_MATCH); - } else if (foundAliasMatch) { - result = { - saved_object: await getSavedObject(type, aliasInfo!.targetId, aliasMatchDoc!), - outcome: 'aliasMatch', - alias_target_id: aliasInfo!.targetId, - alias_purpose: aliasInfo!.purpose, + try { + if (foundExactMatch && foundAliasMatch) { + result = { + saved_object: await getSavedObject(type, id, exactMatchDoc!), + outcome: 'conflict', + alias_target_id: aliasInfo!.targetId, + alias_purpose: aliasInfo!.purpose, + }; + resolveCounter.recordOutcome(REPOSITORY_RESOLVE_OUTCOME_STATS.CONFLICT); + } else if (foundExactMatch) { + result = { + saved_object: await getSavedObject(type, id, exactMatchDoc!), + outcome: 'exactMatch', + }; + resolveCounter.recordOutcome(REPOSITORY_RESOLVE_OUTCOME_STATS.EXACT_MATCH); + } else if (foundAliasMatch) { + result = { + saved_object: await getSavedObject(type, aliasInfo!.targetId, aliasMatchDoc!), + outcome: 'aliasMatch', + alias_target_id: aliasInfo!.targetId, + alias_purpose: aliasInfo!.purpose, + }; + resolveCounter.recordOutcome(REPOSITORY_RESOLVE_OUTCOME_STATS.ALIAS_MATCH); + } + } catch (error) { + return { + id, + type, + error: SavedObjectsErrorHelpers.decorateGeneralError( + error, + 'Failed to migrate document to the latest version.' + ), }; - resolveCounter.recordOutcome(REPOSITORY_RESOLVE_OUTCOME_STATS.ALIAS_MATCH); } if (result !== null) { diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/resolve.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/resolve.ts index 884afc573262d..50de472546344 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/resolve.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/resolve.ts @@ -29,6 +29,7 @@ export const performResolve = async ( helpers, allowedTypes, client, + migrator, serializer, extensions = {}, } = apiExecutionContext; @@ -39,6 +40,7 @@ export const performResolve = async ( registry, allowedTypes, client, + migrator, serializer, getIndexForType: commonHelper.getIndexForType.bind(commonHelper), incrementCounterInternal: (t, i, counterFields, opts = {}) => diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/update.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/update.ts index eceb738ac7ae9..27f3d45c642de 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/update.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/apis/update.ts @@ -47,6 +47,7 @@ export const performUpdate = async ( common: commonHelper, encryption: encryptionHelper, preflight: preflightHelper, + migration: migrationHelper, } = helpers; const { securityExtension } = extensions; @@ -108,7 +109,7 @@ export const performUpdate = async ( savedObjectNamespaces = preflightResult!.savedObjectNamespaces; } - const migrated = migrator.migrateDocument({ + const migrated = migrationHelper.migrateInputDocument({ id, type, ...(savedObjectNamespace && { namespace: savedObjectNamespace }), diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/repository.security_extension.test.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/repository.security_extension.test.ts index d9dfc0ed3d596..3e81c09d1df9f 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/repository.security_extension.test.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/repository.security_extension.test.ts @@ -742,6 +742,9 @@ describe('SavedObjectsRepository Security Extension', () => { attributes: doc._source![doc._source!.type], references: [], namespaces: doc._source!.type === NAMESPACE_AGNOSTIC_TYPE ? undefined : [namespace], + coreMigrationVersion: expect.any(String), + typeMigrationVersion: expect.any(String), + managed: expect.any(Boolean), }); }); }); @@ -795,6 +798,9 @@ describe('SavedObjectsRepository Security Extension', () => { attributes: doc._source![doc._source!.type], references: [], namespaces: doc._source!.type === NAMESPACE_AGNOSTIC_TYPE ? undefined : [namespace], + coreMigrationVersion: expect.any(String), + typeMigrationVersion: expect.any(String), + managed: expect.any(Boolean), }); }); }); @@ -849,6 +855,9 @@ describe('SavedObjectsRepository Security Extension', () => { attributes: doc._source![doc._source!.type], references: [], namespaces: doc._source!.type === NAMESPACE_AGNOSTIC_TYPE ? undefined : [namespace], + coreMigrationVersion: expect.any(String), + typeMigrationVersion: expect.any(String), + managed: expect.any(Boolean), }); }); }); diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/repository.test.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/repository.test.ts index d64d41abaef59..ab41890d36368 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/repository.test.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/repository.test.ts @@ -148,7 +148,13 @@ describe('SavedObjectsRepository', () => { const expectMigrationArgs = (args: unknown, contains = true, n = 1) => { const obj = contains ? expect.objectContaining(args) : expect.not.objectContaining(args); - expect(migrator.migrateDocument).toHaveBeenNthCalledWith(n, obj); + expect(migrator.migrateDocument).toHaveBeenNthCalledWith( + n, + obj, + expect.objectContaining({ + allowDowngrade: expect.any(Boolean), + }) + ); }; beforeEach(() => { @@ -1316,7 +1322,9 @@ describe('SavedObjectsRepository', () => { version: encodeHitVersion(doc), attributes: doc._source![type], references: doc._source!.references || [], - migrationVersion: doc._source!.migrationVersion, + coreMigrationVersion: expect.any(String), + typeMigrationVersion: expect.any(String), + managed: expect.any(Boolean), }); it(`returns early for empty objects argument`, async () => { @@ -1389,6 +1397,24 @@ describe('SavedObjectsRepository', () => { ], }); }); + + it('migrates the fetched documents', async () => { + const response = getMockMgetResponse(registry, [obj1, obj2]); + client.mget.mockResolvedValueOnce( + elasticsearchClientMock.createSuccessTransportRequestPromise(response) + ); + migrator.migrateDocument.mockReturnValue( + 'migrated' as unknown as ReturnType + ); + + await expect(bulkGet(repository, [obj1, obj2])).resolves.toHaveProperty('saved_objects', [ + 'migrated', + 'migrated', + ]); + expect(migrator.migrateDocument).toHaveBeenCalledTimes(2); + expectMigrationArgs({ id: obj1.id }, true, 1); + expectMigrationArgs({ id: obj2.id }, true, 2); + }); }); }); @@ -3910,6 +3936,9 @@ describe('SavedObjectsRepository', () => { attributes: doc._source![doc._source!.type], references: [], namespaces: doc._source!.type === NAMESPACE_AGNOSTIC_TYPE ? undefined : ['default'], + coreMigrationVersion: expect.any(String), + typeMigrationVersion: expect.any(String), + managed: expect.any(Boolean), }); }); }); @@ -3937,6 +3966,9 @@ describe('SavedObjectsRepository', () => { attributes: doc._source![doc._source!.type], references: [], namespaces: doc._source!.type === NAMESPACE_AGNOSTIC_TYPE ? undefined : [namespace], + coreMigrationVersion: expect.any(String), + typeMigrationVersion: expect.any(String), + managed: expect.any(Boolean), }); }); }); @@ -3952,6 +3984,28 @@ describe('SavedObjectsRepository', () => { await test(HIDDEN_TYPE); await test(['unknownType', HIDDEN_TYPE]); }); + + it('migrates the found document', async () => { + const noNamespaceSearchResults = generateIndexPatternSearchResults(); + client.search.mockResolvedValueOnce( + elasticsearchClientMock.createSuccessTransportRequestPromise(noNamespaceSearchResults) + ); + migrator.migrateDocument.mockImplementationOnce((doc) => ({ ...doc, migrated: true })); + await expect(repository.find({ type })).resolves.toHaveProperty( + 'saved_objects.0.migrated', + true + ); + expect(migrator.migrateDocument).toHaveBeenCalledTimes( + noNamespaceSearchResults.hits.hits.length + ); + expectMigrationArgs({ + type, + id: noNamespaceSearchResults.hits.hits[0]._id.replace( + /(index-pattern|config|globalType)\:/, + '' + ), + }); + }); }); describe('search dsl', () => { @@ -4272,6 +4326,9 @@ describe('SavedObjectsRepository', () => { }, references: [], namespaces: ['default'], + coreMigrationVersion: expect.any(String), + typeMigrationVersion: expect.any(String), + managed: expect.any(Boolean), }); }); @@ -4300,6 +4357,18 @@ describe('SavedObjectsRepository', () => { expect(result).toMatchObject({ originId }); }); }); + + it('migrates the fetched document', async () => { + migrator.migrateDocument.mockReturnValueOnce( + 'migrated' as unknown as ReturnType + ); + await expect(getSuccess(client, repository, registry, type, id)).resolves.toBe('migrated'); + expect(migrator.migrateDocument).toHaveBeenCalledTimes(1); + expectMigrationArgs({ + id, + type, + }); + }); }); describe('#resolve', () => { diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/repository.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/repository.ts index 409138cd635de..321c5811ea6d8 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/repository.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/repository.ts @@ -64,14 +64,7 @@ import { } from '@kbn/core-saved-objects-base-server-internal'; import { PointInTimeFinder } from './point_in_time_finder'; import { createRepositoryEsClient, type RepositoryEsClient } from './repository_es_client'; -import { - RepositoryHelpers, - CommonHelper, - EncryptionHelper, - ValidationHelper, - PreflightCheckHelper, - SerializerHelper, -} from './apis/helpers'; +import type { RepositoryHelpers } from './apis/helpers'; import { type ApiExecutionContext, performCreate, @@ -93,6 +86,7 @@ import { performUpdateObjectsSpaces, performCollectMultiNamespaceReferences, } from './apis'; +import { createRepositoryHelpers } from './utils'; /** * Constructor options for {@link SavedObjectsRepository} @@ -198,42 +192,16 @@ export class SavedObjectsRepository implements ISavedObjectsRepository { this.serializer = serializer; this.logger = logger; this.extensions = extensions; - - const commonHelper = new CommonHelper({ - spaceExtension: extensions?.spacesExtension, - encryptionExtension: extensions?.encryptionExtension, - createPointInTimeFinder: this.createPointInTimeFinder.bind(this), - defaultIndex: index, - kibanaVersion: migrator.kibanaVersion, - registry: typeRegistry, - }); - const encryptionHelper = new EncryptionHelper({ - encryptionExtension: extensions?.encryptionExtension, - securityExtension: extensions?.securityExtension, - }); - const validationHelper = new ValidationHelper({ - registry: typeRegistry, + this.helpers = createRepositoryHelpers({ logger, - kibanaVersion: migrator.kibanaVersion, - }); - const preflightCheckHelper = new PreflightCheckHelper({ - getIndexForType: commonHelper.getIndexForType.bind(commonHelper), - createPointInTimeFinder: commonHelper.createPointInTimeFinder.bind(commonHelper), - serializer, - registry: typeRegistry, client: this.client, - }); - const serializerHelper = new SerializerHelper({ - registry: typeRegistry, + index, + typeRegistry, serializer, + extensions, + migrator, + createPointInTimeFinder: this.createPointInTimeFinder.bind(this), }); - this.helpers = { - common: commonHelper, - preflight: preflightCheckHelper, - validation: validationHelper, - encryption: encryptionHelper, - serializer: serializerHelper, - }; this.apiExecutionContext = { client: this.client, extensions: this.extensions, diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/search/aggregations/validation.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/search/aggregations/validation.ts index 214aba9a4a434..d5dfbb8e8cb1d 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/search/aggregations/validation.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/search/aggregations/validation.ts @@ -194,11 +194,9 @@ const recursiveRewrite = ( newValue = recursiveRewrite(value, nestedContext, [...parents, key]); } - return { - ...memo, - [newKey]: newValue, - }; - }, {}); + memo[newKey] = newValue; + return memo; + }, {} as Record); }; const childContext = (context: ValidationContext, path: string): ValidationContext => { diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/search/search_dsl/query_params.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/search/search_dsl/query_params.ts index 8ff7bb229be36..dd7fdb272d072 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/search/search_dsl/query_params.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/search/search_dsl/query_params.ts @@ -290,7 +290,7 @@ const getMatchPhrasePrefixFields = ({ fields = types.reduce((typeFields, type) => { const defaultSearchField = registry.getType(type)?.management?.defaultSearchField; if (defaultSearchField) { - return [...typeFields, `${type}.${defaultSearchField}`]; + typeFields.push(`${type}.${defaultSearchField}`); } return typeFields; }, [] as string[]); diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/utils/create_helpers.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/utils/create_helpers.ts new file mode 100644 index 0000000000000..17a17be122916 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/utils/create_helpers.ts @@ -0,0 +1,93 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { Logger } from '@kbn/logging'; +import type { + IKibanaMigrator, + SavedObjectsSerializer, +} from '@kbn/core-saved-objects-base-server-internal'; +import type { + ISavedObjectTypeRegistry, + SavedObjectsExtensions, +} from '@kbn/core-saved-objects-server'; +import { + RepositoryHelpers, + CommonHelper, + EncryptionHelper, + ValidationHelper, + PreflightCheckHelper, + SerializerHelper, + MigrationHelper, +} from '../apis/helpers'; +import type { RepositoryEsClient } from '../repository_es_client'; +import { CreatePointInTimeFinderFn } from '../point_in_time_finder'; + +interface CreateRepositoryHelpersOptions { + index: string; + client: RepositoryEsClient; + typeRegistry: ISavedObjectTypeRegistry; + serializer: SavedObjectsSerializer; + migrator: IKibanaMigrator; + logger: Logger; + extensions?: SavedObjectsExtensions; + createPointInTimeFinder: CreatePointInTimeFinderFn; +} + +export const createRepositoryHelpers = ({ + logger, + extensions, + index, + client, + typeRegistry, + serializer, + migrator, + createPointInTimeFinder, +}: CreateRepositoryHelpersOptions): RepositoryHelpers => { + const commonHelper = new CommonHelper({ + spaceExtension: extensions?.spacesExtension, + encryptionExtension: extensions?.encryptionExtension, + createPointInTimeFinder, + defaultIndex: index, + kibanaVersion: migrator.kibanaVersion, + registry: typeRegistry, + }); + const encryptionHelper = new EncryptionHelper({ + encryptionExtension: extensions?.encryptionExtension, + securityExtension: extensions?.securityExtension, + }); + const validationHelper = new ValidationHelper({ + registry: typeRegistry, + logger, + kibanaVersion: migrator.kibanaVersion, + }); + const preflightCheckHelper = new PreflightCheckHelper({ + getIndexForType: commonHelper.getIndexForType.bind(commonHelper), + createPointInTimeFinder: commonHelper.createPointInTimeFinder.bind(commonHelper), + serializer, + registry: typeRegistry, + client, + }); + const serializerHelper = new SerializerHelper({ + registry: typeRegistry, + serializer, + }); + const migrationHelper = new MigrationHelper({ + migrator, + }); + + const helpers: RepositoryHelpers = { + common: commonHelper, + preflight: preflightCheckHelper, + validation: validationHelper, + encryption: encryptionHelper, + serializer: serializerHelper, + migration: migrationHelper, + }; + + return helpers; +}; diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/utils/index.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/utils/index.ts index 84c2379905b31..ba96c10da0090 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/utils/index.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/lib/utils/index.ts @@ -8,3 +8,4 @@ export { decorateEsError } from './decorate_es_error'; export { getRootFields, includedFields } from './included_fields'; +export { createRepositoryHelpers } from './create_helpers'; diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/mocks/api_helpers.mocks.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/mocks/api_helpers.mocks.ts index d5caf01cf59c0..69f0124f681e1 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/mocks/api_helpers.mocks.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/mocks/api_helpers.mocks.ts @@ -13,8 +13,23 @@ import type { ValidationHelper, PreflightCheckHelper, SerializerHelper, + MigrationHelper, } from '../lib/apis/helpers'; +export type MigrationHelperMock = jest.Mocked>; + +const createMigrationHelperMock = (): MigrationHelperMock => { + const mock: MigrationHelperMock = { + migrateInputDocument: jest.fn(), + migrateStorageDocument: jest.fn(), + }; + + mock.migrateInputDocument.mockImplementation((doc) => doc); + mock.migrateStorageDocument.mockImplementation((doc) => doc); + + return mock; +}; + export type CommonHelperMock = jest.Mocked>; const createCommonHelperMock = (): CommonHelperMock => { @@ -88,6 +103,7 @@ export interface RepositoryHelpersMock { validation: ValidationHelperMock; preflight: PreflightCheckHelperMock; serializer: SerializerHelperMock; + migration: MigrationHelperMock; } const createRepositoryHelpersMock = (): RepositoryHelpersMock => { @@ -97,6 +113,7 @@ const createRepositoryHelpersMock = (): RepositoryHelpersMock => { validation: createValidationHelperMock(), preflight: createPreflightCheckHelperMock(), serializer: createSerializerHelperMock(), + migration: createMigrationHelperMock(), }; }; @@ -107,4 +124,5 @@ export const apiHelperMocks = { createValidationHelper: createValidationHelperMock, createSerializerHelper: createSerializerHelperMock, createPreflightCheckHelper: createPreflightCheckHelperMock, + createMigrationHelper: createMigrationHelperMock, }; diff --git a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/test_helpers/repository.test.common.ts b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/test_helpers/repository.test.common.ts index 78d81a8b86be1..2cb4f32f441cb 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server-internal/src/test_helpers/repository.test.common.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server-internal/src/test_helpers/repository.test.common.ts @@ -582,6 +582,9 @@ export const expectBulkGetResult = ( attributes: doc._source![type], references: doc._source!.references || [], migrationVersion: doc._source!.migrationVersion, + managed: expect.any(Boolean), + coreMigrationVersion: expect.any(String), + typeMigrationVersion: expect.any(String), }); export const getMockBulkCreateResponse = ( diff --git a/packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_repository.ts b/packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_repository.ts index 062729b71fc0f..dc748e48123ad 100644 --- a/packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_repository.ts +++ b/packages/core/saved-objects/core-saved-objects-api-server/src/saved_objects_repository.ts @@ -348,7 +348,7 @@ export interface ISavedObjectsRepository { * It will not create a nested structure like: * `{attributes: {stats: {api: {counter: 1}}}}` * - * When using incrementCounter for collecting usage data, you need to ensure + * When using incrementCounter you need to ensure * that usage collection happens on a best-effort basis and doesn't * negatively affect your plugin or users. See https://github.com/elastic/kibana/blob/main/src/plugins/usage_collection/README.mdx#tracking-interactions-with-incrementcounter) * diff --git a/packages/core/saved-objects/core-saved-objects-base-server-internal/index.ts b/packages/core/saved-objects/core-saved-objects-base-server-internal/index.ts index 6c260887614a7..eea0966433f02 100644 --- a/packages/core/saved-objects/core-saved-objects-base-server-internal/index.ts +++ b/packages/core/saved-objects/core-saved-objects-base-server-internal/index.ts @@ -6,6 +6,7 @@ * Side Public License, v 1. */ +export { DEFAULT_INDEX_TYPES_MAP } from './src/constants'; export { LEGACY_URL_ALIAS_TYPE, type LegacyUrlAlias } from './src/legacy_alias'; export { getProperty, @@ -39,10 +40,12 @@ export type { KibanaMigratorStatus, MigrationResult, MigrationStatus, + MigrateDocumentOptions, } from './src/migration'; export { parseObjectKey, getObjectKey, getIndexForType } from './src/utils'; export { modelVersionVirtualMajor, + globalSwitchToModelVersionAt, assertValidModelVersion, isVirtualModelVersion, virtualVersionToModelVersion, @@ -64,4 +67,5 @@ export { getModelVersionDelta, buildModelVersionTransformFn, aggregateMappingAdditions, + convertModelVersionBackwardConversionSchema, } from './src/model_version'; diff --git a/packages/core/saved-objects/core-saved-objects-base-server-internal/src/constants.ts b/packages/core/saved-objects/core-saved-objects-base-server-internal/src/constants.ts new file mode 100644 index 0000000000000..c4a3018fdfb37 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-base-server-internal/src/constants.ts @@ -0,0 +1,116 @@ +/* + * Copyright 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 { IndexTypesMap } from './mappings'; + +/** + * This map holds the default breakdown of SO types per index (pre 8.8.0) + */ +export const DEFAULT_INDEX_TYPES_MAP: IndexTypesMap = { + '.kibana_task_manager': ['task'], + '.kibana': [ + 'action', + 'action_task_params', + 'alert', + 'api_key_pending_invalidation', + 'apm-indices', + 'apm-server-schema', + 'apm-service-group', + 'apm-telemetry', + 'app_search_telemetry', + 'application_usage_daily', + 'application_usage_totals', + 'book', + 'canvas-element', + 'canvas-workpad', + 'canvas-workpad-template', + 'cases', + 'cases-comments', + 'cases-configure', + 'cases-connector-mappings', + 'cases-telemetry', + 'cases-user-actions', + 'config', + 'config-global', + 'connector_token', + 'core-usage-stats', + 'csp-rule-template', + 'dashboard', + 'endpoint:user-artifact-manifest', + 'enterprise_search_telemetry', + 'epm-packages', + 'epm-packages-assets', + 'event_loop_delays_daily', + 'exception-list', + 'exception-list-agnostic', + 'file', + 'file-upload-usage-collection-telemetry', + 'fileShare', + 'fleet-fleet-server-host', + 'fleet-message-signing-keys', + 'fleet-preconfiguration-deletion-record', + 'fleet-proxy', + 'graph-workspace', + 'guided-onboarding-guide-state', + 'guided-onboarding-plugin-state', + 'index-pattern', + 'infrastructure-monitoring-log-view', + 'infrastructure-ui-source', + 'ingest-agent-policies', + 'ingest-download-sources', + 'ingest-outputs', + 'ingest-package-policies', + 'ingest_manager_settings', + 'inventory-view', + 'kql-telemetry', + 'legacy-url-alias', + 'lens', + 'lens-ui-telemetry', + 'map', + 'metrics-explorer-view', + 'ml-job', + 'ml-module', + 'ml-trained-model', + 'monitoring-telemetry', + 'osquery-manager-usage-metric', + 'osquery-pack', + 'osquery-pack-asset', + 'osquery-saved-query', + 'query', + 'rules-settings', + 'sample-data-telemetry', + 'search', + 'search-session', + 'search-telemetry', + 'searchableList', + 'security-rule', + 'security-solution-signals-migration', + 'siem-detection-engine-rule-actions', + 'siem-ui-timeline', + 'siem-ui-timeline-note', + 'siem-ui-timeline-pinned-event', + 'slo', + 'space', + 'spaces-usage-stats', + 'synthetics-monitor', + 'synthetics-param', + 'synthetics-privates-locations', + 'tag', + 'telemetry', + 'todo', + 'ui-metric', + 'upgrade-assistant-ml-upgrade-operation', + 'upgrade-assistant-reindex-operation', + 'uptime-dynamic-settings', + 'uptime-synthetics-api-key', + 'url', + 'usage-counters', + 'visualization', + 'workplace_search_telemetry', + ], +}; diff --git a/packages/core/saved-objects/core-saved-objects-base-server-internal/src/migration/index.ts b/packages/core/saved-objects/core-saved-objects-base-server-internal/src/migration/index.ts index fe33846c41545..aa54e37f0d91a 100644 --- a/packages/core/saved-objects/core-saved-objects-base-server-internal/src/migration/index.ts +++ b/packages/core/saved-objects/core-saved-objects-base-server-internal/src/migration/index.ts @@ -11,4 +11,5 @@ export type { KibanaMigratorStatus, MigrationStatus, MigrationResult, + MigrateDocumentOptions, } from './kibana_migrator'; diff --git a/packages/core/saved-objects/core-saved-objects-base-server-internal/src/migration/kibana_migrator.ts b/packages/core/saved-objects/core-saved-objects-base-server-internal/src/migration/kibana_migrator.ts index de569332ff9ce..18a03a7fcbf54 100644 --- a/packages/core/saved-objects/core-saved-objects-base-server-internal/src/migration/kibana_migrator.ts +++ b/packages/core/saved-objects/core-saved-objects-base-server-internal/src/migration/kibana_migrator.ts @@ -49,7 +49,22 @@ export interface IKibanaMigrator { * @param doc - The saved object to migrate * @returns `doc` with all registered migrations applied. */ - migrateDocument(doc: SavedObjectUnsanitizedDoc): SavedObjectUnsanitizedDoc; + migrateDocument( + doc: SavedObjectUnsanitizedDoc, + options?: MigrateDocumentOptions + ): SavedObjectUnsanitizedDoc; +} + +/** + * Options for {@link IKibanaMigrator.migrateDocument} + * @internal + */ +export interface MigrateDocumentOptions { + /** + * Defines whether it is allowed to convert documents from an higher version or not. + * Defaults to `false`. + */ + allowDowngrade?: boolean; } /** @internal */ diff --git a/packages/core/saved-objects/core-saved-objects-base-server-internal/src/model_version/backward_conversion_schema.test.ts b/packages/core/saved-objects/core-saved-objects-base-server-internal/src/model_version/backward_conversion_schema.test.ts new file mode 100644 index 0000000000000..d70f86c37b6de --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-base-server-internal/src/model_version/backward_conversion_schema.test.ts @@ -0,0 +1,131 @@ +/* + * Copyright 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 { schema } from '@kbn/config-schema'; +import { convertModelVersionBackwardConversionSchema } from './backward_conversion_schema'; +import type { + SavedObjectUnsanitizedDoc, + SavedObjectModelVersionForwardCompatibilityFn, +} from '@kbn/core-saved-objects-server'; + +describe('convertModelVersionBackwardConversionSchema', () => { + const createDoc = ( + parts: Partial> + ): SavedObjectUnsanitizedDoc => ({ + id: 'id', + type: 'type', + attributes: {}, + ...parts, + }); + + describe('using functions', () => { + it('converts the schema', () => { + const conversionSchema: jest.MockedFunction = + jest.fn(); + conversionSchema.mockImplementation((attrs) => attrs); + + const doc = createDoc({ attributes: { foo: 'bar' } }); + const converted = convertModelVersionBackwardConversionSchema(conversionSchema); + + const output = converted(doc); + + expect(conversionSchema).toHaveBeenCalledTimes(1); + expect(conversionSchema).toHaveBeenCalledWith({ foo: 'bar' }); + expect(output).toEqual(doc); + }); + + it('returns the document with the updated properties', () => { + const conversionSchema: jest.MockedFunction< + SavedObjectModelVersionForwardCompatibilityFn + > = jest.fn(); + conversionSchema.mockImplementation((attrs) => ({ foo: attrs.foo })); + + const doc = createDoc({ attributes: { foo: 'bar', hello: 'dolly' } }); + const converted = convertModelVersionBackwardConversionSchema(conversionSchema); + + const output = converted(doc); + + expect(output).toEqual({ + ...doc, + attributes: { foo: 'bar' }, + }); + }); + + it('throws if the function throws', () => { + const conversionSchema: jest.MockedFunction< + SavedObjectModelVersionForwardCompatibilityFn + > = jest.fn(); + conversionSchema.mockImplementation(() => { + throw new Error('dang'); + }); + + const doc = createDoc({}); + const converted = convertModelVersionBackwardConversionSchema(conversionSchema); + + expect(() => converted(doc)).toThrowErrorMatchingInlineSnapshot(`"dang"`); + }); + }); + + describe('using config-schemas', () => { + it('converts the schema', () => { + const conversionSchema = schema.object( + { + foo: schema.maybe(schema.string()), + }, + { unknowns: 'ignore' } + ); + const validateSpy = jest.spyOn(conversionSchema, 'validate'); + + const doc = createDoc({ attributes: { foo: 'bar' } }); + const converted = convertModelVersionBackwardConversionSchema(conversionSchema); + + const output = converted(doc); + + expect(validateSpy).toHaveBeenCalledTimes(1); + expect(validateSpy).toHaveBeenCalledWith({ foo: 'bar' }, {}); + expect(output).toEqual(doc); + }); + + it('returns the document with the updated properties', () => { + const conversionSchema = schema.object( + { + foo: schema.maybe(schema.string()), + }, + { unknowns: 'ignore' } + ); + + const doc = createDoc({ attributes: { foo: 'bar', hello: 'dolly' } }); + const converted = convertModelVersionBackwardConversionSchema(conversionSchema); + + const output = converted(doc); + + expect(output).toEqual({ + ...doc, + attributes: { + foo: 'bar', + }, + }); + }); + + it('throws if the validation throws', () => { + const conversionSchema = schema.object( + { + foo: schema.maybe(schema.string()), + }, + { unknowns: 'forbid' } + ); + + const doc = createDoc({ attributes: { foo: 'bar', hello: 'dolly' } }); + const converted = convertModelVersionBackwardConversionSchema(conversionSchema); + + expect(() => converted(doc)).toThrowErrorMatchingInlineSnapshot( + `"[hello]: definition for this key is missing"` + ); + }); + }); +}); diff --git a/packages/core/saved-objects/core-saved-objects-base-server-internal/src/model_version/backward_conversion_schema.ts b/packages/core/saved-objects/core-saved-objects-base-server-internal/src/model_version/backward_conversion_schema.ts new file mode 100644 index 0000000000000..c3b7664b61ada --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-base-server-internal/src/model_version/backward_conversion_schema.ts @@ -0,0 +1,43 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 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 { isConfigSchema, type ObjectType } from '@kbn/config-schema'; +import type { + SavedObjectUnsanitizedDoc, + SavedObjectModelVersionForwardCompatibilitySchema, +} from '@kbn/core-saved-objects-server'; + +function isObjectType( + schema: SavedObjectModelVersionForwardCompatibilitySchema +): schema is ObjectType { + return isConfigSchema(schema); +} + +export type ConvertedSchema = (doc: SavedObjectUnsanitizedDoc) => SavedObjectUnsanitizedDoc; + +export const convertModelVersionBackwardConversionSchema = ( + schema: SavedObjectModelVersionForwardCompatibilitySchema +): ConvertedSchema => { + if (isObjectType(schema)) { + return (doc) => { + const attrs = schema.validate(doc.attributes, {}); + return { + ...doc, + attributes: attrs, + }; + }; + } else { + return (doc) => { + const attrs = schema(doc.attributes); + return { + ...doc, + attributes: attrs, + }; + }; + } +}; diff --git a/packages/core/saved-objects/core-saved-objects-base-server-internal/src/model_version/constants.ts b/packages/core/saved-objects/core-saved-objects-base-server-internal/src/model_version/constants.ts index f3f8ace3a142b..8a749f6dc1399 100644 --- a/packages/core/saved-objects/core-saved-objects-base-server-internal/src/model_version/constants.ts +++ b/packages/core/saved-objects/core-saved-objects-base-server-internal/src/model_version/constants.ts @@ -10,3 +10,8 @@ * The major version that is used to represent model versions. */ export const modelVersionVirtualMajor = 10; + +/** + * The stack version where all types will be forced to switch to using the model version system. + */ +export const globalSwitchToModelVersionAt = '8.10.0'; diff --git a/packages/core/saved-objects/core-saved-objects-base-server-internal/src/model_version/index.ts b/packages/core/saved-objects/core-saved-objects-base-server-internal/src/model_version/index.ts index c3899e91a38d2..350ab86ca2980 100644 --- a/packages/core/saved-objects/core-saved-objects-base-server-internal/src/model_version/index.ts +++ b/packages/core/saved-objects/core-saved-objects-base-server-internal/src/model_version/index.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -export { modelVersionVirtualMajor } from './constants'; +export { modelVersionVirtualMajor, globalSwitchToModelVersionAt } from './constants'; export { assertValidModelVersion, isVirtualModelVersion, @@ -36,3 +36,4 @@ export { export { getModelVersionDelta } from './get_version_delta'; export { buildModelVersionTransformFn } from './build_transform_fn'; export { aggregateMappingAdditions } from './aggregate_model_changes'; +export { convertModelVersionBackwardConversionSchema } from './backward_conversion_schema'; diff --git a/packages/core/saved-objects/core-saved-objects-base-server-internal/src/saved_objects_config.ts b/packages/core/saved-objects/core-saved-objects-base-server-internal/src/saved_objects_config.ts index 8af470de187f0..c402031897445 100644 --- a/packages/core/saved-objects/core-saved-objects-base-server-internal/src/saved_objects_config.ts +++ b/packages/core/saved-objects/core-saved-objects-base-server-internal/src/saved_objects_config.ts @@ -9,6 +9,7 @@ import { valid } from 'semver'; import { schema, TypeOf } from '@kbn/config-schema'; import type { ServiceConfigDescriptor } from '@kbn/core-base-server-internal'; +import buffer from 'buffer'; const migrationSchema = schema.object({ algorithm: schema.oneOf([schema.literal('v2'), schema.literal('zdt')], { @@ -16,6 +17,10 @@ const migrationSchema = schema.object({ }), batchSize: schema.number({ defaultValue: 1_000 }), maxBatchSizeBytes: schema.byteSize({ defaultValue: '100mb' }), // 100mb is the default http.max_content_length Elasticsearch config value + maxReadBatchSizeBytes: schema.byteSize({ + defaultValue: buffer.constants.MAX_STRING_LENGTH, + max: buffer.constants.MAX_STRING_LENGTH, + }), discardUnknownObjects: schema.maybe( schema.string({ validate: (value: string) => diff --git a/packages/core/saved-objects/core-saved-objects-base-server-internal/src/validation/validator.test.ts b/packages/core/saved-objects/core-saved-objects-base-server-internal/src/validation/validator.test.ts index e552aee1c8976..37ced142364da 100644 --- a/packages/core/saved-objects/core-saved-objects-base-server-internal/src/validation/validator.test.ts +++ b/packages/core/saved-objects/core-saved-objects-base-server-internal/src/validation/validator.test.ts @@ -51,18 +51,18 @@ describe('Saved Objects type validator', () => { it('should log when a validation fails', () => { const data = createMockObject({ attributes: { foo: false } }); - expect(() => validator.validate(data, '1.0.0')).toThrowError(); + expect(() => validator.validate(data)).toThrowError(); expect(logger.warn).toHaveBeenCalledTimes(1); }); it('should work when given valid values', () => { const data = createMockObject({ attributes: { foo: 'hi' } }); - expect(() => validator.validate(data, '1.0.0')).not.toThrowError(); + expect(() => validator.validate(data)).not.toThrowError(); }); it('should throw an error when given invalid values', () => { const data = createMockObject({ attributes: { foo: false } }); - expect(() => validator.validate(data, '1.0.0')).toThrowErrorMatchingInlineSnapshot( + expect(() => validator.validate(data)).toThrowErrorMatchingInlineSnapshot( `"[attributes.foo]: expected value of type [string] but got [boolean]"` ); }); @@ -71,7 +71,7 @@ describe('Saved Objects type validator', () => { const data = createMockObject({ attributes: { foo: 'hi' } }); // @ts-expect-error Intentionally malformed object data.updated_at = false; - expect(() => validator.validate(data, '1.0.0')).toThrowErrorMatchingInlineSnapshot( + expect(() => validator.validate(data)).toThrowErrorMatchingInlineSnapshot( `"[updated_at]: expected value of type [string] but got [boolean]"` ); }); @@ -86,7 +86,7 @@ describe('Saved Objects type validator', () => { }); const data = createMockObject({ attributes: { foo: 'hi' } }); - expect(() => validator.validate(data, '1.0.0')).not.toThrowError(); + expect(() => validator.validate(data)).not.toThrowError(); }); }); @@ -97,8 +97,8 @@ describe('Saved Objects type validator', () => { '2.7.0': createStubSpec(), '3.0.0': createStubSpec(), '3.5.0': createStubSpec(), - '4.0.0': createStubSpec(), - '4.3.0': createStubSpec(), + // we're intentionally leaving out 10.1.0 to test model version selection + '10.2.0': createStubSpec(), }; validator = new SavedObjectsTypeValidator({ logger, type, validationMap, defaultVersion }); }); @@ -118,51 +118,58 @@ describe('Saved Objects type validator', () => { return undefined; }; - it('should use the correct schema when specifying the version', () => { - let data = createMockObject({ typeMigrationVersion: '2.2.0' }); - validator.validate(data, '3.2.0'); + it('should use the correct schema for documents with typeMigrationVersion', () => { + const data = createMockObject({ typeMigrationVersion: '3.0.0' }); + validator.validate(data); expect(getCalledVersion()).toEqual('3.0.0'); - - jest.clearAllMocks(); - - data = createMockObject({ typeMigrationVersion: '3.5.0' }); - validator.validate(data, '4.5.0'); - expect(getCalledVersion()).toEqual('4.3.0'); }); - it('should use the correct schema for documents with typeMigrationVersion', () => { - let data = createMockObject({ typeMigrationVersion: '3.2.0' }); + it('should use the correct schema for documents with typeMigrationVersion greater than default version', () => { + const data = createMockObject({ typeMigrationVersion: '3.5.0' }); validator.validate(data); expect(getCalledVersion()).toEqual('3.0.0'); + }); - jest.clearAllMocks(); - - data = createMockObject({ typeMigrationVersion: '3.5.0' }); + it('should use the correct schema for documents with migrationVersion', () => { + const data = createMockObject({ + migrationVersion: { + [type]: '3.0.0', + }, + }); validator.validate(data); - expect(getCalledVersion()).toEqual('3.5.0'); + expect(getCalledVersion()).toEqual('3.0.0'); }); - it('should use the correct schema for documents with migrationVersion', () => { - let data = createMockObject({ + it('should use the correct schema for documents with migrationVersion higher than default', () => { + const data = createMockObject({ migrationVersion: { [type]: '4.6.0', }, }); validator.validate(data); - expect(getCalledVersion()).toEqual('4.3.0'); + // 4.6.0 > 3.3.0 (default), is not a valid virtual model and there aren't migrations for the type in the default version + expect(getCalledVersion()).toEqual('3.0.0'); + }); + + it("should use the correct schema for documents with virtualModelVersion that isn't registered", () => { + let data = createMockObject({ typeMigrationVersion: '10.1.0' }); + validator.validate(data); + expect(getCalledVersion()).toEqual('3.5.0'); jest.clearAllMocks(); - data = createMockObject({ - migrationVersion: { - [type]: '4.0.0', - }, - }); + data = createMockObject({ typeMigrationVersion: '10.3.0' }); + validator.validate(data); + expect(getCalledVersion()).toEqual('10.2.0'); + }); + + it('should use the correct schema for documents with virtualModelVersion that is registered', () => { + const data = createMockObject({ typeMigrationVersion: '10.2.0' }); validator.validate(data); - expect(getCalledVersion()).toEqual('4.0.0'); + expect(getCalledVersion()).toEqual('10.2.0'); }); - it('should use the correct schema for documents without a version specified', () => { + it('should use the correct schema for documents without a version', () => { const data = createMockObject({}); validator.validate(data); expect(getCalledVersion()).toEqual('3.0.0'); diff --git a/packages/core/saved-objects/core-saved-objects-base-server-internal/src/validation/validator.ts b/packages/core/saved-objects/core-saved-objects-base-server-internal/src/validation/validator.ts index e028c16f9bd2f..e8344de7bc2f0 100644 --- a/packages/core/saved-objects/core-saved-objects-base-server-internal/src/validation/validator.ts +++ b/packages/core/saved-objects/core-saved-objects-base-server-internal/src/validation/validator.ts @@ -13,6 +13,7 @@ import type { SavedObjectSanitizedDoc, } from '@kbn/core-saved-objects-server'; import { createSavedObjectSanitizedDocSchema } from './schema'; +import { isVirtualModelVersion } from '../model_version'; /** * Helper class that takes a {@link SavedObjectsValidationMap} and runs validations for a @@ -45,13 +46,16 @@ export class SavedObjectsTypeValidator { this.orderedVersions = Object.keys(this.validationMap).sort(Semver.compare); } - public validate(document: SavedObjectSanitizedDoc, version?: string): void { - const docVersion = - version ?? - document.typeMigrationVersion ?? - document.migrationVersion?.[document.type] ?? - this.defaultVersion; - const schemaVersion = previousVersionWithSchema(this.orderedVersions, docVersion); + public validate(document: SavedObjectSanitizedDoc): void { + let usedVersion: string; + const docVersion = document.typeMigrationVersion ?? document.migrationVersion?.[document.type]; + if (docVersion) { + usedVersion = isVirtualModelVersion(docVersion) ? docVersion : this.defaultVersion; + } else { + usedVersion = this.defaultVersion; + } + const schemaVersion = previousVersionWithSchema(this.orderedVersions, usedVersion); + if (!schemaVersion || !this.validationMap[schemaVersion]) { return; } @@ -62,7 +66,7 @@ export class SavedObjectsTypeValidator { validationSchema.validate(document); } catch (e) { this.log.warn( - `Error validating object of type [${this.type}] against version [${docVersion}]` + `Error validating object of type [${this.type}] against version [${usedVersion}]` ); throw e; } diff --git a/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/saved_objects_importer.ts b/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/saved_objects_importer.ts index 2c87395c255cd..d6ceeb7fd87cb 100644 --- a/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/saved_objects_importer.ts +++ b/packages/core/saved-objects/core-saved-objects-import-export-server-internal/src/import/saved_objects_importer.ts @@ -41,10 +41,7 @@ export class SavedObjectsImporter implements ISavedObjectsImporter { this.#importSizeLimit = importSizeLimit; this.#importHooks = typeRegistry.getAllTypes().reduce((hooks, type) => { if (type.management?.onImport) { - return { - ...hooks, - [type.name]: [type.management.onImport], - }; + hooks[type.name] = [type.management.onImport]; } return hooks; }, {} as Record); diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/index.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/index.ts index 3845ab745cfdb..2a0da30136a7b 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/index.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/index.ts @@ -47,6 +47,7 @@ export type { ReindexResponse, UpdateByQueryResponse, UpdateAndPickupMappingsResponse, + EsResponseTooLargeError, } from './src/actions'; export { isClusterShardLimitExceeded, diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/__snapshots__/get_outdated_documents_query.test.ts.snap b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/__snapshots__/get_outdated_documents_query.test.ts.snap new file mode 100644 index 0000000000000..d077876f72bb2 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/__snapshots__/get_outdated_documents_query.test.ts.snap @@ -0,0 +1,175 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`getOutdatedDocumentsQuery should not select documents if there are no migrations 1`] = ` +Object { + "bool": Object { + "should": Array [], + }, +} +`; + +exports[`getOutdatedDocumentsQuery should select documents with outdated both core and type migration versions 1`] = ` +Object { + "bool": Object { + "should": Array [ + Object { + "bool": Object { + "must": Array [ + Object { + "term": Object { + "type": "dashboard", + }, + }, + Object { + "bool": Object { + "should": Array [ + Object { + "range": Object { + "coreMigrationVersion": Object { + "lt": "8.8.0", + }, + }, + }, + Object { + "bool": Object { + "must_not": Array [ + Object { + "exists": Object { + "field": "typeMigrationVersion", + }, + }, + Object { + "exists": Object { + "field": "migrationVersion.dashboard", + }, + }, + ], + }, + }, + Object { + "bool": Object { + "must": Object { + "exists": Object { + "field": "migrationVersion", + }, + }, + "must_not": Object { + "term": Object { + "migrationVersion.dashboard": "7.7.0", + }, + }, + }, + }, + Object { + "range": Object { + "typeMigrationVersion": Object { + "lt": "7.7.0", + }, + }, + }, + ], + }, + }, + ], + }, + }, + ], + }, +} +`; + +exports[`getOutdatedDocumentsQuery should select documents with outdated core migration version 1`] = ` +Object { + "bool": Object { + "should": Array [ + Object { + "bool": Object { + "must": Array [ + Object { + "term": Object { + "type": "dashboard", + }, + }, + Object { + "bool": Object { + "should": Array [ + Object { + "range": Object { + "coreMigrationVersion": Object { + "lt": "8.8.0", + }, + }, + }, + ], + }, + }, + ], + }, + }, + ], + }, +} +`; + +exports[`getOutdatedDocumentsQuery should select documents with outdated type migration version 1`] = ` +Object { + "bool": Object { + "should": Array [ + Object { + "bool": Object { + "must": Array [ + Object { + "term": Object { + "type": "dashboard", + }, + }, + Object { + "bool": Object { + "should": Array [ + Object { + "bool": Object { + "must_not": Array [ + Object { + "exists": Object { + "field": "typeMigrationVersion", + }, + }, + Object { + "exists": Object { + "field": "migrationVersion.dashboard", + }, + }, + ], + }, + }, + Object { + "bool": Object { + "must": Object { + "exists": Object { + "field": "migrationVersion", + }, + }, + "must_not": Object { + "term": Object { + "migrationVersion.dashboard": "7.7.0", + }, + }, + }, + }, + Object { + "range": Object { + "typeMigrationVersion": Object { + "lt": "7.7.0", + }, + }, + }, + ], + }, + }, + ], + }, + }, + ], + }, +} +`; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/__snapshots__/migrations_state_action_machine.test.ts.snap b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/__snapshots__/migrations_state_action_machine.test.ts.snap index 421e081b44a69..fffab519cbf3d 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/__snapshots__/migrations_state_action_machine.test.ts.snap +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/__snapshots__/migrations_state_action_machine.test.ts.snap @@ -166,7 +166,9 @@ Object { "message": "Log from LEGACY_REINDEX control state", }, ], + "maxBatchSize": 1000, "maxBatchSizeBytes": 100000000, + "maxReadBatchSizeBytes": 536870888, "migrationDocLinks": Object { "clusterShardLimitExceeded": "https://www.elastic.co/guide/en/kibana/test-branch/resolve-migrations-failures.html#cluster-shard-limit-exceeded", "repeatedTimeoutRequests": "https://www.elastic.co/guide/en/kibana/test-branch/resolve-migrations-failures.html#_repeated_time_out_requests_that_eventually_fail", @@ -206,6 +208,7 @@ Object { "properties": Object {}, }, "tempIndex": ".my-so-index_7.11.0_reindex_temp", + "tempIndexAlias": ".my-so-index_7.11.0_reindex_temp_alias", "tempIndexMappings": Object { "dynamic": false, "properties": Object { @@ -392,7 +395,9 @@ Object { "message": "Log from LEGACY_DELETE control state", }, ], + "maxBatchSize": 1000, "maxBatchSizeBytes": 100000000, + "maxReadBatchSizeBytes": 536870888, "migrationDocLinks": Object { "clusterShardLimitExceeded": "https://www.elastic.co/guide/en/kibana/test-branch/resolve-migrations-failures.html#cluster-shard-limit-exceeded", "repeatedTimeoutRequests": "https://www.elastic.co/guide/en/kibana/test-branch/resolve-migrations-failures.html#_repeated_time_out_requests_that_eventually_fail", @@ -432,6 +437,7 @@ Object { "properties": Object {}, }, "tempIndex": ".my-so-index_7.11.0_reindex_temp", + "tempIndexAlias": ".my-so-index_7.11.0_reindex_temp_alias", "tempIndexMappings": Object { "dynamic": false, "properties": Object { @@ -622,7 +628,9 @@ Object { "message": "Log from LEGACY_DELETE control state", }, ], + "maxBatchSize": 1000, "maxBatchSizeBytes": 100000000, + "maxReadBatchSizeBytes": 536870888, "migrationDocLinks": Object { "clusterShardLimitExceeded": "https://www.elastic.co/guide/en/kibana/test-branch/resolve-migrations-failures.html#cluster-shard-limit-exceeded", "repeatedTimeoutRequests": "https://www.elastic.co/guide/en/kibana/test-branch/resolve-migrations-failures.html#_repeated_time_out_requests_that_eventually_fail", @@ -662,6 +670,7 @@ Object { "properties": Object {}, }, "tempIndex": ".my-so-index_7.11.0_reindex_temp", + "tempIndexAlias": ".my-so-index_7.11.0_reindex_temp_alias", "tempIndexMappings": Object { "dynamic": false, "properties": Object { @@ -856,7 +865,9 @@ Object { "message": "Log from DONE control state", }, ], + "maxBatchSize": 1000, "maxBatchSizeBytes": 100000000, + "maxReadBatchSizeBytes": 536870888, "migrationDocLinks": Object { "clusterShardLimitExceeded": "https://www.elastic.co/guide/en/kibana/test-branch/resolve-migrations-failures.html#cluster-shard-limit-exceeded", "repeatedTimeoutRequests": "https://www.elastic.co/guide/en/kibana/test-branch/resolve-migrations-failures.html#_repeated_time_out_requests_that_eventually_fail", @@ -896,6 +907,7 @@ Object { "properties": Object {}, }, "tempIndex": ".my-so-index_7.11.0_reindex_temp", + "tempIndexAlias": ".my-so-index_7.11.0_reindex_temp_alias", "tempIndexMappings": Object { "dynamic": false, "properties": Object { @@ -1110,7 +1122,9 @@ Object { "message": "Log from LEGACY_DELETE control state", }, ], + "maxBatchSize": 1000, "maxBatchSizeBytes": 100000000, + "maxReadBatchSizeBytes": 536870888, "migrationDocLinks": Object { "clusterShardLimitExceeded": "https://www.elastic.co/guide/en/kibana/test-branch/resolve-migrations-failures.html#cluster-shard-limit-exceeded", "repeatedTimeoutRequests": "https://www.elastic.co/guide/en/kibana/test-branch/resolve-migrations-failures.html#_repeated_time_out_requests_that_eventually_fail", @@ -1155,6 +1169,7 @@ Object { "properties": Object {}, }, "tempIndex": ".my-so-index_7.11.0_reindex_temp", + "tempIndexAlias": ".my-so-index_7.11.0_reindex_temp_alias", "tempIndexMappings": Object { "dynamic": false, "properties": Object { @@ -1347,7 +1362,9 @@ Object { "message": "Log from FATAL control state", }, ], + "maxBatchSize": 1000, "maxBatchSizeBytes": 100000000, + "maxReadBatchSizeBytes": 536870888, "migrationDocLinks": Object { "clusterShardLimitExceeded": "https://www.elastic.co/guide/en/kibana/test-branch/resolve-migrations-failures.html#cluster-shard-limit-exceeded", "repeatedTimeoutRequests": "https://www.elastic.co/guide/en/kibana/test-branch/resolve-migrations-failures.html#_repeated_time_out_requests_that_eventually_fail", @@ -1392,6 +1409,7 @@ Object { "properties": Object {}, }, "tempIndex": ".my-so-index_7.11.0_reindex_temp", + "tempIndexAlias": ".my-so-index_7.11.0_reindex_temp_alias", "tempIndexMappings": Object { "dynamic": false, "properties": Object { diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/bulk_overwrite_transformed_documents.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/bulk_overwrite_transformed_documents.ts index 716683c1938fb..76c250a16c17b 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/bulk_overwrite_transformed_documents.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/bulk_overwrite_transformed_documents.ts @@ -26,6 +26,12 @@ export interface BulkOverwriteTransformedDocumentsParams { index: string; operations: BulkOperation[]; refresh?: estypes.Refresh; + /** + * If true, we prevent Elasticsearch from auto-creating the index if it + * doesn't exist. We use the ES paramater require_alias: true so `index` + * must be an alias, otherwise the bulk index will fail. + */ + useAliasToPreventAutoCreate?: boolean; } /** @@ -38,6 +44,7 @@ export const bulkOverwriteTransformedDocuments = index, operations, refresh = false, + useAliasToPreventAutoCreate = false, }: BulkOverwriteTransformedDocumentsParams): TaskEither.TaskEither< | RetryableEsClientError | TargetIndexHadWriteBlock @@ -56,7 +63,7 @@ export const bulkOverwriteTransformedDocuments = // probably unlikely so for now we'll accept this risk and wait till // system indices puts in place a hard control. index, - require_alias: false, + require_alias: useAliasToPreventAutoCreate, wait_for_active_shards: WAIT_FOR_ALL_SHARDS_TO_BE_ACTIVE, refresh, filter_path: ['items.*.error'], diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/catch_retryable_es_client_errors.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/catch_retryable_es_client_errors.test.ts index 989e50af73683..ffe0189abe237 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/catch_retryable_es_client_errors.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/catch_retryable_es_client_errors.test.ts @@ -72,7 +72,7 @@ describe('catchRetryableEsClientErrors', () => { }); }); it('ResponseError with retryable status code', async () => { - const statusCodes = [503, 401, 403, 408, 410]; + const statusCodes = [503, 401, 403, 408, 410, 429]; return Promise.all( statusCodes.map(async (status) => { const error = new esErrors.ResponseError( diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/catch_retryable_es_client_errors.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/catch_retryable_es_client_errors.ts index 168e3170d30bf..74877c9386422 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/catch_retryable_es_client_errors.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/catch_retryable_es_client_errors.ts @@ -15,6 +15,7 @@ const retryResponseStatuses = [ 403, // AuthenticationException 408, // RequestTimeout 410, // Gone + 429, // TooManyRequests -> ES circuit breaker ]; export interface RetryableEsClientError { diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/cleanup_unknown_and_excluded.mocks.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/cleanup_unknown_and_excluded.mocks.ts index 1b0e0a49e5062..54fb9902cc53e 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/cleanup_unknown_and_excluded.mocks.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/cleanup_unknown_and_excluded.mocks.ts @@ -97,6 +97,11 @@ export const initialExcludeOnUpgradeQueryMock = { type: 'ml-telemetry', }, }, + { + term: { + type: 'osquery-manager-usage-metric', + }, + }, { term: { type: 'osquery-usage-metric', diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/constants.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/constants.ts index 536ae1d256960..8432e60bf2329 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/constants.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/constants.ts @@ -6,11 +6,6 @@ * Side Public License, v 1. */ -/** - * Batch size for updateByQuery and reindex operations. - * Uses the default value of 1000 for Elasticsearch reindex operation. - */ -export const BATCH_SIZE = 1_000; /** * When a request takes a long time to complete and hits the timeout or the * client aborts that request due to the requestTimeout, our only course of diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/create_index.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/create_index.ts index 0e68b0cef14c5..1d492301f45bd 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/create_index.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/create_index.ts @@ -12,7 +12,6 @@ import { pipe } from 'fp-ts/lib/pipeable'; import * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; import type { IndexMapping } from '@kbn/core-saved-objects-base-server-internal'; -import type { AcknowledgeResponse } from '.'; import { catchRetryableEsClientErrors, type RetryableEsClientError, @@ -46,6 +45,9 @@ export interface CreateIndexParams { aliases?: string[]; timeout?: string; } + +export type CreateIndexSuccessResponse = 'create_index_succeeded' | 'index_already_exists'; + /** * Creates an index with the given mappings * @@ -64,11 +66,11 @@ export const createIndex = ({ timeout = DEFAULT_TIMEOUT, }: CreateIndexParams): TaskEither.TaskEither< RetryableEsClientError | IndexNotGreenTimeout | ClusterShardLimitExceeded, - 'create_index_succeeded' + CreateIndexSuccessResponse > => { const createIndexTask: TaskEither.TaskEither< RetryableEsClientError | ClusterShardLimitExceeded, - AcknowledgeResponse + CreateIndexSuccessResponse > = () => { const aliasesObject = aliasArrayToRecord(aliases); @@ -103,31 +105,12 @@ export const createIndex = ({ }, }, }) - .then((res) => { - /** - * - acknowledged=false, we timed out before the cluster state was - * updated on all nodes with the newly created index, but it - * probably will be created sometime soon. - * - shards_acknowledged=false, we timed out before all shards were - * started - * - acknowledged=true, shards_acknowledged=true, index creation complete - */ - return Either.right({ - acknowledged: Boolean(res.acknowledged), - shardsAcknowledged: res.shards_acknowledged, - }); + .then(() => { + return Either.right('create_index_succeeded' as const); }) .catch((error) => { if (error?.body?.error?.type === 'resource_already_exists_exception') { - /** - * If the target index already exists it means a previous create - * operation had already been started. However, we can't be sure - * that all shards were started so return shardsAcknowledged: false - */ - return Either.right({ - acknowledged: true, - shardsAcknowledged: false, - }); + return Either.right('index_already_exists' as const); } else if (isClusterShardLimitExceeded(error?.body?.error)) { return Either.left({ type: 'cluster_shard_limit_exceeded' as const, @@ -143,28 +126,22 @@ export const createIndex = ({ createIndexTask, TaskEither.chain< RetryableEsClientError | IndexNotGreenTimeout | ClusterShardLimitExceeded, - AcknowledgeResponse, - 'create_index_succeeded' + CreateIndexSuccessResponse, + CreateIndexSuccessResponse >((res) => { - if (res.acknowledged && res.shardsAcknowledged) { - // If the cluster state was updated and all shards started we're done - return TaskEither.right('create_index_succeeded'); - } else { - // Otherwise, wait until the target index has a 'green' status meaning - // the primary (and on multi node clusters) the replica has been started - return pipe( - waitForIndexStatus({ - client, - index: indexName, - timeout: DEFAULT_TIMEOUT, - status: 'green', - }), - TaskEither.map(() => { - /** When the index status is 'green' we know that all shards were started */ - return 'create_index_succeeded'; - }) - ); - } + // Systematicaly wait until the target index has a 'green' status meaning + // the primary (and on multi node clusters) the replica has been started + // When the index status is 'green' we know that all shards were started + // see https://github.com/elastic/kibana/issues/157968 + return pipe( + waitForIndexStatus({ + client, + index: indexName, + timeout: DEFAULT_TIMEOUT, + status: 'green', + }), + TaskEither.map(() => res) + ); }) ); }; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/index.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/index.ts index ad8b881dd1530..5af2471a7f72e 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/index.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/index.ts @@ -12,7 +12,6 @@ import type { RetryableEsClientError } from './catch_retryable_es_client_errors' import type { DocumentsTransformFailed } from '../core/migrate_raw_docs'; export { - BATCH_SIZE, DEFAULT_TIMEOUT, INDEX_AUTO_EXPAND_REPLICAS, INDEX_NUMBER_OF_SHARDS, @@ -107,7 +106,8 @@ export { import type { UnknownDocsFound } from './check_for_unknown_docs'; import type { IncompatibleClusterRoutingAllocation } from './initialize_action'; -import { ClusterShardLimitExceeded } from './create_index'; +import type { ClusterShardLimitExceeded } from './create_index'; +import type { SynchronizationFailed } from './synchronize_migrators'; export type { CheckForUnknownDocsParams, @@ -147,6 +147,11 @@ export interface RequestEntityTooLargeException { type: 'request_entity_too_large_exception'; } +export interface EsResponseTooLargeError { + type: 'es_response_too_large'; + contentLength: number; +} + /** @internal */ export interface AcknowledgeResponse { acknowledged: boolean; @@ -169,6 +174,8 @@ export interface ActionErrorTypeMap { index_not_green_timeout: IndexNotGreenTimeout; index_not_yellow_timeout: IndexNotYellowTimeout; cluster_shard_limit_exceeded: ClusterShardLimitExceeded; + es_response_too_large: EsResponseTooLargeError; + synchronization_failed: SynchronizationFailed; } /** diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/pickup_updated_mappings.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/pickup_updated_mappings.test.ts index 41253ebcd1ed2..9d2c1092e6363 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/pickup_updated_mappings.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/pickup_updated_mappings.test.ts @@ -29,7 +29,7 @@ describe('pickupUpdatedMappings', () => { elasticsearchClientMock.createErrorTransportRequestPromise(retryableError) ); it('calls catchRetryableEsClientErrors when the promise rejects', async () => { - const task = pickupUpdatedMappings(client, 'my_index'); + const task = pickupUpdatedMappings(client, 'my_index', 1000); try { await task(); } catch (e) { diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/pickup_updated_mappings.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/pickup_updated_mappings.ts index 0e34857b4f208..8b6205cb7cc6f 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/pickup_updated_mappings.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/pickup_updated_mappings.ts @@ -13,7 +13,6 @@ import { catchRetryableEsClientErrors, type RetryableEsClientError, } from './catch_retryable_es_client_errors'; -import { BATCH_SIZE } from './constants'; export interface UpdateByQueryResponse { taskId: string; @@ -35,7 +34,8 @@ export interface UpdateByQueryResponse { export const pickupUpdatedMappings = ( client: ElasticsearchClient, - index: string + index: string, + batchSize: number ): TaskEither.TaskEither => () => { return client @@ -46,7 +46,7 @@ export const pickupUpdatedMappings = allow_no_indices: false, index, // How many documents to update per batch - scroll_size: BATCH_SIZE, + scroll_size: batchSize, // force a refresh so that we can query the updated index immediately // after the operation completes refresh: true, diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/read_with_pit.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/read_with_pit.test.ts index d2f7a3ab3c3d7..181ae3d8b6a98 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/read_with_pit.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/read_with_pit.test.ts @@ -32,23 +32,54 @@ describe('readWithPit', () => { pitId: 'pitId', query: { match_all: {} }, batchSize: 10_000, + maxResponseSizeBytes: 100_000, })(); expect(client.search).toHaveBeenCalledTimes(1); - expect(client.search).toHaveBeenCalledWith({ - allow_partial_search_results: false, - pit: { - id: 'pitId', - keep_alive: '10m', - }, - query: { - match_all: {}, + expect(client.search).toHaveBeenCalledWith( + { + allow_partial_search_results: false, + pit: { + id: 'pitId', + keep_alive: '10m', + }, + query: { + match_all: {}, + }, + search_after: undefined, + seq_no_primary_term: undefined, + size: 10000, + sort: '_shard_doc:asc', + track_total_hits: true, }, - search_after: undefined, - seq_no_primary_term: undefined, - size: 10000, - sort: '_shard_doc:asc', - track_total_hits: true, + { maxResponseSize: 100_000 } + ); + }); + + it('returns left es_response_too_large when client throws RequestAbortedError', async () => { + // Create a mock client that rejects all methods with a RequestAbortedError + // response. + const retryableError = new EsErrors.RequestAbortedError( + 'The content length (536870889) is bigger than the maximum allow string (536870888)' + ); + const client = elasticsearchClientMock.createInternalClient( + elasticsearchClientMock.createErrorTransportRequestPromise(retryableError) + ); + + const task = readWithPit({ + client, + pitId: 'pitId', + query: { match_all: {} }, + batchSize: 10_000, + }); + try { + await task(); + } catch (e) { + /** ignore */ + } + await expect(task()).resolves.toEqual({ + _tag: 'Left', + left: { contentLength: 536870889, type: 'es_response_too_large' }, }); }); diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/read_with_pit.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/read_with_pit.ts index 1d0303947c1b6..91652f2175ff7 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/read_with_pit.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/read_with_pit.ts @@ -9,6 +9,7 @@ import * as Either from 'fp-ts/lib/Either'; import * as TaskEither from 'fp-ts/lib/TaskEither'; import * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; +import { errors as EsErrors } from '@elastic/elasticsearch'; import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; import type { SavedObjectsRawDoc } from '@kbn/core-saved-objects-server'; import { @@ -16,6 +17,7 @@ import { type RetryableEsClientError, } from './catch_retryable_es_client_errors'; import { DEFAULT_PIT_KEEP_ALIVE } from './open_pit'; +import { EsResponseTooLargeError } from '.'; /** @internal */ export interface ReadWithPit { @@ -32,6 +34,7 @@ export interface ReadWithPitParams { batchSize: number; searchAfter?: number[]; seqNoPrimaryTerm?: boolean; + maxResponseSizeBytes?: number; } /* @@ -45,32 +48,39 @@ export const readWithPit = batchSize, searchAfter, seqNoPrimaryTerm, - }: ReadWithPitParams): TaskEither.TaskEither => + maxResponseSizeBytes, + }: ReadWithPitParams): TaskEither.TaskEither< + RetryableEsClientError | EsResponseTooLargeError, + ReadWithPit + > => () => { return client - .search({ - seq_no_primary_term: seqNoPrimaryTerm, - // Fail if the index being searched doesn't exist or is closed - // allow_no_indices: false, - // By default ES returns a 200 with partial results if there are shard - // request timeouts or shard failures which can lead to data loss for - // migrations - allow_partial_search_results: false, - // Sort fields are required to use searchAfter so we sort by the - // natural order of the index which is the most efficient option - // as order is not important for the migration - sort: '_shard_doc:asc', - pit: { id: pitId, keep_alive: DEFAULT_PIT_KEEP_ALIVE }, - size: batchSize, - search_after: searchAfter, - /** - * We want to know how many documents we need to process so we can log the progress. - * But we also want to increase the performance of these requests, - * so we ask ES to report the total count only on the first request (when searchAfter does not exist) - */ - track_total_hits: typeof searchAfter === 'undefined', - query, - }) + .search( + { + seq_no_primary_term: seqNoPrimaryTerm, + // Fail if the index being searched doesn't exist or is closed + // allow_no_indices: false, + // By default ES returns a 200 with partial results if there are shard + // request timeouts or shard failures which can lead to data loss for + // migrations + allow_partial_search_results: false, + // Sort fields are required to use searchAfter so we sort by the + // natural order of the index which is the most efficient option + // as order is not important for the migration + sort: '_shard_doc:asc', + pit: { id: pitId, keep_alive: DEFAULT_PIT_KEEP_ALIVE }, + size: batchSize, + search_after: searchAfter, + /** + * We want to know how many documents we need to process so we can log the progress. + * But we also want to increase the performance of these requests, + * so we ask ES to report the total count only on the first request (when searchAfter does not exist) + */ + track_total_hits: typeof searchAfter === 'undefined', + query, + }, + { maxResponseSize: maxResponseSizeBytes } + ) .then((body) => { const totalHits = typeof body.hits.total === 'number' @@ -93,5 +103,22 @@ export const readWithPit = totalHits, }); }) + .catch((e) => { + if ( + e instanceof EsErrors.RequestAbortedError && + /The content length \(\d+\) is bigger than the maximum/.test(e.message) + ) { + return Either.left({ + type: 'es_response_too_large' as const, + contentLength: Number.parseInt( + e.message.match(/The content length \((\d+)\) is bigger than the maximum/)?.[1] ?? + '-1', + 10 + ), + }); + } else { + throw e; + } + }) .catch(catchRetryableEsClientErrors); }; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/reindex.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/reindex.test.ts index 969150a21cfcd..50f1b039ef1c1 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/reindex.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/reindex.test.ts @@ -18,19 +18,18 @@ describe('reindex', () => { jest.clearAllMocks(); }); - // Create a mock client that rejects all methods with a 503 status code - // response. - const retryableError = new EsErrors.ResponseError( - elasticsearchClientMock.createApiResponse({ - statusCode: 503, - body: { error: { type: 'es_type', reason: 'es_reason' } }, - }) - ); - const client = elasticsearchClientMock.createInternalClient( - elasticsearchClientMock.createErrorTransportRequestPromise(retryableError) - ); - it('calls catchRetryableEsClientErrors when the promise rejects', async () => { + // Create a mock client that rejects all methods with a 503 status code + // response. + const retryableError = new EsErrors.ResponseError( + elasticsearchClientMock.createApiResponse({ + statusCode: 503, + body: { error: { type: 'es_type', reason: 'es_reason' } }, + }) + ); + const client = elasticsearchClientMock.createInternalClient( + elasticsearchClientMock.createErrorTransportRequestPromise(retryableError) + ); const task = reindex({ client, sourceIndex: 'my_source_index', @@ -38,6 +37,7 @@ describe('reindex', () => { reindexScript: Option.none, requireAlias: false, excludeOnUpgradeQuery: {}, + batchSize: 1000, }); try { await task(); @@ -46,4 +46,47 @@ describe('reindex', () => { } expect(catchRetryableEsClientErrors).toHaveBeenCalledWith(retryableError); }); + + it('passes options to Elasticsearch client', async () => { + const client = elasticsearchClientMock.createInternalClient( + elasticsearchClientMock.createSuccessTransportRequestPromise({ + hits: { + total: 0, + hits: [], + }, + }) + ); + const task = reindex({ + client, + sourceIndex: 'my_source_index', + targetIndex: 'my_target_index', + reindexScript: Option.some('my script'), + requireAlias: false, + excludeOnUpgradeQuery: { match_all: {} }, + batchSize: 99, + }); + try { + await task(); + } catch (e) { + /** ignore */ + } + expect(client.reindex).toHaveBeenCalledTimes(1); + expect(client.reindex).toHaveBeenCalledWith( + expect.objectContaining({ + body: { + conflicts: 'proceed', + source: { + index: 'my_source_index', + size: 99, + query: { match_all: {} }, + }, + dest: { + index: 'my_target_index', + op_type: 'create', + }, + script: { lang: 'painless', source: 'my script' }, + }, + }) + ); + }); }); diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/reindex.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/reindex.ts index 594822f724760..6ce4d74e728c0 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/reindex.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/reindex.ts @@ -15,7 +15,6 @@ import { catchRetryableEsClientErrors, type RetryableEsClientError, } from './catch_retryable_es_client_errors'; -import { BATCH_SIZE } from './constants'; /** @internal */ export interface ReindexResponse { @@ -34,6 +33,8 @@ export interface ReindexParams { * index for backup purposes, but won't be available in the upgraded index. */ excludeOnUpgradeQuery: QueryDslQueryContainer; + /** Number of documents Elasticsearch will read/write in each batch */ + batchSize: number; } /** @@ -52,6 +53,7 @@ export const reindex = reindexScript, requireAlias, excludeOnUpgradeQuery, + batchSize, }: ReindexParams): TaskEither.TaskEither => () => { return client @@ -65,7 +67,7 @@ export const reindex = source: { index: sourceIndex, // Set reindex batch size - size: BATCH_SIZE, + size: batchSize, // Exclude saved object types query: excludeOnUpgradeQuery, }, diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/synchronize_migrators.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/synchronize_migrators.test.ts index a5a8e9c25f929..891aeb0a32ee2 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/synchronize_migrators.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/synchronize_migrators.test.ts @@ -6,55 +6,69 @@ * Side Public License, v 1. */ import { synchronizeMigrators } from './synchronize_migrators'; -import { type Defer, defer } from '../kibana_migrator_utils'; +import { type WaitGroup, waitGroup as createWaitGroup } from '../kibana_migrator_utils'; describe('synchronizeMigrators', () => { - let defers: Array>; - let allDefersPromise: Promise; - let migratorsDefers: Array>; + let waitGroups: Array>; + let allWaitGroupsPromise: Promise; + let migratorsWaitGroups: Array>; beforeEach(() => { jest.clearAllMocks(); - defers = ['.kibana_cases', '.kibana_task_manager', '.kibana'].map(defer); - allDefersPromise = Promise.all(defers.map(({ promise }) => promise)); + waitGroups = ['.kibana_cases', '.kibana_task_manager', '.kibana'].map(createWaitGroup); + allWaitGroupsPromise = Promise.all(waitGroups.map(({ promise }) => promise)); - migratorsDefers = defers.map(({ resolve, reject }) => ({ + migratorsWaitGroups = waitGroups.map(({ resolve, reject }) => ({ resolve: jest.fn(resolve), reject: jest.fn(reject), - promise: allDefersPromise, + promise: allWaitGroupsPromise, })); }); describe('when all migrators reach the synchronization point with a correct state', () => { it('unblocks all migrators and resolves Right', async () => { - const tasks = migratorsDefers.map((migratorDefer) => synchronizeMigrators(migratorDefer)); + const tasks = migratorsWaitGroups.map((waitGroup) => synchronizeMigrators({ waitGroup })); const res = await Promise.all(tasks.map((task) => task())); - migratorsDefers.forEach((migratorDefer) => - expect(migratorDefer.resolve).toHaveBeenCalledTimes(1) - ); - migratorsDefers.forEach((migratorDefer) => - expect(migratorDefer.reject).not.toHaveBeenCalled() + migratorsWaitGroups.forEach((waitGroup) => + expect(waitGroup.resolve).toHaveBeenCalledTimes(1) ); + migratorsWaitGroups.forEach((waitGroup) => expect(waitGroup.reject).not.toHaveBeenCalled()); expect(res).toEqual([ - { _tag: 'Right', right: 'synchronized_successfully' }, - { _tag: 'Right', right: 'synchronized_successfully' }, - { _tag: 'Right', right: 'synchronized_successfully' }, + { + _tag: 'Right', + right: { + data: [undefined, undefined, undefined], + type: 'synchronization_successful', + }, + }, + { + _tag: 'Right', + right: { + data: [undefined, undefined, undefined], + type: 'synchronization_successful', + }, + }, + { + _tag: 'Right', + right: { + data: [undefined, undefined, undefined], + type: 'synchronization_successful', + }, + }, ]); }); it('migrators are not unblocked until the last one reaches the synchronization point', async () => { let resolved: number = 0; - migratorsDefers.forEach((migratorDefer) => migratorDefer.promise.then(() => ++resolved)); - const [casesDefer, ...otherMigratorsDefers] = migratorsDefers; + migratorsWaitGroups.forEach((waitGroup) => waitGroup.promise.then(() => ++resolved)); + const [casesDefer, ...otherMigratorsDefers] = migratorsWaitGroups; // we simulate that only kibana_task_manager and kibana migrators get to the sync point - const tasks = otherMigratorsDefers.map((migratorDefer) => - synchronizeMigrators(migratorDefer) - ); + const tasks = otherMigratorsDefers.map((waitGroup) => synchronizeMigrators({ waitGroup })); // we don't await for them, or we would be locked forever Promise.all(tasks.map((task) => task())); @@ -65,7 +79,7 @@ describe('synchronizeMigrators', () => { expect(resolved).toEqual(0); // finally, the last migrator gets to the synchronization point - await synchronizeMigrators(casesDefer)(); + await synchronizeMigrators({ waitGroup: casesDefer })(); expect(resolved).toEqual(3); }); }); @@ -75,31 +89,29 @@ describe('synchronizeMigrators', () => { it('synchronizedMigrators resolves Left for the rest of migrators', async () => { let resolved: number = 0; let errors: number = 0; - migratorsDefers.forEach((migratorDefer) => - migratorDefer.promise.then(() => ++resolved).catch(() => ++errors) + migratorsWaitGroups.forEach((waitGroup) => + waitGroup.promise.then(() => ++resolved).catch(() => ++errors) ); - const [casesDefer, ...otherMigratorsDefers] = migratorsDefers; + const [casesDefer, ...otherMigratorsDefers] = migratorsWaitGroups; // we first make one random migrator fail and not reach the sync point casesDefer.reject('Oops. The cases migrator failed unexpectedly.'); // the other migrators then try to synchronize - const tasks = otherMigratorsDefers.map((migratorDefer) => - synchronizeMigrators(migratorDefer) - ); + const tasks = otherMigratorsDefers.map((waitGroup) => synchronizeMigrators({ waitGroup })); expect(Promise.all(tasks.map((task) => task()))).resolves.toEqual([ { _tag: 'Left', left: { - type: 'sync_failed', + type: 'synchronization_failed', error: 'Oops. The cases migrator failed unexpectedly.', }, }, { _tag: 'Left', left: { - type: 'sync_failed', + type: 'synchronization_failed', error: 'Oops. The cases migrator failed unexpectedly.', }, }, @@ -116,15 +128,13 @@ describe('synchronizeMigrators', () => { it('synchronizedMigrators resolves Left for the rest of migrators', async () => { let resolved: number = 0; let errors: number = 0; - migratorsDefers.forEach((migratorDefer) => - migratorDefer.promise.then(() => ++resolved).catch(() => ++errors) + migratorsWaitGroups.forEach((waitGroup) => + waitGroup.promise.then(() => ++resolved).catch(() => ++errors) ); - const [casesDefer, ...otherMigratorsDefers] = migratorsDefers; + const [casesDefer, ...otherMigratorsDefers] = migratorsWaitGroups; // some migrators try to synchronize - const tasks = otherMigratorsDefers.map((migratorDefer) => - synchronizeMigrators(migratorDefer) - ); + const tasks = otherMigratorsDefers.map((waitGroup) => synchronizeMigrators({ waitGroup })); // we then make one random migrator fail and not reach the sync point casesDefer.reject('Oops. The cases migrator failed unexpectedly.'); @@ -133,14 +143,14 @@ describe('synchronizeMigrators', () => { { _tag: 'Left', left: { - type: 'sync_failed', + type: 'synchronization_failed', error: 'Oops. The cases migrator failed unexpectedly.', }, }, { _tag: 'Left', left: { - type: 'sync_failed', + type: 'synchronization_failed', error: 'Oops. The cases migrator failed unexpectedly.', }, }, diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/synchronize_migrators.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/synchronize_migrators.ts index 26763f1f51ae2..96184c8cf8d50 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/synchronize_migrators.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/synchronize_migrators.ts @@ -8,20 +8,37 @@ import * as Either from 'fp-ts/lib/Either'; import * as TaskEither from 'fp-ts/lib/TaskEither'; -import type { Defer } from '../kibana_migrator_utils'; +import type { WaitGroup } from '../kibana_migrator_utils'; -export interface SyncFailed { - type: 'sync_failed'; +/** @internal */ +export interface SynchronizationFailed { + type: 'synchronization_failed'; error: Error; } -export function synchronizeMigrators( - defer: Defer -): TaskEither.TaskEither { +/** @internal */ +export interface SynchronizationSuccessful { + type: 'synchronization_successful'; + data: T[]; +} + +/** @internal */ +export interface SynchronizeMigratorsParams { + waitGroup: WaitGroup; + payload?: T; +} + +export function synchronizeMigrators({ + waitGroup, + payload, +}: SynchronizeMigratorsParams): TaskEither.TaskEither< + SynchronizationFailed, + SynchronizationSuccessful +> { return () => { - defer.resolve(); - return defer.promise - .then(() => Either.right('synchronized_successfully' as const)) - .catch((error) => Either.left({ type: 'sync_failed' as const, error })); + waitGroup.resolve(payload); + return waitGroup.promise + .then((data: T[]) => Either.right({ type: 'synchronization_successful' as const, data })) + .catch((error) => Either.left({ type: 'synchronization_failed' as const, error })); }; } diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/update_and_pickup_mappings.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/update_and_pickup_mappings.test.ts index da243af9a7ebc..6b227ea2ef66a 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/update_and_pickup_mappings.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/update_and_pickup_mappings.test.ts @@ -36,6 +36,7 @@ describe('updateAndPickupMappings', () => { client, index: 'new_index', mappings: { properties: {} }, + batchSize: 1000, }); try { await task(); @@ -65,6 +66,7 @@ describe('updateAndPickupMappings', () => { }, }, }, + batchSize: 1000, }); try { await task(); diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/update_and_pickup_mappings.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/update_and_pickup_mappings.ts index 653a90746dea0..58fd65c9718d0 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/update_and_pickup_mappings.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/update_and_pickup_mappings.ts @@ -28,6 +28,7 @@ export interface UpdateAndPickupMappingsParams { client: ElasticsearchClient; index: string; mappings: IndexMapping; + batchSize: number; } /** * Updates an index's mappings and runs an pickupUpdatedMappings task so that the mapping @@ -37,6 +38,7 @@ export const updateAndPickupMappings = ({ client, index, mappings, + batchSize, }: UpdateAndPickupMappingsParams): TaskEither.TaskEither< RetryableEsClientError, UpdateAndPickupMappingsResponse @@ -74,7 +76,7 @@ export const updateAndPickupMappings = ({ return pipe( putMappingTask, TaskEither.chain((res) => { - return pickupUpdatedMappings(client, index); + return pickupUpdatedMappings(client, index, batchSize); }) ); }; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/build_types_mappings.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/build_types_mappings.ts index 6c78ae52550c5..18aa689149c24 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/build_types_mappings.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/core/build_types_mappings.ts @@ -15,14 +15,12 @@ import type { SavedObjectsTypeMappingDefinitions } from '@kbn/core-saved-objects export const buildTypesMappings = ( types: SavedObjectsType[] ): SavedObjectsTypeMappingDefinitions => { - return types.reduce((acc, { name: type, mappings }) => { + return types.reduce((acc, { name: type, mappings }) => { const duplicate = acc.hasOwnProperty(type); if (duplicate) { throw new Error(`Type ${type} is already defined.`); } - return { - ...acc, - [type]: mappings, - }; + acc[type] = mappings; + return acc; }, {}); }; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/build_active_migrations.test.mocks.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/build_active_migrations.test.mocks.ts index ef63b7834e433..1fa2bd5f84c7c 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/build_active_migrations.test.mocks.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/build_active_migrations.test.mocks.ts @@ -17,9 +17,11 @@ jest.doMock('./internal_transforms', () => ({ })); export const getModelVersionTransformsMock = jest.fn(); +export const getModelVersionSchemasMock = jest.fn(); jest.doMock('./model_version', () => ({ getModelVersionTransforms: getModelVersionTransformsMock, + getModelVersionSchemas: getModelVersionSchemasMock, })); export const validateTypeMigrationsMock = jest.fn(); @@ -33,5 +35,6 @@ export const resetAllMocks = () => { getReferenceTransformsMock.mockReset().mockReturnValue([]); getConversionTransformsMock.mockReset().mockReturnValue([]); getModelVersionTransformsMock.mockReset().mockReturnValue([]); + getModelVersionSchemasMock.mockReset().mockReturnValue({}); validateTypeMigrationsMock.mockReset(); }; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/build_active_migrations.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/build_active_migrations.test.ts index 5837e9860456e..af71b8d369bd9 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/build_active_migrations.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/build_active_migrations.test.ts @@ -10,6 +10,7 @@ import { getCoreTransformsMock, getConversionTransformsMock, getModelVersionTransformsMock, + getModelVersionSchemasMock, getReferenceTransformsMock, resetAllMocks, validateTypeMigrationsMock, @@ -39,17 +40,20 @@ describe('buildActiveMigrations', () => { ...parts, }); - const transform = (type: TransformType, version: string): Transform => ({ + const transform = (type: TransformType, version: string, deferred?: boolean): Transform => ({ + ...(deferred != null ? { deferred } : {}), version, transformType: type, transform: jest.fn(), }); - const expectTransform = (type: TransformType, version: string): Transform => ({ - version, - transformType: type, - transform: expect.any(Function), - }); + const expectTransform = (type: TransformType, version: string, deferred?: boolean): Transform => + expect.objectContaining({ + ...(deferred != null ? { deferred } : {}), + version, + transformType: type, + transform: expect.any(Function), + }); const addType = (parts: Partial) => { typeRegistry.registerType(createType(parts)); @@ -123,7 +127,14 @@ describe('buildActiveMigrations', () => { migrations: { '7.12.0': jest.fn(), '7.16.0': jest.fn(), - '8.3.0': jest.fn(), + '8.3.0': { + transform: jest.fn(), + }, + '8.4.0': { + // @ts-expect-error + deferred: true, + transform: jest.fn(), + }, }, }); @@ -131,9 +142,10 @@ describe('buildActiveMigrations', () => { expect(Object.keys(migrations).sort()).toEqual(['foo']); expect(migrations.foo.transforms).toEqual([ - expectTransform(TransformType.Migrate, '7.12.0'), - expectTransform(TransformType.Migrate, '7.16.0'), - expectTransform(TransformType.Migrate, '8.3.0'), + expectTransform(TransformType.Migrate, '7.12.0', false), + expectTransform(TransformType.Migrate, '7.16.0', false), + expectTransform(TransformType.Migrate, '8.3.0', false), + expectTransform(TransformType.Migrate, '8.4.0', true), ]); }); }); @@ -184,6 +196,60 @@ describe('buildActiveMigrations', () => { }); }); + describe('model version schemas', () => { + it('calls getModelVersionSchemas with the correct parameters', () => { + const foo = createType({ name: 'foo' }); + const bar = createType({ name: 'bar' }); + + addType(foo); + addType(bar); + + buildMigrations(); + + expect(getModelVersionSchemasMock).toHaveBeenCalledTimes(2); + expect(getModelVersionSchemasMock).toHaveBeenNthCalledWith(1, { + typeDefinition: foo, + }); + expect(getModelVersionSchemasMock).toHaveBeenNthCalledWith(2, { + typeDefinition: bar, + }); + }); + + it('adds the schemas from getModelVersionSchemas to each type', () => { + const foo = createType({ name: 'foo' }); + const bar = createType({ name: 'bar' }); + + addType(foo); + addType(bar); + + getModelVersionSchemasMock.mockImplementation( + ({ typeDefinition }: { typeDefinition: SavedObjectsType }) => { + if (typeDefinition.name === 'foo') { + return { + '7.10.0': jest.fn(), + }; + } else { + return { + '8.3.0': jest.fn(), + '8.4.0': jest.fn(), + }; + } + } + ); + + const migrations = buildMigrations(); + + expect(Object.keys(migrations).sort()).toEqual(['bar', 'foo']); + expect(migrations.foo.versionSchemas).toEqual({ + '7.10.0': expect.any(Function), + }); + expect(migrations.bar.versionSchemas).toEqual({ + '8.3.0': expect.any(Function), + '8.4.0': expect.any(Function), + }); + }); + }); + describe('internal transforms', () => { it('calls getReferenceTransforms with the correct parameters', () => { const foo = createType({ name: 'foo' }); @@ -339,4 +405,71 @@ describe('buildActiveMigrations', () => { ]); }); }); + + describe('versions', () => { + it('returns the latest migrations versions', () => { + addType({ + name: 'foo', + migrations: { + '7.12.0': jest.fn(), + '7.16.0': jest.fn(), + '8.3.0': jest.fn(), + }, + }); + getCoreTransformsMock.mockReturnValue([ + transform(TransformType.Core, '8.8.0'), + transform(TransformType.Core, '8.9.0'), + ]); + getReferenceTransformsMock.mockReturnValue([ + transform(TransformType.Reference, '7.12.0'), + transform(TransformType.Reference, '7.17.3'), + ]); + getConversionTransformsMock.mockReturnValue([ + transform(TransformType.Convert, '7.14.0'), + transform(TransformType.Convert, '7.15.0'), + ]); + + expect(buildMigrations()).toHaveProperty( + 'foo.latestVersion', + expect.objectContaining({ + [TransformType.Convert]: '7.15.0', + [TransformType.Core]: '8.9.0', + [TransformType.Migrate]: '8.3.0', + [TransformType.Reference]: '7.17.3', + }) + ); + }); + + it('returns the latest not deferred migrations versions', () => { + addType({ + name: 'foo', + migrations: { + '7.12.0': { + // @ts-expect-error + deferred: true, + transform: jest.fn(), + }, + '7.16.0': jest.fn(), + '8.3.0': { + // @ts-expect-error + deferred: true, + transform: jest.fn(), + }, + }, + }); + getCoreTransformsMock.mockReturnValue([ + transform(TransformType.Core, '8.7.0', true), + transform(TransformType.Core, '8.8.0'), + transform(TransformType.Core, '8.9.0', true), + ]); + + expect(buildMigrations()).toHaveProperty( + 'foo.immediateVersion', + expect.objectContaining({ + [TransformType.Core]: '8.8.0', + [TransformType.Migrate]: '7.16.0', + }) + ); + }); + }); }); diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/build_active_migrations.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/build_active_migrations.ts index d09e9996be64d..879616fe26869 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/build_active_migrations.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/build_active_migrations.ts @@ -17,7 +17,7 @@ import { } from './internal_transforms'; import { validateTypeMigrations } from './validate_migrations'; import { transformComparator, convertMigrationFunction } from './utils'; -import { getModelVersionTransforms } from './model_version'; +import { getModelVersionTransforms, getModelVersionSchemas } from './model_version'; /** * Converts migrations from a format that is convenient for callers to a format that @@ -36,7 +36,6 @@ export function buildActiveMigrations({ convertVersion?: string; log: Logger; }): ActiveMigrations { - const coreTransforms = getCoreTransforms(); const referenceTransforms = getReferenceTransforms(typeRegistry); return typeRegistry.getAllTypes().reduce((migrations, type) => { @@ -46,31 +45,25 @@ export function buildActiveMigrations({ type, log, kibanaVersion, - coreTransforms, referenceTransforms, }); - if (!typeTransforms.transforms.length) { - return migrations; + if (typeTransforms.transforms.length || Object.keys(typeTransforms.versionSchemas).length) { + migrations[type.name] = typeTransforms; } - return { - ...migrations, - [type.name]: typeTransforms, - }; + return migrations; }, {} as ActiveMigrations); } const buildTypeTransforms = ({ type, log, - coreTransforms, referenceTransforms, }: { type: SavedObjectsType; kibanaVersion: string; log: Logger; - coreTransforms: Transform[]; referenceTransforms: Transform[]; }): TypeTransforms => { const migrationsMap = @@ -79,11 +72,13 @@ const buildTypeTransforms = ({ const migrationTransforms = Object.entries(migrationsMap ?? {}).map( ([version, transform]) => ({ version, + deferred: !_.isFunction(transform) && !!transform.deferred, transform: convertMigrationFunction(version, type, transform, log), transformType: TransformType.Migrate, }) ); + const coreTransforms = getCoreTransforms({ log, type }); const modelVersionTransforms = getModelVersionTransforms({ log, typeDefinition: type }); const conversionTransforms = getConversionTransforms(type); @@ -95,11 +90,26 @@ const buildTypeTransforms = ({ ...modelVersionTransforms, ].sort(transformComparator); + const modelVersionSchemas = getModelVersionSchemas({ typeDefinition: type }); + return { + immediateVersion: _.chain(transforms) + .groupBy('transformType') + .mapValues((items) => + _.chain(items) + .filter(({ deferred }) => !deferred) + .last() + .get('version') + .value() + ) + .value() as Record, latestVersion: _.chain(transforms) .groupBy('transformType') .mapValues((items) => _.last(items)?.version) .value() as Record, transforms, + versionSchemas: { + ...modelVersionSchemas, + }, }; }; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/document_migrator.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/document_migrator.test.ts index a17e7965bacde..2e3a99b4b463e 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/document_migrator.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/document_migrator.test.ts @@ -25,18 +25,18 @@ const mockLoggerFactory = loggingSystemMock.create(); const mockLogger = mockLoggerFactory.get('mock logger'); const kibanaVersion = '25.2.3'; +const createType = (parts: Partial): SavedObjectsType => ({ + name: 'unknown', + namespaceType: 'single', + hidden: false, + mappings: { properties: {} }, + migrations: {}, + ...parts, +}); + const createRegistry = (...types: Array>) => { const registry = new SavedObjectTypeRegistry(); - types.forEach((type) => - registry.registerType({ - name: 'unknown', - namespaceType: 'single', - hidden: false, - mappings: { properties: {} }, - migrations: {}, - ...type, - }) - ); + types.forEach((type) => registry.registerType(createType(type))); registry.registerType({ name: LEGACY_URL_ALIAS_TYPE, namespaceType: 'agnostic', @@ -635,7 +635,7 @@ describe('DocumentMigrator', () => { ), }); migrator.prepareMigrations(); - expect(migrator.migrationVersion).toEqual({ + expect(migrator.getMigrationVersion()).toEqual({ aaa: '10.4.0', bbb: '3.2.3', ccc: '11.0.0', @@ -643,6 +643,47 @@ describe('DocumentMigrator', () => { }); }); + test('extracts the latest non-deferred migration version info', () => { + const migrator = new DocumentMigrator({ + ...testOpts(), + typeRegistry: createRegistry({ + name: 'aaa', + migrations: { + '1.2.3': (doc: SavedObjectUnsanitizedDoc) => doc, + '2.2.1': (doc: SavedObjectUnsanitizedDoc) => doc, + '10.4.0': { + // @ts-expect-error + deferred: true, + transform: (doc: SavedObjectUnsanitizedDoc) => doc, + }, + }, + }), + }); + migrator.prepareMigrations(); + expect(migrator.getMigrationVersion({ includeDeferred: false })).toHaveProperty( + 'aaa', + '2.2.1' + ); + }); + + test('extracts the latest core migration version info', () => { + const migrator = new DocumentMigrator({ + ...testOpts(), + typeRegistry: createRegistry({ + name: 'aaa', + migrations: { + '1.2.3': (doc: SavedObjectUnsanitizedDoc) => doc, + '2.2.1': (doc: SavedObjectUnsanitizedDoc) => doc, + }, + }), + }); + migrator.prepareMigrations(); + expect(migrator.getMigrationVersion({ migrationType: 'core' })).toHaveProperty( + 'aaa', + '8.8.0' + ); + }); + describe('conversion to multi-namespace type', () => { it('assumes documents w/ undefined typeMigrationVersion and correct coreMigrationVersion are up to date', () => { const migrator = new DocumentMigrator({ @@ -1336,6 +1377,95 @@ describe('DocumentMigrator', () => { }); }); }); + + describe('down migration', () => { + it('accepts to downgrade the document if `allowDowngrade` is true', () => { + const registry = createRegistry({}); + + const fooType = createType({ + name: 'foo', + switchToModelVersionAt: '8.5.0', + modelVersions: { + 1: { + changes: [], + schemas: { + forwardCompatibility: (attrs: any) => { + return { + foo: attrs.foo, + }; + }, + }, + }, + }, + }); + registry.registerType(fooType); + + const migrator = new DocumentMigrator({ + ...testOpts(), + typeRegistry: registry, + }); + migrator.prepareMigrations(); + + const document: SavedObjectUnsanitizedDoc = { + id: 'smelly', + type: 'foo', + attributes: { + foo: 'bar', + hello: 'dolly', + }, + typeMigrationVersion: '10.2.0', + }; + + const migrated = migrator.migrate(document, { allowDowngrade: true }); + + expect(migrated).toHaveProperty('typeMigrationVersion', '10.1.0'); + expect(migrated.attributes).toEqual({ foo: 'bar' }); + }); + + it('throws when trying to downgrade if `allowDowngrade` is false', () => { + const registry = createRegistry({}); + + const fooType = createType({ + name: 'foo', + switchToModelVersionAt: '8.5.0', + modelVersions: { + 1: { + changes: [], + schemas: { + forwardCompatibility: (attrs: any) => { + return { + foo: attrs.foo, + }; + }, + }, + }, + }, + }); + registry.registerType(fooType); + + const migrator = new DocumentMigrator({ + ...testOpts(), + typeRegistry: registry, + }); + migrator.prepareMigrations(); + + const document: SavedObjectUnsanitizedDoc = { + id: 'smelly', + type: 'foo', + attributes: { + foo: 'bar', + hello: 'dolly', + }, + typeMigrationVersion: '10.2.0', + }; + + expect(() => + migrator.migrate(document, { allowDowngrade: false }) + ).toThrowErrorMatchingInlineSnapshot( + `"Document \\"smelly\\" belongs to a more recent version of Kibana [10.2.0] when the last known version is [10.1.0]."` + ); + }); + }); }); function renameAttr(path: string, newPath: string) { diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/document_migrator.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/document_migrator.ts index 2d10ff278e7c6..8ca15093d5827 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/document_migrator.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/document_migrator.ts @@ -6,6 +6,7 @@ * Side Public License, v 1. */ +import Boom from '@hapi/boom'; import type { Logger } from '@kbn/logging'; import type { SavedObjectsMigrationVersion } from '@kbn/core-saved-objects-common'; import type { @@ -16,9 +17,25 @@ import type { ActiveMigrations } from './types'; import { maxVersion } from './pipelines/utils'; import { buildActiveMigrations } from './build_active_migrations'; import { DocumentUpgradePipeline, DocumentDowngradePipeline } from './pipelines'; +import { downgradeRequired } from './utils'; +import { TransformType } from './types'; + +/** + * Options for {@link VersionedTransformer.migrate} + */ +export interface DocumentMigrateOptions { + /** + * Defines whether it is allowed to convert documents from an higher version or not. + * - If `true`, documents from higher versions will go though the downgrade pipeline. + * - If `false`, an error will be thrown when trying to process a document with an higher type version. + * Defaults to `false`. + */ + allowDowngrade?: boolean; +} interface TransformOptions { convertNamespaceTypes?: boolean; + allowDowngrade?: boolean; } interface DocumentMigratorOptions { @@ -28,6 +45,20 @@ interface DocumentMigratorOptions { log: Logger; } +interface MigrationVersionParams { + /** + * Include deferred migrations in the migrationVersion. + * @default true + */ + includeDeferred?: boolean; + + /** + * Migration type to use in the migrationVersion. + * @default 'type' + */ + migrationType?: 'core' | 'type'; +} + /** * Manages transformations of individual documents. */ @@ -35,23 +66,23 @@ export interface VersionedTransformer { /** * Migrates a document to its latest version. */ - migrate: (doc: SavedObjectUnsanitizedDoc) => SavedObjectUnsanitizedDoc; + migrate( + doc: SavedObjectUnsanitizedDoc, + options?: DocumentMigrateOptions + ): SavedObjectUnsanitizedDoc; + /** * Migrates a document to the latest version and applies type conversions if applicable. * Also returns any additional document(s) that may have been created during the transformation process. + * + * @remark This only be used by the savedObject migration during upgrade. For all other scenarios, + * {@link VersionedTransformer#migrate} should be used instead. */ - migrateAndConvert: (doc: SavedObjectUnsanitizedDoc) => SavedObjectUnsanitizedDoc[]; - /** - * Converts a document down to the specified version. - */ - transformDown: ( - doc: SavedObjectUnsanitizedDoc, - options: { targetTypeVersion: string } - ) => SavedObjectUnsanitizedDoc; + migrateAndConvert(doc: SavedObjectUnsanitizedDoc): SavedObjectUnsanitizedDoc[]; } /** - * A concrete implementation of the VersionedTransformer interface. + * A concrete implementation of the {@link VersionedTransformer} interface. */ export class DocumentMigrator implements VersionedTransformer { private options: DocumentMigratorOptions; @@ -68,30 +99,42 @@ export class DocumentMigrator implements VersionedTransformer { */ constructor(options: DocumentMigratorOptions) { this.options = options; + this.migrate = (...args) => this.constructor.prototype.migrate.apply(this, args); + this.migrateAndConvert = (...args) => + this.constructor.prototype.migrateAndConvert.apply(this, args); } /** - * Gets the latest version of each migrate-able property. + * Gets the latest pending version of each type. + * Some migration objects won't have a latest migration version (they only contain reference transforms that are applied from other types). */ - public get migrationVersion(): SavedObjectsMigrationVersion { + public getMigrationVersion({ + includeDeferred = true, + migrationType = 'type', + }: MigrationVersionParams = {}): SavedObjectsMigrationVersion { if (!this.migrations) { throw new Error('Migrations are not ready. Make sure prepareMigrations is called first.'); } - return Object.entries(this.migrations).reduce((acc, [prop, { latestVersion }]) => { - // some migration objects won't have a latest migration version (they only contain reference transforms that are applied from other types) - const latestMigrationVersion = maxVersion(latestVersion.migrate, latestVersion.convert); - if (latestMigrationVersion) { - return { ...acc, [prop]: latestMigrationVersion }; - } - return acc; - }, {}); + return Object.entries(this.migrations).reduce( + (acc, [type, { latestVersion, immediateVersion }]) => { + const version = includeDeferred ? latestVersion : immediateVersion; + const latestMigrationVersion = + migrationType === 'core' ? version.core : maxVersion(version.migrate, version.convert); + + if (latestMigrationVersion) { + acc[type] = latestMigrationVersion; + } + return acc; + }, + {} + ); } /** * Prepares active migrations and document transformer function. */ - public prepareMigrations = () => { + public prepareMigrations() { const { typeRegistry, kibanaVersion, log, convertVersion } = this.options; this.migrations = buildActiveMigrations({ typeRegistry, @@ -99,48 +142,58 @@ export class DocumentMigrator implements VersionedTransformer { log, convertVersion, }); - }; + } /** * Migrates a document to the latest version. */ - public migrate = (doc: SavedObjectUnsanitizedDoc): SavedObjectUnsanitizedDoc => { - const { document } = this.transform(doc); - + public migrate( + doc: SavedObjectUnsanitizedDoc, + { allowDowngrade = false }: DocumentMigrateOptions = {} + ): SavedObjectUnsanitizedDoc { + const { document } = this.transform(doc, { + allowDowngrade, + }); return document; - }; + } /** * Migrates a document to the latest version and applies type conversions if applicable. Also returns any additional document(s) that may * have been created during the transformation process. */ - public migrateAndConvert = (doc: SavedObjectUnsanitizedDoc): SavedObjectUnsanitizedDoc[] => { - const { document, additionalDocs } = this.transform(doc, { convertNamespaceTypes: true }); - + public migrateAndConvert(doc: SavedObjectUnsanitizedDoc): SavedObjectUnsanitizedDoc[] { + const { document, additionalDocs } = this.transform(doc, { + convertNamespaceTypes: true, + allowDowngrade: false, + }); return [document, ...additionalDocs]; - }; + } - public transformDown = ( + private transform( doc: SavedObjectUnsanitizedDoc, - options: { targetTypeVersion: string } - ): SavedObjectUnsanitizedDoc => { + { convertNamespaceTypes = false, allowDowngrade = false }: TransformOptions = {} + ) { if (!this.migrations) { throw new Error('Migrations are not ready. Make sure prepareMigrations is called first.'); } + const typeMigrations = this.migrations[doc.type]; + if (downgradeRequired(doc, typeMigrations?.latestVersion ?? {})) { + const currentVersion = doc.typeMigrationVersion ?? doc.migrationVersion?.[doc.type]; + const latestVersion = this.migrations[doc.type].latestVersion[TransformType.Migrate]; + if (!allowDowngrade) { + throw Boom.badData( + `Document "${doc.id}" belongs to a more recent version of Kibana [${currentVersion}] when the last known version is [${latestVersion}].` + ); + } + return this.transformDown(doc, { targetTypeVersion: latestVersion! }); + } else { + return this.transformUp(doc, { convertNamespaceTypes }); + } + } - const pipeline = new DocumentDowngradePipeline({ - document: doc, - typeTransforms: this.migrations[doc.type], - kibanaVersion: this.options.kibanaVersion, - targetTypeVersion: options.targetTypeVersion, - }); - const { document } = pipeline.run(); - return document; - }; - - private transform( + private transformUp( doc: SavedObjectUnsanitizedDoc, - { convertNamespaceTypes = false }: TransformOptions = {} + { convertNamespaceTypes }: { convertNamespaceTypes: boolean } ) { if (!this.migrations) { throw new Error('Migrations are not ready. Make sure prepareMigrations is called first.'); @@ -156,4 +209,23 @@ export class DocumentMigrator implements VersionedTransformer { return { document, additionalDocs }; } + + private transformDown = ( + doc: SavedObjectUnsanitizedDoc, + { targetTypeVersion }: { targetTypeVersion: string } + ) => { + if (!this.migrations) { + throw new Error('Migrations are not ready. Make sure prepareMigrations is called first.'); + } + + const pipeline = new DocumentDowngradePipeline({ + document: doc, + targetTypeVersion, + typeTransforms: this.migrations[doc.type], + kibanaVersion: this.options.kibanaVersion, + }); + const { document } = pipeline.run(); + const additionalDocs: SavedObjectUnsanitizedDoc[] = []; + return { document, additionalDocs }; + }; } diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/internal_transforms.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/internal_transforms.ts index a913139665567..762fa20342c49 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/internal_transforms.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/internal_transforms.ts @@ -6,6 +6,7 @@ * Side Public License, v 1. */ +import { isFunction } from 'lodash'; import { ISavedObjectTypeRegistry, SavedObjectsType, @@ -16,16 +17,25 @@ import { LEGACY_URL_ALIAS_TYPE, LegacyUrlAlias, } from '@kbn/core-saved-objects-base-server-internal'; +import { Logger } from '@kbn/logging'; import { migrations as coreMigrationsMap } from './migrations'; import { type Transform, TransformType } from './types'; +import { convertMigrationFunction } from './utils'; /** * Returns all available core transforms for all object types. */ -export function getCoreTransforms(): Transform[] { +export function getCoreTransforms({ + type, + log, +}: { + type: SavedObjectsType; + log: Logger; +}): Transform[] { return Object.entries(coreMigrationsMap).map(([version, transform]) => ({ version, - transform, + deferred: !isFunction(transform) && !!transform.deferred, + transform: convertMigrationFunction(version, type, transform, log), transformType: TransformType.Core, })); } diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/migrations/index.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/migrations/index.ts index 04b33a5cc2ac2..f3289bf97379e 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/migrations/index.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/migrations/index.ts @@ -6,17 +6,11 @@ * Side Public License, v 1. */ -import { flow } from 'lodash'; -import get from 'lodash/fp/get'; -import { TransformFn } from '../types'; +import type { SavedObjectMigrationMap } from '@kbn/core-saved-objects-server'; +import { mergeSavedObjectMigrations } from '@kbn/core-saved-objects-utils-server'; import { transformMigrationVersion } from './transform_migration_version'; import { transformSetManagedDefault } from './transform_set_managed_default'; -export const migrations = { - '8.8.0': flow( - transformMigrationVersion, - // extract transformedDoc from TransformResult as input to next transform - get('transformedDoc'), - transformSetManagedDefault - ), -} as Record; +export const migrations: SavedObjectMigrationMap = { + '8.8.0': mergeSavedObjectMigrations(transformMigrationVersion, transformSetManagedDefault), +}; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/migrations/transform_migration_version.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/migrations/transform_migration_version.test.ts index 1a5275401e513..c7f6427870a17 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/migrations/transform_migration_version.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/migrations/transform_migration_version.test.ts @@ -6,12 +6,16 @@ * Side Public License, v 1. */ +import { unary } from 'lodash'; +import { SavedObjectsUtils } from '@kbn/core-saved-objects-utils-server'; import { transformMigrationVersion } from './transform_migration_version'; +const transform = unary(SavedObjectsUtils.getMigrationFunction(transformMigrationVersion)); + describe('transformMigrationVersion', () => { it('should extract the correct version from the `migrationVersion` property', () => { expect( - transformMigrationVersion({ + transform({ id: 'a', attributes: {}, type: 'something', @@ -20,12 +24,12 @@ describe('transformMigrationVersion', () => { previous: '2.0.0', }, }) - ).toHaveProperty('transformedDoc.typeMigrationVersion', '1.0.0'); + ).toHaveProperty('typeMigrationVersion', '1.0.0'); }); it('should remove the original `migrationVersion` property', () => { expect( - transformMigrationVersion({ + transform({ id: 'a', attributes: {}, type: 'something', @@ -34,27 +38,27 @@ describe('transformMigrationVersion', () => { previous: '2.0.0', }, }) - ).not.toHaveProperty('transformedDoc.migrationVersion'); + ).not.toHaveProperty('migrationVersion'); }); it('should not add `typeMigrationVersion` if there is no `migrationVersion`', () => { expect( - transformMigrationVersion({ + transform({ id: 'a', attributes: {}, type: 'something', }) - ).not.toHaveProperty('transformedDoc.typeMigrationVersion'); + ).not.toHaveProperty('typeMigrationVersion'); }); it('should add empty `typeMigrationVersion` if there is no related value in `migrationVersion`', () => { expect( - transformMigrationVersion({ + transform({ id: 'a', attributes: {}, type: 'something', migrationVersion: {}, }) - ).toHaveProperty('transformedDoc.typeMigrationVersion', ''); + ).toHaveProperty('typeMigrationVersion', ''); }); }); diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/migrations/transform_migration_version.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/migrations/transform_migration_version.ts index 6131610cea412..f7e0c8bb7a35b 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/migrations/transform_migration_version.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/migrations/transform_migration_version.ts @@ -6,14 +6,14 @@ * Side Public License, v 1. */ -import { TransformFn } from '../types'; +import type { SavedObjectMigration } from '@kbn/core-saved-objects-server'; -export const transformMigrationVersion: TransformFn = ({ migrationVersion, ...doc }) => { - return { - transformedDoc: { - ...doc, - ...(migrationVersion ? { typeMigrationVersion: migrationVersion[doc.type] ?? '' } : {}), - }, - additionalDocs: [], - }; +export const transformMigrationVersion: SavedObjectMigration = { + // @todo Remove when deferred migrations are publicly available. + // @ts-expect-error + deferred: true, + transform: ({ migrationVersion, ...doc }) => ({ + ...doc, + ...(migrationVersion ? { typeMigrationVersion: migrationVersion[doc.type] ?? '' } : {}), + }), }; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/migrations/transform_set_managed_default.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/migrations/transform_set_managed_default.test.ts index 1b355a176ab6f..cc896e5b13536 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/migrations/transform_set_managed_default.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/migrations/transform_set_managed_default.test.ts @@ -6,35 +6,39 @@ * Side Public License, v 1. */ +import { unary } from 'lodash'; +import { SavedObjectsUtils } from '@kbn/core-saved-objects-utils-server'; import { transformSetManagedDefault } from './transform_set_managed_default'; +const transform = unary(SavedObjectsUtils.getMigrationFunction(transformSetManagedDefault)); + describe('transformAddManaged', () => { it('should add managed if not defined', () => { expect( - transformSetManagedDefault({ + transform({ id: 'a', attributes: {}, type: 'something', }) - ).toHaveProperty('transformedDoc.managed'); + ).toHaveProperty('managed'); }); it('should not change managed if already defined', () => { - const docWithManagedFalse = transformSetManagedDefault({ + const docWithManagedFalse = transform({ id: 'a', attributes: {}, type: 'something', managed: false, }); - const docWithManagedTrue = transformSetManagedDefault({ + const docWithManagedTrue = transform({ id: 'a', attributes: {}, type: 'something', managed: true, }); [docWithManagedFalse, docWithManagedTrue].forEach((doc) => { - expect(doc.transformedDoc.managed).toBeDefined(); + expect(doc.managed).toBeDefined(); }); - expect(docWithManagedFalse.transformedDoc.managed).not.toBeTruthy(); - expect(docWithManagedTrue.transformedDoc.managed).toBeTruthy(); + expect(docWithManagedFalse.managed).not.toBeTruthy(); + expect(docWithManagedTrue.managed).toBeTruthy(); }); }); diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/migrations/transform_set_managed_default.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/migrations/transform_set_managed_default.ts index 8e3e1b82bc8cd..d0981a4740bd3 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/migrations/transform_set_managed_default.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/migrations/transform_set_managed_default.ts @@ -6,9 +6,11 @@ * Side Public License, v 1. */ -import { SavedObjectUnsanitizedDoc } from '@kbn/core-saved-objects-server'; +import type { SavedObjectMigration } from '@kbn/core-saved-objects-server'; -export const transformSetManagedDefault = (doc: SavedObjectUnsanitizedDoc) => ({ - transformedDoc: { ...doc, managed: doc.managed ?? false }, - additionalDocs: [], -}); +export const transformSetManagedDefault: SavedObjectMigration = { + // @todo Remove when deferred migrations are publicly available. + // @ts-expect-error + deferred: true, + transform: ({ managed, ...doc }) => ({ ...doc, managed: managed ?? false }), +}; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/model_version.test.mocks.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/model_version.test.mocks.ts new file mode 100644 index 0000000000000..ebb81f0172fee --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/model_version.test.mocks.ts @@ -0,0 +1,17 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export const convertModelVersionBackwardConversionSchemaMock = jest.fn(); + +jest.doMock('@kbn/core-saved-objects-base-server-internal', () => { + const actual = jest.requireActual('@kbn/core-saved-objects-base-server-internal'); + return { + ...actual, + convertModelVersionBackwardConversionSchema: convertModelVersionBackwardConversionSchemaMock, + }; +}); diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/model_version.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/model_version.test.ts index bc0a0d5a8b5bd..0eead169ae106 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/model_version.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/model_version.test.ts @@ -6,6 +6,7 @@ * Side Public License, v 1. */ +import { convertModelVersionBackwardConversionSchemaMock } from './model_version.test.mocks'; import { loggerMock, MockedLogger } from '@kbn/logging-mocks'; import type { SavedObjectsType, @@ -15,7 +16,19 @@ import type { } from '@kbn/core-saved-objects-server'; import { modelVersionToVirtualVersion } from '@kbn/core-saved-objects-base-server-internal'; import { Transform, TransformType } from './types'; -import { getModelVersionTransforms, convertModelVersionTransformFn } from './model_version'; +import { + getModelVersionTransforms, + convertModelVersionTransformFn, + getModelVersionSchemas, +} from './model_version'; + +const createType = (parts: Partial): SavedObjectsType => ({ + name: 'test', + hidden: false, + namespaceType: 'single', + mappings: { properties: {} }, + ...parts, +}); describe('getModelVersionTransforms', () => { let log: MockedLogger; @@ -26,14 +39,6 @@ describe('getModelVersionTransforms', () => { transform: expect.any(Function), }); - const createType = (parts: Partial): SavedObjectsType => ({ - name: 'test', - hidden: false, - namespaceType: 'single', - mappings: { properties: {} }, - ...parts, - }); - beforeEach(() => { log = loggerMock.create(); }); @@ -208,3 +213,77 @@ describe('convertModelVersionTransformFn', () => { }); }); }); + +describe('getModelVersionSchemas', () => { + beforeEach(() => { + convertModelVersionBackwardConversionSchemaMock.mockReset(); + convertModelVersionBackwardConversionSchemaMock.mockImplementation(() => jest.fn()); + }); + + it('calls convertModelVersionBackwardConversionSchema with the correct parameters', () => { + const schema1 = jest.fn(); + const schema3 = jest.fn(); + + const typeDefinition = createType({ + name: 'foo', + modelVersions: { + 1: { + changes: [], + schemas: { + forwardCompatibility: schema1, + }, + }, + 2: { + changes: [], + schemas: {}, + }, + 3: { + changes: [], + schemas: { + forwardCompatibility: schema3, + }, + }, + }, + }); + + getModelVersionSchemas({ typeDefinition }); + + expect(convertModelVersionBackwardConversionSchemaMock).toHaveBeenCalledTimes(2); + expect(convertModelVersionBackwardConversionSchemaMock).toHaveBeenCalledWith(schema1); + expect(convertModelVersionBackwardConversionSchemaMock).toHaveBeenCalledWith(schema3); + }); + + it('generate schemas for correct model versions', () => { + const schema1 = jest.fn(); + const schema3 = jest.fn(); + + const typeDefinition = createType({ + name: 'foo', + modelVersions: { + 1: { + changes: [], + schemas: { + forwardCompatibility: schema1, + }, + }, + 2: { + changes: [], + schemas: {}, + }, + 3: { + changes: [], + schemas: { + forwardCompatibility: schema3, + }, + }, + }, + }); + + const schemas = getModelVersionSchemas({ typeDefinition }); + + expect(schemas).toEqual({ + [modelVersionToVirtualVersion(1)]: expect.any(Function), + [modelVersionToVirtualVersion(3)]: expect.any(Function), + }); + }); +}); diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/model_version.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/model_version.ts index a4fec9bf3f76e..5801bfe56f162 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/model_version.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/model_version.ts @@ -17,9 +17,31 @@ import { modelVersionToVirtualVersion, assertValidModelVersion, buildModelVersionTransformFn, + convertModelVersionBackwardConversionSchema, } from '@kbn/core-saved-objects-base-server-internal'; import { TransformSavedObjectDocumentError } from '../core'; -import { type Transform, type TransformFn, TransformType } from './types'; +import { type Transform, type TransformFn, TransformType, type TypeVersionSchema } from './types'; + +export const getModelVersionSchemas = ({ + typeDefinition, +}: { + typeDefinition: SavedObjectsType; +}): Record => { + const modelVersionMap = + typeof typeDefinition.modelVersions === 'function' + ? typeDefinition.modelVersions() + : typeDefinition.modelVersions ?? {}; + + return Object.entries(modelVersionMap).reduce((map, [rawModelVersion, versionDefinition]) => { + const schema = versionDefinition.schemas?.forwardCompatibility; + if (schema) { + const modelVersion = assertValidModelVersion(rawModelVersion); + const virtualVersion = modelVersionToVirtualVersion(modelVersion); + map[virtualVersion] = convertModelVersionBackwardConversionSchema(schema); + } + return map; + }, {} as Record); +}; export const getModelVersionTransforms = ({ typeDefinition, diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/pipelines/downgrade_pipeline.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/pipelines/downgrade_pipeline.test.ts index 3041197ec56a2..07cd38151bdda 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/pipelines/downgrade_pipeline.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/pipelines/downgrade_pipeline.test.ts @@ -8,7 +8,7 @@ import _ from 'lodash'; import type { SavedObjectUnsanitizedDoc } from '@kbn/core-saved-objects-server'; -import { Transform, TransformType, TypeTransforms, TransformFn } from '../types'; +import { Transform, TransformType, TypeTransforms, TransformFn, TypeVersionSchema } from '../types'; import { DocumentDowngradePipeline } from './downgrade_pipeline'; // snake case is way better for migration function names in this very specific scenario. @@ -28,6 +28,10 @@ describe('DocumentMigratorPipeline', () => { ...parts, }); + const createSchema = (): jest.MockedFunction => { + return jest.fn().mockImplementation((doc: unknown) => doc); + }; + const latestVersions = ( parts: Partial> = {} ): Record => ({ @@ -46,7 +50,9 @@ describe('DocumentMigratorPipeline', () => { return { transforms, + immediateVersion: latestVersions(versions), latestVersion: latestVersions(versions), + versionSchemas: {}, }; }; @@ -179,7 +185,7 @@ describe('DocumentMigratorPipeline', () => { expect(outputDoc.typeMigrationVersion).toEqual('8.7.0'); }); - it('throws trying to apply a transform without down fn', () => { + it('skips transforms without down fn', () => { const document = createDoc({ id: 'foo-1', type: 'foo', @@ -219,9 +225,10 @@ describe('DocumentMigratorPipeline', () => { targetTypeVersion: '8.5.0', }); - expect(() => pipeline.run()).toThrowErrorMatchingInlineSnapshot( - `"Could not apply transformation migrate:8.7.0: no down conversion registered"` - ); + pipeline.run(); + + expect(migrate8_6_0_down).toHaveBeenCalledTimes(1); + expect(migrate8_8_0_down).toHaveBeenCalledTimes(1); }); it('throws trying to downgrade to a higher version', () => { @@ -603,4 +610,113 @@ describe('DocumentMigratorPipeline', () => { expect(outputDoc.coreMigrationVersion).toEqual('8.7.0'); }); + + it('accepts converting documents from higher versions than the last known', () => { + const document = createDoc({ + id: 'foo-1', + type: 'foo', + typeMigrationVersion: '8.10.0', + }); + + const migrate8_8_0_up = createTransformFn(); + const migrate8_8_0_down = createTransformFn(); + + const fooTransforms = getTypeTransforms([ + { + transformType: TransformType.Migrate, + version: '8.8.0', + transform: migrate8_8_0_up, + transformDown: migrate8_8_0_down, + }, + ]); + + const pipeline = new DocumentDowngradePipeline({ + document, + kibanaVersion: '8.8.0', + typeTransforms: fooTransforms, + targetTypeVersion: '8.7.0', + }); + + const { document: outputDoc } = pipeline.run(); + + expect(migrate8_8_0_up).not.toHaveBeenCalled(); + + expect(migrate8_8_0_down).toHaveBeenCalledTimes(1); + expect(migrate8_8_0_down).toHaveBeenCalledWith(document); + + expect(outputDoc.typeMigrationVersion).toEqual('8.7.0'); + }); + + describe('version schemas', () => { + it('apply the correct version schema', () => { + const document = createDoc({ + id: 'foo-1', + type: 'foo', + typeMigrationVersion: '8.9.0', + }); + + const schema_8_7_0 = createSchema(); + const schema_8_8_0 = createSchema(); + const schema_8_9_0 = createSchema(); + + const transforms: TypeTransforms = { + transforms: [], + latestVersion: latestVersions(), + immediateVersion: latestVersions(), + versionSchemas: { + '8.7.0': schema_8_7_0, + '8.8.0': schema_8_8_0, + '8.9.0': schema_8_9_0, + }, + }; + + const pipeline = new DocumentDowngradePipeline({ + document, + kibanaVersion: '8.8.0', + typeTransforms: transforms, + targetTypeVersion: '8.7.0', + }); + + const { document: outputDoc } = pipeline.run(); + + expect(outputDoc.typeMigrationVersion).toEqual('8.7.0'); + expect(schema_8_7_0).toHaveBeenCalledTimes(1); + expect(schema_8_8_0).not.toHaveBeenCalled(); + expect(schema_8_9_0).not.toHaveBeenCalled(); + }); + + it('does not apply the schema if the exact version is missing', () => { + const document = createDoc({ + id: 'foo-1', + type: 'foo', + typeMigrationVersion: '8.9.0', + }); + + const schema_8_8_0 = createSchema(); + const schema_8_9_0 = createSchema(); + + const transforms: TypeTransforms = { + transforms: [], + latestVersion: latestVersions(), + immediateVersion: latestVersions(), + versionSchemas: { + '8.8.0': schema_8_8_0, + '8.9.0': schema_8_9_0, + }, + }; + + const pipeline = new DocumentDowngradePipeline({ + document, + kibanaVersion: '8.8.0', + typeTransforms: transforms, + targetTypeVersion: '8.7.0', + }); + + const { document: outputDoc } = pipeline.run(); + + expect(outputDoc.typeMigrationVersion).toEqual('8.7.0'); + expect(schema_8_8_0).not.toHaveBeenCalled(); + expect(schema_8_9_0).not.toHaveBeenCalled(); + }); + }); }); diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/pipelines/downgrade_pipeline.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/pipelines/downgrade_pipeline.ts index 95af2a3022598..d32868b15b9c6 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/pipelines/downgrade_pipeline.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/pipelines/downgrade_pipeline.ts @@ -48,9 +48,7 @@ export class DocumentDowngradePipeline implements MigrationPipeline { for (const transform of this.getPendingTransforms()) { if (!transform.transformDown) { - throw new Error( - `Could not apply transformation ${transform.transformType}:${transform.version}: no down conversion registered` - ); + continue; } const { transformedDoc } = transform.transformDown(this.document); if (this.document.type !== this.originalDoc.type) { @@ -60,6 +58,7 @@ export class DocumentDowngradePipeline implements MigrationPipeline { } this.document = this.ensureVersion(this.document); + this.document = this.applyVersionSchema(this.document); return { document: this.document, @@ -103,14 +102,7 @@ export class DocumentDowngradePipeline implements MigrationPipeline { * And that the targetTypeVersion is not greater than the document's */ private assertCompatibility() { - const { id, typeMigrationVersion: currentVersion } = this.document; - const latestVersion = this.typeTransforms.latestVersion.migrate; - - if (currentVersion && Semver.gt(currentVersion, latestVersion)) { - throw new Error( - `Document "${id}" belongs to a more recent version of Kibana [${currentVersion}] when the last known version is [${latestVersion}].` - ); - } + const { typeMigrationVersion: currentVersion } = this.document; if (currentVersion && Semver.gt(this.targetTypeVersion, currentVersion)) { throw new Error( @@ -132,4 +124,13 @@ export class DocumentDowngradePipeline implements MigrationPipeline { ...(coreMigrationVersion ? { coreMigrationVersion } : {}), }; } + + private applyVersionSchema(doc: SavedObjectUnsanitizedDoc): SavedObjectUnsanitizedDoc { + const targetVersion = this.targetTypeVersion; + const versionSchema = this.typeTransforms.versionSchemas[targetVersion]; + if (versionSchema) { + return versionSchema(doc); + } + return doc; + } } diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/pipelines/upgrade_pipeline.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/pipelines/upgrade_pipeline.test.ts index 338c1088d002f..04823a314747a 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/pipelines/upgrade_pipeline.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/pipelines/upgrade_pipeline.test.ts @@ -47,7 +47,9 @@ describe('DocumentMigratorPipeline', () => { return { transforms, + immediateVersion: latestVersions(versions), latestVersion: latestVersions(versions), + versionSchemas: {}, }; }; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/types.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/types.ts index 257e7bf02fe1b..687cb5c21b753 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/types.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/types.ts @@ -19,10 +19,20 @@ export interface ActiveMigrations { * Structure containing all the required info to perform a type's conversion */ export interface TypeTransforms { - /** Derived from the related transforms */ + /** + * Latest non-deferred version for each transform type. + * This is the version that will be used to query outdated documents. + */ + immediateVersion: Record; + /** + * Latest version for each transform type, including deferred transforms. + * This is the version that will be used to perform the migration. + */ latestVersion: Record; /** Ordered list of transforms registered for the type **/ transforms: Transform[]; + /** Per-version schemas for the given type */ + versionSchemas: Record; } /** @@ -37,6 +47,8 @@ export interface Transform { transform: TransformFn; /** The (optional) downward transformation function */ transformDown?: TransformFn; + /** Whether this transform is deferred */ + deferred?: boolean; } export enum TransformType { @@ -84,3 +96,8 @@ export interface TransformResult { */ additionalDocs: SavedObjectUnsanitizedDoc[]; } + +/** + * per-version persistence schema for {@link TypeTransforms} + */ +export type TypeVersionSchema = (doc: SavedObjectUnsanitizedDoc) => SavedObjectUnsanitizedDoc; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/utils.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/utils.test.ts index e1b5c7b591835..6734def19d5ce 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/utils.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/utils.test.ts @@ -6,8 +6,9 @@ * Side Public License, v 1. */ +import type { SavedObjectUnsanitizedDoc } from '@kbn/core-saved-objects-server'; import { type Transform, TransformType } from './types'; -import { transformComparator } from './utils'; +import { transformComparator, downgradeRequired } from './utils'; describe('transformComparator', () => { const core1 = { version: '1.0.0', transformType: TransformType.Core } as Transform; @@ -31,3 +32,126 @@ describe('transformComparator', () => { expect(transforms.sort(transformComparator)).toEqual(expected); }); }); + +describe('downgradeRequired', () => { + const createDoc = (parts: Partial): SavedObjectUnsanitizedDoc => ({ + type: 'type', + id: 'id', + attributes: {}, + ...parts, + }); + + it('returns false when there is an higher convert version than the typeMigrationVersion', () => { + const doc = createDoc({ + typeMigrationVersion: '8.0.0', + }); + const latestVersions = { + [TransformType.Convert]: '8.1.0', + } as Record; + + expect(downgradeRequired(doc, latestVersions)).toEqual(false); + }); + + it('returns false when there is an higher convert version than the migrationVersion', () => { + const doc = createDoc({ + migrationVersion: { + type: '8.0.0', + }, + }); + const latestVersions = { + [TransformType.Convert]: '8.1.0', + } as Record; + + expect(downgradeRequired(doc, latestVersions)).toEqual(false); + }); + + it('returns false when there is an higher migrate version than the typeMigrationVersion', () => { + const doc = createDoc({ + typeMigrationVersion: '8.0.0', + }); + const latestVersions = { + [TransformType.Migrate]: '8.1.0', + } as Record; + + expect(downgradeRequired(doc, latestVersions)).toEqual(false); + }); + + it('returns false when there is an higher migrate version than the migrationVersion', () => { + const doc = createDoc({ + migrationVersion: { + type: '8.0.0', + }, + }); + const latestVersions = { + [TransformType.Migrate]: '8.1.0', + } as Record; + + expect(downgradeRequired(doc, latestVersions)).toEqual(false); + }); + + it('returns true when there is no higher convert version than the typeMigrationVersion', () => { + const doc = createDoc({ + typeMigrationVersion: '8.0.0', + }); + const latestVersions = { + [TransformType.Convert]: '7.1.0', + } as Record; + + expect(downgradeRequired(doc, latestVersions)).toEqual(true); + }); + + it('returns true when there is no higher convert version than the migrationVersion', () => { + const doc = createDoc({ + migrationVersion: { + type: '8.0.0', + }, + }); + const latestVersions = { + [TransformType.Convert]: '7.1.0', + } as Record; + + expect(downgradeRequired(doc, latestVersions)).toEqual(true); + }); + + it('returns true when there is no higher migrate version than the typeMigrationVersion', () => { + const doc = createDoc({ + typeMigrationVersion: '8.0.0', + }); + const latestVersions = { + [TransformType.Migrate]: '7.1.0', + } as Record; + + expect(downgradeRequired(doc, latestVersions)).toEqual(true); + }); + + it('returns true when there is no higher migrate version than the migrationVersion', () => { + const doc = createDoc({ + migrationVersion: { + type: '8.0.0', + }, + }); + const latestVersions = { + [TransformType.Migrate]: '7.1.0', + } as Record; + + expect(downgradeRequired(doc, latestVersions)).toEqual(true); + }); + + it('returns false when the document has no explicit version', () => { + const doc = createDoc({}); + const latestVersions = { + [TransformType.Migrate]: '8.0.0', + } as Record; + + expect(downgradeRequired(doc, latestVersions)).toEqual(false); + }); + + it('returns false when latestVersions no explicit version', () => { + const doc = createDoc({ + typeMigrationVersion: '8.0.0', + }); + const latestVersions = {} as Record; + + expect(downgradeRequired(doc, latestVersions)).toEqual(false); + }); +}); diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/utils.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/utils.ts index 63b0462714e02..2082a0361336c 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/utils.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/utils.ts @@ -6,14 +6,16 @@ * Side Public License, v 1. */ +import { isFunction } from 'lodash'; import Semver from 'semver'; -import { - SavedObjectMigrationFn, +import type { + SavedObjectMigration, SavedObjectsType, SavedObjectUnsanitizedDoc, } from '@kbn/core-saved-objects-server'; import { Logger } from '@kbn/logging'; import { MigrationLogger } from '../core/migration_logger'; +import { maxVersion } from './pipelines/utils'; import { TransformSavedObjectDocumentError } from '../core/transform_saved_object_document_error'; import { type Transform, type TransformFn, TransformType } from './types'; @@ -31,7 +33,7 @@ const TRANSFORM_PRIORITY = [ export function convertMigrationFunction( version: string, type: SavedObjectsType, - migrationFn: SavedObjectMigrationFn, + migration: SavedObjectMigration, log: Logger ): TransformFn { const context = Object.freeze({ @@ -43,7 +45,8 @@ export function convertMigrationFunction( return function tryTransformDoc(doc: SavedObjectUnsanitizedDoc) { try { - const result = migrationFn(doc, context); + const transformFn = isFunction(migration) ? migration : migration.transform; + const result = transformFn(doc, context); // A basic check to help migration authors detect basic errors // (e.g. forgetting to return the transformed doc) @@ -83,3 +86,21 @@ export function transformComparator(a: Transform, b: Transform) { return Semver.compare(a.version, b.version) || aPriority - bPriority; } + +/** + * Returns true if the given document has an higher version that the last known version, false otherwise + */ +export function downgradeRequired( + doc: SavedObjectUnsanitizedDoc, + latestVersions: Record +): boolean { + const docTypeVersion = doc.typeMigrationVersion ?? doc.migrationVersion?.[doc.type]; + const latestMigrationVersion = maxVersion( + latestVersions[TransformType.Migrate], + latestVersions[TransformType.Convert] + ); + if (!docTypeVersion || !latestMigrationVersion) { + return false; + } + return Semver.gt(docTypeVersion, latestMigrationVersion); +} diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/validate_migration.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/validate_migration.test.ts index a8f007722028e..f2a43545319a0 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/validate_migration.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/validate_migration.test.ts @@ -70,15 +70,41 @@ describe('validateTypeMigrations', () => { ); }); - it('validates the migration function', () => { + it('throws on the invalid migration type', () => { const type = createType({ name: 'foo', - convertToMultiNamespaceTypeVersion: '3.1.1', - namespaceType: 'multiple', migrations: { '1.2.3': 23 as any }, }); - expect(() => validate({ type })).toThrow(/expected a function, but got 23/i); + expect(() => validate({ type })).toThrow(/expected a function or an object/i); + }); + + it('throws on the invalid migration object', () => { + const type = createType({ + name: 'foo', + migrations: { + '1.2.3': { + deferred: false, + transform: 23 as any, + }, + }, + }); + + expect(() => validate({ type })).toThrow(/expected a function or an object/i); + }); + + it('validates the migration object', () => { + const type = createType({ + name: 'foo', + migrations: { + '1.2.3': { + deferred: false, + transform: jest.fn(), + }, + }, + }); + + expect(() => validate({ type })).not.toThrow(); }); describe('when switchToModelVersionAt is specified', () => { @@ -161,7 +187,7 @@ describe('validateTypeMigrations', () => { }); expect(() => validate({ type, kibanaVersion: '3.2.3' })).toThrowErrorMatchingInlineSnapshot( - `"Type foo: Uusing modelVersions requires to specify switchToModelVersionAt"` + `"Type foo: Using modelVersions requires to specify switchToModelVersionAt"` ); }); @@ -208,6 +234,112 @@ describe('validateTypeMigrations', () => { `"Type foo: gaps between model versions aren't allowed (missing versions: 2,4,5)"` ); }); + + it('does not throw passing an empty model version map', () => { + const type = createType({ + name: 'foo', + modelVersions: {}, + }); + + expect(() => validate({ type, kibanaVersion: '3.2.3' })).not.toThrow(); + }); + }); + + describe('modelVersions mapping additions', () => { + it('throws when registering mapping additions not present in the global mappings', () => { + const type = createType({ + name: 'foo', + switchToModelVersionAt: '8.8.0', + modelVersions: { + '1': { + changes: [ + { + type: 'mappings_addition', + addedMappings: { + field2: { type: 'text' }, + }, + }, + ], + }, + }, + mappings: { + properties: { + field1: { type: 'text' }, + }, + }, + }); + + expect(() => validate({ type, kibanaVersion: '3.2.3' })).toThrowErrorMatchingInlineSnapshot( + `"Type foo: mappings added on model versions not present on the global mappings definition: field2.type"` + ); + }); + + it('does not throw when registering mapping additions are present in the global mappings', () => { + const type = createType({ + name: 'foo', + switchToModelVersionAt: '8.8.0', + modelVersions: { + '1': { + changes: [ + { + type: 'mappings_addition', + addedMappings: { + field2: { type: 'text' }, + }, + }, + ], + }, + '2': { + changes: [ + { + type: 'mappings_addition', + addedMappings: { + field3: { type: 'text' }, + }, + }, + ], + }, + }, + mappings: { + properties: { + field1: { type: 'text' }, + field2: { type: 'text' }, + field3: { type: 'text' }, + }, + }, + }); + + expect(() => validate({ type, kibanaVersion: '3.2.3' })).not.toThrow(); + }); + + it('throws when registering mapping additions different than the global mappings', () => { + const type = createType({ + name: 'foo', + switchToModelVersionAt: '8.8.0', + modelVersions: { + '1': { + changes: [ + { + type: 'mappings_addition', + addedMappings: { + field2: { type: 'boolean' }, + }, + }, + ], + }, + }, + mappings: { + properties: { + field1: { type: 'text' }, + field2: { type: 'text' }, + }, + }, + }); + + expect(() => validate({ type, kibanaVersion: '3.2.3' })).toThrowErrorMatchingInlineSnapshot( + `"Type foo: mappings added on model versions differs from the global mappings definition: field2.type"` + ); + }); }); describe('convertToMultiNamespaceTypeVersion', () => { diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/validate_migrations.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/validate_migrations.ts index 2dc93f0e54353..be3ff2e0e325b 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/validate_migrations.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/validate_migrations.ts @@ -7,9 +7,18 @@ */ import Semver from 'semver'; +import { getFlattenedObject } from '@kbn/std'; import type { SavedObjectsNamespaceType } from '@kbn/core-saved-objects-common'; -import type { SavedObjectsType } from '@kbn/core-saved-objects-server'; +import type { + SavedObjectsType, + SavedObjectsTypeMappingDefinition, + SavedObjectsModelVersionMap, +} from '@kbn/core-saved-objects-server'; import { assertValidModelVersion } from '@kbn/core-saved-objects-base-server-internal'; +import { + SavedObjectsModelChange, + SavedObjectsModelMappingsAdditionChange, +} from '@kbn/core-saved-objects-server'; /** * Validates the consistency of the given type for use with the document migrator. @@ -49,9 +58,9 @@ export function validateTypeMigrations({ `Migrations map for type ${type.name} should be an object like { '2.0.0': (doc) => doc }.` ); - Object.entries(migrationMap).forEach(([version, fn]) => { + Object.entries(migrationMap).forEach(([version, migration]) => { assertValidSemver(kibanaVersion, version, type.name); - assertValidTransform(fn, version, type.name); + assertValidTransform(migration, version, type.name); if (type.switchToModelVersionAt && Semver.gte(version, type.switchToModelVersionAt)) { throw new Error( `Migration for type ${type.name} for version ${version} registered after switchToModelVersionAt (${type.switchToModelVersionAt})` @@ -64,42 +73,47 @@ export function validateTypeMigrations({ const modelVersionMap = typeof type.modelVersions === 'function' ? type.modelVersions() : type.modelVersions ?? {}; - if (Object.keys(modelVersionMap).length > 0 && !type.switchToModelVersionAt) { - throw new Error( - `Type ${type.name}: Uusing modelVersions requires to specify switchToModelVersionAt` + if (Object.keys(modelVersionMap).length > 0) { + if (!type.switchToModelVersionAt) { + throw new Error( + `Type ${type.name}: Using modelVersions requires to specify switchToModelVersionAt` + ); + } + + Object.entries(modelVersionMap).forEach(([version, definition]) => { + assertValidModelVersion(version); + }); + + const { min: minVersion, max: maxVersion } = Object.keys(modelVersionMap).reduce( + (minMax, rawVersion) => { + const version = Number.parseInt(rawVersion, 10); + minMax.min = Math.min(minMax.min, version); + minMax.max = Math.max(minMax.max, version); + return minMax; + }, + { min: Infinity, max: -Infinity } ); - } - Object.entries(modelVersionMap).forEach(([version, definition]) => { - assertValidModelVersion(version); - }); + if (minVersion > 1) { + throw new Error(`Type ${type.name}: model versioning must start with version 1`); + } - const { min: minVersion, max: maxVersion } = Object.keys(modelVersionMap).reduce( - (minMax, rawVersion) => { - const version = Number.parseInt(rawVersion, 10); - minMax.min = Math.min(minMax.min, version); - minMax.max = Math.max(minMax.max, version); - return minMax; - }, - { min: Infinity, max: -Infinity } - ); + validateAddedMappings(type.name, type.mappings, modelVersionMap); - if (minVersion > 1) { - throw new Error(`Type ${type.name}: model versioning must start with version 1`); - } - const missingVersions = getMissingVersions( - minVersion, - maxVersion, - Object.keys(modelVersionMap).map((v) => Number.parseInt(v, 10)) - ); - if (missingVersions.length) { - throw new Error( - `Type ${ - type.name - }: gaps between model versions aren't allowed (missing versions: ${missingVersions.join( - ',' - )})` + const missingVersions = getMissingVersions( + minVersion, + maxVersion, + Object.keys(modelVersionMap).map((v) => Number.parseInt(v, 10)) ); + if (missingVersions.length) { + throw new Error( + `Type ${ + type.name + }: gaps between model versions aren't allowed (missing versions: ${missingVersions.join( + ',' + )})` + ); + } } } @@ -114,6 +128,60 @@ export function validateTypeMigrations({ } } +function isMappingAddition( + change: SavedObjectsModelChange +): change is SavedObjectsModelMappingsAdditionChange { + return change.type === 'mappings_addition'; +} + +const validateAddedMappings = ( + typeName: string, + mappings: SavedObjectsTypeMappingDefinition, + modelVersions: SavedObjectsModelVersionMap +) => { + const flattenedMappings = new Map(Object.entries(getFlattenedObject(mappings.properties))); + + const mappingAdditionChanges = Object.values(modelVersions) + .flatMap((version) => version.changes) + .filter(isMappingAddition); + const addedMappings = mappingAdditionChanges.reduce((map, change) => { + const flattened = getFlattenedObject(change.addedMappings); + Object.keys(flattened).forEach((key) => { + map.set(key, flattened[key]); + }); + return map; + }, new Map()); + + const missingMappings: string[] = []; + const mappingsWithDifferentValues: string[] = []; + + for (const [key, value] of addedMappings.entries()) { + if (!flattenedMappings.has(key)) { + missingMappings.push(key); + } else { + const valueInMappings = flattenedMappings.get(key); + if (valueInMappings !== value) { + mappingsWithDifferentValues.push(key); + } + } + } + + if (missingMappings.length) { + throw new Error( + `Type ${typeName}: mappings added on model versions not present on the global mappings definition: ${missingMappings.join( + ',' + )}` + ); + } + if (mappingsWithDifferentValues.length) { + throw new Error( + `Type ${typeName}: mappings added on model versions differs from the global mappings definition: ${mappingsWithDifferentValues.join( + ',' + )}` + ); + } +}; + const assertObjectOrFunction = (entity: any, prefix: string) => { if (!entity || (typeof entity !== 'function' && typeof entity !== 'object')) { throw new Error(`${prefix} Got! ${typeof entity}, ${JSON.stringify(entity)}.`); @@ -169,9 +237,14 @@ const assertValidConvertToMultiNamespaceType = ( } }; -const assertValidTransform = (fn: any, version: string, type: string) => { - if (typeof fn !== 'function') { - throw new Error(`Invalid migration ${type}.${version}: expected a function, but got ${fn}.`); +const assertValidTransform = (migration: any, version: string, type: string) => { + if ( + !(typeof migration === 'object' && typeof migration.transform === 'function') && + typeof migration !== 'function' + ) { + throw new Error( + `Invalid migration ${type}.${version}: expected a function or an object, but got ${migration}.` + ); } }; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/get_outdated_documents_query.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/get_outdated_documents_query.test.ts new file mode 100644 index 0000000000000..cb85800d41276 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/get_outdated_documents_query.test.ts @@ -0,0 +1,26 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 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 { getOutdatedDocumentsQuery } from './get_outdated_documents_query'; + +describe('getOutdatedDocumentsQuery', () => { + it.each` + coreMigrationVersionPerType | migrationVersionPerType | case + ${{}} | ${{}} | ${'should not select documents if there are no migrations'} + ${{ dashboard: '8.8.0' }} | ${{}} | ${'should select documents with outdated core migration version'} + ${{}} | ${{ dashboard: '7.7.0' }} | ${'should select documents with outdated type migration version'} + ${{ dashboard: '8.8.0' }} | ${{ dashboard: '7.7.0' }} | ${'should select documents with outdated both core and type migration versions'} + `('$case', ({ coreMigrationVersionPerType, migrationVersionPerType }) => { + expect( + getOutdatedDocumentsQuery({ + coreMigrationVersionPerType, + migrationVersionPerType, + }) + ).toMatchSnapshot(); + }); +}); diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/get_outdated_documents_query.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/get_outdated_documents_query.ts new file mode 100644 index 0000000000000..d1c37f9bdce36 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/get_outdated_documents_query.ts @@ -0,0 +1,76 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { QueryDslQueryContainer } from '@elastic/elasticsearch/lib/api/types'; +import { SavedObjectsMigrationVersion } from '@kbn/core-saved-objects-common'; + +export interface OutdatedDocumentsQueryParams { + coreMigrationVersionPerType: SavedObjectsMigrationVersion; + migrationVersionPerType: SavedObjectsMigrationVersion; +} + +export function getOutdatedDocumentsQuery({ + coreMigrationVersionPerType, + migrationVersionPerType, +}: OutdatedDocumentsQueryParams): QueryDslQueryContainer { + const types = [ + ...new Set([ + ...Object.keys(coreMigrationVersionPerType), + ...Object.keys(migrationVersionPerType), + ]).values(), + ]; + return { + bool: { + should: types.map((type) => ({ + bool: { + must: [ + { term: { type } }, + { + bool: { + should: [ + ...(coreMigrationVersionPerType[type] + ? [ + { + range: { + coreMigrationVersion: { lt: coreMigrationVersionPerType[type] }, + }, + }, + ] + : []), + ...(migrationVersionPerType[type] + ? [ + { + bool: { + must_not: [ + { exists: { field: 'typeMigrationVersion' } }, + { exists: { field: `migrationVersion.${type}` } }, + ], + }, + }, + { + bool: { + must: { exists: { field: 'migrationVersion' } }, + must_not: { + term: { [`migrationVersion.${type}`]: migrationVersionPerType[type] }, + }, + }, + }, + { + range: { typeMigrationVersion: { lt: migrationVersionPerType[type] } }, + }, + ] + : []), + ], + }, + }, + ], + }, + })), + }, + }; +} diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/initial_state.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/initial_state.test.ts index a7178e3935370..31c0b1fc5e9fd 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/initial_state.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/initial_state.test.ts @@ -18,6 +18,8 @@ import { import type { Logger } from '@kbn/logging'; import { loggingSystemMock } from '@kbn/core-logging-server-mocks'; import { createInitialState, type CreateInitialStateParams } from './initial_state'; +import * as getOutdatedDocumentsQueryModule from './get_outdated_documents_query'; +import { getOutdatedDocumentsQuery } from './get_outdated_documents_query'; const mockLogger = loggingSystemMock.create(); @@ -25,6 +27,7 @@ const migrationsConfig = { retryAttempts: 15, batchSize: 1000, maxBatchSizeBytes: ByteSizeValue.parse('100mb'), + maxReadBatchSizeBytes: ByteSizeValue.parse('500mb'), } as unknown as SavedObjectsMigrationConfigType; const createInitialStateCommonParams = { @@ -40,6 +43,7 @@ const createInitialStateCommonParams = { dynamic: 'strict', properties: { my_type: { properties: { title: { type: 'text' } } } }, } as IndexMapping, + coreMigrationVersionPerType: {}, migrationVersionPerType: {}, indexPrefix: '.kibana_task_manager', migrationsConfig, @@ -214,7 +218,9 @@ describe('createInitialState', () => { "knownTypes": Array [], "legacyIndex": ".kibana_task_manager", "logs": Array [], + "maxBatchSize": 1000, "maxBatchSizeBytes": 104857600, + "maxReadBatchSizeBytes": 524288000, "migrationDocLinks": Object { "clusterShardLimitExceeded": "https://www.elastic.co/guide/en/kibana/test-branch/resolve-migrations-failures.html#cluster-shard-limit-exceeded", "repeatedTimeoutRequests": "https://www.elastic.co/guide/en/kibana/test-branch/resolve-migrations-failures.html#_repeated_time_out_requests_that_eventually_fail", @@ -262,6 +268,7 @@ describe('createInitialState', () => { }, }, "tempIndex": ".kibana_task_manager_8.1.0_reindex_temp", + "tempIndexAlias": ".kibana_task_manager_8.1.0_reindex_temp_alias", "tempIndexMappings": Object { "dynamic": false, "properties": Object { @@ -347,10 +354,13 @@ describe('createInitialState', () => { ).toEqual(true); }); it('returns state with an outdatedDocumentsQuery', () => { + jest.spyOn(getOutdatedDocumentsQueryModule, 'getOutdatedDocumentsQuery'); + expect( createInitialState({ ...createInitialStateParams, preMigrationScript: "ctx._id = ctx._source.type + ':' + ctx._id", + coreMigrationVersionPerType: {}, migrationVersionPerType: { my_dashboard: '7.10.1', my_viz: '8.0.0' }, }).outdatedDocumentsQuery ).toMatchInlineSnapshot(` @@ -368,6 +378,22 @@ describe('createInitialState', () => { Object { "bool": Object { "should": Array [ + Object { + "bool": Object { + "must_not": Array [ + Object { + "exists": Object { + "field": "typeMigrationVersion", + }, + }, + Object { + "exists": Object { + "field": "migrationVersion.my_dashboard", + }, + }, + ], + }, + }, Object { "bool": Object { "must": Object { @@ -383,19 +409,10 @@ describe('createInitialState', () => { }, }, Object { - "bool": Object { - "must_not": Array [ - Object { - "exists": Object { - "field": "migrationVersion", - }, - }, - Object { - "term": Object { - "typeMigrationVersion": "7.10.1", - }, - }, - ], + "range": Object { + "typeMigrationVersion": Object { + "lt": "7.10.1", + }, }, }, ], @@ -415,6 +432,22 @@ describe('createInitialState', () => { Object { "bool": Object { "should": Array [ + Object { + "bool": Object { + "must_not": Array [ + Object { + "exists": Object { + "field": "typeMigrationVersion", + }, + }, + Object { + "exists": Object { + "field": "migrationVersion.my_viz", + }, + }, + ], + }, + }, Object { "bool": Object { "must": Object { @@ -430,19 +463,10 @@ describe('createInitialState', () => { }, }, Object { - "bool": Object { - "must_not": Array [ - Object { - "exists": Object { - "field": "migrationVersion", - }, - }, - Object { - "term": Object { - "typeMigrationVersion": "8.0.0", - }, - }, - ], + "range": Object { + "typeMigrationVersion": Object { + "lt": "8.0.0", + }, }, }, ], @@ -455,6 +479,10 @@ describe('createInitialState', () => { }, } `); + expect(getOutdatedDocumentsQuery).toHaveBeenCalledWith({ + coreMigrationVersionPerType: {}, + migrationVersionPerType: { my_dashboard: '7.10.1', my_viz: '8.0.0' }, + }); }); it('initializes the `discardUnknownObjects` flag to false if the flag is not provided in the config', () => { diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/initial_state.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/initial_state.ts index 1cfc266016742..eeb2065edb775 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/initial_state.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/initial_state.ts @@ -7,28 +7,29 @@ */ import * as Option from 'fp-ts/Option'; -import type { QueryDslQueryContainer } from '@elastic/elasticsearch/lib/api/types'; import type { DocLinksServiceStart } from '@kbn/core-doc-links-server'; import type { Logger } from '@kbn/logging'; -import type { SavedObjectsMigrationVersion } from '@kbn/core-saved-objects-common'; import type { ISavedObjectTypeRegistry } from '@kbn/core-saved-objects-server'; import type { IndexMapping, IndexTypesMap, SavedObjectsMigrationConfigType, } from '@kbn/core-saved-objects-base-server-internal'; +import { + getOutdatedDocumentsQuery, + type OutdatedDocumentsQueryParams, +} from './get_outdated_documents_query'; import type { InitState } from './state'; import { excludeUnusedTypesQuery } from './core'; import { getTempIndexName } from './model/helpers'; -export interface CreateInitialStateParams { +export interface CreateInitialStateParams extends OutdatedDocumentsQueryParams { kibanaVersion: string; waitForMigrationCompletion: boolean; mustRelocateDocuments: boolean; indexTypesMap: IndexTypesMap; targetMappings: IndexMapping; preMigrationScript?: string; - migrationVersionPerType: SavedObjectsMigrationVersion; indexPrefix: string; migrationsConfig: SavedObjectsMigrationConfigType; typeRegistry: ISavedObjectTypeRegistry; @@ -46,6 +47,7 @@ export const createInitialState = ({ indexTypesMap, targetMappings, preMigrationScript, + coreMigrationVersionPerType, migrationVersionPerType, indexPrefix, migrationsConfig, @@ -53,37 +55,10 @@ export const createInitialState = ({ docLinks, logger, }: CreateInitialStateParams): InitState => { - const outdatedDocumentsQuery: QueryDslQueryContainer = { - bool: { - should: Object.entries(migrationVersionPerType).map(([type, latestVersion]) => ({ - bool: { - must: [ - { term: { type } }, - { - bool: { - should: [ - { - bool: { - must: { exists: { field: 'migrationVersion' } }, - must_not: { term: { [`migrationVersion.${type}`]: latestVersion } }, - }, - }, - { - bool: { - must_not: [ - { exists: { field: 'migrationVersion' } }, - { term: { typeMigrationVersion: latestVersion } }, - ], - }, - }, - ], - }, - }, - ], - }, - })), - }, - }; + const outdatedDocumentsQuery = getOutdatedDocumentsQuery({ + coreMigrationVersionPerType, + migrationVersionPerType, + }); const reindexTargetMappings: IndexMapping = { dynamic: false, @@ -142,6 +117,7 @@ export const createInitialState = ({ versionAlias: `${indexPrefix}_${kibanaVersion}`, versionIndex: `${indexPrefix}_${kibanaVersion}_001`, tempIndex: getTempIndexName(indexPrefix, kibanaVersion), + tempIndexAlias: getTempIndexName(indexPrefix, kibanaVersion) + '_alias', kibanaVersion, preMigrationScript: Option.fromNullable(preMigrationScript), targetIndexMappings, @@ -151,7 +127,9 @@ export const createInitialState = ({ retryDelay: 0, retryAttempts: migrationsConfig.retryAttempts, batchSize: migrationsConfig.batchSize, + maxBatchSize: migrationsConfig.batchSize, maxBatchSizeBytes: migrationsConfig.maxBatchSizeBytes.getValueInBytes(), + maxReadBatchSizeBytes: migrationsConfig.maxReadBatchSizeBytes.getValueInBytes(), discardUnknownObjects: migrationsConfig.discardUnknownObjects === kibanaVersion, discardCorruptObjects: migrationsConfig.discardCorruptObjects === kibanaVersion, logs: [], diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator.test.ts index 24559a87f20bb..284215ef74b45 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator.test.ts @@ -7,52 +7,60 @@ */ import { take } from 'rxjs/operators'; -import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; - import { loggingSystemMock } from '@kbn/core-logging-server-mocks'; import { elasticsearchClientMock } from '@kbn/core-elasticsearch-client-server-mocks'; import type { SavedObjectsType } from '@kbn/core-saved-objects-server'; -import { SavedObjectTypeRegistry } from '@kbn/core-saved-objects-base-server-internal'; -import { type KibanaMigratorOptions, KibanaMigrator } from './kibana_migrator'; +import { + type MigrationResult, + SavedObjectTypeRegistry, +} from '@kbn/core-saved-objects-base-server-internal'; +import { KibanaMigrator } from './kibana_migrator'; import { DocumentMigrator } from './document_migrator'; import { ByteSizeValue } from '@kbn/config-schema'; import { docLinksServiceMock } from '@kbn/core-doc-links-server-mocks'; import { lastValueFrom } from 'rxjs'; -import { runResilientMigrator } from './run_resilient_migrator'; - -jest.mock('./run_resilient_migrator', () => { - const actual = jest.requireActual('./run_resilient_migrator'); +import { runV2Migration } from './run_v2_migration'; +import { runZeroDowntimeMigration } from './zdt'; + +const V2_SUCCESSFUL_MIGRATION_RESULT: MigrationResult[] = [ + { + sourceIndex: '.my_index_pre8.2.3_001', + destIndex: '.my_index_8.2.3_001', + elapsedMs: 14, + status: 'migrated', + }, +]; + +const ZDT_SUCCESSFUL_MIGRATION_RESULT: MigrationResult[] = [ + { + sourceIndex: '.my_index_8.8.0_001', + destIndex: '.my_index_8.8.1_001', + elapsedMs: 14, + status: 'migrated', + }, + { + destIndex: '.other_index_8.8.0_001', + elapsedMs: 128, + status: 'patched', + }, +]; +jest.mock('./run_v2_migration', () => { return { - runResilientMigrator: jest.fn(actual.runResilientMigrator), + runV2Migration: jest.fn( + (): Promise => Promise.resolve(V2_SUCCESSFUL_MIGRATION_RESULT) + ), }; }); -jest.mock('./document_migrator', () => { +jest.mock('./zdt', () => { return { - // Create a mock for spying on the constructor - DocumentMigrator: jest.fn().mockImplementation((...args) => { - const { DocumentMigrator: RealDocMigrator } = jest.requireActual('./document_migrator'); - return new RealDocMigrator(args[0]); - }), + runZeroDowntimeMigration: jest.fn( + (): Promise => Promise.resolve(ZDT_SUCCESSFUL_MIGRATION_RESULT) + ), }; }); -const mappingsResponseWithoutIndexTypesMap: estypes.IndicesGetMappingResponse = { - '.kibana_8.7.0_001': { - mappings: { - _meta: { - migrationMappingPropertyHashes: { - references: '7997cf5a56cc02bdc9c93361bde732b0', - // ... - }, - // we do not add a `indexTypesMap` - // simulating a Kibana < 8.8.0 that does not have one yet - }, - }, - }, -}; - const createRegistry = (types: Array>) => { const registry = new SavedObjectTypeRegistry(); types.forEach((type) => @@ -68,10 +76,15 @@ const createRegistry = (types: Array>) => { return registry; }; +const mockRunV2Migration = runV2Migration as jest.MockedFunction; +const mockRunZeroDowntimeMigration = runZeroDowntimeMigration as jest.MockedFunction< + typeof runZeroDowntimeMigration +>; + describe('KibanaMigrator', () => { beforeEach(() => { - (DocumentMigrator as jest.Mock).mockClear(); - (runResilientMigrator as jest.MockedFunction).mockClear(); + mockRunV2Migration.mockClear(); + mockRunZeroDowntimeMigration.mockClear(); }); describe('getActiveMappings', () => { it('returns full index mappings w/ core properties', () => { @@ -85,7 +98,7 @@ describe('KibanaMigrator', () => { }, { name: 'bmap', - indexPattern: '.other-index', + indexPattern: '.other_index', mappings: { properties: { field: { type: 'text' } }, }, @@ -107,102 +120,70 @@ describe('KibanaMigrator', () => { ); }); + // TODO check if it applies it('calls documentMigrator.migrate', () => { const options = mockOptions(); const kibanaMigrator = new KibanaMigrator(options); - const mockDocumentMigrator = { migrate: jest.fn() }; - // @ts-expect-error `documentMigrator` is readonly. - kibanaMigrator.documentMigrator = mockDocumentMigrator; + jest.spyOn(DocumentMigrator.prototype, 'migrate').mockImplementation((doc) => doc); const doc = {} as any; expect(() => kibanaMigrator.migrateDocument(doc)).not.toThrowError(); - expect(mockDocumentMigrator.migrate).toBeCalledTimes(1); + expect(DocumentMigrator.prototype.migrate).toBeCalledTimes(1); }); }); describe('runMigrations', () => { - it('throws if prepareMigrations is not called first', async () => { + it("calls runV2Migration with the right params when the migration algorithm is 'v2'", async () => { const options = mockOptions(); const migrator = new KibanaMigrator(options); + migrator.prepareMigrations(); + const res = await migrator.runMigrations(); - await expect(migrator.runMigrations()).rejects.toThrowError( - 'Migrations are not ready. Make sure prepareMigrations is called first.' + expect(runV2Migration).toHaveBeenCalledTimes(1); + expect(runZeroDowntimeMigration).not.toHaveBeenCalled(); + expect(runV2Migration).toHaveBeenCalledWith( + expect.objectContaining({ + kibanaVersion: '8.2.3', + kibanaIndexPrefix: '.my_index', + migrationConfig: options.soMigrationsConfig, + waitForMigrationCompletion: false, + }) ); + expect(res).toEqual(V2_SUCCESSFUL_MIGRATION_RESULT); }); - it('only runs migrations once if called multiple times', async () => { - const successfulRun: typeof runResilientMigrator = ({ indexPrefix }) => - Promise.resolve({ - sourceIndex: indexPrefix, - destIndex: indexPrefix, - elapsedMs: 28, - status: 'migrated', - }); - const mockRunResilientMigrator = runResilientMigrator as jest.MockedFunction< - typeof runResilientMigrator - >; - - mockRunResilientMigrator.mockImplementationOnce(successfulRun); - mockRunResilientMigrator.mockImplementationOnce(successfulRun); - mockRunResilientMigrator.mockImplementationOnce(successfulRun); - mockRunResilientMigrator.mockImplementationOnce(successfulRun); - const options = mockOptions(); - options.client.indices.get.mockResponse({}, { statusCode: 200 }); - options.client.indices.getMapping.mockResponse(mappingsResponseWithoutIndexTypesMap, { - statusCode: 200, - }); + it("calls runZeroDowntimeMigration with the right params when the migration algorithm is 'zdt'", async () => { + const options = mockOptions('zdt'); + const migrator = new KibanaMigrator(options); + migrator.prepareMigrations(); + const res = await migrator.runMigrations(); - options.client.cluster.getSettings.mockResponse( - { - transient: {}, - persistent: {}, - }, - { statusCode: 404 } + expect(runZeroDowntimeMigration).toHaveBeenCalledTimes(1); + expect(runV2Migration).not.toHaveBeenCalled(); + expect(runZeroDowntimeMigration).toHaveBeenCalledWith( + expect.objectContaining({ + kibanaVersion: '8.2.3', + kibanaIndexPrefix: '.my_index', + migrationConfig: options.soMigrationsConfig, + }) ); - const migrator = new KibanaMigrator(options); + expect(res).toEqual(ZDT_SUCCESSFUL_MIGRATION_RESULT); + }); + it('only runs migrations once if called multiple times', async () => { + const options = mockOptions(); + const migrator = new KibanaMigrator(options); migrator.prepareMigrations(); await migrator.runMigrations(); await migrator.runMigrations(); await migrator.runMigrations(); // indices.get is called twice during a single migration - expect(runResilientMigrator).toHaveBeenCalledTimes(4); - expect(runResilientMigrator).toHaveBeenNthCalledWith( - 1, - expect.objectContaining({ - indexPrefix: '.my-index', - mustRelocateDocuments: true, - }) - ); - expect(runResilientMigrator).toHaveBeenNthCalledWith( - 2, - expect.objectContaining({ - indexPrefix: '.other-index', - mustRelocateDocuments: true, - }) - ); - expect(runResilientMigrator).toHaveBeenNthCalledWith( - 3, - expect.objectContaining({ - indexPrefix: '.my-task-index', - mustRelocateDocuments: false, - }) - ); - expect(runResilientMigrator).toHaveBeenNthCalledWith( - 4, - expect.objectContaining({ - indexPrefix: '.my-complementary-index', - mustRelocateDocuments: true, - }) - ); + expect(runV2Migration).toHaveBeenCalledTimes(1); }); - it('emits results on getMigratorResult$()', async () => { - const options = mockV2MigrationOptions(); - options.client.indices.getMapping.mockResponse(mappingsResponseWithoutIndexTypesMap, { - statusCode: 200, - }); + it('emits v2 results on getMigratorResult$()', async () => { + const options = mockOptions(); const migrator = new KibanaMigrator(options); const migratorStatus = lastValueFrom(migrator.getStatus$().pipe(take(3))); migrator.prepareMigrations(); @@ -210,294 +191,70 @@ describe('KibanaMigrator', () => { const { status, result } = await migratorStatus; expect(status).toEqual('completed'); - expect(result![0]).toMatchObject({ - destIndex: '.my-index_8.2.3_001', - sourceIndex: '.my-index_pre8.2.3_001', - elapsedMs: expect.any(Number), - status: 'migrated', - }); - expect(result![1]).toMatchObject({ - destIndex: '.other-index_8.2.3_001', - elapsedMs: expect.any(Number), - status: 'patched', - }); + expect(result).toEqual(V2_SUCCESSFUL_MIGRATION_RESULT); }); - it('rejects when the migration state machine terminates in a FATAL state', async () => { - const options = mockV2MigrationOptions(); - options.client.indices.get.mockResponse( - { - '.my-index_8.2.4_001': { - aliases: { - '.my-index': {}, - '.my-index_8.2.4': {}, - }, - mappings: { properties: {}, _meta: { migrationMappingPropertyHashes: {} } }, - settings: {}, - }, - }, - { statusCode: 200 } - ); - options.client.indices.getMapping.mockResponse(mappingsResponseWithoutIndexTypesMap, { - statusCode: 200, - }); + it('emits zdt results on getMigratorResult$()', async () => { + const options = mockOptions('zdt'); const migrator = new KibanaMigrator(options); + const migratorStatus = lastValueFrom(migrator.getStatus$().pipe(take(3))); migrator.prepareMigrations(); - return expect(migrator.runMigrations()).rejects.toMatchInlineSnapshot( - `[Error: Unable to complete saved object migrations for the [.my-index] index: The .my-index alias is pointing to a newer version of Kibana: v8.2.4]` - ); - }); + await migrator.runMigrations(); - it('rejects when an unexpected exception occurs in an action', async () => { - const options = mockV2MigrationOptions(); - options.client.tasks.get.mockResponse({ - completed: true, - error: { type: 'elasticsearch_exception', reason: 'task failed with an error' }, - task: { description: 'task description' } as any, - }); - options.client.indices.getMapping.mockResponse(mappingsResponseWithoutIndexTypesMap, { - statusCode: 200, - }); + const { status, result } = await migratorStatus; + expect(status).toEqual('completed'); + expect(result).toEqual(ZDT_SUCCESSFUL_MIGRATION_RESULT); + }); + it('rejects when the v2 migrator algorithm rejects', async () => { + const options = mockOptions(); const migrator = new KibanaMigrator(options); + + const fatal = new Error( + `Unable to complete saved object migrations for the [${options.kibanaIndex}] index: Something went horribly wrong` + ); + mockRunV2Migration.mockRejectedValueOnce(fatal); + migrator.prepareMigrations(); - await expect(migrator.runMigrations()).rejects.toMatchInlineSnapshot(` - [Error: Unable to complete saved object migrations for the [.my-index] index. Error: Reindex failed with the following error: - {"_tag":"Some","value":{"type":"elasticsearch_exception","reason":"task failed with an error"}}] - `); - expect(loggingSystemMock.collect(options.logger).error[0][0]).toMatchInlineSnapshot(` - [Error: Reindex failed with the following error: - {"_tag":"Some","value":{"type":"elasticsearch_exception","reason":"task failed with an error"}}] - `); + expect(migrator.runMigrations()).rejects.toEqual(fatal); }); - describe('for V2 migrations', () => { - describe('where some SO types must be relocated', () => { - it('runs successfully', async () => { - const options = mockV2MigrationOptions(); - options.client.indices.getMapping.mockResponse(mappingsResponseWithoutIndexTypesMap, { - statusCode: 200, - }); - - const migrator = new KibanaMigrator(options); - migrator.prepareMigrations(); - const results = await migrator.runMigrations(); + it('rejects when the zdt migrator algorithm rejects', async () => { + const options = mockOptions('zdt'); + const migrator = new KibanaMigrator(options); - expect(results.length).toEqual(4); - expect(results[0]).toEqual( - expect.objectContaining({ - sourceIndex: '.my-index_pre8.2.3_001', - destIndex: '.my-index_8.2.3_001', - elapsedMs: expect.any(Number), - status: 'migrated', - }) - ); - expect(results[1]).toEqual( - expect.objectContaining({ - destIndex: '.other-index_8.2.3_001', - elapsedMs: expect.any(Number), - status: 'patched', - }) - ); - expect(results[2]).toEqual( - expect.objectContaining({ - destIndex: '.my-task-index_8.2.3_001', - elapsedMs: expect.any(Number), - status: 'patched', - }) - ); - expect(results[3]).toEqual( - expect.objectContaining({ - destIndex: '.my-complementary-index_8.2.3_001', - elapsedMs: expect.any(Number), - status: 'patched', - }) - ); + const fatal = new Error( + `Unable to complete saved object migrations for the [${options.kibanaIndex}] index: Something went terribly wrong` + ); + mockRunZeroDowntimeMigration.mockRejectedValueOnce(fatal); - expect(runResilientMigrator).toHaveBeenCalledTimes(4); - expect(runResilientMigrator).toHaveBeenNthCalledWith( - 1, - expect.objectContaining({ - kibanaVersion: '8.2.3', - indexPrefix: '.my-index', - indexTypesMap: { - '.my-index': ['testtype', 'testtype3'], - '.other-index': ['testtype2'], - '.my-task-index': ['testtasktype'], - }, - targetMappings: expect.objectContaining({ - properties: expect.objectContaining({ - testtype: expect.anything(), - testtype3: expect.anything(), - }), - }), - readyToReindex: expect.objectContaining({ - promise: expect.anything(), - resolve: expect.anything(), - reject: expect.anything(), - }), - mustRelocateDocuments: true, - doneReindexing: expect.objectContaining({ - promise: expect.anything(), - resolve: expect.anything(), - reject: expect.anything(), - }), - }) - ); - expect(runResilientMigrator).toHaveBeenNthCalledWith( - 2, - expect.objectContaining({ - kibanaVersion: '8.2.3', - indexPrefix: '.other-index', - indexTypesMap: { - '.my-index': ['testtype', 'testtype3'], - '.other-index': ['testtype2'], - '.my-task-index': ['testtasktype'], - }, - targetMappings: expect.objectContaining({ - properties: expect.objectContaining({ - testtype2: expect.anything(), - }), - }), - readyToReindex: expect.objectContaining({ - promise: expect.anything(), - resolve: expect.anything(), - reject: expect.anything(), - }), - mustRelocateDocuments: true, - doneReindexing: expect.objectContaining({ - promise: expect.anything(), - resolve: expect.anything(), - reject: expect.anything(), - }), - }) - ); - expect(runResilientMigrator).toHaveBeenNthCalledWith( - 3, - expect.objectContaining({ - kibanaVersion: '8.2.3', - indexPrefix: '.my-task-index', - indexTypesMap: { - '.my-index': ['testtype', 'testtype3'], - '.other-index': ['testtype2'], - '.my-task-index': ['testtasktype'], - }, - targetMappings: expect.objectContaining({ - properties: expect.objectContaining({ - testtasktype: expect.anything(), - }), - }), - // this migrator is NOT involved in any relocation, - // thus, it must not synchronize with other migrators - mustRelocateDocuments: false, - readyToReindex: undefined, - doneReindexing: undefined, - }) - ); - expect(runResilientMigrator).toHaveBeenNthCalledWith( - 4, - expect.objectContaining({ - kibanaVersion: '8.2.3', - indexPrefix: '.my-complementary-index', - indexTypesMap: { - '.my-index': ['testtype', 'testtype3'], - '.other-index': ['testtype2'], - '.my-task-index': ['testtasktype'], - }, - targetMappings: expect.objectContaining({ - properties: expect.not.objectContaining({ - // this index does no longer have any types associated to it - testtype: expect.anything(), - testtype2: expect.anything(), - testtype3: expect.anything(), - testtasktype: expect.anything(), - }), - }), - mustRelocateDocuments: true, - doneReindexing: expect.objectContaining({ - promise: expect.anything(), - resolve: expect.anything(), - reject: expect.anything(), - }), - }) - ); - }); - }); + migrator.prepareMigrations(); + expect(migrator.runMigrations()).rejects.toEqual(fatal); }); }); }); -type MockedOptions = KibanaMigratorOptions & { - client: ReturnType; -}; - -const mockV2MigrationOptions = () => { - const options = mockOptions(); - options.client.cluster.getSettings.mockResponse( - { - transient: {}, - persistent: {}, - }, - { statusCode: 200 } - ); - - options.client.indices.get.mockResponse( - { - '.my-index': { - aliases: { '.kibana': {} }, - mappings: { properties: {} }, - settings: {}, - }, - }, - { statusCode: 200 } - ); - options.client.indices.addBlock.mockResponse({ - acknowledged: true, - shards_acknowledged: true, - indices: [], - }); - options.client.reindex.mockResponse({ - taskId: 'reindex_task_id', - } as estypes.ReindexResponse); - options.client.tasks.get.mockResponse({ - completed: true, - error: undefined, - failures: [], - task: { description: 'task description' } as any, - } as estypes.TasksGetResponse); - - options.client.search.mockResponse({ hits: { hits: [] } } as any); - - options.client.openPointInTime.mockResponse({ id: 'pit_id' }); - - options.client.closePointInTime.mockResponse({ - succeeded: true, - } as estypes.ClosePointInTimeResponse); - - return options; -}; - -const mockOptions = () => { +const mockOptions = (algorithm: 'v2' | 'zdt' = 'v2') => { const mockedClient = elasticsearchClientMock.createElasticsearchClient(); (mockedClient as any).child = jest.fn().mockImplementation(() => mockedClient); - const options: MockedOptions = { + return { logger: loggingSystemMock.create().get(), kibanaVersion: '8.2.3', waitForMigrationCompletion: false, defaultIndexTypesMap: { - '.my-index': ['testtype', 'testtype2'], - '.my-task-index': ['testtasktype'], + '.my_index': ['testtype', 'testtype2'], + '.task_index': ['testtasktype'], // this index no longer has any types registered in typeRegistry // but we still need a migrator for it, so that 'testtype3' documents // are moved over to their new index (.my_index) - '.my-complementary-index': ['testtype3'], + '.my_complementary_index': ['testtype3'], }, typeRegistry: createRegistry([ // typeRegistry depicts an updated index map: - // .my-index: ['testtype', 'testtype3'], - // .my-other-index: ['testtype2'], - // .my-task-index': ['testtasktype'], + // .my_index: ['testtype', 'testtype3'], + // .other_index: ['testtype2'], + // .task_index': ['testtasktype'], { name: 'testtype', hidden: false, @@ -513,8 +270,8 @@ const mockOptions = () => { name: 'testtype2', hidden: false, namespaceType: 'single', - // We are moving 'testtype2' from '.my-index' to '.other-index' - indexPattern: '.other-index', + // We are moving 'testtype2' from '.my_index' to '.other_index' + indexPattern: '.other_index', mappings: { properties: { name: { type: 'keyword' }, @@ -526,7 +283,7 @@ const mockOptions = () => { name: 'testtasktype', hidden: false, namespaceType: 'single', - indexPattern: '.my-task-index', + indexPattern: '.task_index', mappings: { properties: { name: { type: 'keyword' }, @@ -535,7 +292,7 @@ const mockOptions = () => { migrations: {}, }, { - // We are moving 'testtype3' from '.my-complementary-index' to '.my-index' + // We are moving 'testtype3' from '.my_complementary_index' to '.my_index' name: 'testtype3', hidden: false, namespaceType: 'single', @@ -547,11 +304,12 @@ const mockOptions = () => { migrations: {}, }, ]), - kibanaIndex: '.my-index', + kibanaIndex: '.my_index', soMigrationsConfig: { - algorithm: 'v2', + algorithm, batchSize: 20, maxBatchSizeBytes: ByteSizeValue.parse('20mb'), + maxReadBatchSizeBytes: new ByteSizeValue(536870888), pollInterval: 20000, scrollDuration: '10m', skip: false, @@ -565,5 +323,4 @@ const mockOptions = () => { docLinks: docLinksServiceMock.createSetupContract(), nodeRoles: { backgroundTasks: true, ui: true, migrator: true }, }; - return options; }; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator.ts index 13805c800a63d..ac50e60027e2d 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator.ts @@ -12,15 +12,12 @@ */ import { BehaviorSubject } from 'rxjs'; -import Semver from 'semver'; import type { NodeRoles } from '@kbn/core-node-server'; import type { Logger } from '@kbn/logging'; import type { DocLinksServiceStart } from '@kbn/core-doc-links-server'; import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; import { - MAIN_SAVED_OBJECT_INDEX, type SavedObjectUnsanitizedDoc, - type SavedObjectsRawDoc, type ISavedObjectTypeRegistry, } from '@kbn/core-saved-objects-server'; import { @@ -29,30 +26,27 @@ import { type SavedObjectsTypeMappingDefinitions, type SavedObjectsMigrationConfigType, type IKibanaMigrator, + type MigrateDocumentOptions, type KibanaMigratorStatus, type MigrationResult, type IndexTypesMap, } from '@kbn/core-saved-objects-base-server-internal'; -import { getIndicesInvolvedInRelocation } from './kibana_migrator_utils'; import { buildActiveMappings, buildTypesMappings } from './core'; import { DocumentMigrator } from './document_migrator'; -import { createIndexMap } from './core/build_index_map'; -import { runResilientMigrator } from './run_resilient_migrator'; -import { migrateRawDocsSafely } from './core/migrate_raw_docs'; import { runZeroDowntimeMigration } from './zdt'; -import { createMultiPromiseDefer, indexMapToIndexTypesMap } from './kibana_migrator_utils'; -import { ALLOWED_CONVERT_VERSION, DEFAULT_INDEX_TYPES_MAP } from './kibana_migrator_constants'; +import { ALLOWED_CONVERT_VERSION } from './kibana_migrator_constants'; +import { runV2Migration } from './run_v2_migration'; export interface KibanaMigratorOptions { client: ElasticsearchClient; typeRegistry: ISavedObjectTypeRegistry; + defaultIndexTypesMap: IndexTypesMap; soMigrationsConfig: SavedObjectsMigrationConfigType; kibanaIndex: string; kibanaVersion: string; logger: Logger; docLinks: DocLinksServiceStart; waitForMigrationCompletion: boolean; - defaultIndexTypesMap?: IndexTypesMap; nodeRoles: NodeRoles; } @@ -66,6 +60,7 @@ export class KibanaMigrator implements IKibanaMigrator { private readonly log: Logger; private readonly mappingProperties: SavedObjectsTypeMappingDefinitions; private readonly typeRegistry: ISavedObjectTypeRegistry; + private readonly defaultIndexTypesMap: IndexTypesMap; private readonly serializer: SavedObjectsSerializer; private migrationResult?: Promise; private readonly status$ = new BehaviorSubject({ @@ -75,7 +70,6 @@ export class KibanaMigrator implements IKibanaMigrator { private readonly soMigrationsConfig: SavedObjectsMigrationConfigType; private readonly docLinks: DocLinksServiceStart; private readonly waitForMigrationCompletion: boolean; - private readonly defaultIndexTypesMap: IndexTypesMap; private readonly nodeRoles: NodeRoles; public readonly kibanaVersion: string; @@ -86,11 +80,11 @@ export class KibanaMigrator implements IKibanaMigrator { client, typeRegistry, kibanaIndex, + defaultIndexTypesMap, soMigrationsConfig, kibanaVersion, logger, docLinks, - defaultIndexTypesMap = DEFAULT_INDEX_TYPES_MAP, waitForMigrationCompletion, nodeRoles, }: KibanaMigratorOptions) { @@ -98,6 +92,7 @@ export class KibanaMigrator implements IKibanaMigrator { this.kibanaIndex = kibanaIndex; this.soMigrationsConfig = soMigrationsConfig; this.typeRegistry = typeRegistry; + this.defaultIndexTypesMap = defaultIndexTypesMap; this.serializer = new SavedObjectsSerializer(this.typeRegistry); this.mappingProperties = buildTypesMappings(this.typeRegistry.getAllTypes()); this.log = logger; @@ -114,7 +109,6 @@ export class KibanaMigrator implements IKibanaMigrator { // operation so we cache the result this.activeMappings = buildActiveMappings(this.mappingProperties); this.docLinks = docLinks; - this.defaultIndexTypesMap = defaultIndexTypesMap; } public runMigrations({ rerun = false }: { rerun?: boolean } = {}): Promise { @@ -144,123 +138,47 @@ export class KibanaMigrator implements IKibanaMigrator { return this.status$.asObservable(); } - private async runMigrationsInternal(): Promise { + private runMigrationsInternal(): Promise { const migrationAlgorithm = this.soMigrationsConfig.algorithm; if (migrationAlgorithm === 'zdt') { - return await this.runMigrationZdt(); + return runZeroDowntimeMigration({ + kibanaVersion: this.kibanaVersion, + kibanaIndexPrefix: this.kibanaIndex, + typeRegistry: this.typeRegistry, + logger: this.log, + documentMigrator: this.documentMigrator, + migrationConfig: this.soMigrationsConfig, + docLinks: this.docLinks, + serializer: this.serializer, + elasticsearchClient: this.client, + nodeRoles: this.nodeRoles, + }); } else { - return await this.runMigrationV2(); - } - } - - private runMigrationZdt(): Promise { - return runZeroDowntimeMigration({ - kibanaVersion: this.kibanaVersion, - kibanaIndexPrefix: this.kibanaIndex, - typeRegistry: this.typeRegistry, - logger: this.log, - documentMigrator: this.documentMigrator, - migrationConfig: this.soMigrationsConfig, - docLinks: this.docLinks, - serializer: this.serializer, - elasticsearchClient: this.client, - nodeRoles: this.nodeRoles, - }); - } - - private async runMigrationV2(): Promise { - const indexMap = createIndexMap({ - kibanaIndexName: this.kibanaIndex, - indexMap: this.mappingProperties, - registry: this.typeRegistry, - }); - - this.log.debug('Applying registered migrations for the following saved object types:'); - Object.entries(this.documentMigrator.migrationVersion) - .sort(([t1, v1], [t2, v2]) => { - return Semver.compare(v1, v2); - }) - .forEach(([type, migrationVersion]) => { - this.log.debug(`migrationVersion: ${migrationVersion} saved object type: ${type}`); + return runV2Migration({ + kibanaVersion: this.kibanaVersion, + kibanaIndexPrefix: this.kibanaIndex, + typeRegistry: this.typeRegistry, + defaultIndexTypesMap: this.defaultIndexTypesMap, + logger: this.log, + documentMigrator: this.documentMigrator, + migrationConfig: this.soMigrationsConfig, + docLinks: this.docLinks, + serializer: this.serializer, + elasticsearchClient: this.client, + mappingProperties: this.mappingProperties, + waitForMigrationCompletion: this.waitForMigrationCompletion, }); - - // build a indexTypesMap from the info present in tye typeRegistry, e.g.: - // { - // '.kibana': ['typeA', 'typeB', ...] - // '.kibana_task_manager': ['task', ...] - // '.kibana_cases': ['typeC', 'typeD', ...] - // ... - // } - const indexTypesMap = indexMapToIndexTypesMap(indexMap); - - // compare indexTypesMap with the one present (or not) in the .kibana index meta - // and check if some SO types have been moved to different indices - const indicesWithMovingTypes = await getIndicesInvolvedInRelocation({ - mainIndex: MAIN_SAVED_OBJECT_INDEX, - client: this.client, - indexTypesMap, - logger: this.log, - defaultIndexTypesMap: this.defaultIndexTypesMap, - }); - - // we create 2 synchronization objects (2 synchronization points) for each of the - // migrators involved in relocations, aka each of the migrators that will: - // A) reindex some documents TO other indices - // B) receive some documents FROM other indices - // C) both - const readyToReindexDefers = createMultiPromiseDefer(indicesWithMovingTypes); - const doneReindexingDefers = createMultiPromiseDefer(indicesWithMovingTypes); - - // build a list of all migrators that must be started - const migratorIndices = new Set(Object.keys(indexMap)); - // indices involved in a relocation might no longer be present in current mappings - // but if their SOs must be relocated to another index, we still need a migrator to do the job - indicesWithMovingTypes.forEach((index) => migratorIndices.add(index)); - - const migrators = Array.from(migratorIndices).map((indexName, i) => { - return { - migrate: (): Promise => { - const readyToReindex = readyToReindexDefers[indexName]; - const doneReindexing = doneReindexingDefers[indexName]; - // check if this migrator's index is involved in some document redistribution - const mustRelocateDocuments = !!readyToReindex; - - return runResilientMigrator({ - client: this.client, - kibanaVersion: this.kibanaVersion, - mustRelocateDocuments, - indexTypesMap, - waitForMigrationCompletion: this.waitForMigrationCompletion, - // a migrator's index might no longer have any associated types to it - targetMappings: buildActiveMappings(indexMap[indexName]?.typeMappings ?? {}), - logger: this.log, - preMigrationScript: indexMap[indexName]?.script, - readyToReindex, - doneReindexing, - transformRawDocs: (rawDocs: SavedObjectsRawDoc[]) => - migrateRawDocsSafely({ - serializer: this.serializer, - migrateDoc: this.documentMigrator.migrateAndConvert, - rawDocs, - }), - migrationVersionPerType: this.documentMigrator.migrationVersion, - indexPrefix: indexName, - migrationsConfig: this.soMigrationsConfig, - typeRegistry: this.typeRegistry, - docLinks: this.docLinks, - }); - }, - }; - }); - - return Promise.all(migrators.map((migrator) => migrator.migrate())); + } } public getActiveMappings(): IndexMapping { return this.activeMappings; } - public migrateDocument(doc: SavedObjectUnsanitizedDoc): SavedObjectUnsanitizedDoc { - return this.documentMigrator.migrate(doc); + public migrateDocument( + doc: SavedObjectUnsanitizedDoc, + { allowDowngrade = false }: MigrateDocumentOptions = {} + ): SavedObjectUnsanitizedDoc { + return this.documentMigrator.migrate(doc, { allowDowngrade }); } } diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator_constants.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator_constants.ts index e18abed5caca7..7a104108c2ecb 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator_constants.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator_constants.ts @@ -6,8 +6,6 @@ * Side Public License, v 1. */ -import type { IndexTypesMap } from '@kbn/core-saved-objects-base-server-internal'; - export enum TypeStatus { Added = 'added', Removed = 'removed', @@ -24,108 +22,3 @@ export interface TypeStatusDetails { // ensure plugins don't try to convert SO namespaceTypes after 8.0.0 // see https://github.com/elastic/kibana/issues/147344 export const ALLOWED_CONVERT_VERSION = '8.0.0'; - -export const DEFAULT_INDEX_TYPES_MAP: IndexTypesMap = { - '.kibana_task_manager': ['task'], - '.kibana': [ - 'action', - 'action_task_params', - 'alert', - 'api_key_pending_invalidation', - 'apm-indices', - 'apm-server-schema', - 'apm-service-group', - 'apm-telemetry', - 'app_search_telemetry', - 'application_usage_daily', - 'application_usage_totals', - 'book', - 'canvas-element', - 'canvas-workpad', - 'canvas-workpad-template', - 'cases', - 'cases-comments', - 'cases-configure', - 'cases-connector-mappings', - 'cases-telemetry', - 'cases-user-actions', - 'config', - 'config-global', - 'connector_token', - 'core-usage-stats', - 'csp-rule-template', - 'dashboard', - 'endpoint:user-artifact', - 'endpoint:user-artifact-manifest', - 'enterprise_search_telemetry', - 'epm-packages', - 'epm-packages-assets', - 'event_loop_delays_daily', - 'exception-list', - 'exception-list-agnostic', - 'file', - 'file-upload-usage-collection-telemetry', - 'fileShare', - 'fleet-fleet-server-host', - 'fleet-message-signing-keys', - 'fleet-preconfiguration-deletion-record', - 'fleet-proxy', - 'graph-workspace', - 'guided-onboarding-guide-state', - 'guided-onboarding-plugin-state', - 'index-pattern', - 'infrastructure-monitoring-log-view', - 'infrastructure-ui-source', - 'ingest-agent-policies', - 'ingest-download-sources', - 'ingest-outputs', - 'ingest-package-policies', - 'ingest_manager_settings', - 'inventory-view', - 'kql-telemetry', - 'legacy-url-alias', - 'lens', - 'lens-ui-telemetry', - 'map', - 'metrics-explorer-view', - 'ml-job', - 'ml-module', - 'ml-trained-model', - 'monitoring-telemetry', - 'osquery-manager-usage-metric', - 'osquery-pack', - 'osquery-pack-asset', - 'osquery-saved-query', - 'query', - 'rules-settings', - 'sample-data-telemetry', - 'search', - 'search-session', - 'search-telemetry', - 'searchableList', - 'security-rule', - 'security-solution-signals-migration', - 'siem-detection-engine-rule-actions', - 'siem-ui-timeline', - 'siem-ui-timeline-note', - 'siem-ui-timeline-pinned-event', - 'slo', - 'space', - 'spaces-usage-stats', - 'synthetics-monitor', - 'synthetics-param', - 'synthetics-privates-locations', - 'tag', - 'telemetry', - 'todo', - 'ui-metric', - 'upgrade-assistant-ml-upgrade-operation', - 'upgrade-assistant-reindex-operation', - 'uptime-dynamic-settings', - 'uptime-synthetics-api-key', - 'url', - 'usage-counters', - 'visualization', - 'workplace_search_telemetry', - ], -}; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator_utils.fixtures.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator_utils.fixtures.ts index 802167d733fb5..9100f489bef42 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator_utils.fixtures.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator_utils.fixtures.ts @@ -3147,43 +3147,6 @@ export const INDEX_MAP_BEFORE_SPLIT: IndexMap = { }, }, }, - 'endpoint:user-artifact': { - properties: { - identifier: { - type: 'keyword', - }, - compressionAlgorithm: { - type: 'keyword', - index: false, - }, - encryptionAlgorithm: { - type: 'keyword', - index: false, - }, - encodedSha256: { - type: 'keyword', - }, - encodedSize: { - type: 'long', - index: false, - }, - decodedSha256: { - type: 'keyword', - index: false, - }, - decodedSize: { - type: 'long', - index: false, - }, - created: { - type: 'date', - index: false, - }, - body: { - type: 'binary', - }, - }, - }, 'endpoint:user-artifact-manifest': { properties: { created: { diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator_utils.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator_utils.test.ts index 0698904c45d30..6921e7392fa1f 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator_utils.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator_utils.test.ts @@ -9,22 +9,24 @@ import { errors } from '@elastic/elasticsearch'; import type { IndicesGetMappingResponse } from '@elastic/elasticsearch/lib/api/types'; import { elasticsearchClientMock } from '@kbn/core-elasticsearch-client-server-mocks'; -import type { IndexTypesMap } from '@kbn/core-saved-objects-base-server-internal'; +import { + DEFAULT_INDEX_TYPES_MAP, + type IndexTypesMap, +} from '@kbn/core-saved-objects-base-server-internal'; import { MAIN_SAVED_OBJECT_INDEX } from '@kbn/core-saved-objects-server'; import { loggerMock } from '@kbn/logging-mocks'; -import { DEFAULT_INDEX_TYPES_MAP } from './kibana_migrator_constants'; import { calculateTypeStatuses, - createMultiPromiseDefer, + createWaitGroupMap, getCurrentIndexTypesMap, getIndicesInvolvedInRelocation, indexMapToIndexTypesMap, } from './kibana_migrator_utils'; import { INDEX_MAP_BEFORE_SPLIT } from './kibana_migrator_utils.fixtures'; -describe('createMultiPromiseDefer', () => { +describe('createWaitGroupMap', () => { it('creates defer objects with the same Promise', () => { - const defers = createMultiPromiseDefer(['.kibana', '.kibana_cases']); + const defers = createWaitGroupMap(['.kibana', '.kibana_cases']); expect(Object.keys(defers)).toHaveLength(2); expect(defers['.kibana'].promise).toEqual(defers['.kibana_cases'].promise); expect(defers['.kibana'].resolve).not.toEqual(defers['.kibana_cases'].resolve); @@ -32,7 +34,7 @@ describe('createMultiPromiseDefer', () => { }); it('the common Promise resolves when all defers resolve', async () => { - const defers = createMultiPromiseDefer(['.kibana', '.kibana_cases']); + const defers = createWaitGroupMap(['.kibana', '.kibana_cases']); let resolved = 0; Object.values(defers).forEach((defer) => defer.promise.then(() => ++resolved)); defers['.kibana'].resolve(); diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator_utils.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator_utils.ts index 36d17cd1159e9..b742b9f1124ed 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator_utils.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/kibana_migrator_utils.ts @@ -15,8 +15,8 @@ import { TypeStatus, type TypeStatusDetails } from './kibana_migrator_constants' // even though this utility class is present in @kbn/kibana-utils-plugin, we can't easily import it from Core // aka. one does not simply reuse code -export class Defer { - public resolve!: (data: T) => void; +class Defer { + public resolve!: (data?: T) => void; public reject!: (error: any) => void; public promise: Promise = new Promise((resolve, reject) => { (this as any).resolve = resolve; @@ -24,12 +24,23 @@ export class Defer { }); } -export const defer = () => new Defer(); +export type WaitGroup = Defer; -export function createMultiPromiseDefer(indices: string[]): Record> { - const defers: Array> = indices.map(defer); +export function waitGroup(): WaitGroup { + return new Defer(); +} + +export function createWaitGroupMap(keys: string[]): Record> { + if (!keys?.length) { + return {}; + } + + const defers: Array> = keys.map(() => waitGroup()); + + // every member of the WaitGroup will wait for all members to resolve const all = Promise.all(defers.map(({ promise }) => promise)); - return indices.reduce>>((acc, indexName, i) => { + + return keys.reduce>>((acc, indexName, i) => { const { resolve, reject } = defers[i]; acc[indexName] = { resolve, reject, promise: all }; return acc; @@ -87,7 +98,7 @@ export async function getIndicesInvolvedInRelocation({ defaultIndexTypesMap: IndexTypesMap; logger: Logger; }): Promise { - const indicesWithMovingTypesSet = new Set(); + const indicesWithRelocatingTypesSet = new Set(); const currentIndexTypesMap = await getCurrentIndexTypesMap({ client, @@ -106,11 +117,11 @@ export async function getIndicesInvolvedInRelocation({ Object.values(typeIndexDistribution) .filter(({ status }) => status === TypeStatus.Moved) .forEach(({ currentIndex, targetIndex }) => { - indicesWithMovingTypesSet.add(currentIndex!); - indicesWithMovingTypesSet.add(targetIndex!); + indicesWithRelocatingTypesSet.add(currentIndex!); + indicesWithRelocatingTypesSet.add(targetIndex!); }); - return Array.from(indicesWithMovingTypesSet); + return Array.from(indicesWithRelocatingTypesSet); } export function indexMapToIndexTypesMap(indexMap: IndexMap): IndexTypesMap { diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/migrations_state_action_machine.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/migrations_state_action_machine.test.ts index a14cd9aa27081..2f734b3a56487 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/migrations_state_action_machine.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/migrations_state_action_machine.test.ts @@ -44,12 +44,14 @@ describe('migrationsStateActionMachine', () => { '.kibana_cases': ['typeD', 'typeE'], }, targetMappings: { properties: {} }, + coreMigrationVersionPerType: {}, migrationVersionPerType: {}, indexPrefix: '.my-so-index', migrationsConfig: { algorithm: 'v2', batchSize: 1000, maxBatchSizeBytes: new ByteSizeValue(1e8), + maxReadBatchSizeBytes: new ByteSizeValue(536870888), pollInterval: 0, scrollDuration: '0s', skip: false, diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/create_batches.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/create_batches.test.ts index 951ee86d92f0d..ca274bc7d9b36 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/create_batches.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/create_batches.test.ts @@ -92,7 +92,7 @@ describe('createBatches', () => { expect( createBatches({ documents, - maxBatchSizeBytes: (DOCUMENT_SIZE_BYTES + 43) * 2, // add extra length for 'index' property + maxBatchSizeBytes: (DOCUMENT_SIZE_BYTES + 49) * 2, // add extra length for 'index' property typeIndexMap: buildTempIndexMap( { '.kibana': ['dashboard'], @@ -108,7 +108,7 @@ describe('createBatches', () => { { index: { _id: '', - _index: '.kibana_8.8.0_reindex_temp', + _index: '.kibana_8.8.0_reindex_temp_alias', }, }, { type: 'dashboard', title: 'my saved object title ¹' }, @@ -117,7 +117,7 @@ describe('createBatches', () => { { index: { _id: '', - _index: '.kibana_8.8.0_reindex_temp', + _index: '.kibana_8.8.0_reindex_temp_alias', }, }, { type: 'dashboard', title: 'my saved object title ²' }, @@ -128,7 +128,7 @@ describe('createBatches', () => { { index: { _id: '', - _index: '.kibana_cases_8.8.0_reindex_temp', + _index: '.kibana_cases_8.8.0_reindex_temp_alias', }, }, { type: 'cases', title: 'a case' }, @@ -137,7 +137,7 @@ describe('createBatches', () => { { index: { _id: '', - _index: '.kibana_cases_8.8.0_reindex_temp', + _index: '.kibana_cases_8.8.0_reindex_temp_alias', }, }, { type: 'cases-comments', title: 'a case comment #1' }, @@ -148,7 +148,7 @@ describe('createBatches', () => { { index: { _id: '', - _index: '.kibana_cases_8.8.0_reindex_temp', + _index: '.kibana_cases_8.8.0_reindex_temp_alias', }, }, { type: 'cases-user-actions', title: 'a case user action' }, diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/create_batches.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/create_batches.ts index dc5b09d6c3379..0fcbbc00ce7ea 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/create_batches.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/create_batches.ts @@ -56,7 +56,7 @@ export function buildTempIndexMap( ): Record { return Object.entries(indexTypesMap || {}).reduce>( (acc, [indexAlias, types]) => { - const tempIndex = getTempIndexName(indexAlias, kibanaVersion!); + const tempIndex = getTempIndexName(indexAlias, kibanaVersion!) + '_alias'; types.forEach((type) => { acc[type] = tempIndex; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/helpers.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/helpers.test.ts index a20b517b7f3ba..edf426d7be973 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/helpers.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/helpers.test.ts @@ -18,6 +18,8 @@ import { MigrationType, getTempIndexName, createBulkIndexOperationTuple, + hasLaterVersionAlias, + aliasVersion, } from './helpers'; describe('addExcludedTypesToBoolQuery', () => { @@ -183,6 +185,24 @@ describe('addMustNotClausesToBoolQuery', () => { }); }); +describe('aliasVersion', () => { + test('empty', () => { + expect(aliasVersion(undefined)).toEqual(undefined); + }); + + test('not a version alias', () => { + expect(aliasVersion('.kibana')).toEqual(undefined); + }); + + test('supports arbitrary names and versions', () => { + expect(aliasVersion('.kibana_task_manager_7.17.0')).toEqual('7.17.0'); + }); + + test('supports index names too', () => { + expect(aliasVersion('.kibana_8.8.0_001')).toEqual('8.8.0'); + }); +}); + describe('getAliases', () => { it('returns a right record of alias to index name pairs', () => { const indices: FetchIndexResponse = { @@ -273,6 +293,76 @@ describe('versionMigrationCompleted', () => { }); }); +describe('hasLaterVersionAlias', () => { + test('undefined', () => { + expect(hasLaterVersionAlias('8.8.0', undefined)).toEqual(undefined); + }); + + test('empty', () => { + expect(hasLaterVersionAlias('8.8.0', {})).toEqual(undefined); + }); + + test('only previous version alias', () => { + expect( + hasLaterVersionAlias('8.8.0', { + '.kibana_7.17.0': '.kibana_7.17.0_001', + '.kibana_8.6.0': '.kibana_8.6.0_001', + '.kibana_8.7.2': '.kibana_8.7.2_001', + }) + ).toEqual(undefined); + }); + + test('current version alias', () => { + expect( + hasLaterVersionAlias('8.8.0', { + '.kibana_7.17.0': '.kibana_7.17.0_001', + '.kibana_8.6.0': '.kibana_8.6.0_001', + '.kibana_8.7.2': '.kibana_8.7.2_001', + '.kibana_8.8.0': '.kibana_8.8.0_001', + }) + ).toEqual(undefined); + }); + + test('next build alias', () => { + expect( + hasLaterVersionAlias('8.8.0', { + '.kibana_7.17.0': '.kibana_7.17.0_001', + '.kibana_8.6.0': '.kibana_8.6.0_001', + '.kibana_8.7.2': '.kibana_8.7.2_001', + '.kibana_8.8.0': '.kibana_8.8.0_001', + '.kibana_8.8.1': '.kibana_8.8.0_001', + }) + ).toEqual('.kibana_8.8.1'); + }); + + test('next minor alias', () => { + expect( + hasLaterVersionAlias('8.8.1', { + '.kibana_8.9.0': '.kibana_8.9.0_001', + '.kibana_7.17.0': '.kibana_7.17.0_001', + '.kibana_8.6.0': '.kibana_8.6.0_001', + '.kibana_8.7.2': '.kibana_8.7.2_001', + '.kibana_8.8.0': '.kibana_8.8.0_001', + '.kibana_8.8.1': '.kibana_8.8.0_001', + }) + ).toEqual('.kibana_8.9.0'); + }); + + test('multiple future versions, return most recent alias', () => { + expect( + hasLaterVersionAlias('7.17.0', { + '.kibana_8.9.0': '.kibana_8.9.0_001', + '.kibana_8.9.1': '.kibana_8.9.0_001', + '.kibana_7.17.0': '.kibana_7.17.0_001', + '.kibana_8.6.0': '.kibana_8.6.0_001', + '.kibana_8.7.2': '.kibana_8.7.2_001', + '.kibana_8.8.0': '.kibana_8.8.0_001', + '.kibana_8.8.1': '.kibana_8.8.0_001', + }) + ).toEqual('.kibana_8.9.1'); + }); +}); + describe('buildRemoveAliasActions', () => { test('empty', () => { expect(buildRemoveAliasActions('.kibana_test_123', [], [])).toEqual([]); diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/helpers.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/helpers.ts index c8d8884c980cd..d3e8fcabfc432 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/helpers.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/helpers.ts @@ -17,6 +17,10 @@ import type { SavedObjectsRawDoc } from '@kbn/core-saved-objects-server'; import type { IndexMapping } from '@kbn/core-saved-objects-base-server-internal'; import type { AliasAction, FetchIndexResponse } from '../actions'; import type { BulkIndexOperationTuple } from './create_batches'; +import { OutdatedDocumentsSearchRead, ReindexSourceToTempRead } from '../state'; + +/** @internal */ +export const REINDEX_TEMP_SUFFIX = '_reindex_temp'; /** @internal */ export type Aliases = Partial>; @@ -92,6 +96,22 @@ export function indexBelongsToLaterVersion(kibanaVersion: string, indexName?: st return version != null ? gt(version, kibanaVersion) : false; } +export function hasLaterVersionAlias( + kibanaVersion: string, + aliases?: Partial> +): string | undefined { + const mostRecentAlias = Object.keys(aliases ?? {}) + .filter(aliasVersion) + .sort() + .pop(); + + const mostRecentAliasVersion = valid(aliasVersion(mostRecentAlias)); + + return mostRecentAliasVersion != null && gt(mostRecentAliasVersion, kibanaVersion) + ? mostRecentAlias + : undefined; +} + /** * Add new must_not clauses to the given query * in order to filter out the specified types @@ -169,6 +189,14 @@ export function indexVersion(indexName?: string): string | undefined { return (indexName?.match(/.+_(\d+\.\d+\.\d+)_\d+/) || [])[1]; } +/** + * Extracts the version number from a >= 7.11 index alias + * @param indexName A >= v7.11 index alias + */ +export function aliasVersion(alias?: string): string | undefined { + return (alias?.match(/.+_(\d+\.\d+\.\d+)/) || [])[1]; +} + /** @internal */ export interface MultipleIndicesPerAlias { type: 'multiple_indices_per_alias'; @@ -227,7 +255,9 @@ export const createBulkIndexOperationTuple = ( { index: { _id: doc._id, - ...(typeIndexMap[doc._source.type] && { _index: typeIndexMap[doc._source.type] }), + ...(typeIndexMap[doc._source.type] && { + _index: typeIndexMap[doc._source.type], + }), // use optimistic concurrency control to ensure that outdated // documents are only overwritten once with the latest version ...(typeof doc._seq_no !== 'undefined' && { if_seq_no: doc._seq_no }), @@ -284,4 +314,12 @@ export function getMigrationType({ * @returns A temporary index name to reindex documents */ export const getTempIndexName = (indexPrefix: string, kibanaVersion: string): string => - `${indexPrefix}_${kibanaVersion}_reindex_temp`; + `${indexPrefix}_${kibanaVersion}${REINDEX_TEMP_SUFFIX}`; + +/** Increase batchSize by 20% until a maximum of maxBatchSize */ +export const increaseBatchSize = ( + stateP: OutdatedDocumentsSearchRead | ReindexSourceToTempRead +) => { + const increasedBatchSize = Math.floor(stateP.batchSize * 1.2); + return increasedBatchSize > stateP.maxBatchSize ? stateP.maxBatchSize : increasedBatchSize; +}; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/model.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/model.test.ts index 969a7704e4e75..6cb045f6e4d3b 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/model.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/model.test.ts @@ -10,7 +10,10 @@ import { chain } from 'lodash'; import * as Either from 'fp-ts/lib/Either'; import * as Option from 'fp-ts/lib/Option'; import type { SavedObjectsRawDoc } from '@kbn/core-saved-objects-server'; -import type { IndexMapping } from '@kbn/core-saved-objects-base-server-internal'; +import { + DEFAULT_INDEX_TYPES_MAP, + type IndexMapping, +} from '@kbn/core-saved-objects-base-server-internal'; import type { BaseState, CalculateExcludeFiltersState, @@ -60,7 +63,6 @@ import type { ResponseType } from '../next'; import { createInitialProgress } from './progress'; import { model } from './model'; import type { BulkIndexOperationTuple, BulkOperation } from './create_batches'; -import { DEFAULT_INDEX_TYPES_MAP } from '../kibana_migrator_constants'; describe('migrations v2 model', () => { const indexMapping: IndexMapping = { @@ -86,7 +88,9 @@ describe('migrations v2 model', () => { retryDelay: 0, retryAttempts: 15, batchSize: 1000, + maxBatchSize: 1000, maxBatchSizeBytes: 1e8, + maxReadBatchSizeBytes: 1234, discardUnknownObjects: false, discardCorruptObjects: false, indexPrefix: '.kibana', @@ -98,6 +102,7 @@ describe('migrations v2 model', () => { versionAlias: '.kibana_7.11.0', versionIndex: '.kibana_7.11.0_001', tempIndex: '.kibana_7.11.0_reindex_temp', + tempIndexAlias: '.kibana_7.11.0_reindex_temp_alias', excludeOnUpgradeQuery: { bool: { must_not: [ @@ -328,6 +333,21 @@ describe('migrations v2 model', () => { `"The .kibana alias is pointing to a newer version of Kibana: v7.12.0"` ); }); + test('INIT -> FATAL when later version alias exists', () => { + const res: ResponseType<'INIT'> = Either.right({ + '.kibana_7.11.0_001': { + aliases: { '.kibana_7.12.0': {}, '.kibana': {} }, + mappings: { properties: {}, _meta: { migrationMappingPropertyHashes: {} } }, + settings: {}, + }, + }); + const newState = model(initState, res) as FatalState; + + expect(newState.controlState).toEqual('FATAL'); + expect(newState.reason).toMatchInlineSnapshot( + `"The .kibana_7.12.0 alias refers to a newer version of Kibana: v7.12.0"` + ); + }); test('INIT -> FATAL when .kibana points to multiple indices', () => { const res: ResponseType<'INIT'> = Either.right({ '.kibana_7.12.0_001': { @@ -363,13 +383,13 @@ describe('migrations v2 model', () => { '.kibana_7.invalid.0_001': { aliases: { '.kibana': {}, - '.kibana_7.12.0': {}, + '.kibana_7.11.0': {}, }, mappings: mappingsWithUnknownType, settings: {}, }, - '.kibana_7.11.0_001': { - aliases: { '.kibana_7.11.0': {} }, + '.kibana_7.10.0_001': { + aliases: { '.kibana_7.10.0': {} }, mappings: { properties: {}, _meta: { migrationMappingPropertyHashes: {} } }, settings: {}, }, @@ -569,13 +589,13 @@ describe('migrations v2 model', () => { '.kibana_7.invalid.0_001': { aliases: { '.kibana': {}, - '.kibana_7.12.0': {}, + '.kibana_7.11.0': {}, }, mappings: mappingsWithUnknownType, settings: {}, }, - '.kibana_7.11.0_001': { - aliases: { '.kibana_7.11.0': {} }, + '.kibana_7.10.0_001': { + aliases: { '.kibana_7.10.0': {} }, mappings: { properties: {}, _meta: { migrationMappingPropertyHashes: {} } }, settings: {}, }, @@ -586,8 +606,8 @@ describe('migrations v2 model', () => { expect(newState.sourceIndex.value).toBe('.kibana_7.invalid.0_001'); expect(newState.aliases).toEqual({ '.kibana': '.kibana_7.invalid.0_001', - '.kibana_7.11.0': '.kibana_7.11.0_001', - '.kibana_7.12.0': '.kibana_7.invalid.0_001', + '.kibana_7.10.0': '.kibana_7.10.0_001', + '.kibana_7.11.0': '.kibana_7.invalid.0_001', }); }); @@ -1744,9 +1764,10 @@ describe('migrations v2 model', () => { describe('if the migrator source index did NOT exist', () => { test('READY_TO_REINDEX_SYNC -> DONE_REINDEXING_SYNC', () => { - const res: ResponseType<'READY_TO_REINDEX_SYNC'> = Either.right( - 'synchronized_successfully' as const - ); + const res: ResponseType<'READY_TO_REINDEX_SYNC'> = Either.right({ + type: 'synchronization_successful' as const, + data: [], + }); const newState = model(state, res); expect(newState.controlState).toEqual('DONE_REINDEXING_SYNC'); }); @@ -1754,9 +1775,10 @@ describe('migrations v2 model', () => { describe('if the migrator source index did exist', () => { test('READY_TO_REINDEX_SYNC -> REINDEX_SOURCE_TO_TEMP_OPEN_PIT', () => { - const res: ResponseType<'READY_TO_REINDEX_SYNC'> = Either.right( - 'synchronized_successfully' as const - ); + const res: ResponseType<'READY_TO_REINDEX_SYNC'> = Either.right({ + type: 'synchronization_successful' as const, + data: [], + }); const newState = model( { ...state, @@ -1771,7 +1793,7 @@ describe('migrations v2 model', () => { test('READY_TO_REINDEX_SYNC -> FATAL if the synchronization between migrators fails', () => { const res: ResponseType<'READY_TO_REINDEX_SYNC'> = Either.left({ - type: 'sync_failed', + type: 'synchronization_failed', error: new Error('Other migrators failed to reach the synchronization point'), }); const newState = model(state, res); @@ -1832,6 +1854,8 @@ describe('migrations v2 model', () => { expect(newState.lastHitSortValue).toBe(lastHitSortValue); expect(newState.progress.processed).toBe(undefined); expect(newState.progress.total).toBe(1); + expect(newState.maxBatchSize).toBe(1000); + expect(newState.batchSize).toBe(1000); // don't increase batchsize above default expect(newState.logs).toMatchInlineSnapshot(` Array [ Object { @@ -1842,6 +1866,83 @@ describe('migrations v2 model', () => { `); }); + it('REINDEX_SOURCE_TO_TEMP_READ -> REINDEX_SOURCE_TO_TEMP_TRANSFORM increases batchSize if < maxBatchSize', () => { + const outdatedDocuments = [{ _id: '1', _source: { type: 'vis' } }]; + const lastHitSortValue = [123456]; + const res: ResponseType<'REINDEX_SOURCE_TO_TEMP_READ'> = Either.right({ + outdatedDocuments, + lastHitSortValue, + totalHits: 1, + processedDocs: 1, + }); + let newState = model({ ...state, batchSize: 500 }, res) as ReindexSourceToTempTransform; + expect(newState.batchSize).toBe(600); + newState = model({ ...state, batchSize: 600 }, res) as ReindexSourceToTempTransform; + expect(newState.batchSize).toBe(720); + newState = model({ ...state, batchSize: 720 }, res) as ReindexSourceToTempTransform; + expect(newState.batchSize).toBe(864); + newState = model({ ...state, batchSize: 864 }, res) as ReindexSourceToTempTransform; + expect(newState.batchSize).toBe(1000); // + 20% would have been 1036 + expect(newState.controlState).toBe('REINDEX_SOURCE_TO_TEMP_TRANSFORM'); + expect(newState.maxBatchSize).toBe(1000); + }); + + it('REINDEX_SOURCE_TO_TEMP_READ -> REINDEX_SOURCE_TO_TEMP_READ if left es_response_too_large', () => { + const res: ResponseType<'REINDEX_SOURCE_TO_TEMP_READ'> = Either.left({ + type: 'es_response_too_large', + contentLength: 4567, + }); + const newState = model(state, res) as ReindexSourceToTempRead; + expect(newState.controlState).toBe('REINDEX_SOURCE_TO_TEMP_READ'); + expect(newState.lastHitSortValue).toBe(undefined); // lastHitSortValue should not be set + expect(newState.progress.processed).toBe(undefined); // don't increment progress + expect(newState.batchSize).toBe(500); // halves the batch size + expect(newState.maxBatchSize).toBe(1000); // leaves maxBatchSize unchanged + expect(newState.logs).toMatchInlineSnapshot(` + Array [ + Object { + "level": "warning", + "message": "Read a batch with a response content length of 4567 bytes which exceeds migrations.maxReadBatchSizeBytes, retrying by reducing the batch size in half to 500.", + }, + ] + `); + }); + + it('REINDEX_SOURCE_TO_TEMP_READ -> REINDEX_SOURCE_TO_TEMP_READ if left es_response_too_large will not reduce batch size below 1', () => { + const res: ResponseType<'REINDEX_SOURCE_TO_TEMP_READ'> = Either.left({ + type: 'es_response_too_large', + contentLength: 2345, + }); + const newState = model({ ...state, batchSize: 1.5 }, res) as ReindexSourceToTempRead; + expect(newState.controlState).toBe('REINDEX_SOURCE_TO_TEMP_READ'); + expect(newState.lastHitSortValue).toBe(undefined); // lastHitSortValue should not be set + expect(newState.progress.processed).toBe(undefined); // don't increment progress + expect(newState.batchSize).toBe(1); // don't halve the batch size or go below 1 + expect(newState.maxBatchSize).toBe(1000); // leaves maxBatchSize unchanged + expect(newState.logs).toMatchInlineSnapshot(` + Array [ + Object { + "level": "warning", + "message": "Read a batch with a response content length of 2345 bytes which exceeds migrations.maxReadBatchSizeBytes, retrying by reducing the batch size in half to 1.", + }, + ] + `); + }); + + it('REINDEX_SOURCE_TO_TEMP_READ -> FATAL if left es_response_too_large and batchSize already 1', () => { + const res: ResponseType<'REINDEX_SOURCE_TO_TEMP_READ'> = Either.left({ + type: 'es_response_too_large', + contentLength: 2345, + }); + const newState = model({ ...state, batchSize: 1 }, res) as FatalState; + expect(newState.controlState).toBe('FATAL'); + expect(newState.batchSize).toBe(1); // don't halve the batch size or go below 1 + expect(newState.maxBatchSize).toBe(1000); // leaves maxBatchSize unchanged + expect(newState.reason).toMatchInlineSnapshot( + `"After reducing the read batch size to a single document, the Elasticsearch response content length was 2345bytes which still exceeded migrations.maxReadBatchSizeBytes. Increase migrations.maxReadBatchSizeBytes and try again."` + ); + }); + it('REINDEX_SOURCE_TO_TEMP_READ -> REINDEX_SOURCE_TO_TEMP_CLOSE_PIT if no outdated documents to reindex', () => { const res: ResponseType<'REINDEX_SOURCE_TO_TEMP_READ'> = Either.right({ outdatedDocuments: [], @@ -1945,15 +2046,16 @@ describe('migrations v2 model', () => { }; test('DONE_REINDEXING_SYNC -> SET_TEMP_WRITE_BLOCK if synchronization succeeds', () => { - const res: ResponseType<'DONE_REINDEXING_SYNC'> = Either.right( - 'synchronized_successfully' as const - ); + const res: ResponseType<'READY_TO_REINDEX_SYNC'> = Either.right({ + type: 'synchronization_successful' as const, + data: [], + }); const newState = model(state, res); expect(newState.controlState).toEqual('SET_TEMP_WRITE_BLOCK'); }); test('DONE_REINDEXING_SYNC -> FATAL if the synchronization between migrators fails', () => { const res: ResponseType<'DONE_REINDEXING_SYNC'> = Either.left({ - type: 'sync_failed', + type: 'synchronization_failed', error: new Error('Other migrators failed to reach the synchronization point'), }); const newState = model(state, res); @@ -2304,6 +2406,8 @@ describe('migrations v2 model', () => { expect(newState.lastHitSortValue).toBe(lastHitSortValue); expect(newState.progress.processed).toBe(undefined); expect(newState.progress.total).toBe(10); + expect(newState.maxBatchSize).toBe(1000); + expect(newState.batchSize).toBe(1000); // don't increase batchsize above default expect(newState.logs).toMatchInlineSnapshot(` Array [ Object { @@ -2345,6 +2449,83 @@ describe('migrations v2 model', () => { `); }); + it('OUTDATED_DOCUMENTS_SEARCH_READ -> OUTDATED_DOCUMENTS_TRANSFORM increases batchSize up to maxBatchSize', () => { + const outdatedDocuments = [{ _id: '1', _source: { type: 'vis' } }]; + const lastHitSortValue = [123456]; + const res: ResponseType<'OUTDATED_DOCUMENTS_SEARCH_READ'> = Either.right({ + outdatedDocuments, + lastHitSortValue, + totalHits: 1, + processedDocs: [], + }); + let newState = model({ ...state, batchSize: 500 }, res) as ReindexSourceToTempTransform; + expect(newState.batchSize).toBe(600); + newState = model({ ...state, batchSize: 600 }, res) as ReindexSourceToTempTransform; + expect(newState.batchSize).toBe(720); + newState = model({ ...state, batchSize: 720 }, res) as ReindexSourceToTempTransform; + expect(newState.batchSize).toBe(864); + newState = model({ ...state, batchSize: 864 }, res) as ReindexSourceToTempTransform; + expect(newState.batchSize).toBe(1000); // + 20% would have been 1036 + expect(newState.controlState).toBe('OUTDATED_DOCUMENTS_TRANSFORM'); + expect(newState.maxBatchSize).toBe(1000); + }); + + it('OUTDATED_DOCUMENTS_SEARCH_READ -> OUTDATED_DOCUMENTS_SEARCH_READ if left es_response_too_large', () => { + const res: ResponseType<'OUTDATED_DOCUMENTS_SEARCH_READ'> = Either.left({ + type: 'es_response_too_large', + contentLength: 3456, + }); + const newState = model(state, res) as ReindexSourceToTempRead; + expect(newState.controlState).toBe('OUTDATED_DOCUMENTS_SEARCH_READ'); + expect(newState.lastHitSortValue).toBe(undefined); // lastHitSortValue should not be set + expect(newState.progress.processed).toBe(undefined); // don't increment progress + expect(newState.batchSize).toBe(500); // halves the batch size + expect(newState.maxBatchSize).toBe(1000); // leaves maxBatchSize unchanged + expect(newState.logs).toMatchInlineSnapshot(` + Array [ + Object { + "level": "warning", + "message": "Read a batch with a response content length of 3456 bytes which exceeds migrations.maxReadBatchSizeBytes, retrying by reducing the batch size in half to 500.", + }, + ] + `); + }); + + it('OUTDATED_DOCUMENTS_SEARCH_READ -> OUTDATED_DOCUMENTS_SEARCH_READ if left es_response_too_large will not reduce batch size below 1', () => { + const res: ResponseType<'OUTDATED_DOCUMENTS_SEARCH_READ'> = Either.left({ + type: 'es_response_too_large', + contentLength: 2345, + }); + const newState = model({ ...state, batchSize: 1.5 }, res) as ReindexSourceToTempRead; + expect(newState.controlState).toBe('OUTDATED_DOCUMENTS_SEARCH_READ'); + expect(newState.lastHitSortValue).toBe(undefined); // lastHitSortValue should not be set + expect(newState.progress.processed).toBe(undefined); // don't increment progress + expect(newState.batchSize).toBe(1); // don't halve the batch size or go below 1 + expect(newState.maxBatchSize).toBe(1000); // leaves maxBatchSize unchanged + expect(newState.logs).toMatchInlineSnapshot(` + Array [ + Object { + "level": "warning", + "message": "Read a batch with a response content length of 2345 bytes which exceeds migrations.maxReadBatchSizeBytes, retrying by reducing the batch size in half to 1.", + }, + ] + `); + }); + + it('OUTDATED_DOCUMENTS_SEARCH_READ -> FATAL if left es_response_too_large and batchSize already 1', () => { + const res: ResponseType<'OUTDATED_DOCUMENTS_SEARCH_READ'> = Either.left({ + type: 'es_response_too_large', + contentLength: 2345, + }); + const newState = model({ ...state, batchSize: 1 }, res) as FatalState; + expect(newState.controlState).toBe('FATAL'); + expect(newState.batchSize).toBe(1); // don't halve the batch size or go below 1 + expect(newState.maxBatchSize).toBe(1000); // leaves maxBatchSize unchanged + expect(newState.reason).toMatchInlineSnapshot( + `"After reducing the read batch size to a single document, the response content length was 2345 bytes which still exceeded migrations.maxReadBatchSizeBytes. Increase migrations.maxReadBatchSizeBytes and try again."` + ); + }); + it('OUTDATED_DOCUMENTS_SEARCH_READ -> OUTDATED_DOCUMENTS_SEARCH_CLOSE_PIT if no outdated documents to transform', () => { const res: ResponseType<'OUTDATED_DOCUMENTS_SEARCH_READ'> = Either.right({ outdatedDocuments: [], @@ -2774,6 +2955,24 @@ describe('migrations v2 model', () => { expect(newState.retryDelay).toEqual(0); }); + test('CHECK_VERSION_INDEX_READY_ACTIONS -> MARK_VERSION_INDEX_READY_SYNC if mustRelocateDocuments === true', () => { + const versionIndexReadyActions = Option.some([ + { add: { index: 'kibana-index', alias: 'my-alias' } }, + ]); + + const newState = model( + { + ...сheckVersionIndexReadyActionsState, + mustRelocateDocuments: true, + versionIndexReadyActions, + }, + res + ) as PostInitState; + expect(newState.controlState).toEqual('MARK_VERSION_INDEX_READY_SYNC'); + expect(newState.retryCount).toEqual(0); + expect(newState.retryDelay).toEqual(0); + }); + test('CHECK_VERSION_INDEX_READY_ACTIONS -> DONE if none versionIndexReadyActions', () => { const newState = model(сheckVersionIndexReadyActionsState, res) as PostInitState; expect(newState.controlState).toEqual('DONE'); @@ -2793,10 +2992,10 @@ describe('migrations v2 model', () => { sourceIndex: Option.none as Option.None, targetIndex: '.kibana_7.11.0_001', }; - test('CREATE_NEW_TARGET -> MARK_VERSION_INDEX_READY', () => { + test('CREATE_NEW_TARGET -> CHECK_VERSION_INDEX_READY_ACTIONS', () => { const res: ResponseType<'CREATE_NEW_TARGET'> = Either.right('create_index_succeeded'); const newState = model(createNewTargetState, res); - expect(newState.controlState).toEqual('MARK_VERSION_INDEX_READY'); + expect(newState.controlState).toEqual('CHECK_VERSION_INDEX_READY_ACTIONS'); expect(newState.retryCount).toEqual(0); expect(newState.retryDelay).toEqual(0); }); @@ -2810,7 +3009,7 @@ describe('migrations v2 model', () => { expect(newState.retryCount).toEqual(1); expect(newState.retryDelay).toEqual(2000); }); - test('CREATE_NEW_TARGET -> MARK_VERSION_INDEX_READY resets the retry count and delay', () => { + test('CREATE_NEW_TARGET -> CHECK_VERSION_INDEX_READY_ACTIONS resets the retry count and delay', () => { const res: ResponseType<'CREATE_NEW_TARGET'> = Either.right('create_index_succeeded'); const testState = { ...createNewTargetState, @@ -2819,7 +3018,7 @@ describe('migrations v2 model', () => { }; const newState = model(testState, res); - expect(newState.controlState).toEqual('MARK_VERSION_INDEX_READY'); + expect(newState.controlState).toEqual('CHECK_VERSION_INDEX_READY_ACTIONS'); expect(newState.retryCount).toEqual(0); expect(newState.retryDelay).toEqual(0); }); diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/model.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/model.ts index 54657310912f8..ae1098f2209f5 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/model.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/model/model.ts @@ -43,6 +43,10 @@ import { versionMigrationCompleted, buildRemoveAliasActions, MigrationType, + increaseBatchSize, + hasLaterVersionAlias, + aliasVersion, + REINDEX_TEMP_SUFFIX, } from './helpers'; import { buildTempIndexMap, createBatches } from './create_batches'; import type { MigrationLog } from '../types'; @@ -83,7 +87,7 @@ export const model = (currentState: State, resW: ResponseType): const retryErrorMessage = `[${left.type}] Incompatible Elasticsearch cluster settings detected. Remove the persistent and transient Elasticsearch cluster setting 'cluster.routing.allocation.enable' or set it to a value of 'all' to allow migrations to proceed. Refer to ${stateP.migrationDocLinks.routingAllocationDisabled} for more information on how to resolve the issue.`; return delayRetryState(stateP, retryErrorMessage, stateP.retryAttempts); } else { - return throwBadResponse(stateP, left); + throwBadResponse(stateP, left); } } else if (Either.isRight(res)) { // cluster routing allocation is enabled and we can continue with the migration as normal @@ -119,6 +123,22 @@ export const model = (currentState: State, resW: ResponseType): }; } + const laterVersionAlias = hasLaterVersionAlias(stateP.kibanaVersion, aliases); + if ( + // a `.kibana_` alias exist, which refers to a later version of Kibana + // e.g. `.kibana_8.7.0` exists, and current stack version is 8.6.1 + // see https://github.com/elastic/kibana/issues/155136 + laterVersionAlias + ) { + return { + ...stateP, + controlState: 'FATAL', + reason: `The ${laterVersionAlias} alias refers to a newer version of Kibana: v${aliasVersion( + laterVersionAlias + )}`, + }; + } + // The source index .kibana is pointing to. E.g: ".kibana_8.7.0_001" const source = aliases[stateP.currentAlias]; // The target index .kibana WILL be pointing to if we reindex. E.g: ".kibana_8.8.0_001" @@ -247,7 +267,7 @@ export const model = (currentState: State, resW: ResponseType): }; } } else { - return throwBadResponse(stateP, res); + throwBadResponse(stateP, res); } } else if (stateP.controlState === 'WAIT_FOR_MIGRATION_COMPLETION') { const res = resW as ExcludeRetryableEsError>; @@ -256,7 +276,6 @@ export const model = (currentState: State, resW: ResponseType): if ( // If this version's migration has already been completed we can proceed Either.isRight(aliasesRes) && - // TODO check that this behaves correctly when skipping reindexing versionMigrationCompleted(stateP.currentAlias, stateP.versionAlias, aliasesRes.right) ) { return { @@ -295,14 +314,14 @@ export const model = (currentState: State, resW: ResponseType): // If the write block failed because the index doesn't exist, it means // another instance already completed the legacy pre-migration. Proceed // to the next step. - if (isTypeof(res.left, 'index_not_found_exception')) { + const left = res.left; + if (isTypeof(left, 'index_not_found_exception')) { return { ...stateP, controlState: 'LEGACY_CREATE_REINDEX_TARGET' }; } else { - // @ts-expect-error TS doesn't correctly narrow this type to never - return throwBadResponse(stateP, res); + throwBadResponse(stateP, left); } } else { - return throwBadResponse(stateP, res); + throwBadResponse(stateP, res); } } else if (stateP.controlState === 'LEGACY_CREATE_REINDEX_TARGET') { const res = resW as ExcludeRetryableEsError>; @@ -324,7 +343,7 @@ export const model = (currentState: State, resW: ResponseType): reason: `${CLUSTER_SHARD_LIMIT_EXCEEDED_REASON} See ${stateP.migrationDocLinks.clusterShardLimitExceeded}`, }; } else { - return throwBadResponse(stateP, left); + throwBadResponse(stateP, left); } } else if (Either.isRight(res)) { return { @@ -457,10 +476,10 @@ export const model = (currentState: State, resW: ResponseType): const retryErrorMessage = `${left.message} Refer to ${stateP.migrationDocLinks.repeatedTimeoutRequests} for information on how to resolve the issue.`; return delayRetryState(stateP, retryErrorMessage, stateP.retryAttempts); } else { - return throwBadResponse(stateP, left); + throwBadResponse(stateP, left); } } else { - return throwBadResponse(stateP, res); + throwBadResponse(stateP, res); } } else if (stateP.controlState === 'UPDATE_SOURCE_MAPPINGS_PROPERTIES') { const res = resW as ExcludeRetryableEsError>; @@ -617,11 +636,12 @@ export const model = (currentState: State, resW: ResponseType): controlState: stateP.mustRefresh ? 'REFRESH_SOURCE' : 'OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT', }; } else if (Either.isLeft(res)) { + const left = res.left; // Note: if multiple newer Kibana versions are competing with each other to perform a migration, // it might happen that another Kibana instance has deleted this instance's version index. // NIT to handle this in properly, we'd have to add a PREPARE_COMPATIBLE_MIGRATION_CONFLICT step, // similar to MARK_VERSION_INDEX_READY_CONFLICT. - if (isTypeof(res.left, 'alias_not_found_exception')) { + if (isTypeof(left, 'alias_not_found_exception')) { // We assume that the alias was already deleted by another Kibana instance return { ...stateP, @@ -629,8 +649,19 @@ export const model = (currentState: State, resW: ResponseType): ? 'REFRESH_SOURCE' : 'OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT', }; + } else if (isTypeof(left, 'index_not_found_exception')) { + // We don't handle the following errors as the migration algorithm + // will never cause them to occur: + // - index_not_found_exception + throwBadResponse(stateP, left as never); + } else if (isTypeof(left, 'remove_index_not_a_concrete_index')) { + // We don't handle this error as the migration algorithm will never + // cause it to occur (this error is only relevant to the LEGACY_DELETE + // step). + throwBadResponse(stateP, left as never); } else { - throwBadResponse(stateP, res.left as never); + // TODO update to handle 2 more cases + throwBadResponse(stateP, left); } } else { throwBadResponse(stateP, res); @@ -708,9 +739,9 @@ export const model = (currentState: State, resW: ResponseType): // We don't handle the following errors as the migration algorithm // will never cause them to occur: // - index_not_found_exception - return throwBadResponse(stateP, res.left as never); + throwBadResponse(stateP, res.left as never); } else { - return throwBadResponse(stateP, res.left); + throwBadResponse(stateP, res.left); } } else if (stateP.controlState === 'CALCULATE_EXCLUDE_FILTERS') { const res = resW as ExcludeRetryableEsError>; @@ -734,7 +765,7 @@ export const model = (currentState: State, resW: ResponseType): ], }; } else { - return throwBadResponse(stateP, res); + throwBadResponse(stateP, res); } } else if (stateP.controlState === 'CREATE_REINDEX_TEMP') { const res = resW as ExcludeRetryableEsError>; @@ -769,7 +800,7 @@ export const model = (currentState: State, resW: ResponseType): reason: `${CLUSTER_SHARD_LIMIT_EXCEEDED_REASON} See ${stateP.migrationDocLinks.clusterShardLimitExceeded}`, }; } else { - return throwBadResponse(stateP, left); + throwBadResponse(stateP, left); } } else { // If the createIndex action receives an 'resource_already_exists_exception' @@ -794,14 +825,20 @@ export const model = (currentState: State, resW: ResponseType): return { ...stateP, controlState: 'DONE_REINDEXING_SYNC' }; } } else if (Either.isLeft(res)) { - return { - ...stateP, - controlState: 'FATAL', - reason: 'An error occurred whilst waiting for other migrators to get to this step.', - throwDelayMillis: 1000, // another migrator has failed for a reason, let it take Kibana down and log its problem - }; + const left = res.left; + + if (isTypeof(left, 'synchronization_failed')) { + return { + ...stateP, + controlState: 'FATAL', + reason: 'An error occurred whilst waiting for other migrators to get to this step.', + throwDelayMillis: 1000, // another migrator has failed for a reason, let it take Kibana down and log its problem + }; + } else { + throwBadResponse(stateP, left); + } } else { - return throwBadResponse(stateP, res as never); + throwBadResponse(stateP, res); } } else if (stateP.controlState === 'REINDEX_SOURCE_TO_TEMP_OPEN_PIT') { const res = resW as ExcludeRetryableEsError>; @@ -833,6 +870,8 @@ export const model = (currentState: State, resW: ResponseType): lastHitSortValue: res.right.lastHitSortValue, progress, logs, + // We succeeded in reading this batch, so increase the batch size for the next request. + batchSize: increaseBatchSize(stateP), }; } else { // we don't have any more outdated documents and need to either fail or move on to updating the target mappings. @@ -875,7 +914,32 @@ export const model = (currentState: State, resW: ResponseType): }; } } else { - throwBadResponse(stateP, res); + const left = res.left; + if (isTypeof(left, 'es_response_too_large')) { + if (stateP.batchSize === 1) { + return { + ...stateP, + controlState: 'FATAL', + reason: `After reducing the read batch size to a single document, the Elasticsearch response content length was ${left.contentLength}bytes which still exceeded migrations.maxReadBatchSizeBytes. Increase migrations.maxReadBatchSizeBytes and try again.`, + }; + } else { + const batchSize = Math.max(Math.floor(stateP.batchSize / 2), 1); + return { + ...stateP, + batchSize, + controlState: 'REINDEX_SOURCE_TO_TEMP_READ', + logs: [ + ...stateP.logs, + { + level: 'warning', + message: `Read a batch with a response content length of ${left.contentLength} bytes which exceeds migrations.maxReadBatchSizeBytes, retrying by reducing the batch size in half to ${batchSize}.`, + }, + ], + }; + } + } else { + throwBadResponse(stateP, left); + } } } else if (stateP.controlState === 'REINDEX_SOURCE_TO_TEMP_CLOSE_PIT') { const res = resW as ExcludeRetryableEsError>; @@ -908,14 +972,20 @@ export const model = (currentState: State, resW: ResponseType): sourceIndexMappings: Option.none, }; } else if (Either.isLeft(res)) { - return { - ...stateP, - controlState: 'FATAL', - reason: 'An error occurred whilst waiting for other migrators to get to this step.', - throwDelayMillis: 1000, // another migrator has failed for a reason, let it take Kibana down and log its problem - }; + const left = res.left; + + if (isTypeof(left, 'synchronization_failed')) { + return { + ...stateP, + controlState: 'FATAL', + reason: 'An error occurred whilst waiting for other migrators to get to this step.', + throwDelayMillis: 1000, // another migrator has failed for a reason, let it take Kibana down and log its problem + }; + } else { + throwBadResponse(stateP, left); + } } else { - return throwBadResponse(stateP, res as never); + throwBadResponse(stateP, res); } } else if (stateP.controlState === 'REINDEX_SOURCE_TO_TEMP_TRANSFORM') { // We follow a similar control flow as for @@ -995,7 +1065,7 @@ export const model = (currentState: State, resW: ResponseType): }; } else { // should never happen - throwBadResponse(stateP, res as never); + throwBadResponse(stateP, left); } } } else if (stateP.controlState === 'REINDEX_SOURCE_TO_TEMP_INDEX_BULK') { @@ -1139,6 +1209,8 @@ export const model = (currentState: State, resW: ResponseType): lastHitSortValue: res.right.lastHitSortValue, progress, logs, + // We succeeded in reading this batch, so increase the batch size for the next request. + batchSize: increaseBatchSize(stateP), }; } else { // we don't have any more outdated documents and need to either fail or move on to updating the target mappings. @@ -1179,7 +1251,32 @@ export const model = (currentState: State, resW: ResponseType): }; } } else { - throwBadResponse(stateP, res); + const left = res.left; + if (isTypeof(left, 'es_response_too_large')) { + if (stateP.batchSize === 1) { + return { + ...stateP, + controlState: 'FATAL', + reason: `After reducing the read batch size to a single document, the response content length was ${left.contentLength} bytes which still exceeded migrations.maxReadBatchSizeBytes. Increase migrations.maxReadBatchSizeBytes and try again.`, + }; + } else { + const batchSize = Math.max(Math.floor(stateP.batchSize / 2), 1); + return { + ...stateP, + batchSize, + controlState: 'OUTDATED_DOCUMENTS_SEARCH_READ', + logs: [ + ...stateP.logs, + { + level: 'warning', + message: `Read a batch with a response content length of ${left.contentLength} bytes which exceeds migrations.maxReadBatchSizeBytes, retrying by reducing the batch size in half to ${batchSize}.`, + }, + ], + }; + } + } else { + throwBadResponse(stateP, left); + } } } else if (stateP.controlState === 'OUTDATED_DOCUMENTS_TRANSFORM') { const res = resW as ExcludeRetryableEsError>; @@ -1243,7 +1340,8 @@ export const model = (currentState: State, resW: ResponseType): }; } } else { - if (isTypeof(res.left, 'documents_transform_failed')) { + const left = res.left; + if (isTypeof(left, 'documents_transform_failed')) { // continue to build up any more transformation errors before failing the migration. return { ...stateP, @@ -1254,7 +1352,7 @@ export const model = (currentState: State, resW: ResponseType): progress, }; } else { - throwBadResponse(stateP, res as never); + throwBadResponse(stateP, left); } } } else if (stateP.controlState === 'TRANSFORMED_DOCUMENTS_BULK_INDEX') { @@ -1275,22 +1373,23 @@ export const model = (currentState: State, resW: ResponseType): hasTransformedDocs: true, }; } else { - if (isTypeof(res.left, 'request_entity_too_large_exception')) { + const left = res.left; + if (isTypeof(left, 'request_entity_too_large_exception')) { return { ...stateP, controlState: 'FATAL', reason: FATAL_REASON_REQUEST_ENTITY_TOO_LARGE, }; } else if ( - isTypeof(res.left, 'target_index_had_write_block') || - isTypeof(res.left, 'index_not_found_exception') + isTypeof(left, 'target_index_had_write_block') || + isTypeof(left, 'index_not_found_exception') ) { // we fail on these errors since the target index will never get // deleted and should only have a write block if a newer version of // Kibana started an upgrade - throwBadResponse(stateP, res.left as never); + throwBadResponse(stateP, left as never); } else { - throwBadResponse(stateP, res.left); + throwBadResponse(stateP, left); } } } else if (stateP.controlState === 'OUTDATED_DOCUMENTS_SEARCH_CLOSE_PIT') { @@ -1385,7 +1484,9 @@ export const model = (currentState: State, resW: ResponseType): // index. return { ...stateP, - controlState: 'MARK_VERSION_INDEX_READY', + controlState: stateP.mustRelocateDocuments + ? 'MARK_VERSION_INDEX_READY_SYNC' + : 'MARK_VERSION_INDEX_READY', versionIndexReadyActions: stateP.versionIndexReadyActions, }; } else { @@ -1401,9 +1502,19 @@ export const model = (currentState: State, resW: ResponseType): } else if (stateP.controlState === 'CREATE_NEW_TARGET') { const res = resW as ExcludeRetryableEsError>; if (Either.isRight(res)) { + if (res.right === 'index_already_exists') { + // We were supposed to be on a "fresh deployment" state (we did not find any aliases) + // but the target index already exists. Assume it can be from a previous upgrade attempt that: + // - managed to clone ..._reindex_temp into target + // - but did NOT finish the process (aka did not get to update the index aliases) + return { + ...stateP, + controlState: 'OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT', + }; + } return { ...stateP, - controlState: 'MARK_VERSION_INDEX_READY', + controlState: 'CHECK_VERSION_INDEX_READY_ACTIONS', }; } else if (Either.isLeft(res)) { const left = res.left; @@ -1422,7 +1533,7 @@ export const model = (currentState: State, resW: ResponseType): reason: `${CLUSTER_SHARD_LIMIT_EXCEEDED_REASON} See ${stateP.migrationDocLinks.clusterShardLimitExceeded}`, }; } else { - return throwBadResponse(stateP, left); + throwBadResponse(stateP, left); } } else { // If the createIndex action receives an 'resource_already_exists_exception' @@ -1430,7 +1541,10 @@ export const model = (currentState: State, resW: ResponseType): // left responses to handle here. throwBadResponse(stateP, res); } - } else if (stateP.controlState === 'MARK_VERSION_INDEX_READY') { + } else if ( + stateP.controlState === 'MARK_VERSION_INDEX_READY' || + stateP.controlState === 'MARK_VERSION_INDEX_READY_SYNC' + ) { const res = resW as ExcludeRetryableEsError>; if (Either.isRight(res)) { return { ...stateP, controlState: 'DONE' }; @@ -1443,21 +1557,30 @@ export const model = (currentState: State, resW: ResponseType): // migration from the same source. return { ...stateP, controlState: 'MARK_VERSION_INDEX_READY_CONFLICT' }; } else if (isTypeof(left, 'index_not_found_exception')) { - if (left.index === stateP.tempIndex) { + if (left.index.endsWith(REINDEX_TEMP_SUFFIX)) { // another instance has already completed the migration and deleted // the temporary index return { ...stateP, controlState: 'MARK_VERSION_INDEX_READY_CONFLICT' }; - } else { + } else if (isTypeof(left, 'index_not_found_exception')) { // The migration algorithm will never cause a // index_not_found_exception for an index other than the temporary // index handled above. throwBadResponse(stateP, left as never); + } else { + throwBadResponse(stateP, left); } } else if (isTypeof(left, 'remove_index_not_a_concrete_index')) { // We don't handle this error as the migration algorithm will never // cause it to occur (this error is only relevant to the LEGACY_DELETE // step). throwBadResponse(stateP, left as never); + } else if (isTypeof(left, 'synchronization_failed')) { + return { + ...stateP, + controlState: 'FATAL', + reason: 'An error occurred whilst waiting for other migrators to get to this step.', + throwDelayMillis: 1000, // another migrator has failed for a reason, let it take Kibana down and log its problem + }; } else { throwBadResponse(stateP, left); } @@ -1511,6 +1634,6 @@ export const model = (currentState: State, resW: ResponseType): // The state-action machine will never call the model in the terminating states throwBadControlState(stateP as never); } else { - return throwBadControlState(stateP); + throwBadControlState(stateP); } }; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/next.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/next.test.ts index f7cabfb6e42db..c57cf1f7f0705 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/next.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/next.test.ts @@ -7,7 +7,7 @@ */ import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; -import { defer } from './kibana_migrator_utils'; +import { waitGroup } from './kibana_migrator_utils'; import { next } from './next'; import type { State } from './state'; @@ -15,12 +15,24 @@ describe('migrations v2 next', () => { it.todo('when state.retryDelay > 0 delays execution of the next action'); it('DONE returns null', () => { const state = { controlState: 'DONE' } as State; - const action = next({} as ElasticsearchClient, (() => {}) as any, defer(), defer())(state); + const action = next( + {} as ElasticsearchClient, + (() => {}) as any, + waitGroup(), + waitGroup(), + waitGroup() + )(state); expect(action).toEqual(null); }); it('FATAL returns null', () => { const state = { controlState: 'FATAL', reason: '' } as State; - const action = next({} as ElasticsearchClient, (() => {}) as any, defer(), defer())(state); + const action = next( + {} as ElasticsearchClient, + (() => {}) as any, + waitGroup(), + waitGroup(), + waitGroup() + )(state); expect(action).toEqual(null); }); }); diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/next.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/next.ts index 426f73436cb71..5509fb70c9231 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/next.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/next.ts @@ -6,10 +6,12 @@ * Side Public License, v 1. */ +import { pipe } from 'fp-ts/lib/pipeable'; import * as Option from 'fp-ts/lib/Option'; +import * as TaskEither from 'fp-ts/lib/TaskEither'; import { omit } from 'lodash'; import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; -import type { Defer } from './kibana_migrator_utils'; +import type { WaitGroup } from './kibana_migrator_utils'; import type { AllActionStates, CalculateExcludeFiltersState, @@ -72,8 +74,9 @@ export type ResponseType = Awaited< export const nextActionMap = ( client: ElasticsearchClient, transformRawDocs: TransformRawDocs, - readyToReindex: Defer, - doneReindexing: Defer + readyToReindex: WaitGroup, + doneReindexing: WaitGroup, + updateRelocationAliases: WaitGroup ) => { return { INIT: (state: InitState) => @@ -139,9 +142,13 @@ export const nextActionMap = ( Actions.createIndex({ client, indexName: state.tempIndex, + aliases: [state.tempIndexAlias], mappings: state.tempIndexMappings, }), - READY_TO_REINDEX_SYNC: () => Actions.synchronizeMigrators(readyToReindex), + READY_TO_REINDEX_SYNC: () => + Actions.synchronizeMigrators({ + waitGroup: readyToReindex, + }), REINDEX_SOURCE_TO_TEMP_OPEN_PIT: (state: ReindexSourceToTempOpenPit) => Actions.openPit({ client, index: state.sourceIndex.value }), REINDEX_SOURCE_TO_TEMP_READ: (state: ReindexSourceToTempRead) => @@ -163,7 +170,13 @@ export const nextActionMap = ( REINDEX_SOURCE_TO_TEMP_INDEX_BULK: (state: ReindexSourceToTempIndexBulk) => Actions.bulkOverwriteTransformedDocuments({ client, - index: state.tempIndex, + /* + * Since other nodes can delete the temp index while we're busy writing + * to it, we use the alias to prevent the auto-creation of the index if + * it doesn't exist. + */ + index: state.tempIndexAlias, + useAliasToPreventAutoCreate: true, operations: state.bulkOperationBatches[state.currentBatch], /** * Since we don't run a search against the target index, we disable "refresh" to speed up @@ -174,7 +187,10 @@ export const nextActionMap = ( */ refresh: false, }), - DONE_REINDEXING_SYNC: () => Actions.synchronizeMigrators(doneReindexing), + DONE_REINDEXING_SYNC: () => + Actions.synchronizeMigrators({ + waitGroup: doneReindexing, + }), SET_TEMP_WRITE_BLOCK: (state: SetTempWriteBlock) => Actions.setWriteBlock({ client, index: state.tempIndex }), CLONE_TEMP_TO_TARGET: (state: CloneTempToTarget) => @@ -191,6 +207,7 @@ export const nextActionMap = ( client, index: state.targetIndex, mappings: omit(state.targetIndexMappings, ['_meta']), // ._meta property will be updated on a later step + batchSize: state.batchSize, }), UPDATE_TARGET_MAPPINGS_PROPERTIES_WAIT_FOR_TASK: ( state: UpdateTargetMappingsPropertiesWaitForTaskState @@ -218,6 +235,7 @@ export const nextActionMap = ( query: state.outdatedDocumentsQuery, batchSize: state.batchSize, searchAfter: state.lastHitSortValue, + maxResponseSizeBytes: state.maxReadBatchSizeBytes, }), OUTDATED_DOCUMENTS_SEARCH_CLOSE_PIT: (state: OutdatedDocumentsSearchClosePit) => Actions.closePit({ client, pitId: state.pitId }), @@ -240,6 +258,19 @@ export const nextActionMap = ( }), MARK_VERSION_INDEX_READY: (state: MarkVersionIndexReady) => Actions.updateAliases({ client, aliasActions: state.versionIndexReadyActions.value }), + MARK_VERSION_INDEX_READY_SYNC: (state: MarkVersionIndexReady) => + pipe( + // First, we wait for all the migrators involved in a relocation to reach this point. + Actions.synchronizeMigrators({ + waitGroup: updateRelocationAliases, + payload: state.versionIndexReadyActions.value, + }), + // Then, all migrators will try to update all aliases (from all indices). Only the first one will succeed. + // The others will receive alias_not_found_exception and cause MARK_VERSION_INDEX_READY_CONFLICT (that's acceptable). + TaskEither.chainW(({ data }) => + Actions.updateAliases({ client, aliasActions: data.flat() }) + ) + ), MARK_VERSION_INDEX_READY_CONFLICT: (state: MarkVersionIndexReadyConflict) => Actions.fetchIndices({ client, indices: [state.currentAlias, state.versionAlias] }), LEGACY_SET_WRITE_BLOCK: (state: LegacySetWriteBlockState) => @@ -258,6 +289,7 @@ export const nextActionMap = ( reindexScript: state.preMigrationScript, requireAlias: false, excludeOnUpgradeQuery: state.excludeOnUpgradeQuery, + batchSize: state.batchSize, }), LEGACY_REINDEX_WAIT_FOR_TASK: (state: LegacyReindexWaitForTaskState) => Actions.waitForReindexTask({ client, taskId: state.legacyReindexTaskId, timeout: '60s' }), @@ -269,10 +301,17 @@ export const nextActionMap = ( export const next = ( client: ElasticsearchClient, transformRawDocs: TransformRawDocs, - readyToReindex: Defer, - doneReindexing: Defer + readyToReindex: WaitGroup, + doneReindexing: WaitGroup, + updateRelocationAliases: WaitGroup ) => { - const map = nextActionMap(client, transformRawDocs, readyToReindex, doneReindexing); + const map = nextActionMap( + client, + transformRawDocs, + readyToReindex, + doneReindexing, + updateRelocationAliases + ); return (state: State) => { const delay = createDelayFn(state); diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_resilient_migrator.fixtures.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_resilient_migrator.fixtures.ts new file mode 100644 index 0000000000000..c7a70296f35ba --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_resilient_migrator.fixtures.ts @@ -0,0 +1,59 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 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 { SavedObjectTypeRegistry } from '@kbn/core-saved-objects-base-server-internal'; +import type { SavedObjectsType } from '@kbn/core-saved-objects-server'; + +export const createRegistry = (types: Array>) => { + const registry = new SavedObjectTypeRegistry(); + types.forEach((type) => + registry.registerType({ + name: 'unknown', + hidden: false, + namespaceType: 'single', + mappings: { + properties: { + name: { type: 'keyword' }, + }, + }, + migrations: {}, + ...type, + }) + ); + return registry; +}; + +export const indexTypesMapMock = { + '.my_index': ['testtype', 'testtype2'], + '.task_index': ['testtasktype'], + '.complementary_index': ['testtype3'], +}; + +export const savedObjectTypeRegistryMock = createRegistry([ + // typeRegistry depicts an updated index map: + // .my_index: ['testtype', 'testtype3'], + // .other_index: ['testtype2'], + // .task_index': ['testtasktype'], + { + name: 'testtype', + migrations: { '8.2.3': jest.fn().mockImplementation((doc) => doc) }, + }, + { + name: 'testtype2', + // We are moving 'testtype2' from '.my_index' to '.other_index' + indexPattern: '.other_index', + }, + { + name: 'testtasktype', + indexPattern: '.task_index', + }, + { + // We are moving 'testtype3' from '.complementary_index' to '.my_index' + name: 'testtype3', + }, +]); diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_resilient_migrator.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_resilient_migrator.test.ts new file mode 100644 index 0000000000000..56172384dcdcd --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_resilient_migrator.test.ts @@ -0,0 +1,157 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 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 buffer from 'buffer'; +import { ByteSizeValue } from '@kbn/config-schema'; +import { docLinksServiceMock } from '@kbn/core-doc-links-server-mocks'; +import { elasticsearchClientMock } from '@kbn/core-elasticsearch-client-server-mocks'; +import { loggingSystemMock } from '@kbn/core-logging-server-mocks'; +import type { MigrationResult } from '@kbn/core-saved-objects-base-server-internal'; +import { createInitialState } from './initial_state'; +import { waitGroup } from './kibana_migrator_utils'; +import { migrationStateActionMachine } from './migrations_state_action_machine'; +import { next } from './next'; +import { runResilientMigrator, type RunResilientMigratorParams } from './run_resilient_migrator'; +import { indexTypesMapMock, savedObjectTypeRegistryMock } from './run_resilient_migrator.fixtures'; +import type { InitState, State } from './state'; +import type { Next } from './state_action_machine'; + +const SOME_MIGRATION_RESULT: MigrationResult = { + sourceIndex: '.my_index_pre8.2.3_001', + destIndex: '.my_index_8.2.3_001', + elapsedMs: 16, + status: 'migrated', +}; + +jest.mock('./migrations_state_action_machine', () => { + const actual = jest.requireActual('./migrations_state_action_machine'); + return { + ...actual, + migrationStateActionMachine: jest.fn(() => Promise.resolve(SOME_MIGRATION_RESULT)), + }; +}); + +jest.mock('./initial_state', () => { + const actual = jest.requireActual('./initial_state'); + return { + ...actual, + createInitialState: jest.fn(actual.createInitialState), + }; +}); + +jest.mock('./next', () => { + const actual = jest.requireActual('./next'); + return { + ...actual, + next: jest.fn(actual.next), + }; +}); + +describe('runResilientMigrator', () => { + let options: RunResilientMigratorParams; + let initialState: InitState; + let migrationResult: MigrationResult; + let nextFunc: Next; + + beforeAll(async () => { + options = mockOptions(); + migrationResult = await runResilientMigrator(options); + }); + + it('calls createInitialState with the right params', () => { + expect(createInitialState).toHaveBeenCalledTimes(1); + expect(createInitialState).toHaveBeenCalledWith({ + kibanaVersion: options.kibanaVersion, + waitForMigrationCompletion: options.waitForMigrationCompletion, + mustRelocateDocuments: options.mustRelocateDocuments, + indexTypesMap: options.indexTypesMap, + targetMappings: options.targetMappings, + preMigrationScript: options.preMigrationScript, + migrationVersionPerType: options.migrationVersionPerType, + coreMigrationVersionPerType: options.coreMigrationVersionPerType, + indexPrefix: options.indexPrefix, + migrationsConfig: options.migrationsConfig, + typeRegistry: options.typeRegistry, + docLinks: options.docLinks, + logger: options.logger, + }); + + // store the created initial state + initialState = (createInitialState as jest.MockedFunction).mock + .results[0].value; + + // store the generated "next" function + nextFunc = (next as jest.MockedFunction).mock.results[0].value; + }); + + it('calls migrationStateMachine with the right params', () => { + expect(migrationStateActionMachine).toHaveBeenCalledTimes(1); + expect(migrationStateActionMachine).toHaveBeenCalledWith({ + initialState, + logger: options.logger, + next: nextFunc, + model: expect.any(Function), + abort: expect.any(Function), + }); + }); + + it('returns the result of migrationStateMachine', () => { + expect(migrationResult).toEqual(SOME_MIGRATION_RESULT); + }); +}); + +const mockOptions = (): RunResilientMigratorParams => { + const logger = loggingSystemMock.create().get(); + const mockedClient = elasticsearchClientMock.createElasticsearchClient(); + (mockedClient as any).child = jest.fn().mockImplementation(() => mockedClient); + + return { + client: mockedClient, + kibanaVersion: '8.8.0', + waitForMigrationCompletion: false, + mustRelocateDocuments: true, + indexTypesMap: indexTypesMapMock, + targetMappings: { + properties: { + a: { type: 'keyword' }, + c: { type: 'long' }, + }, + _meta: { + migrationMappingPropertyHashes: { + a: '000', + c: '222', + }, + }, + }, + readyToReindex: waitGroup(), + doneReindexing: waitGroup(), + updateRelocationAliases: waitGroup(), + logger, + transformRawDocs: jest.fn(), + preMigrationScript: "ctx._id = ctx._source.type + ':' + ctx._id", + migrationVersionPerType: { my_dashboard: '7.10.1', my_viz: '8.0.0' }, + coreMigrationVersionPerType: {}, + indexPrefix: '.my_index', + migrationsConfig: { + algorithm: 'v2' as const, + batchSize: 20, + maxBatchSizeBytes: ByteSizeValue.parse('20mb'), + maxReadBatchSizeBytes: new ByteSizeValue(buffer.constants.MAX_STRING_LENGTH), + pollInterval: 20000, + scrollDuration: '10m', + skip: false, + retryAttempts: 20, + zdt: { + metaPickupSyncDelaySec: 120, + runOnNonMigratorNodes: true, + }, + }, + typeRegistry: savedObjectTypeRegistryMock, + docLinks: docLinksServiceMock.createSetupContract(), + }; +}; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_resilient_migrator.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_resilient_migrator.ts index f3ae3f2c09f75..90bf2d2454fda 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_resilient_migrator.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_resilient_migrator.ts @@ -17,7 +17,7 @@ import type { MigrationResult, IndexTypesMap, } from '@kbn/core-saved-objects-base-server-internal'; -import type { Defer } from './kibana_migrator_utils'; +import type { WaitGroup } from './kibana_migrator_utils'; import type { TransformRawDocs } from './types'; import { next } from './next'; import { model } from './model'; @@ -25,6 +25,7 @@ import { createInitialState } from './initial_state'; import { migrationStateActionMachine } from './migrations_state_action_machine'; import { cleanup } from './migrations_state_machine_cleanup'; import type { State } from './state'; +import type { AliasAction } from './actions'; /** * To avoid the Elasticsearch-js client aborting our requests before we @@ -40,6 +41,27 @@ import type { State } from './state'; */ export const MIGRATION_CLIENT_OPTIONS = { maxRetries: 0, requestTimeout: 120_000 }; +export interface RunResilientMigratorParams { + client: ElasticsearchClient; + kibanaVersion: string; + waitForMigrationCompletion: boolean; + mustRelocateDocuments: boolean; + indexTypesMap: IndexTypesMap; + targetMappings: IndexMapping; + preMigrationScript?: string; + readyToReindex: WaitGroup; + doneReindexing: WaitGroup; + updateRelocationAliases: WaitGroup; + logger: Logger; + transformRawDocs: TransformRawDocs; + coreMigrationVersionPerType: SavedObjectsMigrationVersion; + migrationVersionPerType: SavedObjectsMigrationVersion; + indexPrefix: string; + migrationsConfig: SavedObjectsMigrationConfigType; + typeRegistry: ISavedObjectTypeRegistry; + docLinks: DocLinksServiceStart; +} + /** * Migrates the provided indexPrefix index using a resilient algorithm that is * completely lock-free so that any failure can always be retried by @@ -56,30 +78,15 @@ export async function runResilientMigrator({ preMigrationScript, readyToReindex, doneReindexing, + updateRelocationAliases, transformRawDocs, + coreMigrationVersionPerType, migrationVersionPerType, indexPrefix, migrationsConfig, typeRegistry, docLinks, -}: { - client: ElasticsearchClient; - kibanaVersion: string; - waitForMigrationCompletion: boolean; - mustRelocateDocuments: boolean; - indexTypesMap: IndexTypesMap; - targetMappings: IndexMapping; - preMigrationScript?: string; - readyToReindex: Defer; - doneReindexing: Defer; - logger: Logger; - transformRawDocs: TransformRawDocs; - migrationVersionPerType: SavedObjectsMigrationVersion; - indexPrefix: string; - migrationsConfig: SavedObjectsMigrationConfigType; - typeRegistry: ISavedObjectTypeRegistry; - docLinks: DocLinksServiceStart; -}): Promise { +}: RunResilientMigratorParams): Promise { const initialState = createInitialState({ kibanaVersion, waitForMigrationCompletion, @@ -87,6 +94,7 @@ export async function runResilientMigrator({ indexTypesMap, targetMappings, preMigrationScript, + coreMigrationVersionPerType, migrationVersionPerType, indexPrefix, migrationsConfig, @@ -98,7 +106,13 @@ export async function runResilientMigrator({ return migrationStateActionMachine({ initialState, logger, - next: next(migrationClient, transformRawDocs, readyToReindex, doneReindexing), + next: next( + migrationClient, + transformRawDocs, + readyToReindex, + doneReindexing, + updateRelocationAliases + ), model, abort: async (state?: State) => { // At this point, we could reject this migrator's defers and unblock other migrators diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_v2_migration.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_v2_migration.test.ts new file mode 100644 index 0000000000000..8ebd1b3d660d4 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_v2_migration.test.ts @@ -0,0 +1,275 @@ +/* + * Copyright 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 buffer from 'buffer'; +import { loggingSystemMock } from '@kbn/core-logging-server-mocks'; +import { elasticsearchClientMock } from '@kbn/core-elasticsearch-client-server-mocks'; +import { + type MigrationResult, + SavedObjectsSerializer, +} from '@kbn/core-saved-objects-base-server-internal'; +import { ByteSizeValue } from '@kbn/config-schema'; +import { docLinksServiceMock } from '@kbn/core-doc-links-server-mocks'; +import { runV2Migration, RunV2MigrationOpts } from './run_v2_migration'; +import { DocumentMigrator } from './document_migrator'; +import { ALLOWED_CONVERT_VERSION } from './kibana_migrator_constants'; +import { buildTypesMappings, createIndexMap } from './core'; +import { + getIndicesInvolvedInRelocation, + indexMapToIndexTypesMap, + createWaitGroupMap, + waitGroup, +} from './kibana_migrator_utils'; +import { runResilientMigrator } from './run_resilient_migrator'; +import { indexTypesMapMock, savedObjectTypeRegistryMock } from './run_resilient_migrator.fixtures'; + +jest.mock('./core', () => { + const actual = jest.requireActual('./core'); + return { + ...actual, + createIndexMap: jest.fn(actual.createIndexMap), + }; +}); + +jest.mock('./kibana_migrator_utils', () => { + const actual = jest.requireActual('./kibana_migrator_utils'); + return { + ...actual, + indexMapToIndexTypesMap: jest.fn(actual.indexMapToIndexTypesMap), + createWaitGroupMap: jest.fn(actual.createWaitGroupMap), + getIndicesInvolvedInRelocation: jest.fn(() => Promise.resolve(['.my_index', '.other_index'])), + }; +}); + +const V2_SUCCESSFUL_MIGRATION_RESULT: MigrationResult[] = [ + { + sourceIndex: '.my_index_pre8.2.3_001', + destIndex: '.my_index_8.2.3_001', + elapsedMs: 16, + status: 'migrated', + }, + { + sourceIndex: '.other_index_pre8.2.3_001', + destIndex: '.other_index_8.2.3_001', + elapsedMs: 8, + status: 'migrated', + }, + { + destIndex: '.task_index_8.2.3_001', + elapsedMs: 4, + status: 'patched', + }, +]; + +jest.mock('./run_resilient_migrator', () => { + const actual = jest.requireActual('./run_resilient_migrator'); + return { + ...actual, + runResilientMigrator: jest.fn(() => Promise.resolve(V2_SUCCESSFUL_MIGRATION_RESULT)), + }; +}); + +const nextTick = () => new Promise((resolve) => setImmediate(resolve)); +const mockCreateIndexMap = createIndexMap as jest.MockedFunction; +const mockIndexMapToIndexTypesMap = indexMapToIndexTypesMap as jest.MockedFunction< + typeof indexMapToIndexTypesMap +>; +const mockCreateWaitGroupMap = createWaitGroupMap as jest.MockedFunction; +const mockGetIndicesInvolvedInRelocation = getIndicesInvolvedInRelocation as jest.MockedFunction< + typeof getIndicesInvolvedInRelocation +>; +const mockRunResilientMigrator = runResilientMigrator as jest.MockedFunction< + typeof runResilientMigrator +>; + +describe('runV2Migration', () => { + beforeEach(() => { + mockCreateIndexMap.mockClear(); + mockIndexMapToIndexTypesMap.mockClear(); + mockCreateWaitGroupMap.mockClear(); + mockGetIndicesInvolvedInRelocation.mockClear(); + mockRunResilientMigrator.mockClear(); + }); + + it('rejects if prepare migrations has not been called on the documentMigrator', async () => { + const options = mockOptions(); + await expect(runV2Migration(options)).rejects.toEqual( + new Error('Migrations are not ready. Make sure prepareMigrations is called first.') + ); + }); + + it('calls createIndexMap with the right params', async () => { + const options = mockOptions(); + options.documentMigrator.prepareMigrations(); + await runV2Migration(options); + expect(createIndexMap).toBeCalledTimes(1); + expect(createIndexMap).toBeCalledWith({ + kibanaIndexName: options.kibanaIndexPrefix, + indexMap: options.mappingProperties, + registry: options.typeRegistry, + }); + }); + + it('calls indexMapToIndexTypesMap with the result from createIndexMap', async () => { + const options = mockOptions(); + options.documentMigrator.prepareMigrations(); + await runV2Migration(options); + expect(indexMapToIndexTypesMap).toBeCalledTimes(1); + expect(indexMapToIndexTypesMap).toBeCalledWith(mockCreateIndexMap.mock.results[0].value); + }); + + it('calls getIndicesInvolvedInRelocation with the right params', async () => { + const options = mockOptions(); + options.documentMigrator.prepareMigrations(); + await runV2Migration(options); + expect(getIndicesInvolvedInRelocation).toBeCalledTimes(1); + expect(getIndicesInvolvedInRelocation).toBeCalledWith( + expect.objectContaining({ + client: options.elasticsearchClient, + indexTypesMap: mockIndexMapToIndexTypesMap.mock.results[0].value, + logger: options.logger, + }) + ); + }); + + it('calls createMultiPromiseDefer, with the list of moving indices', async () => { + const options = mockOptions(); + options.documentMigrator.prepareMigrations(); + await runV2Migration(options); + expect(mockCreateWaitGroupMap).toBeCalledTimes(3); + expect(mockCreateWaitGroupMap).toHaveBeenNthCalledWith(1, ['.my_index', '.other_index']); + expect(mockCreateWaitGroupMap).toHaveBeenNthCalledWith(2, ['.my_index', '.other_index']); + expect(mockCreateWaitGroupMap).toHaveBeenNthCalledWith(3, ['.my_index', '.other_index']); + }); + + it('calls runResilientMigrator for each migrator it must spawn', async () => { + const options = mockOptions(); + options.documentMigrator.prepareMigrations(); + await runV2Migration(options); + expect(runResilientMigrator).toHaveBeenCalledTimes(3); + const runResilientMigratorCommonParams = { + client: options.elasticsearchClient, + kibanaVersion: options.kibanaVersion, + logger: options.logger, + migrationsConfig: options.migrationConfig, + typeRegistry: options.typeRegistry, + }; + expect(runResilientMigrator).toHaveBeenNthCalledWith( + 1, + expect.objectContaining({ + ...runResilientMigratorCommonParams, + indexPrefix: '.my_index', + mustRelocateDocuments: true, + readyToReindex: expect.any(Object), + doneReindexing: expect.any(Object), + updateRelocationAliases: expect.any(Object), + }) + ); + expect(runResilientMigrator).toHaveBeenNthCalledWith( + 2, + expect.objectContaining({ + ...runResilientMigratorCommonParams, + indexPrefix: '.other_index', + mustRelocateDocuments: true, + readyToReindex: expect.any(Object), + doneReindexing: expect.any(Object), + updateRelocationAliases: expect.any(Object), + }) + ); + expect(runResilientMigrator).toHaveBeenNthCalledWith( + 3, + expect.objectContaining({ + ...runResilientMigratorCommonParams, + indexPrefix: '.task_index', + mustRelocateDocuments: false, + readyToReindex: undefined, + doneReindexing: undefined, + updateRelocationAliases: undefined, + }) + ); + }); + + it('awaits on all runResilientMigrator promises, and resolves with the results of each of them', async () => { + const myIndexMigratorDefer = waitGroup(); + const otherIndexMigratorDefer = waitGroup(); + const taskIndexMigratorDefer = waitGroup(); + let migrationResults: MigrationResult[] | undefined; + + mockRunResilientMigrator.mockReturnValueOnce(myIndexMigratorDefer.promise); + mockRunResilientMigrator.mockReturnValueOnce(otherIndexMigratorDefer.promise); + mockRunResilientMigrator.mockReturnValueOnce(taskIndexMigratorDefer.promise); + const options = mockOptions(); + options.documentMigrator.prepareMigrations(); + + runV2Migration(options).then((results) => (migrationResults = results)); + await nextTick(); + expect(migrationResults).toBeUndefined(); + myIndexMigratorDefer.resolve(V2_SUCCESSFUL_MIGRATION_RESULT[0]); + otherIndexMigratorDefer.resolve(V2_SUCCESSFUL_MIGRATION_RESULT[1]); + await nextTick(); + expect(migrationResults).toBeUndefined(); + taskIndexMigratorDefer.resolve(V2_SUCCESSFUL_MIGRATION_RESULT[2]); + await nextTick(); + expect(migrationResults).toEqual(V2_SUCCESSFUL_MIGRATION_RESULT); + }); + + it('rejects if one of the runResilientMigrator promises rejects', async () => { + mockRunResilientMigrator.mockResolvedValueOnce(V2_SUCCESSFUL_MIGRATION_RESULT[0]); + mockRunResilientMigrator.mockResolvedValueOnce(V2_SUCCESSFUL_MIGRATION_RESULT[1]); + const myTaskIndexMigratorError = new Error( + 'Something terrible and unexpected happened whilst tyring to migrate .task_index' + ); + mockRunResilientMigrator.mockRejectedValueOnce(myTaskIndexMigratorError); + const options = mockOptions(); + options.documentMigrator.prepareMigrations(); + + await expect(runV2Migration(options)).rejects.toThrowError(myTaskIndexMigratorError); + }); +}); + +const mockOptions = (kibanaVersion = '8.2.3'): RunV2MigrationOpts => { + const mockedClient = elasticsearchClientMock.createElasticsearchClient(); + (mockedClient as any).child = jest.fn().mockImplementation(() => mockedClient); + + const typeRegistry = savedObjectTypeRegistryMock; + + const logger = loggingSystemMock.create().get(); + + return { + logger, + kibanaVersion, + waitForMigrationCompletion: false, + typeRegistry, + kibanaIndexPrefix: '.my_index', + defaultIndexTypesMap: indexTypesMapMock, + migrationConfig: { + algorithm: 'v2' as const, + batchSize: 20, + maxBatchSizeBytes: ByteSizeValue.parse('20mb'), + maxReadBatchSizeBytes: new ByteSizeValue(buffer.constants.MAX_STRING_LENGTH), + pollInterval: 20000, + scrollDuration: '10m', + skip: false, + retryAttempts: 20, + zdt: { + metaPickupSyncDelaySec: 120, + runOnNonMigratorNodes: true, + }, + }, + elasticsearchClient: mockedClient, + docLinks: docLinksServiceMock.createSetupContract(), + documentMigrator: new DocumentMigrator({ + kibanaVersion, + convertVersion: ALLOWED_CONVERT_VERSION, + typeRegistry, + log: logger, + }), + serializer: new SavedObjectsSerializer(typeRegistry), + mappingProperties: buildTypesMappings(typeRegistry.getAllTypes()), + }; +}; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_v2_migration.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_v2_migration.ts new file mode 100644 index 0000000000000..f39c74542a22d --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/run_v2_migration.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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { Logger } from '@kbn/logging'; +import type { DocLinksServiceStart } from '@kbn/core-doc-links-server'; +import type { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; +import type { + ISavedObjectTypeRegistry, + ISavedObjectsSerializer, + SavedObjectsRawDoc, +} from '@kbn/core-saved-objects-server'; +import type { + IndexTypesMap, + MigrationResult, + SavedObjectsMigrationConfigType, + SavedObjectsTypeMappingDefinitions, +} from '@kbn/core-saved-objects-base-server-internal'; +import Semver from 'semver'; +import type { DocumentMigrator } from './document_migrator'; +import { buildActiveMappings, createIndexMap } from './core'; +import { + createWaitGroupMap, + getIndicesInvolvedInRelocation, + indexMapToIndexTypesMap, +} from './kibana_migrator_utils'; +import { runResilientMigrator } from './run_resilient_migrator'; +import { migrateRawDocsSafely } from './core/migrate_raw_docs'; + +export interface RunV2MigrationOpts { + /** The current Kibana version */ + kibanaVersion: string; + /** The default Kibana SavedObjects index prefix. e.g `.kibana` */ + kibanaIndexPrefix: string; + /** The SO type registry to use for the migration */ + typeRegistry: ISavedObjectTypeRegistry; + /** The map of indices => types to use as a default / baseline state */ + defaultIndexTypesMap: IndexTypesMap; + /** Logger to use for migration output */ + logger: Logger; + /** The document migrator to use to convert the document */ + documentMigrator: DocumentMigrator; + /** docLinks contract to use to link to documentation */ + docLinks: DocLinksServiceStart; + /** SO serializer to use for migration */ + serializer: ISavedObjectsSerializer; + /** The client to use for communications with ES */ + elasticsearchClient: ElasticsearchClient; + /** The configuration that drives the behavior of each migrator */ + migrationConfig: SavedObjectsMigrationConfigType; + /** The definitions of the different saved object types */ + mappingProperties: SavedObjectsTypeMappingDefinitions; + /** Tells whether this instance should actively participate in the migration or not */ + waitForMigrationCompletion: boolean; +} + +export const runV2Migration = async (options: RunV2MigrationOpts): Promise => { + const indexMap = createIndexMap({ + kibanaIndexName: options.kibanaIndexPrefix, + indexMap: options.mappingProperties, + registry: options.typeRegistry, + }); + + options.logger.debug('Applying registered migrations for the following saved object types:'); + Object.entries(options.documentMigrator.getMigrationVersion()) + .sort(([t1, v1], [t2, v2]) => { + return Semver.compare(v1, v2); + }) + .forEach(([type, migrationVersion]) => { + options.logger.debug(`migrationVersion: ${migrationVersion} saved object type: ${type}`); + }); + + // build a indexTypesMap from the info present in the typeRegistry, e.g.: + // { + // '.kibana': ['typeA', 'typeB', ...] + // '.kibana_task_manager': ['task', ...] + // '.kibana_cases': ['typeC', 'typeD', ...] + // ... + // } + const indexTypesMap = indexMapToIndexTypesMap(indexMap); + + // compare indexTypesMap with the one present (or not) in the .kibana index meta + // and check if some SO types have been moved to different indices + const indicesWithRelocatingTypes = await getIndicesInvolvedInRelocation({ + mainIndex: options.kibanaIndexPrefix, + client: options.elasticsearchClient, + indexTypesMap, + logger: options.logger, + defaultIndexTypesMap: options.defaultIndexTypesMap, + }); + + // we create synchronization objects (synchronization points) for each of the + // migrators involved in relocations, aka each of the migrators that will: + // A) reindex some documents TO other indices + // B) receive some documents FROM other indices + // C) both + const readyToReindexWaitGroupMap = createWaitGroupMap(indicesWithRelocatingTypes); + const doneReindexingWaitGroupMap = createWaitGroupMap(indicesWithRelocatingTypes); + const updateAliasesWaitGroupMap = createWaitGroupMap(indicesWithRelocatingTypes); + + // build a list of all migrators that must be started + const migratorIndices = new Set(Object.keys(indexMap)); + // the types in indices involved in relocation might not have mappings in the current mappings anymore + // but if their SOs must be relocated to another index, we still need a migrator to do the job + indicesWithRelocatingTypes.forEach((index) => migratorIndices.add(index)); + + const migrators = Array.from(migratorIndices).map((indexName, i) => { + return { + migrate: (): Promise => { + const readyToReindex = readyToReindexWaitGroupMap[indexName]; + const doneReindexing = doneReindexingWaitGroupMap[indexName]; + const updateRelocationAliases = updateAliasesWaitGroupMap[indexName]; + // check if this migrator's index is involved in some document redistribution + const mustRelocateDocuments = indicesWithRelocatingTypes.includes(indexName); + + return runResilientMigrator({ + client: options.elasticsearchClient, + kibanaVersion: options.kibanaVersion, + mustRelocateDocuments, + indexTypesMap, + waitForMigrationCompletion: options.waitForMigrationCompletion, + // a migrator's index might no longer have any associated types to it + targetMappings: buildActiveMappings(indexMap[indexName]?.typeMappings ?? {}), + logger: options.logger, + preMigrationScript: indexMap[indexName]?.script, + readyToReindex, + doneReindexing, + updateRelocationAliases, + transformRawDocs: (rawDocs: SavedObjectsRawDoc[]) => + migrateRawDocsSafely({ + serializer: options.serializer, + migrateDoc: options.documentMigrator.migrateAndConvert, + rawDocs, + }), + coreMigrationVersionPerType: options.documentMigrator.getMigrationVersion({ + includeDeferred: false, + migrationType: 'core', + }), + migrationVersionPerType: options.documentMigrator.getMigrationVersion({ + includeDeferred: false, + }), + indexPrefix: indexName, + migrationsConfig: options.migrationConfig, + typeRegistry: options.typeRegistry, + docLinks: options.docLinks, + }); + }, + }; + }); + + return Promise.all(migrators.map((migrator) => migrator.migrate())); +}; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/state.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/state.ts index 6a483da04a399..5dfc5a793046e 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/state.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/state.ts @@ -63,7 +63,6 @@ export interface BaseState extends ControlState { * max_retry_time = 11.7 minutes */ readonly retryAttempts: number; - /** * The number of documents to process in each batch. This determines the * maximum number of documents that will be read and written in a single @@ -83,6 +82,12 @@ export interface BaseState extends ControlState { * When writing batches, we limit the number of documents in a batch * (batchSize) as well as the size of the batch in bytes (maxBatchSizeBytes). */ + readonly maxBatchSize: number; + /** + * The number of documents to process in each batch. Under most circumstances + * batchSize == maxBatchSize. But if we fail to read a batch because of a + * Nodejs `RangeError` we'll temporarily half `batchSize` and retry. + */ readonly batchSize: number; /** * When writing batches, limits the batch size in bytes to ensure that we @@ -90,6 +95,12 @@ export interface BaseState extends ControlState { * http.max_content_length which defaults to 100mb. */ readonly maxBatchSizeBytes: number; + /** + * If a read batch exceeds this limit we half the batchSize and retry. By + * not JSON.parsing and transforming large batches we can avoid RangeErrors + * or Kibana OOMing. + */ + readonly maxReadBatchSizeBytes: number; readonly logs: MigrationLog[]; /** * If saved objects exist which have an unknown type they will cause @@ -121,10 +132,16 @@ export interface BaseState extends ControlState { */ readonly versionIndex: string; /** - * An alias on the target index used as part of an "reindex block" that + * A temporary index used as part of an "reindex block" that * prevents lost deletes e.g. `.kibana_7.11.0_reindex`. */ readonly tempIndex: string; + /** + * An alias to the tempIndex used to prevent ES from auto-creating the temp + * index if one node deletes it while another writes to it + * e.g. `.kibana_7.11.0_reindex_temp_alias`. + */ + readonly tempIndexAlias: string; /** * When upgrading to a more recent kibana version, some saved object types * might be conflicting or no longer used. @@ -442,6 +459,14 @@ export interface MarkVersionIndexReady extends PostInitState { readonly versionIndexReadyActions: Option.Some; } +export interface MarkVersionIndexReadySync extends PostInitState { + /** Single "client.indices.updateAliases" operation + * to update multiple indices' aliases simultaneously + * */ + readonly controlState: 'MARK_VERSION_INDEX_READY_SYNC'; + readonly versionIndexReadyActions: Option.Some; +} + export interface MarkVersionIndexReadyConflict extends PostInitState { /** * If the MARK_VERSION_INDEX_READY step fails another instance was @@ -524,6 +549,7 @@ export type State = Readonly< | LegacyReindexWaitForTaskState | LegacySetWriteBlockState | MarkVersionIndexReady + | MarkVersionIndexReadySync | MarkVersionIndexReadyConflict | OutdatedDocumentsRefresh | OutdatedDocumentsSearchClosePit diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/context/create_context.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/context/create_context.ts index 39cc32bfc7599..407966a7ba6e8 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/context/create_context.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/context/create_context.ts @@ -41,6 +41,7 @@ export const createContext = ({ maxRetryAttempts: migrationConfig.retryAttempts, migrationDocLinks: docLinks.links.kibanaUpgradeSavedObjects, deletedTypes: REMOVED_TYPES, + batchSize: migrationConfig.batchSize, discardCorruptObjects: Boolean(migrationConfig.discardCorruptObjects), nodeRoles, }; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/context/types.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/context/types.ts index 53f71f8751446..35edbb464ee17 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/context/types.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/context/types.ts @@ -47,6 +47,8 @@ export interface MigratorContext { readonly typeRegistry: ISavedObjectTypeRegistry; /** List of types that are no longer registered */ readonly deletedTypes: string[]; + /** The number of documents to process at a time */ + readonly batchSize: number; /** If true, corrupted objects will be discarded instead of failing the migration */ readonly discardCorruptObjects: boolean; /** The node roles of the Kibana instance */ diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/model/stages/create_target_index.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/model/stages/create_target_index.ts index 9b4d7b8efa6d4..16f8dd6e5ede7 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/model/stages/create_target_index.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/model/stages/create_target_index.ts @@ -53,5 +53,6 @@ export const createTargetIndex: ModelStage< aliases: [], aliasActions, skipDocumentMigration: true, + previousAlgorithm: 'zdt', }; }; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/model/stages/documents_update_init.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/model/stages/documents_update_init.test.ts index a44754622be6e..de19ff0304f2f 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/model/stages/documents_update_init.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/model/stages/documents_update_init.test.ts @@ -46,6 +46,22 @@ describe('Stage: documentsUpdateInit', () => { context.typeRegistry.registerType(createType({ name: 'bar' })); }); + describe('when state.previousAlgorithm is `v2`', () => { + it('DOCUMENTS_UPDATE_INIT -> SET_DOC_MIGRATION_STARTED', () => { + const state = createState({ + previousAlgorithm: 'v2', + }); + const res: ResponseType<'DOCUMENTS_UPDATE_INIT'> = Either.right('noop' as const); + + const newState = documentsUpdateInit( + state, + res as StateActionResponse<'DOCUMENTS_UPDATE_INIT'>, + context + ); + expect(newState.controlState).toEqual('SET_DOC_MIGRATION_STARTED'); + }); + }); + describe('when checkVersionCompatibility returns `greater`', () => { beforeEach(() => { checkVersionCompatibilityMock.mockReturnValue({ diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/model/stages/documents_update_init.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/model/stages/documents_update_init.ts index f5e1dd3605555..3722dd99428c5 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/model/stages/documents_update_init.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/model/stages/documents_update_init.ts @@ -27,6 +27,34 @@ export const documentsUpdateInit: ModelStage< const types = context.types.map((type) => context.typeRegistry.getType(type)!); const logs: MigrationLog[] = [...state.logs]; + const excludeFilterHooks = Object.fromEntries( + context.types + .map((name) => context.typeRegistry.getType(name)!) + .filter((type) => !!type.excludeOnUpgrade) + .map((type) => [type.name, type.excludeOnUpgrade!]) + ); + const outdatedDocumentsQuery = getOutdatedDocumentsQuery({ types }); + const transformRawDocs = createDocumentTransformFn({ + serializer: context.serializer, + documentMigrator: context.documentMigrator, + }); + const commonState = { + logs, + excludeOnUpgradeQuery: excludeUnusedTypesQuery, + excludeFromUpgradeFilterHooks: excludeFilterHooks, + outdatedDocumentsQuery, + transformRawDocs, + }; + + // index was previously using the v2 algo, we skip compat check and jump to next stage + if (state.previousAlgorithm === 'v2') { + return { + ...state, + ...commonState, + controlState: 'SET_DOC_MIGRATION_STARTED', + }; + } + const versionCheck = checkVersionCompatibility({ mappings: state.previousMappings, types, @@ -43,24 +71,9 @@ export const documentsUpdateInit: ModelStage< // app version is greater than the index mapping version. // scenario of an upgrade: we need to run the document migration. case 'greater': - const excludeFilterHooks = Object.fromEntries( - context.types - .map((name) => context.typeRegistry.getType(name)!) - .filter((type) => !!type.excludeOnUpgrade) - .map((type) => [type.name, type.excludeOnUpgrade!]) - ); - const outdatedDocumentsQuery = getOutdatedDocumentsQuery({ types }); - const transformRawDocs = createDocumentTransformFn({ - serializer: context.serializer, - documentMigrator: context.documentMigrator, - }); return { ...state, - logs, - excludeOnUpgradeQuery: excludeUnusedTypesQuery, - excludeFromUpgradeFilterHooks: excludeFilterHooks, - outdatedDocumentsQuery, - transformRawDocs, + ...commonState, controlState: 'SET_DOC_MIGRATION_STARTED', }; // app version and index mapping version are the same. diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/model/stages/init.test.mocks.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/model/stages/init.test.mocks.ts index 89c513fa2a66d..c6a03c7ee6860 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/model/stages/init.test.mocks.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/model/stages/init.test.mocks.ts @@ -11,6 +11,7 @@ export const checkVersionCompatibilityMock = jest.fn(); export const buildIndexMappingsMock = jest.fn(); export const generateAdditiveMappingDiffMock = jest.fn(); export const getAliasActionsMock = jest.fn(); +export const checkIndexCurrentAlgorithmMock = jest.fn(); jest.doMock('../../utils', () => { const realModule = jest.requireActual('../../utils'); @@ -21,5 +22,16 @@ jest.doMock('../../utils', () => { buildIndexMappings: buildIndexMappingsMock, generateAdditiveMappingDiff: generateAdditiveMappingDiffMock, getAliasActions: getAliasActionsMock, + checkIndexCurrentAlgorithm: checkIndexCurrentAlgorithmMock, + }; +}); + +export const getAliasesMock = jest.fn(); + +jest.doMock('../../../model/helpers', () => { + const realModule = jest.requireActual('../../../model/helpers'); + return { + ...realModule, + getAliases: getAliasesMock, }; }); diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/model/stages/init.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/model/stages/init.test.ts index 925e263a26d3f..45c4d3181fce5 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/model/stages/init.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/model/stages/init.test.ts @@ -12,6 +12,8 @@ import { buildIndexMappingsMock, generateAdditiveMappingDiffMock, getAliasActionsMock, + checkIndexCurrentAlgorithmMock, + getAliasesMock, } from './init.test.mocks'; import * as Either from 'fp-ts/lib/Either'; import { FetchIndexResponse } from '../../../actions'; @@ -52,6 +54,9 @@ describe('Stage: init', () => { }); generateAdditiveMappingDiffMock.mockReset().mockReturnValue({}); getAliasActionsMock.mockReset().mockReturnValue([]); + checkIndexCurrentAlgorithmMock.mockReset().mockReturnValue('zdt'); + getAliasesMock.mockReset().mockReturnValue(Either.right({})); + buildIndexMappingsMock.mockReset().mockReturnValue({}); context = createContextMock({ indexPrefix: '.kibana', types: ['foo', 'bar'] }); context.typeRegistry.registerType({ @@ -87,10 +92,17 @@ describe('Stage: init', () => { const fetchIndexResponse = createResponse(); const res: StateActionResponse<'INIT'> = Either.right(fetchIndexResponse); + const aliases = { '.foo': '.bar' }; + getAliasesMock.mockReturnValue(Either.right(aliases)); + init(state, res, context); expect(getCurrentIndexMock).toHaveBeenCalledTimes(1); - expect(getCurrentIndexMock).toHaveBeenCalledWith(fetchIndexResponse, context.indexPrefix); + expect(getCurrentIndexMock).toHaveBeenCalledWith({ + indices: Object.keys(fetchIndexResponse), + indexPrefix: context.indexPrefix, + aliases, + }); }); it('calls checkVersionCompatibility with the correct parameters', () => { @@ -109,232 +121,364 @@ describe('Stage: init', () => { }); }); - describe('when getCurrentIndex returns undefined', () => { + describe('when checkIndexCurrentAlgorithm returns `unknown`', () => { beforeEach(() => { - getCurrentIndexMock.mockReturnValue(undefined); + checkIndexCurrentAlgorithmMock.mockReset().mockReturnValue('unknown'); }); - it('calls buildIndexMappings with the correct parameters', () => { + it('adds a log entry about the algo check', () => { const state = createState(); - const fetchIndexResponse = createResponse(); - const res: StateActionResponse<'INIT'> = Either.right(fetchIndexResponse); + const res: StateActionResponse<'INIT'> = Either.right(createResponse()); - init(state, res, context); + const newState = init(state, res, context); - expect(buildIndexMappingsMock).toHaveBeenCalledTimes(1); - expect(buildIndexMappingsMock).toHaveBeenCalledWith({ - types: ['foo', 'bar'].map((type) => context.typeRegistry.getType(type)), - }); + expect(newState.logs.map((entry) => entry.message)).toContain( + `INIT: current algo check result: unknown` + ); }); - it('INIT -> CREATE_TARGET_INDEX', () => { + it('INIT -> FATAL', () => { const state = createState(); const fetchIndexResponse = createResponse(); const res: StateActionResponse<'INIT'> = Either.right(fetchIndexResponse); - const mockMappings = { properties: { someMappings: 'string' } }; - buildIndexMappingsMock.mockReturnValue(mockMappings); - const newState = init(state, res, context); expect(newState).toEqual( expect.objectContaining({ - controlState: 'CREATE_TARGET_INDEX', - currentIndex: '.kibana_1', - indexMappings: mockMappings, + controlState: 'FATAL', + reason: 'Cannot identify algorithm used for index .kibana_1', }) ); }); }); - describe('when checkVersionCompatibility returns `greater`', () => { - it('calls generateAdditiveMappingDiff with the correct parameters', () => { - const state = createState(); - const fetchIndexResponse = createResponse(); - const res: StateActionResponse<'INIT'> = Either.right(fetchIndexResponse); + describe('when checkIndexCurrentAlgorithm returns `v2-incompatible`', () => { + beforeEach(() => { + checkIndexCurrentAlgorithmMock.mockReset().mockReturnValue('v2-incompatible'); + }); - checkVersionCompatibilityMock.mockReturnValue({ - status: 'greater', - }); + it('adds a log entry about the algo check', () => { + const state = createState(); + const res: StateActionResponse<'INIT'> = Either.right(createResponse()); - init(state, res, context); + const newState = init(state, res, context); - expect(generateAdditiveMappingDiffMock).toHaveBeenCalledTimes(1); - expect(generateAdditiveMappingDiffMock).toHaveBeenCalledWith({ - types: ['foo', 'bar'].map((type) => context.typeRegistry.getType(type)), - meta: fetchIndexResponse[currentIndex].mappings._meta, - deletedTypes: context.deletedTypes, - }); + expect(newState.logs.map((entry) => entry.message)).toContain( + `INIT: current algo check result: v2-incompatible` + ); }); - it('INIT -> UPDATE_INDEX_MAPPINGS', () => { + it('INIT -> FATAL', () => { const state = createState(); const fetchIndexResponse = createResponse(); const res: StateActionResponse<'INIT'> = Either.right(fetchIndexResponse); - checkVersionCompatibilityMock.mockReturnValue({ - status: 'greater', - }); - generateAdditiveMappingDiffMock.mockReturnValue({ someToken: {} }); - const newState = init(state, res, context); expect(newState).toEqual( expect.objectContaining({ - controlState: 'UPDATE_INDEX_MAPPINGS', - currentIndex, - previousMappings: fetchIndexResponse[currentIndex].mappings, - additiveMappingChanges: { someToken: {} }, - skipDocumentMigration: false, + controlState: 'FATAL', + reason: 'Index .kibana_1 is using an incompatible version of the v2 algorithm', }) ); }); + }); + + describe('when checkIndexCurrentAlgorithm returns `v2-compatible`', () => { + beforeEach(() => { + checkIndexCurrentAlgorithmMock.mockReset().mockReturnValue('v2-compatible'); + buildIndexMappingsMock.mockReturnValue({}); + }); - it('adds a log entry about the version check', () => { + it('adds a log entry about the algo check', () => { const state = createState(); const res: StateActionResponse<'INIT'> = Either.right(createResponse()); - checkVersionCompatibilityMock.mockReturnValue({ - status: 'greater', + init(state, res, context); + + expect(buildIndexMappingsMock).toHaveBeenCalledTimes(1); + expect(buildIndexMappingsMock).toHaveBeenLastCalledWith({ + types: ['foo', 'bar'].map((type) => context.typeRegistry.getType(type)), }); + }); + + it('calls buildIndexMappings with the correct parameters', () => { + const state = createState(); + const res: StateActionResponse<'INIT'> = Either.right(createResponse()); const newState = init(state, res, context); - expect(newState.logs.map((entry) => entry.message)).toEqual([ - `INIT: mapping version check result: greater`, - ]); + expect(newState.logs.map((entry) => entry.message)).toContain( + `INIT: current algo check result: v2-compatible` + ); }); - }); - describe('when checkVersionCompatibility returns `equal`', () => { - it('INIT -> UPDATE_ALIASES if alias actions are not empty', () => { + it('INIT -> UPDATE_INDEX_MAPPINGS', () => { const state = createState(); const fetchIndexResponse = createResponse(); const res: StateActionResponse<'INIT'> = Either.right(fetchIndexResponse); - checkVersionCompatibilityMock.mockReturnValue({ - status: 'equal', - }); - getAliasActionsMock.mockReturnValue([{ add: { index: '.kibana_1', alias: '.kibana' } }]); + const mockMappings = { properties: { someMappings: 'string' } }; + buildIndexMappingsMock.mockReturnValue(mockMappings); const newState = init(state, res, context); expect(newState).toEqual( expect.objectContaining({ - controlState: 'UPDATE_ALIASES', + controlState: 'UPDATE_INDEX_MAPPINGS', currentIndex, previousMappings: fetchIndexResponse[currentIndex].mappings, + additiveMappingChanges: mockMappings.properties, skipDocumentMigration: false, }) ); }); + }); - it('INIT -> INDEX_STATE_UPDATE_DONE if alias actions are empty', () => { - const state = createState(); - const fetchIndexResponse = createResponse(); - const res: StateActionResponse<'INIT'> = Either.right(fetchIndexResponse); + describe('when checkIndexCurrentAlgorithm returns `zdt`', () => { + beforeEach(() => { + checkIndexCurrentAlgorithmMock.mockReset().mockReturnValue('zdt'); + }); - checkVersionCompatibilityMock.mockReturnValue({ - status: 'equal', - }); - getAliasActionsMock.mockReturnValue([]); + it('adds a log entry about the algo check', () => { + const state = createState(); + const res: StateActionResponse<'INIT'> = Either.right(createResponse()); const newState = init(state, res, context); - expect(newState).toEqual( - expect.objectContaining({ - controlState: 'INDEX_STATE_UPDATE_DONE', - currentIndex, - previousMappings: fetchIndexResponse[currentIndex].mappings, - skipDocumentMigration: false, - }) + expect(newState.logs.map((entry) => entry.message)).toContain( + `INIT: current algo check result: zdt` ); }); - it('adds a log entry about the version check', () => { - const state = createState(); - const res: StateActionResponse<'INIT'> = Either.right(createResponse()); + describe('when getCurrentIndex returns undefined', () => { + beforeEach(() => { + getCurrentIndexMock.mockReturnValue(undefined); + }); + + it('calls buildIndexMappings with the correct parameters', () => { + const state = createState(); + const fetchIndexResponse = createResponse(); + const res: StateActionResponse<'INIT'> = Either.right(fetchIndexResponse); - checkVersionCompatibilityMock.mockReturnValue({ - status: 'equal', + init(state, res, context); + + expect(buildIndexMappingsMock).toHaveBeenCalledTimes(1); + expect(buildIndexMappingsMock).toHaveBeenCalledWith({ + types: ['foo', 'bar'].map((type) => context.typeRegistry.getType(type)), + }); }); - const newState = init(state, res, context); + it('INIT -> CREATE_TARGET_INDEX', () => { + const state = createState(); + const fetchIndexResponse = createResponse(); + const res: StateActionResponse<'INIT'> = Either.right(fetchIndexResponse); + + const mockMappings = { properties: { someMappings: 'string' } }; + buildIndexMappingsMock.mockReturnValue(mockMappings); + + const newState = init(state, res, context); - expect(newState.logs.map((entry) => entry.message)).toEqual([ - `INIT: mapping version check result: equal`, - ]); + expect(newState).toEqual( + expect.objectContaining({ + controlState: 'CREATE_TARGET_INDEX', + currentIndex: '.kibana_1', + indexMappings: mockMappings, + }) + ); + }); }); - }); - describe('when checkVersionCompatibility returns `lesser`', () => { - it('INIT -> INDEX_STATE_UPDATE_DONE', () => { - const state = createState(); - const fetchIndexResponse = createResponse(); - const res: StateActionResponse<'INIT'> = Either.right(fetchIndexResponse); + describe('when checkVersionCompatibility returns `greater`', () => { + it('calls generateAdditiveMappingDiff with the correct parameters', () => { + const state = createState(); + const fetchIndexResponse = createResponse(); + const res: StateActionResponse<'INIT'> = Either.right(fetchIndexResponse); + + checkVersionCompatibilityMock.mockReturnValue({ + status: 'greater', + }); - checkVersionCompatibilityMock.mockReturnValue({ - status: 'lesser', + init(state, res, context); + + expect(generateAdditiveMappingDiffMock).toHaveBeenCalledTimes(1); + expect(generateAdditiveMappingDiffMock).toHaveBeenCalledWith({ + types: ['foo', 'bar'].map((type) => context.typeRegistry.getType(type)), + meta: fetchIndexResponse[currentIndex].mappings._meta, + deletedTypes: context.deletedTypes, + }); }); - const newState = init(state, res, context); + it('INIT -> UPDATE_INDEX_MAPPINGS', () => { + const state = createState(); + const fetchIndexResponse = createResponse(); + const res: StateActionResponse<'INIT'> = Either.right(fetchIndexResponse); + + checkVersionCompatibilityMock.mockReturnValue({ + status: 'greater', + }); + generateAdditiveMappingDiffMock.mockReturnValue({ someToken: {} }); + + const newState = init(state, res, context); + + expect(newState).toEqual( + expect.objectContaining({ + controlState: 'UPDATE_INDEX_MAPPINGS', + currentIndex, + previousMappings: fetchIndexResponse[currentIndex].mappings, + additiveMappingChanges: { someToken: {} }, + skipDocumentMigration: false, + }) + ); + }); - expect(newState).toEqual( - expect.objectContaining({ - controlState: 'INDEX_STATE_UPDATE_DONE', - }) - ); + it('adds a log entry about the version check', () => { + const state = createState(); + const res: StateActionResponse<'INIT'> = Either.right(createResponse()); + + checkVersionCompatibilityMock.mockReturnValue({ + status: 'greater', + }); + + const newState = init(state, res, context); + + expect(newState.logs.map((entry) => entry.message)).toContain( + `INIT: mapping version check result: greater` + ); + }); }); - it('adds a log entry about the version check', () => { - const state = createState(); - const res: StateActionResponse<'INIT'> = Either.right(createResponse()); + describe('when checkVersionCompatibility returns `equal`', () => { + it('INIT -> UPDATE_ALIASES if alias actions are not empty', () => { + const state = createState(); + const fetchIndexResponse = createResponse(); + const res: StateActionResponse<'INIT'> = Either.right(fetchIndexResponse); + + checkVersionCompatibilityMock.mockReturnValue({ + status: 'equal', + }); + getAliasActionsMock.mockReturnValue([{ add: { index: '.kibana_1', alias: '.kibana' } }]); + + const newState = init(state, res, context); + + expect(newState).toEqual( + expect.objectContaining({ + controlState: 'UPDATE_ALIASES', + currentIndex, + previousMappings: fetchIndexResponse[currentIndex].mappings, + skipDocumentMigration: false, + }) + ); + }); - checkVersionCompatibilityMock.mockReturnValue({ - status: 'lesser', + it('INIT -> INDEX_STATE_UPDATE_DONE if alias actions are empty', () => { + const state = createState(); + const fetchIndexResponse = createResponse(); + const res: StateActionResponse<'INIT'> = Either.right(fetchIndexResponse); + + checkVersionCompatibilityMock.mockReturnValue({ + status: 'equal', + }); + getAliasActionsMock.mockReturnValue([]); + + const newState = init(state, res, context); + + expect(newState).toEqual( + expect.objectContaining({ + controlState: 'INDEX_STATE_UPDATE_DONE', + currentIndex, + previousMappings: fetchIndexResponse[currentIndex].mappings, + skipDocumentMigration: false, + }) + ); }); - const newState = init(state, res, context); + it('adds a log entry about the version check', () => { + const state = createState(); + const res: StateActionResponse<'INIT'> = Either.right(createResponse()); + + checkVersionCompatibilityMock.mockReturnValue({ + status: 'equal', + }); - expect(newState.logs.map((entry) => entry.message)).toEqual([ - `INIT: mapping version check result: lesser`, - ]); + const newState = init(state, res, context); + + expect(newState.logs.map((entry) => entry.message)).toContain( + `INIT: mapping version check result: equal` + ); + }); }); - }); - describe('when checkVersionCompatibility returns `conflict`', () => { - it('INIT -> FATAL', () => { - const state = createState(); - const fetchIndexResponse = createResponse(); - const res: StateActionResponse<'INIT'> = Either.right(fetchIndexResponse); + describe('when checkVersionCompatibility returns `lesser`', () => { + it('INIT -> INDEX_STATE_UPDATE_DONE', () => { + const state = createState(); + const fetchIndexResponse = createResponse(); + const res: StateActionResponse<'INIT'> = Either.right(fetchIndexResponse); + + checkVersionCompatibilityMock.mockReturnValue({ + status: 'lesser', + }); - checkVersionCompatibilityMock.mockReturnValue({ - status: 'conflict', + const newState = init(state, res, context); + + expect(newState).toEqual( + expect.objectContaining({ + controlState: 'INDEX_STATE_UPDATE_DONE', + }) + ); }); - const newState = init(state, res, context); + it('adds a log entry about the version check', () => { + const state = createState(); + const res: StateActionResponse<'INIT'> = Either.right(createResponse()); - expect(newState).toEqual( - expect.objectContaining({ - controlState: 'FATAL', - reason: 'Model version conflict: inconsistent higher/lower versions', - }) - ); + checkVersionCompatibilityMock.mockReturnValue({ + status: 'lesser', + }); + + const newState = init(state, res, context); + + expect(newState.logs.map((entry) => entry.message)).toContain( + `INIT: mapping version check result: lesser` + ); + }); }); - it('adds a log entry about the version check', () => { - const state = createState(); - const res: StateActionResponse<'INIT'> = Either.right(createResponse()); + describe('when checkVersionCompatibility returns `conflict`', () => { + it('INIT -> FATAL', () => { + const state = createState(); + const fetchIndexResponse = createResponse(); + const res: StateActionResponse<'INIT'> = Either.right(fetchIndexResponse); + + checkVersionCompatibilityMock.mockReturnValue({ + status: 'conflict', + }); + + const newState = init(state, res, context); - checkVersionCompatibilityMock.mockReturnValue({ - status: 'conflict', + expect(newState).toEqual( + expect.objectContaining({ + controlState: 'FATAL', + reason: 'Model version conflict: inconsistent higher/lower versions', + }) + ); }); - const newState = init(state, res, context); + it('adds a log entry about the version check', () => { + const state = createState(); + const res: StateActionResponse<'INIT'> = Either.right(createResponse()); + + checkVersionCompatibilityMock.mockReturnValue({ + status: 'conflict', + }); - expect(newState.logs.map((entry) => entry.message)).toEqual([ - `INIT: mapping version check result: conflict`, - ]); + const newState = init(state, res, context); + + expect(newState.logs.map((entry) => entry.message)).toContain( + `INIT: mapping version check result: conflict` + ); + }); }); }); }); diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/model/stages/init.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/model/stages/init.ts index 57f63fe403866..96fdf7dac4a95 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/model/stages/init.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/model/stages/init.ts @@ -12,12 +12,15 @@ import { delayRetryState } from '../../../model/retry_state'; import { throwBadResponse } from '../../../model/helpers'; import type { MigrationLog } from '../../../types'; import { isTypeof } from '../../actions'; +import { getAliases } from '../../../model/helpers'; import { getCurrentIndex, checkVersionCompatibility, buildIndexMappings, getAliasActions, generateAdditiveMappingDiff, + checkIndexCurrentAlgorithm, + removePropertiesFromV2, } from '../../utils'; import type { ModelStage } from '../types'; @@ -43,9 +46,25 @@ export const init: ModelStage< const logs: MigrationLog[] = [...state.logs]; const indices = res.right; - const currentIndex = getCurrentIndex(indices, context.indexPrefix); + const aliasesRes = getAliases(indices); + if (Either.isLeft(aliasesRes)) { + return { + ...state, + controlState: 'FATAL', + reason: `The ${ + aliasesRes.left.alias + } alias is pointing to multiple indices: ${aliasesRes.left.indices.join(',')}.`, + }; + } + const aliasMap = aliasesRes.right; - // No indices were found, likely because it is the first time Kibana boots. + const currentIndex = getCurrentIndex({ + indices: Object.keys(indices), + aliases: aliasMap, + indexPrefix: context.indexPrefix, + }); + + // No indices were found, likely because it is a fresh cluster. // In that case, we just create the index. if (!currentIndex) { return { @@ -60,37 +79,82 @@ export const init: ModelStage< // Index was found. This is the standard scenario, we check the model versions // compatibility before going further. const currentMappings = indices[currentIndex].mappings; - const versionCheck = checkVersionCompatibility({ - mappings: currentMappings, - types, - source: 'mappingVersions', - deletedTypes: context.deletedTypes, - }); + + // Index is already present, so we check which algo was last used on it + const currentAlgo = checkIndexCurrentAlgorithm(currentMappings); logs.push({ level: 'info', - message: `INIT: mapping version check result: ${versionCheck.status}`, + message: `INIT: current algo check result: ${currentAlgo}`, }); - const aliases = Object.keys(indices[currentIndex].aliases); + // incompatible (pre 8.8/index-split https://github.com/elastic/kibana/pull/154888) v2 algo => we terminate + if (currentAlgo === 'v2-incompatible') { + return { + ...state, + logs, + controlState: 'FATAL', + reason: `Index ${currentIndex} is using an incompatible version of the v2 algorithm`, + }; + } + // unknown algo => we terminate + if (currentAlgo === 'unknown') { + return { + ...state, + logs, + controlState: 'FATAL', + reason: `Cannot identify algorithm used for index ${currentIndex}`, + }; + } + + const existingAliases = Object.keys(indices[currentIndex].aliases); const aliasActions = getAliasActions({ - existingAliases: aliases, + existingAliases, currentIndex, indexPrefix: context.indexPrefix, kibanaVersion: context.kibanaVersion, }); // cloning as we may be mutating it in later stages. - const currentIndexMeta = cloneDeep(currentMappings._meta!); + let currentIndexMeta = cloneDeep(currentMappings._meta!); + if (currentAlgo === 'v2-compatible') { + currentIndexMeta = removePropertiesFromV2(currentIndexMeta); + } const commonState = { logs, currentIndex, currentIndexMeta, - aliases, + aliases: existingAliases, aliasActions, previousMappings: currentMappings, + previousAlgorithm: currentAlgo === 'v2-compatible' ? ('v2' as const) : ('zdt' as const), }; + // compatible (8.8+) v2 algo => we jump to update index mapping + if (currentAlgo === 'v2-compatible') { + const indexMappings = buildIndexMappings({ types }); + return { + ...state, + controlState: 'UPDATE_INDEX_MAPPINGS', + ...commonState, + additiveMappingChanges: indexMappings.properties, + }; + } + + // Index was found and is already using ZDT algo. This is the standard scenario. + // We check the model versions compatibility before going further. + const versionCheck = checkVersionCompatibility({ + mappings: currentMappings, + types, + source: 'mappingVersions', + deletedTypes: context.deletedTypes, + }); + + logs.push({ + level: 'info', + message: `INIT: mapping version check result: ${versionCheck.status}`, + }); + switch (versionCheck.status) { // app version is greater than the index mapping version. // scenario of an upgrade: we need to update the mappings diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/next.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/next.ts index 2e6a785704b8a..17749104d18fe 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/next.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/next.ts @@ -71,6 +71,7 @@ export const nextActionMap = (context: MigratorContext) => { client, index: state.currentIndex, mappings: { properties: state.additiveMappingChanges }, + batchSize: context.batchSize, }), UPDATE_INDEX_MAPPINGS_WAIT_FOR_TASK: (state: UpdateIndexMappingsWaitForTaskState) => Actions.waitForPickupUpdatedMappingsTask({ diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/state/types.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/state/types.ts index 94fb5a18b2927..7a1768745982e 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/state/types.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/state/types.ts @@ -17,7 +17,7 @@ import type { MigrationLog, Progress, TransformRawDocs } from '../../types'; import type { ControlState } from '../../state_action_machine'; import type { BulkOperationBatch } from '../../model/create_batches'; import type { AliasAction } from '../../actions'; -import { TransformErrorObjects } from '../../core'; +import type { TransformErrorObjects } from '../../core'; export interface BaseState extends ControlState { readonly retryCount: number; @@ -65,6 +65,11 @@ export interface PostInitState extends BaseState { * All operations updating this field will update in the state accordingly. */ readonly currentIndexMeta: IndexMappingMeta; + /** + * The previous algorithm that was last used to migrate this index. + * Used for v2->zdt state conversion. + */ + readonly previousAlgorithm: 'zdt' | 'v2'; } /** diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/test_helpers/context.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/test_helpers/context.ts index 4277972b14799..69722cb9652e8 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/test_helpers/context.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/test_helpers/context.ts @@ -31,6 +31,7 @@ export const createMigrationConfigMock = ( algorithm: 'zdt', batchSize: 1000, maxBatchSizeBytes: new ByteSizeValue(1e8), + maxReadBatchSizeBytes: new ByteSizeValue(1e6), pollInterval: 0, scrollDuration: '0s', skip: false, @@ -63,6 +64,7 @@ export const createContextMock = ( typeRegistry, serializer: serializerMock.create(), deletedTypes: ['deleted-type'], + batchSize: 1000, discardCorruptObjects: false, nodeRoles: { migrator: true, ui: false, backgroundTasks: false }, ...parts, diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/test_helpers/document_migrator.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/test_helpers/document_migrator.ts index 8e4167d277d67..3dbe48ab2d4e9 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/test_helpers/document_migrator.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/test_helpers/document_migrator.ts @@ -12,6 +12,5 @@ export const createDocumentMigrator = (): jest.Mocked => { return { migrate: jest.fn().mockImplementation((doc: unknown) => doc), migrateAndConvert: jest.fn().mockImplementation((doc: unknown) => [doc]), - transformDown: jest.fn().mockImplementation((doc: unknown) => doc), }; }; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/test_helpers/state.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/test_helpers/state.ts index 6f1ce7fd1c0c2..0eed35bc10dad 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/test_helpers/state.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/test_helpers/state.ts @@ -19,6 +19,7 @@ export const createPostInitState = (): PostInitState => ({ previousMappings: { properties: {} }, currentIndexMeta: {}, skipDocumentMigration: false, + previousAlgorithm: 'zdt', }); export const createPostDocInitState = (): PostDocInitState => ({ diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/utils/check_index_algorithm.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/utils/check_index_algorithm.test.ts new file mode 100644 index 0000000000000..b453cefe309a1 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/utils/check_index_algorithm.test.ts @@ -0,0 +1,81 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { IndexMapping } from '@kbn/core-saved-objects-base-server-internal'; +import { checkIndexCurrentAlgorithm } from './check_index_algorithm'; + +describe('checkIndexCurrentAlgorithm', () => { + it('returns `unknown` if _meta is not present on the mapping', () => { + const mapping: IndexMapping = { + properties: {}, + }; + + expect(checkIndexCurrentAlgorithm(mapping)).toEqual('unknown'); + }); + + it('returns `unknown` if both v2 and zdt metas are present', () => { + const mapping: IndexMapping = { + properties: {}, + _meta: { + migrationMappingPropertyHashes: { + foo: 'someHash', + }, + docVersions: { + foo: '8.8.0', + }, + }, + }; + + expect(checkIndexCurrentAlgorithm(mapping)).toEqual('unknown'); + }); + + it('returns `zdt` if only zdt metas are present', () => { + const mapping: IndexMapping = { + properties: {}, + _meta: { + docVersions: { + foo: '8.8.0', + }, + mappingVersions: { + foo: '8.8.0', + }, + }, + }; + + expect(checkIndexCurrentAlgorithm(mapping)).toEqual('zdt'); + }); + + it('returns `v2-incompatible` if v2 hashes are present but not indexTypesMap', () => { + const mapping: IndexMapping = { + properties: {}, + _meta: { + migrationMappingPropertyHashes: { + foo: 'someHash', + }, + }, + }; + + expect(checkIndexCurrentAlgorithm(mapping)).toEqual('v2-incompatible'); + }); + + it('returns `v2-compatible` if v2 hashes and indexTypesMap are present', () => { + const mapping: IndexMapping = { + properties: {}, + _meta: { + migrationMappingPropertyHashes: { + foo: 'someHash', + }, + indexTypesMap: { + '.kibana': ['foo'], + }, + }, + }; + + expect(checkIndexCurrentAlgorithm(mapping)).toEqual('v2-compatible'); + }); +}); diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/utils/check_index_algorithm.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/utils/check_index_algorithm.ts new file mode 100644 index 0000000000000..7e06a2a6c06a9 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/utils/check_index_algorithm.ts @@ -0,0 +1,43 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { IndexMapping } from '@kbn/core-saved-objects-base-server-internal'; + +/** + * The list of values returned by `checkIndexCurrentAlgorithm`. + * + * - `zdt` + * - `v2-compatible` + * - `v2-incompatible` + * - `unknown` + */ +export type CheckCurrentAlgorithmResult = 'zdt' | 'v2-compatible' | 'v2-incompatible' | 'unknown'; + +export const checkIndexCurrentAlgorithm = ( + indexMapping: IndexMapping +): CheckCurrentAlgorithmResult => { + const meta = indexMapping._meta; + if (!meta) { + return 'unknown'; + } + + const hasV2Meta = !!meta.migrationMappingPropertyHashes; + const hasZDTMeta = !!meta.docVersions || !!meta.mappingVersions; + + if (hasV2Meta && hasZDTMeta) { + return 'unknown'; + } + if (hasV2Meta) { + const isCompatible = !!meta.indexTypesMap; + return isCompatible ? 'v2-compatible' : 'v2-incompatible'; + } + if (hasZDTMeta) { + return 'zdt'; + } + return 'unknown'; +}; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/utils/get_current_index.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/utils/get_current_index.test.ts index d6db500dca633..d3ff2b4d90e90 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/utils/get_current_index.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/utils/get_current_index.test.ts @@ -7,42 +7,79 @@ */ import { getCurrentIndex } from './get_current_index'; -import type { FetchIndexResponse } from '../../actions'; describe('getCurrentIndex', () => { - const createIndexResponse = (...indexNames: string[]): FetchIndexResponse => { - return indexNames.reduce((resp, indexName) => { - resp[indexName] = { aliases: {}, mappings: { properties: {} }, settings: {} }; - return resp; - }, {}); - }; + it('returns the target of the alias matching the index prefix if present in the list', () => { + expect( + getCurrentIndex({ + indices: ['.kibana_1', '.kibana_2', '.kibana_8.8.0_001'], + indexPrefix: '.kibana', + aliases: { + '.kibana': '.kibana_8.8.0_001', + }, + }) + ).toEqual('.kibana_8.8.0_001'); + }); + + it('ignores the target of the alias matching the index prefix if not present in the list', () => { + expect( + getCurrentIndex({ + indices: ['.kibana_1'], + indexPrefix: '.kibana', + aliases: { + '.kibana': '.foobar_9000', + }, + }) + ).toEqual('.kibana_1'); + }); it('returns the highest numbered index matching the index prefix', () => { - const resp = createIndexResponse('.kibana_1', '.kibana_2'); - expect(getCurrentIndex(resp, '.kibana')).toEqual('.kibana_2'); + expect( + getCurrentIndex({ + indices: ['.kibana_1', '.kibana_2'], + indexPrefix: '.kibana', + aliases: {}, + }) + ).toEqual('.kibana_2'); }); it('ignores other indices', () => { - const resp = createIndexResponse('.kibana_1', '.kibana_2', '.foo_3'); - expect(getCurrentIndex(resp, '.kibana')).toEqual('.kibana_2'); + expect( + getCurrentIndex({ + indices: ['.kibana_1', '.kibana_2', '.foo_3'], + indexPrefix: '.kibana', + aliases: {}, + }) + ).toEqual('.kibana_2'); }); it('ignores other indices including the prefix', () => { - const resp = createIndexResponse('.kibana_1', '.kibana_2', '.kibana_task_manager_3'); - expect(getCurrentIndex(resp, '.kibana')).toEqual('.kibana_2'); + expect( + getCurrentIndex({ + indices: ['.kibana_1', '.kibana_2', '.kibana_task_manager_3'], + indexPrefix: '.kibana', + aliases: {}, + }) + ).toEqual('.kibana_2'); }); it('ignores other indices including a subpart of the prefix', () => { - const resp = createIndexResponse( - '.kibana_3', - '.kibana_task_manager_1', - '.kibana_task_manager_2' - ); - expect(getCurrentIndex(resp, '.kibana_task_manager')).toEqual('.kibana_task_manager_2'); + expect( + getCurrentIndex({ + indices: ['.kibana_3', '.kibana_task_manager_1', '.kibana_task_manager_2'], + indexPrefix: '.kibana_task_manager', + aliases: {}, + }) + ).toEqual('.kibana_task_manager_2'); }); it('returns undefined if no indices match', () => { - const resp = createIndexResponse('.kibana_task_manager_1', '.kibana_task_manager_2'); - expect(getCurrentIndex(resp, '.kibana')).toBeUndefined(); + expect( + getCurrentIndex({ + indices: ['.kibana_task_manager_1', '.kibana_task_manager_2'], + indexPrefix: '.kibana', + aliases: {}, + }) + ).toBeUndefined(); }); }); diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/utils/get_current_index.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/utils/get_current_index.ts index 59eea5c550804..dd0d2c706a4bd 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/utils/get_current_index.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/utils/get_current_index.ts @@ -7,16 +7,26 @@ */ import { escapeRegExp } from 'lodash'; -import type { FetchIndexResponse } from '../../actions'; +import type { Aliases } from '../../model/helpers'; + +export const getCurrentIndex = ({ + indices, + aliases, + indexPrefix, +}: { + indices: string[]; + aliases: Aliases; + indexPrefix: string; +}): string | undefined => { + // if there is already a current alias pointing to an index, we reuse the index. + if (aliases[indexPrefix] && indices.includes(aliases[indexPrefix]!)) { + return aliases[indexPrefix]; + } -export const getCurrentIndex = ( - indices: FetchIndexResponse, - indexPrefix: string -): string | undefined => { const matcher = new RegExp(`^${escapeRegExp(indexPrefix)}[_](?\\d+)$`); let lastCount = -1; - Object.keys(indices).forEach((indexName) => { + indices.forEach((indexName) => { const match = matcher.exec(indexName); if (match && match.groups?.counter) { const suffix = parseInt(match.groups.counter, 10); diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/utils/index.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/utils/index.ts index 76c66a9fc9bd0..b1e68c6947823 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/utils/index.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/utils/index.ts @@ -18,4 +18,9 @@ export { setMetaMappingMigrationComplete, setMetaDocMigrationStarted, setMetaDocMigrationComplete, + removePropertiesFromV2, } from './update_index_meta'; +export { + checkIndexCurrentAlgorithm, + type CheckCurrentAlgorithmResult, +} from './check_index_algorithm'; diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/utils/outdated_documents_query.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/utils/outdated_documents_query.test.ts index 3521f3fb0b36d..3f77b112d136b 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/utils/outdated_documents_query.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/utils/outdated_documents_query.test.ts @@ -52,11 +52,11 @@ describe('getOutdatedDocumentsQuery', () => { "type": "foo", }, }, - ], - "must_not": Array [ Object { - "term": Object { - "typeMigrationVersion": "10.2.0", + "range": Object { + "typeMigrationVersion": Object { + "lt": "10.2.0", + }, }, }, ], @@ -70,11 +70,11 @@ describe('getOutdatedDocumentsQuery', () => { "type": "bar", }, }, - ], - "must_not": Array [ Object { - "term": Object { - "typeMigrationVersion": "10.3.0", + "range": Object { + "typeMigrationVersion": Object { + "lt": "10.3.0", + }, }, }, ], @@ -118,11 +118,11 @@ describe('getOutdatedDocumentsQuery', () => { "type": "foo", }, }, - ], - "must_not": Array [ Object { - "term": Object { - "typeMigrationVersion": "8.5.0", + "range": Object { + "typeMigrationVersion": Object { + "lt": "8.5.0", + }, }, }, ], @@ -136,11 +136,11 @@ describe('getOutdatedDocumentsQuery', () => { "type": "bar", }, }, - ], - "must_not": Array [ Object { - "term": Object { - "typeMigrationVersion": "8.7.2", + "range": Object { + "typeMigrationVersion": Object { + "lt": "8.7.2", + }, }, }, ], @@ -189,11 +189,11 @@ describe('getOutdatedDocumentsQuery', () => { "type": "foo", }, }, - ], - "must_not": Array [ Object { - "term": Object { - "typeMigrationVersion": "10.2.0", + "range": Object { + "typeMigrationVersion": Object { + "lt": "10.2.0", + }, }, }, ], @@ -207,11 +207,11 @@ describe('getOutdatedDocumentsQuery', () => { "type": "bar", }, }, - ], - "must_not": Array [ Object { - "term": Object { - "typeMigrationVersion": "8.7.2", + "range": Object { + "typeMigrationVersion": Object { + "lt": "8.7.2", + }, }, }, ], diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/utils/outdated_documents_query.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/utils/outdated_documents_query.ts index 40495654e6146..f99e6d65f51d1 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/utils/outdated_documents_query.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/utils/outdated_documents_query.ts @@ -27,8 +27,10 @@ export const getOutdatedDocumentsQuery = ({ const virtualVersion = virtualVersions[type.name]; return { bool: { - must: [{ term: { type: type.name } }], - must_not: [{ term: { typeMigrationVersion: virtualVersion } }], + must: [ + { term: { type: type.name } }, + { range: { typeMigrationVersion: { lt: virtualVersion } } }, + ], }, }; }), diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/utils/update_index_meta.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/utils/update_index_meta.test.ts index da9654400bf6f..55d4b552c3b03 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/utils/update_index_meta.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/utils/update_index_meta.test.ts @@ -14,6 +14,7 @@ import { setMetaDocMigrationStarted, setMetaDocMigrationComplete, setMetaMappingMigrationComplete, + removePropertiesFromV2, } from './update_index_meta'; const getDefaultMeta = (): IndexMappingMeta => ({ @@ -80,3 +81,20 @@ describe('setMetaDocMigrationComplete', () => { }); }); }); + +describe('removePropertiesFromV2', () => { + it('removes meta properties used by the v2 algorithm', () => { + const meta: IndexMappingMeta = { + ...getDefaultMeta(), + indexTypesMap: { + '.kibana': ['foo'], + }, + migrationMappingPropertyHashes: { + foo: 'someHash', + }, + }; + + const output = removePropertiesFromV2(meta); + expect(output).toEqual(getDefaultMeta()); + }); +}); diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/utils/update_index_meta.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/utils/update_index_meta.ts index 2d06f5adcb378..e2b0ca750e673 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/utils/update_index_meta.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/zdt/utils/update_index_meta.ts @@ -56,3 +56,10 @@ export const setMetaDocMigrationComplete = ({ }, }; }; + +export const removePropertiesFromV2 = (meta: IndexMappingMeta): IndexMappingMeta => { + const cleaned = { ...meta }; + delete cleaned.indexTypesMap; + delete cleaned.migrationMappingPropertyHashes; + return cleaned; +}; diff --git a/packages/core/saved-objects/core-saved-objects-server-internal/src/apply_type_defaults.test.ts b/packages/core/saved-objects/core-saved-objects-server-internal/src/apply_type_defaults.test.ts new file mode 100644 index 0000000000000..37d61fa37d67c --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-server-internal/src/apply_type_defaults.test.ts @@ -0,0 +1,61 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { SavedObjectsType } from '@kbn/core-saved-objects-server'; +import { globalSwitchToModelVersionAt } from '@kbn/core-saved-objects-base-server-internal'; +import { applyTypeDefaults } from './apply_type_defaults'; + +const createType = (parts: Partial = {}): SavedObjectsType => ({ + name: 'test', + namespaceType: 'single', + hidden: false, + mappings: { properties: {} }, + ...parts, +}); + +describe('applyTypeDefaults', () => { + describe('switchToModelVersionAt', () => { + it(`keeps the type's switchToModelVersionAt if lesser than the global version`, () => { + const type = createType({ + switchToModelVersionAt: '8.4.0', + }); + + const result = applyTypeDefaults(type); + expect(result.switchToModelVersionAt).toEqual('8.4.0'); + }); + + it(`sets switchToModelVersionAt to the global version if unspecified`, () => { + const type = createType({ + switchToModelVersionAt: undefined, + }); + + const result = applyTypeDefaults(type); + expect(result.switchToModelVersionAt).toEqual(globalSwitchToModelVersionAt); + }); + + it(`throws if switchToModelVersionAt is invalid`, () => { + const type = createType({ + switchToModelVersionAt: 'foobar', + }); + + expect(() => applyTypeDefaults(type)).toThrowErrorMatchingInlineSnapshot( + `"Type test: invalid switchToModelVersionAt provided: foobar"` + ); + }); + + it(`throws if type version is greater than the global version`, () => { + const type = createType({ + switchToModelVersionAt: '9.2.0', + }); + + expect(() => applyTypeDefaults(type)).toThrowErrorMatchingInlineSnapshot( + `"Type test: provided switchToModelVersionAt (9.2.0) is higher than maximum (8.10.0)"` + ); + }); + }); +}); diff --git a/packages/core/saved-objects/core-saved-objects-server-internal/src/apply_type_defaults.ts b/packages/core/saved-objects/core-saved-objects-server-internal/src/apply_type_defaults.ts new file mode 100644 index 0000000000000..7585fe4ccbd7d --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-server-internal/src/apply_type_defaults.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 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 Semver from 'semver'; +import type { SavedObjectsType } from '@kbn/core-saved-objects-server'; +import { globalSwitchToModelVersionAt } from '@kbn/core-saved-objects-base-server-internal'; + +/** + * Apply global defaults to the provided SO type. + */ +export const applyTypeDefaults = (type: SavedObjectsType): SavedObjectsType => { + let switchToModelVersionAt = type.switchToModelVersionAt; + if (switchToModelVersionAt) { + if (!Semver.valid(switchToModelVersionAt)) { + throw new Error( + `Type ${type.name}: invalid switchToModelVersionAt provided: ${switchToModelVersionAt}` + ); + } + if (Semver.gt(switchToModelVersionAt, globalSwitchToModelVersionAt)) { + throw new Error( + `Type ${type.name}: provided switchToModelVersionAt (${switchToModelVersionAt}) is higher than maximum (${globalSwitchToModelVersionAt})` + ); + } + } else { + switchToModelVersionAt = globalSwitchToModelVersionAt; + } + + return { + ...type, + switchToModelVersionAt, + }; +}; diff --git a/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.test.mocks.ts b/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.test.mocks.ts index 54090e9fb1b18..f1c3fbe9e5f49 100644 --- a/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.test.mocks.ts +++ b/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.test.mocks.ts @@ -50,3 +50,12 @@ export const registerRoutesMock = jest.fn(); jest.doMock('./routes', () => ({ registerRoutes: registerRoutesMock, })); + +export const applyTypeDefaultsMock = jest.fn(); +jest.doMock('./apply_type_defaults', () => { + const actual = jest.requireActual('./apply_type_defaults'); + return { + ...actual, + applyTypeDefaults: applyTypeDefaultsMock, + }; +}); diff --git a/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.test.ts b/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.test.ts index 72e36826bb89e..4369a85184262 100644 --- a/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.test.ts +++ b/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.test.ts @@ -16,6 +16,7 @@ import { migratorInstanceMock, registerRoutesMock, typeRegistryInstanceMock, + applyTypeDefaultsMock, } from './saved_objects_service.test.mocks'; import { BehaviorSubject, firstValueFrom } from 'rxjs'; import { skip } from 'rxjs/operators'; @@ -69,6 +70,7 @@ describe('SavedObjectsService', () => { beforeEach(() => { deprecationsSetup = createDeprecationRegistryProviderMock(); + applyTypeDefaultsMock.mockReset().mockImplementation((type: unknown) => type); }); const createCoreContext = ({ @@ -330,22 +332,50 @@ describe('SavedObjectsService', () => { }); describe('#registerType', () => { - it('registers the type to the internal typeRegistry', async () => { + it('calls `applyTypeDefaults` with the correct parameters', async () => { // we mocked registerCoreObjectTypes above, so this test case only reflects direct calls to the registerType method const coreContext = createCoreContext(); const soService = new SavedObjectsService(coreContext); const setup = await soService.setup(createSetupDeps()); - const type = { + const inputType = { name: 'someType', hidden: false, namespaceType: 'single' as 'single', mappings: { properties: {} }, }; - setup.registerType(type); + + applyTypeDefaultsMock.mockReturnValue(inputType); + + setup.registerType(inputType); + + expect(applyTypeDefaultsMock).toHaveBeenCalledTimes(1); + expect(applyTypeDefaultsMock).toHaveBeenCalledWith(inputType); + }); + + it('registers the type returned by `applyTypeDefaults` to the internal typeRegistry', async () => { + // we mocked registerCoreObjectTypes above, so this test case only reflects direct calls to the registerType method + const coreContext = createCoreContext(); + const soService = new SavedObjectsService(coreContext); + const setup = await soService.setup(createSetupDeps()); + + const inputType = { + name: 'someType', + hidden: false, + namespaceType: 'single' as 'single', + mappings: { properties: {} }, + }; + const returnedType = { + ...inputType, + switchToModelVersionAt: '9.9.9', + }; + + applyTypeDefaultsMock.mockReturnValue(returnedType); + + setup.registerType(inputType); expect(typeRegistryInstanceMock.registerType).toHaveBeenCalledTimes(1); - expect(typeRegistryInstanceMock.registerType).toHaveBeenCalledWith(type); + expect(typeRegistryInstanceMock.registerType).toHaveBeenCalledWith(returnedType); }); }); diff --git a/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.ts b/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.ts index 1ea6f6b038463..51f7f29e9683a 100644 --- a/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.ts +++ b/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.ts @@ -38,6 +38,7 @@ import { type SavedObjectsConfigType, type SavedObjectsMigrationConfigType, type IKibanaMigrator, + DEFAULT_INDEX_TYPES_MAP, } from '@kbn/core-saved-objects-base-server-internal'; import { SavedObjectsClient, @@ -57,6 +58,7 @@ import { registerRoutes } from './routes'; import { calculateStatus$ } from './status'; import { registerCoreObjectTypes } from './object_types'; import { getSavedObjectsDeprecationsProvider } from './deprecations'; +import { applyTypeDefaults } from './apply_type_defaults'; /** * @internal @@ -194,7 +196,7 @@ export class SavedObjectsService if (this.started) { throw new Error('cannot call `registerType` after service startup.'); } - this.typeRegistry.registerType(type); + this.typeRegistry.registerType(applyTypeDefaults(type)); }, getTypeRegistry: () => this.typeRegistry, getDefaultIndex: () => MAIN_SAVED_OBJECT_INDEX, @@ -375,6 +377,7 @@ export class SavedObjectsService kibanaVersion: this.kibanaVersion, soMigrationsConfig, kibanaIndex: MAIN_SAVED_OBJECT_INDEX, + defaultIndexTypesMap: DEFAULT_INDEX_TYPES_MAP, client, docLinks, waitForMigrationCompletion, diff --git a/packages/core/saved-objects/core-saved-objects-server/README.md b/packages/core/saved-objects/core-saved-objects-server/README.md index 137049da17771..ebe3fa24851ee 100644 --- a/packages/core/saved-objects/core-saved-objects-server/README.md +++ b/packages/core/saved-objects/core-saved-objects-server/README.md @@ -2,4 +2,6 @@ This package contains the public types for Core server-side savedObjects service and contracts. -Note: the types related to the savedObjects client and repository APIs can be found in the `@kbn/core-saved-objects-api-server` package. \ No newline at end of file +Note: the types related to the savedObjects client and repository APIs can be found in the `@kbn/core-saved-objects-api-server` package. + +Documentation about model versions is available [in the doc folder](./docs/model_versions.md) \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-server/docs/assets/mv_img_1.png b/packages/core/saved-objects/core-saved-objects-server/docs/assets/mv_img_1.png new file mode 100644 index 0000000000000..5e586856ebb38 Binary files /dev/null and b/packages/core/saved-objects/core-saved-objects-server/docs/assets/mv_img_1.png differ diff --git a/packages/core/saved-objects/core-saved-objects-server/docs/model_versions.md b/packages/core/saved-objects/core-saved-objects-server/docs/model_versions.md new file mode 100644 index 0000000000000..f595690e6aef3 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-server/docs/model_versions.md @@ -0,0 +1,612 @@ +# savedObjects: Model Version API + +## Introduction + +The modelVersion API is a new way to define transformations (*"migrations"*) for your savedObject types, and will +replace the "old" migration API after Kibana version `8.10.0` (where it will no longer be possible to register +migrations using the old system). + +The main purpose of this API is to address two problems of the old migration system regarding managed ("serverless") deployments: +- savedObjects model versioning is coupled to the stack versioning (migrations are registered per stack version) +- migration functions are not safe in regard to our BWC and ZDT requirements (Kibana N and N+1 running at the same time during upgrade) + +This API also intend to address minor DX issues of the old migration system, by having a more explicit definition of saved Objects "versions". + +## What are model versions trying to solve? + +As explained in the previous section, the API is solving issues of the previous migration system regarding managed deployments: + +### 1. SO type versioning was tightly coupled to stack versioning + +With the previous migration system, migrations were defined per stack version, meaning that the "granularity" for defining +migrations was the stack version. You couldn't for example, add 2 consecutive migrations on `8.6.0` (to be executed at different points in time). + +It was fine for on-prem distributions, given there is no way to upgrade Kibana to something else than a "fixed" stack version. + +For our managed offering however, where we're planning on decoupling deployments and upgrades from stack versions +(deploying more often, so more than once per stack release), it would have been an issue, as it wouldn't have been possible +to add a new migration in-between 2 stack versions. + +multiple migration per stack version schema + +We needed a way to decouple SO versioning from the stack versioning to support this, and model versions do by design. + +### 2. The current migrations API is unsafe for the zero-downtime and backward-compatible requirements + +On traditional deployments (on-prem/non-managed cloud), upgrading Kibana is done with downtime. +The upgrade process requires shutting down all the nodes of the prior version before deploying the new one. +That way, there is always a single version of Kibana running at a given time, which avoids all risks of data incompatibility +between version (e.g the new version introduces a migration that changes the shape of the document in a way that breaks compatibility +with the previous version) + +For serverless however, the same process can't be used, as we need to be able to upgrade Kibana without interruption of service. +Which means that the old and new version of Kibana will have to cohabitate for a time. + +This leads to a lot of constraints regarding what can, or cannot, be done with data transformations (migrations) during an upgrade. +And, unsurprisingly, the existing migration API (which allows to register any kind of *(doc) => doc* transformations) was way too permissive and +unsafe given our backward compatibility requirements. + +## Defining model versions + +As for old migrations, model versions are bound to a given [savedObject type](https://github.com/elastic/kibana/blob/9b330e493216e8dde3166451e4714966f63f5ab7/packages/core/saved-objects/core-saved-objects-server/src/saved_objects_type.ts#L22-L27) + +When registering a SO type, a new [modelVersions](https://github.com/elastic/kibana/blob/9a6a2ccdff619f827b31c40dd9ed30cb27203da7/packages/core/saved-objects/core-saved-objects-server/src/saved_objects_type.ts#L138-L177) +property is available. This attribute is a map of [SavedObjectsModelVersion](https://github.com/elastic/kibana/blob/9a6a2ccdff619f827b31c40dd9ed30cb27203da7/packages/core/saved-objects/core-saved-objects-server/src/model_version/model_version.ts#L12-L20) +which is the top-level type/container to define model versions. + +This map follows a similar `{ [version number] => version definition }` format as the old migration map, however +a given SO type's model version is now identified by a single integer. + +The first version must be numbered as version 1, incrementing by one for each new version. + +That way: +- SO type versions are decoupled from stack versioning +- SO type versions are independent between types + +*a **valid** version numbering:* +```ts +const myType: SavedObjectsType = { + name: 'test', + switchToModelVersionAt: '8.10.0', + modelVersions: { + 1: modelVersion1, // valid: start with version 1 + 2: modelVersion2, // valid: no gap between versions + }, + // ...other mandatory properties +}; +``` + +*an **invalid** version numbering:* +```ts +const myType: SavedObjectsType = { + name: 'test', + switchToModelVersionAt: '8.10.0', + modelVersions: { + 2: modelVersion2, // invalid: first version must be 1 + 4: modelVersion3, // invalid: skipped version 3 + }, + // ...other mandatory properties +}; +``` + +## Structure of a model version + +[Model versions](https://github.com/elastic/kibana/blob/9b330e493216e8dde3166451e4714966f63f5ab7/packages/core/saved-objects/core-saved-objects-server/src/model_version/model_version.ts#L12-L20) +are not just functions as the previous migrations were, but structured objects describing how the version behaves and what changed since the last one. + +*A base example of what a model version can look like:* + +```ts +const myType: SavedObjectsType = { + name: 'test', + switchToModelVersionAt: '8.10.0', + modelVersions: { + 1: { + changes: [ + { + type: 'mappings_addition', + addedMappings: { + someNewField: { type: 'text' }, + }, + }, + { + type: 'data_backfill', + transform: someBackfillFunction, + }, + ], + schemas: { + forwardCompatibility: fcSchema, + create: createSchema, + }, + }, + }, + // ...other mandatory properties +}; +``` + +**Note:** Having multiple changes of the same type for a given version is supported by design + to allow merging different sources (to prepare for an eventual higher-level API) + +*This definition would be perfectly valid:* + +```ts +const version1: SavedObjectsModelVersion = { + changes: [ + { + type: 'mappings_addition', + addedMappings: { + someNewField: { type: 'text' }, + }, + }, + { + type: 'mappings_addition', + addedMappings: { + anotherNewField: { type: 'text' }, + }, + }, + ], +}; +``` + + +It's currently composed of two main properties: + +### changes + +[link to the TS doc for `changes`](https://github.com/elastic/kibana/blob/9b330e493216e8dde3166451e4714966f63f5ab7/packages/core/saved-objects/core-saved-objects-server/src/model_version/model_version.ts#L21-L51) + +Describes the list of changes applied during this version. + +**Important:** This is the part that replaces the old migration system, and allows defining when a version adds new mapping, +mutates the documents, or other type-related changes. + +The current types of changes are: + +#### - mappings_addition + +Used to define new mappings introduced in a given version. + +*Usage example:* + +```ts +const change: SavedObjectsModelMappingsAdditionChange = { + type: 'mappings_addition', + addedMappings: { + newField: { type: 'text' }, + existingNestedField: { + properties: { + newNestedProp: { type: 'keyword' }, + }, + }, + }, +}; +``` + +**note:** *When adding mappings, the root `type.mappings` must also be updated accordingly (as it was done previously).* + +#### - mappings_deprecation + +Used to flag mappings as no longer being used and ready to be removed. + +*Usage example:* + +```ts +let change: SavedObjectsModelMappingsDeprecationChange = { + type: 'mappings_deprecation', + deprecatedMappings: ['someDeprecatedField', 'someNested.deprecatedField'], +}; +``` + +**note:** *It is currently not possible to remove fields from an existing index's mapping (without reindexing into another index), + so the mappings flagged with this change type won't be deleted for now, but this should still be used to allow + our system to clean the mappings once upstream (ES) unblock us.* + +#### - data_backfill + +Used to populate fields (indexed or not) added in the same version + +*Usage example:* + +```ts +let change: SavedObjectsModelDataBackfillChange = { + type: 'data_backfill', + transform: (document) => { + document.attributes.someAddedField = 'defaultValue'; + return { document }; + }, +}; +``` + +**note:** *Even if no check is performed to ensure it, this type of model change should only be used to + backfill newly introduced fields.* + +### schemas + +[link to the TS doc for `schemas`](https://github.com/elastic/kibana/blob/9b330e493216e8dde3166451e4714966f63f5ab7/packages/core/saved-objects/core-saved-objects-server/src/model_version/schemas.ts#L11-L16) + +The schemas associated with this version. Schemas are used to validate or convert SO documents at various +stages of their lifecycle. + +The currently available schemas are: + +#### forwardCompatibility + +This is a new concept introduced by model versions. This schema is used for inter-version compatibility. + +When retrieving a savedObject document from an index, if the version of the document is higher than the latest version +known of the Kibana instance, the document will go through the `forwardCompatibility` schema of the associated model version. + +**Important:** These conversion mechanism shouldn't assert the data itself, and only strip unknown fields to convert the document to +the **shape** of the document at the given version. + +Basically, this schema should keep all the known fields of a given version, and remove all the unknown fields, without throwing. + +Forward compatibility schema can be implemented in two different ways. + +1. Using `config-schema` + +*Example of schema for a version having two fields: someField and anotherField* + +```ts +const versionSchema = schema.object( + { + someField: schema.maybe(schema.string()), + anotherField: schema.maybe(schema.string()), + }, + { unknowns: 'ignore' } +); +``` + +**Important:** Note the `{ unknowns: 'ignore' }` in the schema's options. This is required when using +`config-schema` based schemas, as this what will evict the additional fields without throwing an error. + +2. Using a plain javascript function + +*Example of schema for a version having two fields: someField and anotherField* + +```ts +const versionSchema: SavedObjectModelVersionEvictionFn = (attributes) => { + const knownFields = ['someField', 'anotherField']; + return pick(attributes, knownFields); +} +``` + +**note:** *Even if highly recommended, implementing this schema is not strictly required. Type owners can manage unknown fields + and inter-version compatibility themselves in their service layer instead.* + +#### create + +This is a direct replacement for [the old SavedObjectType.schemas](https://github.com/elastic/kibana/blob/9b330e493216e8dde3166451e4714966f63f5ab7/packages/core/saved-objects/core-saved-objects-server/src/saved_objects_type.ts#L75-L82) +definition, now directly included in the model version definition. + +As a refresher the `create` schema is a `@kbn/config-schema` object-type schema, and is used to validate the properties of the document +during `create` and `bulkCreate` operations. + +**note:** *Implementing this schema is optional, but still recommended, as otherwise there will be no validating when + importing objects* + +## Use-case examples + +These are example of the migration scenario currently supported (out of the box) by the system. + +**note:** *more complex scenarios (e.g field mutation by copy/sync) could already be implemented, but without + the proper tooling exposed from Core, most of the work related to sync and compatibility would have to be + implemented in the domain layer of the type owners, which is why we're not documenting them yet.* + +### Adding a non-indexed field without default value + +We are currently in model version 1, and our type has 2 indexed fields defined: `foo` and `bar`. + +The definition of the type at version 1 would look like: + +```ts +const myType: SavedObjectsType = { + name: 'test', + namespaceType: 'single', + switchToModelVersionAt: '8.10.0', + modelVersions: { + // initial (and current) model version + 1: { + changes: [], + schemas: { + // FC schema defining the known fields (indexed or not) for this version + forwardCompatibility: schema.object( + { foo: schema.string(), bar: schema.string() }, + { unknowns: 'ignore' } // note the `unknown: ignore` which is how we're evicting the unknown fields + ), + // schema that will be used to validate input during `create` and `bulkCreate` + create: schema.object( + { foo: schema.string(), bar: schema.string() }, + ) + }, + }, + }, + mappings: { + properties: { + foo: { type: 'text' }, + bar: { type: 'text' }, + }, + }, +}; +``` + +From here, say we want to introduce a new `dolly` field that is not indexed, and that we don't need to populate with a default value. + +To achieve that, we need to introduce a new model version, with the only thing to do will be to define the +associated schemas to include this new field. + +The added model version would look like: + +```ts +// the new model version adding the `dolly` field +let modelVersion2: SavedObjectsModelVersion = { + // not an indexed field, no data backfill, so changes are actually empty + changes: [], + schemas: { + // the only addition in this model version: taking the new field into account for the schemas + forwardCompatibility: schema.object( + { foo: schema.string(), bar: schema.string(), dolly: schema.string() }, + { unknowns: 'ignore' } // note the `unknown: ignore` which is how we're evicting the unknown fields + ), + create: schema.object( + { foo: schema.string(), bar: schema.string(), dolly: schema.string() }, + ) + }, +}; +``` + +The full type definition after the addition of the new model version: + +```ts +const myType: SavedObjectsType = { + name: 'test', + namespaceType: 'single', + switchToModelVersionAt: '8.10.0', + modelVersions: { + 1: { + changes: [], + schemas: { + forwardCompatibility: schema.object( + { foo: schema.string(), bar: schema.string() }, + { unknowns: 'ignore' } + ), + create: schema.object( + { foo: schema.string(), bar: schema.string() }, + ) + }, + }, + 2: { + changes: [], + schemas: { + forwardCompatibility: schema.object( + { foo: schema.string(), bar: schema.string(), dolly: schema.string() }, + { unknowns: 'ignore' } + ), + create: schema.object( + { foo: schema.string(), bar: schema.string(), dolly: schema.string() }, + ) + }, + }, + }, + mappings: { + properties: { + foo: { type: 'text' }, + bar: { type: 'text' }, + }, + }, +}; +``` + +### Adding an indexed field without default value + +This scenario is fairly close to the previous one. The difference being that working with an indexed field means +adding a `mappings_addition` change and to also update the root mappings accordingly. + +To reuse the previous example, let's say the `dolly` field we want to add would need to be indexed instead. + +In that case, the new version needs to do the following: +- add a `mappings_addition` type change to define the new mappings +- update the root `mappings` accordingly +- add the updated schemas as we did for the previous example + +The new version definition would look like: + +```ts +let modelVersion2: SavedObjectsModelVersion = { + // add a change defining the mapping for the new field + changes: [ + { + type: 'mappings_addition', + addedMappings: { + dolly: { type: 'text' }, + }, + }, + ], + schemas: { + // adding the new field to the forwardCompatibility schema + forwardCompatibility: schema.object( + { foo: schema.string(), bar: schema.string(), dolly: schema.string() }, + { unknowns: 'ignore' } + ), + create: schema.object( + { foo: schema.string(), bar: schema.string(), dolly: schema.string() }, + ) + }, +}; +``` + +As said, we will also need to update the root mappings definition: + +```ts +mappings: { + properties: { + foo: { type: 'text' }, + bar: { type: 'text' }, + dolly: { type: 'text' }, + }, +}, +``` + +the full type definition after the addition of the model version 2 would be: + +```ts +const myType: SavedObjectsType = { + name: 'test', + namespaceType: 'single', + switchToModelVersionAt: '8.10.0', + modelVersions: { + 1: { + changes: [ + { + type: 'mappings_addition', + addedMappings: { + foo: { type: 'text' }, + bar: { type: 'text' }, + }, + }, + ], + schemas: { + forwardCompatibility: schema.object( + { foo: schema.string(), bar: schema.string() }, + { unknowns: 'ignore' } + ), + create: schema.object( + { foo: schema.string(), bar: schema.string() }, + ) + }, + }, + 2: { + changes: [ + { + type: 'mappings_addition', + addedMappings: { + dolly: { type: 'text' }, + }, + }, + ], + schemas: { + forwardCompatibility: schema.object( + { foo: schema.string(), bar: schema.string(), dolly: schema.string() }, + { unknowns: 'ignore' } + ), + create: schema.object( + { foo: schema.string(), bar: schema.string(), dolly: schema.string() }, + ) + }, + }, + }, + mappings: { + properties: { + foo: { type: 'text' }, + bar: { type: 'text' }, + dolly: { type: 'text' }, + }, + }, +}; +``` + +### Adding an indexed field with a default value + +Now a slightly different scenario where we'd like to populate the newly introduced field with a default value. + +In that case, we'd need to add an additional `data_backfill` change to populate the new field's value +(in addition to the `mappings_addition` one): + +```ts +let modelVersion2: SavedObjectsModelVersion = { + changes: [ + // setting the `dolly` field's default value. + { + type: 'data_backfill', + transform: (document) => { + document.attributes.dolly = 'default_value'; + return { document }; + }, + }, + // define the mappings for the new field + { + type: 'mappings_addition', + addedMappings: { + dolly: { type: 'text' }, + }, + }, + ], + schemas: { + // define `dolly` as an know field in the schema + forwardCompatibility: schema.object( + { foo: schema.string(), bar: schema.string(), dolly: schema.string() }, + { unknowns: 'ignore' } + ), + create: schema.object( + { foo: schema.string(), bar: schema.string(), dolly: schema.string() }, + ) + }, +}; +``` + +The full type definition would look like: + +```ts +const myType: SavedObjectsType = { + name: 'test', + namespaceType: 'single', + switchToModelVersionAt: '8.10.0', + modelVersions: { + 1: { + changes: [ + { + type: 'mappings_addition', + addedMappings: { + foo: { type: 'text' }, + bar: { type: 'text' }, + }, + }, + ], + schemas: { + forwardCompatibility: schema.object( + { foo: schema.string(), bar: schema.string() }, + { unknowns: 'ignore' } + ), + create: schema.object( + { foo: schema.string(), bar: schema.string() }, + ) + }, + }, + 2: { + changes: [ + { + type: 'data_backfill', + transform: (document) => { + document.attributes.dolly = 'default_value'; + return { document }; + }, + }, + { + type: 'mappings_addition', + addedMappings: { + dolly: { type: 'text' }, + }, + }, + ], + schemas: { + forwardCompatibility: schema.object( + { foo: schema.string(), bar: schema.string(), dolly: schema.string() }, + { unknowns: 'ignore' } + ), + create: schema.object( + { foo: schema.string(), bar: schema.string(), dolly: schema.string() }, + ) + }, + }, + }, + mappings: { + properties: { + foo: { type: 'text' }, + bar: { type: 'text' }, + dolly: { type: 'text' }, + }, + }, +}; +``` + +**Note:** *if the field was non-indexed, we would just not use the `mappings_addition` change or update the mappings (as done in example 1)* \ No newline at end of file diff --git a/packages/core/saved-objects/core-saved-objects-server/index.ts b/packages/core/saved-objects/core-saved-objects-server/index.ts index c5aeb1db55db6..53d01003357c1 100644 --- a/packages/core/saved-objects/core-saved-objects-server/index.ts +++ b/packages/core/saved-objects/core-saved-objects-server/index.ts @@ -41,8 +41,10 @@ export type { SavedObjectsMappingProperties, } from './src/mapping_definition'; export type { + SavedObjectMigration, SavedObjectMigrationMap, SavedObjectMigrationContext, + SavedObjectMigrationParams, SavedObjectsMigrationLogger, SavedObjectMigrationFn, } from './src/migration'; @@ -133,7 +135,9 @@ export type { SavedObjectModelTransformationResult, SavedObjectModelDataBackfillFn, SavedObjectsModelVersionSchemaDefinitions, - SavedObjectModelVersionCreateSchema, + SavedObjectModelVersionForwardCompatibilityFn, + SavedObjectModelVersionForwardCompatibilityObjectSchema, + SavedObjectModelVersionForwardCompatibilitySchema, } from './src/model_version'; // We re-export the SavedObject types here for convenience. diff --git a/packages/core/saved-objects/core-saved-objects-server/src/migration.ts b/packages/core/saved-objects/core-saved-objects-server/src/migration.ts index 9273009241e04..6bf0093ea3317 100644 --- a/packages/core/saved-objects/core-saved-objects-server/src/migration.ts +++ b/packages/core/saved-objects/core-saved-objects-server/src/migration.ts @@ -47,6 +47,33 @@ export type SavedObjectMigrationFn SavedObjectUnsanitizedDoc; +/** + * Saved Objects migration with parameters. + * @public + */ +export interface SavedObjectMigrationParams< + InputAttributes = unknown, + MigratedAttributes = unknown +> { + /** + * A flag that can defer the migration until either an object is accessed (read) or if there is another non-deferred migration with a higher version. + * @default false + */ + deferred?: false; + + /** {@inheritDoc SavedObjectMigrationFn} */ + transform: SavedObjectMigrationFn; +} + +/** + * Saved Objects migration. + * It can be either a {@link SavedObjectMigrationFn | migration function} or a {@link SavedObjectMigrationParams | migration object}. + * @public + */ +export type SavedObjectMigration = + | SavedObjectMigrationFn + | SavedObjectMigrationParams; + /** @public */ export interface SavedObjectsMigrationLogger { debug: (msg: string) => void; @@ -81,7 +108,7 @@ export interface SavedObjectMigrationContext { } /** - * A map of {@link SavedObjectMigrationFn | migration functions} to be used for a given type. + * A map of {@link SavedObjectMigration | migrations} to be used for a given type. * The map's keys must be valid semver versions, and they cannot exceed the current Kibana version. * * For a given document, only migrations with a higher version number than that of the document will be applied. @@ -98,5 +125,5 @@ export interface SavedObjectMigrationContext { * @public */ export interface SavedObjectMigrationMap { - [version: string]: SavedObjectMigrationFn; + [version: string]: SavedObjectMigration; } diff --git a/packages/core/saved-objects/core-saved-objects-server/src/model_version/index.ts b/packages/core/saved-objects/core-saved-objects-server/src/model_version/index.ts index e86c006990b4d..ec864bf158ca1 100644 --- a/packages/core/saved-objects/core-saved-objects-server/src/model_version/index.ts +++ b/packages/core/saved-objects/core-saved-objects-server/src/model_version/index.ts @@ -30,5 +30,7 @@ export type { export type { SavedObjectsModelVersionSchemaDefinitions, - SavedObjectModelVersionCreateSchema, + SavedObjectModelVersionForwardCompatibilitySchema, + SavedObjectModelVersionForwardCompatibilityObjectSchema, + SavedObjectModelVersionForwardCompatibilityFn, } from './schemas'; diff --git a/packages/core/saved-objects/core-saved-objects-server/src/model_version/model_change.ts b/packages/core/saved-objects/core-saved-objects-server/src/model_version/model_change.ts index fb18ac9035b86..e6dac10839e00 100644 --- a/packages/core/saved-objects/core-saved-objects-server/src/model_version/model_change.ts +++ b/packages/core/saved-objects/core-saved-objects-server/src/model_version/model_change.ts @@ -27,6 +27,21 @@ export type SavedObjectsModelChange = /** * A {@link SavedObjectsModelChange | model change} adding new mappings. * + * @example + * ```ts + * let change: SavedObjectsModelMappingsAdditionChange = { + * type: 'mappings_addition', + * addedMappings: { + * newField: { type: 'text' }, + * existingNestedField: { + * properties: { + * newNestedProp: { type: 'keyword' }, + * }, + * }, + * }, + * }; + * ``` + * * @remark when adding mappings, {@link SavedObjectsType.mappings | the type mappings} must also be updated accordingly. * Overall, the type's mapping represents the latest version of the mappings, where the model changes * represent the changes of mappings between two versions. @@ -42,8 +57,17 @@ export interface SavedObjectsModelMappingsAdditionChange { } /** - * A {@link SavedObjectsModelChange | model change} flagging mappings as being deprecated. - * Deprecated mappings should no longer be used and will eventually be deleted later. + * A {@link SavedObjectsModelChange | model change} flagging mappings as being no longer used. + * + * @example + * ```ts + * let change: SavedObjectsModelMappingsDeprecationChange = { + * type: 'mappings_deprecation', + * deprecatedMappings: ['someDeprecatedField', 'someNested.deprecatedField'], + * }; + * ``` + * + * @remark Deprecated mappings will eventually be deleted later. */ export interface SavedObjectsModelMappingsDeprecationChange { type: 'mappings_deprecation'; @@ -56,6 +80,17 @@ export interface SavedObjectsModelMappingsDeprecationChange { /** * A {@link SavedObjectsModelChange | model change} used to backfill fields introduced in the same model version. * + * @example + * ```ts + * let change: SavedObjectsModelDataBackfillChange = { + * type: 'data_backfill', + * transform: (document) => { + * document.attributes.someAddedField = 'defaultValue'; + * return { document }; + * }, + * }; + * ``` + * * @remark This type of model change should only be used to backfill newly introduced fields. * Even if no check is performed to ensure that, using such transformations to mutate * existing data of the document can lead to data corruption or inconsistency. diff --git a/packages/core/saved-objects/core-saved-objects-server/src/model_version/model_version.ts b/packages/core/saved-objects/core-saved-objects-server/src/model_version/model_version.ts index 87bb2de4b8384..03189ae4ecfe9 100644 --- a/packages/core/saved-objects/core-saved-objects-server/src/model_version/model_version.ts +++ b/packages/core/saved-objects/core-saved-objects-server/src/model_version/model_version.ts @@ -19,13 +19,62 @@ import type { SavedObjectsModelChange } from './model_change'; */ export interface SavedObjectsModelVersion { /** - * The list of {@link SavedObjectsModelChange | changes} associated with this version. + * The list of changes associated with this version. + * + * Model version changes are defined via low-level components, allowing to use composition + * to describe the list of changes bound to a given version. + * + * @remark Having multiple changes of the same type in a version's list of change is supported + * by design to allow merging different sources. + * + * @example Adding a new indexed field with a default value + * ```ts + * const version1: SavedObjectsModelVersion = { + * changes: [ + * { + * type: 'mappings_addition', + * addedMappings: { + * someNewField: { type: 'text' }, + * }, + * }, + * { + * type: 'data_backfill', + * transform: (doc) => { + * doc.attributes.someNewField = 'some default value'; + * return { document: doc }; + * }, + * }, + * ], + * }; + * ``` + * + * @example A version with multiple mappings addition coming from different changes + * ```ts + * const version1: SavedObjectsModelVersion = { + * changes: [ + * { + * type: 'mappings_addition', + * addedMappings: { + * someNewField: { type: 'text' }, + * }, + * }, + * { + * type: 'mappings_addition', + * addedMappings: { + * anotherNewField: { type: 'text' }, + * }, + * }, + * ], + * }; + * ``` + * + * See {@link SavedObjectsModelChange | changes} for more information and examples. */ changes: SavedObjectsModelChange[]; /** - * The {@link SavedObjectsModelVersionSchemaDefinitions} associated with this version. + * The {@link SavedObjectsModelVersionSchemaDefinitions | schemas} associated with this version. * - * @remark Currently unimplemented and unused. + * Schemas are used to validate / convert the shape and/or content of the documents at various stages of their usages. */ schemas?: SavedObjectsModelVersionSchemaDefinitions; } @@ -37,9 +86,9 @@ export interface SavedObjectsModelVersion { * @example * ```typescript * const modelVersionMap: SavedObjectsModelVersionMap = { - * '1': modelVersion1, - * '2': modelVersion2, - * '3': modelVersion3, + * 1: modelVersion1, + * 2: modelVersion2, + * 3: modelVersion3, * } * ``` * diff --git a/packages/core/saved-objects/core-saved-objects-server/src/model_version/schemas.ts b/packages/core/saved-objects/core-saved-objects-server/src/model_version/schemas.ts index a6528591600e5..61bb3c342d9d6 100644 --- a/packages/core/saved-objects/core-saved-objects-server/src/model_version/schemas.ts +++ b/packages/core/saved-objects/core-saved-objects-server/src/model_version/schemas.ts @@ -7,19 +7,103 @@ */ import type { ObjectType } from '@kbn/config-schema'; +import type { SavedObjectsValidationSpec } from '../validation'; /** + * The validation and conversion schemas associated with this model version. + * * @public - * @remark Currently unimplemented and unused. */ -export type SavedObjectModelVersionCreateSchema = ObjectType; +export interface SavedObjectsModelVersionSchemaDefinitions { + /** + * The schema applied when retrieving documents of a higher version from the cluster. + * Used for multi-version compatibility in managed environments. + * + * When retrieving a savedObject document from an index, if the version of the document + * is higher than the latest version known of the Kibana instance, the document will go + * through the `forwardCompatibility` schema of the associated model version. + * + * E.g a Kibana instance with model version `2` for type `foo` types fetches a `foo` document + * at model version `3`. The document will then go through the `forwardCompatibility` + * of the model version 2 (if present). + * + * See {@link SavedObjectModelVersionForwardCompatibilitySchema} for more info. + */ + forwardCompatibility?: SavedObjectModelVersionForwardCompatibilitySchema; + /** + * The schema applied when creating a document of the current version + * Allows for validating properties using @kbn/config-schema validations + */ + create?: SavedObjectsValidationSpec; +} /** - * The schemas associated with this model version. + * Schema used when retrieving a document of a higher version to convert them to the older version. + * + * These schemas can be defined in multiple ways: + * - A `@kbn/config-schema`'s Object schema, that will receive the document's attributes + * - An arbitrary function that will receive the document's attributes as parameter and should return the converted attributes + * + * @remark These conversion mechanism shouldn't assert the data itself, and only strip unknown fields to convert + * the document to the *shape* of the document at the given version. + * + * @example using a function: + * ```ts + * const versionSchema: SavedObjectModelVersionEvictionFn = (attributes) => { + * const knownFields = ['someField', 'anotherField']; + * return pick(attributes, knownFields); + * } + * ``` + * + * @example using config-schema: + * ```ts + * const versionSchema = schema.object( + * { + * someField: schema.maybe(schema.string()), + * anotherField: schema.maybe(schema.string()), + * }, + * { unknowns: 'ignore' } + * ); + * ``` * * @public - * @remark Currently unimplemented and unused. */ -export interface SavedObjectsModelVersionSchemaDefinitions { - create?: SavedObjectModelVersionCreateSchema; -} +export type SavedObjectModelVersionForwardCompatibilitySchema< + InAttrs = unknown, + OutAttrs = unknown +> = + | SavedObjectModelVersionForwardCompatibilityObjectSchema + | SavedObjectModelVersionForwardCompatibilityFn; + +/** + * Object-schema (from `@kbn/config-schema`) alternative for {@link SavedObjectModelVersionForwardCompatibilitySchema} + * + * @example + * ```ts + * const versionSchema = schema.object( + * { + * someField: schema.maybe(schema.string()), + * anotherField: schema.maybe(schema.string()), + * }, + * { unknowns: 'ignore' } + * ); + * ``` + * @public + */ +export type SavedObjectModelVersionForwardCompatibilityObjectSchema = ObjectType; + +/** + * Plain javascript function alternative for {@link SavedObjectModelVersionForwardCompatibilitySchema} + * + * @example + * ```ts + * const versionSchema: SavedObjectModelVersionForwardCompatibilityFn = (attributes) => { + * const knownFields = ['someField', 'anotherField']; + * return pick(attributes, knownFields); + * } + * ``` + * @public + */ +export type SavedObjectModelVersionForwardCompatibilityFn = ( + attributes: InAttrs +) => OutAttrs; diff --git a/packages/core/saved-objects/core-saved-objects-server/src/saved_objects_management.ts b/packages/core/saved-objects/core-saved-objects-server/src/saved_objects_management.ts index 5d72112cbb049..7d8608cd1479b 100644 --- a/packages/core/saved-objects/core-saved-objects-server/src/saved_objects_management.ts +++ b/packages/core/saved-objects/core-saved-objects-server/src/saved_objects_management.ts @@ -56,14 +56,16 @@ export interface SavedObjectsTypeManagementDefinition { * Function returning the url to use to redirect to this object from the management section. * If not defined, redirecting to the object will not be allowed. * - * @returns an object containing a `path` and `uiCapabilitiesPath` properties. the `path` is the path to + * @returns undefined or an object containing a `path` and `uiCapabilitiesPath` properties. the `path` is the path to * the object page, relative to the base path. `uiCapabilitiesPath` is the path to check in the * {@link Capabilities | uiCapabilities} to check if the user has permission to access the object. */ - getInAppUrl?: (savedObject: SavedObject) => { - path: string; - uiCapabilitiesPath: string; - }; + getInAppUrl?: (savedObject: SavedObject) => + | { + path: string; + uiCapabilitiesPath: string; + } + | undefined; /** * An optional export transform function that can be used transform the objects of the registered type during * the export process. diff --git a/packages/core/saved-objects/core-saved-objects-server/src/saved_objects_type.ts b/packages/core/saved-objects/core-saved-objects-server/src/saved_objects_type.ts index b9fa8e6365114..716b31406649c 100644 --- a/packages/core/saved-objects/core-saved-objects-server/src/saved_objects_type.ts +++ b/packages/core/saved-objects/core-saved-objects-server/src/saved_objects_type.ts @@ -20,6 +20,8 @@ import type { } from './model_version'; /** + * Definition of a type of savedObject. + * * @public */ export interface SavedObjectsType { @@ -142,9 +144,9 @@ export interface SavedObjectsType { * Model versioning is decoupled from Kibana versioning, and isolated between types. * Model versions are identified by a single numeric value, starting at `1` and without gaps. * - * Please refer to {@link SavedObjectsModelVersion} for details on the API's usages. + * Please refer to {@link SavedObjectsModelVersion} for more details on the model version API. * - * A **valid** versioning would be: + * @example A **valid** versioning would be: * * ```ts * { @@ -158,7 +160,7 @@ export interface SavedObjectsType { * } * ``` * - * A **invalid** versioning would be: + * @example An **invalid** versioning would be: * * ```ts * { @@ -171,8 +173,6 @@ export interface SavedObjectsType { * } * } * ``` - * - * @alpha experimental and subject to change. */ modelVersions?: SavedObjectsModelVersionMap | SavedObjectsModelVersionMapProvider; @@ -184,9 +184,9 @@ export interface SavedObjectsType { * When specified, the type will switch from using the {@link SavedObjectsType.migrations | legacy migration API} * to use the {@link SavedObjectsType.modelVersions | modelVersion API} after the specified version. * - * When opted in, it will no longer be possible to use the legacy migration API after the specified version. + * Once opted in, it will no longer be possible to use the legacy migration API after the specified version. * - * A **valid** usage example would be: + * @example A **valid** usage example would be: * * ```ts * { @@ -203,7 +203,7 @@ export interface SavedObjectsType { * } * ``` * - * An **invalid** usage example would be: + * @example An **invalid** usage example would be: * * ```ts * { @@ -224,8 +224,8 @@ export interface SavedObjectsType { * Please refer to the {@link SavedObjectsType.modelVersions | modelVersion API} for more documentation on * the new API. * - * @remarks All types will be forced to switch to use the new API in a later version. This switch is - * allowing types owners to switch their types before the milestone. + * @remarks All types will be forced to switch to use the new API during `8.10.0`. This switch is + * allowing types owners to switch their types before the milestone (and for testing purposes). */ switchToModelVersionAt?: string; } diff --git a/packages/core/saved-objects/core-saved-objects-utils-server/index.ts b/packages/core/saved-objects/core-saved-objects-utils-server/index.ts index 102a0a0d38e80..a68d2991460f1 100644 --- a/packages/core/saved-objects/core-saved-objects-utils-server/index.ts +++ b/packages/core/saved-objects/core-saved-objects-utils-server/index.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -export { mergeSavedObjectMigrationMaps } from './src/merge_migration_maps'; +export { mergeSavedObjectMigrations, mergeSavedObjectMigrationMaps } from './src/merge_migrations'; export { SavedObjectsUtils, ALL_NAMESPACES_STRING, diff --git a/packages/core/saved-objects/core-saved-objects-utils-server/src/merge_migration_maps.test.ts b/packages/core/saved-objects/core-saved-objects-utils-server/src/merge_migration_maps.test.ts deleted file mode 100644 index 28b3ebd3735b4..0000000000000 --- a/packages/core/saved-objects/core-saved-objects-utils-server/src/merge_migration_maps.test.ts +++ /dev/null @@ -1,73 +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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import type { - SavedObjectMigrationContext, - SavedObjectMigrationMap, - SavedObjectUnsanitizedDoc, -} from '@kbn/core-saved-objects-server'; -import { mergeSavedObjectMigrationMaps } from './merge_migration_maps'; - -describe('mergeSavedObjectMigrationMaps', () => { - const obj1: SavedObjectMigrationMap = { - '7.12.1': (doc, context) => { - context.log.info(''); - return { - ...doc, - attributes: { ...doc.attributes, counter: doc.attributes.counter + 1 }, - }; - }, - '7.12.2': (doc, context) => { - context.log.info(''); - return { - ...doc, - attributes: { ...doc.attributes, counter: doc.attributes.counter + 2 }, - }; - }, - }; - - const obj2: SavedObjectMigrationMap = { - '7.12.0': (doc, context) => { - context.log.info(''); - return { - ...doc, - attributes: { ...doc.attributes, counter: doc.attributes.counter - 2 }, - }; - }, - '7.12.2': (doc, context) => { - context.log.info(''); - return { - ...doc, - attributes: { ...doc.attributes, counter: doc.attributes.counter + 2 }, - }; - }, - }; - - test('correctly merges two saved object migration maps', () => { - const context = { log: { info: jest.fn() } } as unknown as SavedObjectMigrationContext; - - const result = mergeSavedObjectMigrationMaps(obj1, obj2); - expect( - result['7.12.0']({ attributes: { counter: 5 } } as SavedObjectUnsanitizedDoc, context) - .attributes.counter - ).toEqual(3); - expect(context.log.info).toHaveBeenCalledTimes(1); - - expect( - result['7.12.1']({ attributes: { counter: 5 } } as SavedObjectUnsanitizedDoc, context) - .attributes.counter - ).toEqual(6); - expect(context.log.info).toHaveBeenCalledTimes(2); - - expect( - result['7.12.2']({ attributes: { counter: 5 } } as SavedObjectUnsanitizedDoc, context) - .attributes.counter - ).toEqual(9); - expect(context.log.info).toHaveBeenCalledTimes(4); - }); -}); diff --git a/packages/core/saved-objects/core-saved-objects-utils-server/src/merge_migration_maps.ts b/packages/core/saved-objects/core-saved-objects-utils-server/src/merge_migration_maps.ts deleted file mode 100644 index 6d7c1c90d25df..0000000000000 --- a/packages/core/saved-objects/core-saved-objects-utils-server/src/merge_migration_maps.ts +++ /dev/null @@ -1,48 +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 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 { mergeWith } from 'lodash'; -import type { - SavedObjectMigrationContext, - SavedObjectMigrationFn, - SavedObjectMigrationMap, - SavedObjectUnsanitizedDoc, -} from '@kbn/core-saved-objects-server'; - -/** - * Merges two saved object migration maps. - * - * If there is a migration for a given version on only one of the maps, - * that migration function will be used: - * - * mergeSavedObjectMigrationMaps({ '1.2.3': f }, { '4.5.6': g }) -> { '1.2.3': f, '4.5.6': g } - * - * If there is a migration for a given version on both maps, the migrations will be composed: - * - * mergeSavedObjectMigrationMaps({ '1.2.3': f }, { '1.2.3': g }) -> { '1.2.3': (doc, context) => f(g(doc, context), context) } - * - * @public - * - * @param map1 - The first map to merge - * @param map2 - The second map to merge - * @returns The merged map {@link SavedObjectMigrationMap} - */ -export const mergeSavedObjectMigrationMaps = ( - map1: SavedObjectMigrationMap, - map2: SavedObjectMigrationMap -): SavedObjectMigrationMap => { - const customizer = (objValue: SavedObjectMigrationFn, srcValue: SavedObjectMigrationFn) => { - if (!srcValue || !objValue) { - return srcValue || objValue; - } - return (state: SavedObjectUnsanitizedDoc, context: SavedObjectMigrationContext) => - objValue(srcValue(state, context), context); - }; - - return mergeWith({ ...map1 }, map2, customizer); -}; diff --git a/packages/core/saved-objects/core-saved-objects-utils-server/src/merge_migrations.test.ts b/packages/core/saved-objects/core-saved-objects-utils-server/src/merge_migrations.test.ts new file mode 100644 index 0000000000000..7d31d5062cda8 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-utils-server/src/merge_migrations.test.ts @@ -0,0 +1,133 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { + SavedObjectMigrationContext, + SavedObjectMigrationMap, + SavedObjectMigrationFn, + SavedObjectUnsanitizedDoc, +} from '@kbn/core-saved-objects-server'; +import { mergeSavedObjectMigrations, mergeSavedObjectMigrationMaps } from './merge_migrations'; + +describe('mergeSavedObjectMigrations', () => { + test('merges migration parameters with a migration function', () => { + // @ts-expect-error + expect(mergeSavedObjectMigrations({ deferred: true, transform: jest.fn() }, jest.fn())).toEqual( + { + deferred: false, + transform: expect.any(Function), + } + ); + }); + + test('returns a function on merging two functions', () => { + expect(mergeSavedObjectMigrations(jest.fn(), jest.fn())).toBeInstanceOf(Function); + }); + + test('merges two deferred migrations', () => { + expect( + mergeSavedObjectMigrations( + // @ts-expect-error + { deferred: true, transform: jest.fn() }, + { deferred: true, transform: jest.fn() } + ) + ).toEqual({ + deferred: true, + transform: expect.any(Function), + }); + }); + + test('merges two non-deferred migrations', () => { + expect( + mergeSavedObjectMigrations( + { deferred: false, transform: jest.fn() }, + { deferred: false, transform: jest.fn() } + ) + ).toEqual({ + deferred: false, + transform: expect.any(Function), + }); + }); + + test('merges deferred and non-deferred migrations', () => { + expect( + mergeSavedObjectMigrations( + // @ts-expect-error + { deferred: true, transform: jest.fn() }, + { deferred: false, transform: jest.fn() } + ) + ).toEqual({ + deferred: false, + transform: expect.any(Function), + }); + }); +}); + +describe('mergeSavedObjectMigrationMaps', () => { + test('correctly merges two saved object migration maps', () => { + const obj1: SavedObjectMigrationMap = { + '7.12.1': (doc, context) => { + context.log.info(''); + return { + ...doc, + attributes: { ...doc.attributes, counter: doc.attributes.counter + 1 }, + }; + }, + '7.12.2': (doc, context) => { + context.log.info(''); + return { + ...doc, + attributes: { ...doc.attributes, counter: doc.attributes.counter + 2 }, + }; + }, + }; + + const obj2: SavedObjectMigrationMap = { + '7.12.0': (doc, context) => { + context.log.info(''); + return { + ...doc, + attributes: { ...doc.attributes, counter: doc.attributes.counter - 2 }, + }; + }, + '7.12.2': (doc, context) => { + context.log.info(''); + return { + ...doc, + attributes: { ...doc.attributes, counter: doc.attributes.counter + 2 }, + }; + }, + }; + const context = { log: { info: jest.fn() } } as unknown as SavedObjectMigrationContext; + + const result = mergeSavedObjectMigrationMaps(obj1, obj2); + expect( + (result['7.12.0'] as SavedObjectMigrationFn)( + { attributes: { counter: 5 } } as SavedObjectUnsanitizedDoc, + context + ) + ).toHaveProperty('attributes.counter', 3); + expect(context.log.info).toHaveBeenCalledTimes(1); + + expect( + (result['7.12.1'] as SavedObjectMigrationFn)( + { attributes: { counter: 5 } } as SavedObjectUnsanitizedDoc, + context + ) + ).toHaveProperty('attributes.counter', 6); + expect(context.log.info).toHaveBeenCalledTimes(2); + + expect( + (result['7.12.2'] as SavedObjectMigrationFn)( + { attributes: { counter: 5 } } as SavedObjectUnsanitizedDoc, + context + ) + ).toHaveProperty('attributes.counter', 9); + expect(context.log.info).toHaveBeenCalledTimes(4); + }); +}); diff --git a/packages/core/saved-objects/core-saved-objects-utils-server/src/merge_migrations.ts b/packages/core/saved-objects/core-saved-objects-utils-server/src/merge_migrations.ts new file mode 100644 index 0000000000000..748167c62a6d0 --- /dev/null +++ b/packages/core/saved-objects/core-saved-objects-utils-server/src/merge_migrations.ts @@ -0,0 +1,84 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 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 { ary, isFunction, mergeWith } from 'lodash'; +import type { + SavedObjectMigrationContext, + SavedObjectMigration, + SavedObjectMigrationMap, + SavedObjectUnsanitizedDoc, +} from '@kbn/core-saved-objects-server'; + +/** + * Composes two migrations into a single migration. + * ``` + * mergeSavedObjectMigrations(outer, inner) -> (doc, context) => outer(inner(doc, context), context) } + * ``` + * + * If at least one of the migrations is not deferred, the composed migration will not be deferred. + * + * @public + * @param outer Wrapping migration. + * @param inner Wrapped migration. + * @param rest Additional wrapped migrations to compose. + * @returns The composed migration can be either a function or an object depending on the input migrations. + */ +export function mergeSavedObjectMigrations( + outer: SavedObjectMigration, + inner: SavedObjectMigration, + ...rest: SavedObjectMigration[] +): SavedObjectMigration { + if (rest.length) { + return mergeSavedObjectMigrations( + mergeSavedObjectMigrations(outer, inner), + ...(rest as [SavedObjectMigration, ...SavedObjectMigration[]]) + ); + } + if (!inner || !outer) { + return inner || outer; + } + + const innerMigration = isFunction(inner) ? { transform: inner } : inner; + const outerMigration = isFunction(outer) ? { transform: outer } : outer; + const merged = { + deferred: !!(innerMigration.deferred && outerMigration.deferred), + transform: (state: SavedObjectUnsanitizedDoc, context: SavedObjectMigrationContext) => + outerMigration.transform(innerMigration.transform(state, context), context), + }; + + if (isFunction(inner) && isFunction(outer)) { + return merged.transform; + } + + return merged as SavedObjectMigration; +} + +/** + * Merges two saved object migration maps. + * + * If there is a migration for a given version on only one of the maps, + * that migration function will be used: + * + * mergeSavedObjectMigrationMaps({ '1.2.3': f }, { '4.5.6': g }) -> { '1.2.3': f, '4.5.6': g } + * + * If there is a migration for a given version on both maps, the migrations will be composed: + * + * mergeSavedObjectMigrationMaps({ '1.2.3': f }, { '1.2.3': g }) -> { '1.2.3': (doc, context) => f(g(doc, context), context) } + * + * @public + * + * @param map1 - The first map to merge + * @param map2 - The second map to merge + * @returns The merged map {@link SavedObjectMigrationMap} + */ +export function mergeSavedObjectMigrationMaps( + map1: SavedObjectMigrationMap, + map2: SavedObjectMigrationMap +): SavedObjectMigrationMap { + return mergeWith({ ...map1 }, map2, ary(mergeSavedObjectMigrations, 2)); +} diff --git a/packages/core/saved-objects/core-saved-objects-utils-server/src/saved_objects_utils.test.ts b/packages/core/saved-objects/core-saved-objects-utils-server/src/saved_objects_utils.test.ts index 717b52ef248ca..d2454abaac4fa 100644 --- a/packages/core/saved-objects/core-saved-objects-utils-server/src/saved_objects_utils.test.ts +++ b/packages/core/saved-objects/core-saved-objects-utils-server/src/saved_objects_utils.test.ts @@ -107,4 +107,18 @@ describe('SavedObjectsUtils', () => { expect(mockUuidv5).toHaveBeenCalledWith('namespace:type:oldId', 'DNSUUID'); }); }); + + describe('#getMigrationFunction', () => { + it('should return the migration function when it is a function', () => { + const migration = jest.fn(); + + expect(SavedObjectsUtils.getMigrationFunction(migration)).toBe(migration); + }); + + it('should return the migration function when it is a migration object', () => { + const migration = { transform: jest.fn() }; + + expect(SavedObjectsUtils.getMigrationFunction(migration)).toBe(migration.transform); + }); + }); }); diff --git a/packages/core/saved-objects/core-saved-objects-utils-server/src/saved_objects_utils.ts b/packages/core/saved-objects/core-saved-objects-utils-server/src/saved_objects_utils.ts index f88ea5472fcb4..badfb797292cc 100644 --- a/packages/core/saved-objects/core-saved-objects-utils-server/src/saved_objects_utils.ts +++ b/packages/core/saved-objects/core-saved-objects-utils-server/src/saved_objects_utils.ts @@ -6,11 +6,13 @@ * Side Public License, v 1. */ +import { isFunction } from 'lodash'; import { v1 as uuidv1, v5 as uuidv5 } from 'uuid'; import type { SavedObjectsFindOptions, SavedObjectsFindResponse, } from '@kbn/core-saved-objects-api-server'; +import type { SavedObjectMigration, SavedObjectMigrationFn } from '@kbn/core-saved-objects-server'; export const DEFAULT_NAMESPACE_STRING = 'default'; export const ALL_NAMESPACES_STRING = '*'; @@ -95,4 +97,15 @@ export class SavedObjectsUtils { } return uuidv5(`${namespace}:${type}:${id}`, uuidv5.DNS); // The uuidv5 namespace constant (uuidv5.DNS) is arbitrary. } + + /** + * Gets the transform function from a migration object. + * @param migration Migration object or a migration function. + * @returns A migration function. + */ + public static getMigrationFunction( + migration: SavedObjectMigration + ): SavedObjectMigrationFn { + return isFunction(migration) ? migration : migration.transform; + } } diff --git a/packages/core/status/core-status-common-internal/src/status.ts b/packages/core/status/core-status-common-internal/src/status.ts index 7c94080671fd1..806a3ac56b407 100644 --- a/packages/core/status/core-status-common-internal/src/status.ts +++ b/packages/core/status/core-status-common-internal/src/status.ts @@ -34,6 +34,7 @@ export interface ServerVersion { build_hash: string; build_number: number; build_snapshot: boolean; + build_date: string; } export interface StatusInfo { diff --git a/packages/core/status/core-status-server-internal/src/routes/status.ts b/packages/core/status/core-status-server-internal/src/routes/status.ts index 199f55159a7c6..7c0a49a617a2a 100644 --- a/packages/core/status/core-status-server-internal/src/routes/status.ts +++ b/packages/core/status/core-status-server-internal/src/routes/status.ts @@ -88,7 +88,7 @@ export const registerStatusRoute = ({ }, }, async (context, req, res) => { - const { version, buildSha, buildNum } = config.packageInfo; + const { version, buildSha, buildNum, buildDate } = config.packageInfo; const versionWithoutSnapshot = version.replace(SNAPSHOT_POSTFIX, ''); const [overall, coreOverall, core, plugins] = await firstValueFrom(combinedStatus$); @@ -121,6 +121,7 @@ export const registerStatusRoute = ({ build_hash: buildSha, build_number: buildNum, build_snapshot: SNAPSHOT_POSTFIX.test(version), + build_date: buildDate.toISOString(), }, status: statusInfo, metrics: { diff --git a/packages/core/test-helpers/core-test-helpers-so-type-serializer/src/extract_migration_info.test.ts b/packages/core/test-helpers/core-test-helpers-so-type-serializer/src/extract_migration_info.test.ts index 3fd289c9b6ca0..2e4cc22032586 100644 --- a/packages/core/test-helpers/core-test-helpers-so-type-serializer/src/extract_migration_info.test.ts +++ b/packages/core/test-helpers/core-test-helpers-so-type-serializer/src/extract_migration_info.test.ts @@ -202,12 +202,18 @@ describe('extractMigrationInfo', () => { changeTypes: ['data_backfill'], hasTransformation: true, newMappings: [], + schemas: { + forwardCompatibility: false, + }, }, { version: '2', changeTypes: ['mappings_addition'], hasTransformation: false, newMappings: ['foo.type'], + schemas: { + forwardCompatibility: false, + }, }, ]); }); @@ -245,12 +251,18 @@ describe('extractMigrationInfo', () => { changeTypes: ['data_backfill'], hasTransformation: true, newMappings: [], + schemas: { + forwardCompatibility: false, + }, }, { version: '2', changeTypes: ['mappings_addition'], hasTransformation: false, newMappings: ['foo.type'], + schemas: { + forwardCompatibility: false, + }, }, ]); }); @@ -263,6 +275,32 @@ describe('extractMigrationInfo', () => { expect(output.modelVersions).toEqual([]); }); + + it('returns the correct values for schemas', () => { + const type = createType({ + switchToModelVersionAt: '8.8.0', + modelVersions: { + 1: { + changes: [], + schemas: { + forwardCompatibility: jest.fn(), + }, + }, + 2: { + changes: [], + schemas: {}, + }, + }, + }); + const output = extractMigrationInfo(type); + + expect(output.modelVersions[0].schemas).toEqual({ + forwardCompatibility: true, + }); + expect(output.modelVersions[1].schemas).toEqual({ + forwardCompatibility: false, + }); + }); }); describe('migrations and modelVersions', () => { @@ -310,12 +348,18 @@ describe('extractMigrationInfo', () => { changeTypes: ['data_backfill'], hasTransformation: true, newMappings: [], + schemas: { + forwardCompatibility: false, + }, }, { version: '2', changeTypes: ['mappings_addition'], hasTransformation: false, newMappings: ['foo.type'], + schemas: { + forwardCompatibility: false, + }, }, ], }) diff --git a/packages/core/test-helpers/core-test-helpers-so-type-serializer/src/extract_migration_info.ts b/packages/core/test-helpers/core-test-helpers-so-type-serializer/src/extract_migration_info.ts index 155310f2ecc3f..d2e88ac22521d 100644 --- a/packages/core/test-helpers/core-test-helpers-so-type-serializer/src/extract_migration_info.ts +++ b/packages/core/test-helpers/core-test-helpers-so-type-serializer/src/extract_migration_info.ts @@ -31,6 +31,9 @@ export interface ModelVersionSummary { changeTypes: string[]; hasTransformation: boolean; newMappings: string[]; + schemas: { + forwardCompatibility: boolean; + }; } /** @@ -53,13 +56,16 @@ export const extractMigrationInfo = (soType: SavedObjectsType): SavedObjectTypeM ? soType.modelVersions() : soType.modelVersions ?? {}; const modelVersionIds = Object.keys(modelVersionMap); - const modelVersions = modelVersionIds.map((version) => { + const modelVersions = modelVersionIds.map((version) => { const entry = modelVersionMap[version]; return { version, changeTypes: entry.changes.map((change) => change.type), hasTransformation: hasTransformation(entry.changes), newMappings: Object.keys(getFlattenedObject(aggregateMappingAdditions(entry.changes))), + schemas: { + forwardCompatibility: !!entry.schemas?.forwardCompatibility, + }, }; }); diff --git a/packages/core/test-helpers/core-test-helpers-so-type-serializer/src/get_migration_hash.test.ts b/packages/core/test-helpers/core-test-helpers-so-type-serializer/src/get_migration_hash.test.ts index bb090f16a01ed..1c931e4649060 100644 --- a/packages/core/test-helpers/core-test-helpers-so-type-serializer/src/get_migration_hash.test.ts +++ b/packages/core/test-helpers/core-test-helpers-so-type-serializer/src/get_migration_hash.test.ts @@ -518,6 +518,29 @@ describe('getMigrationHash', () => { expect(getMigrationHash(typeA)).not.toEqual(getMigrationHash(typeB)); }); + + it('returns different hashes if different schemas are registered', () => { + const typeA = createType({ + modelVersions: { + 1: { + changes: [], + schemas: { + forwardCompatibility: jest.fn(), + }, + }, + }, + }); + const typeB = createType({ + modelVersions: { + 1: { + changes: [], + schemas: {}, + }, + }, + }); + + expect(getMigrationHash(typeA)).not.toEqual(getMigrationHash(typeB)); + }); }); describe('ignored fields', () => { diff --git a/packages/core/test-helpers/core-test-helpers-so-type-serializer/src/get_migration_hash.ts b/packages/core/test-helpers/core-test-helpers-so-type-serializer/src/get_migration_hash.ts index 587620bc43139..f8db21f0e7603 100644 --- a/packages/core/test-helpers/core-test-helpers-so-type-serializer/src/get_migration_hash.ts +++ b/packages/core/test-helpers/core-test-helpers-so-type-serializer/src/get_migration_hash.ts @@ -35,10 +35,12 @@ export const getMigrationHash = (soType: SavedObjectsType): SavedObjectTypeMigra }; const serializeModelVersion = (modelVersion: ModelVersionSummary): string => { + const schemas = [modelVersion.schemas.forwardCompatibility]; return [ modelVersion.version, modelVersion.changeTypes.join(','), modelVersion.hasTransformation, + schemas.join(','), ...modelVersion.newMappings, ].join('|'); }; diff --git a/packages/core/ui-settings/core-ui-settings-server-internal/src/saved_objects/migrations.test.ts b/packages/core/ui-settings/core-ui-settings-server-internal/src/saved_objects/migrations.test.ts index c9f8701adfd2f..77b228cf35df0 100644 --- a/packages/core/ui-settings/core-ui-settings-server-internal/src/saved_objects/migrations.test.ts +++ b/packages/core/ui-settings/core-ui-settings-server-internal/src/saved_objects/migrations.test.ts @@ -380,3 +380,38 @@ describe('ui_settings 8.7.0 migrations', () => { }); }); }); + +describe('ui_settings 8.9.0 migrations', () => { + const migration = migrations['8.9.0']; + + test('returns doc on empty object', () => { + expect(migration({} as SavedObjectUnsanitizedDoc)).toEqual({ + references: [], + }); + }); + + test('removes "visualize:enableLabs" setting', () => { + const doc = { + type: 'config', + id: '8.9.0', + attributes: { + buildNum: 9007199254740991, + 'visualize:enableLabs': true, + }, + references: [], + updated_at: '2020-06-09T20:18:20.349Z', + migrationVersion: {}, + }; + + expect(migration(doc)).toEqual({ + type: 'config', + id: '8.9.0', + attributes: { + buildNum: 9007199254740991, + }, + references: [], + updated_at: '2020-06-09T20:18:20.349Z', + migrationVersion: {}, + }); + }); +}); diff --git a/packages/core/ui-settings/core-ui-settings-server-internal/src/saved_objects/migrations.ts b/packages/core/ui-settings/core-ui-settings-server-internal/src/saved_objects/migrations.ts index f8b6e287d4682..2bdac1b6ef48f 100644 --- a/packages/core/ui-settings/core-ui-settings-server-internal/src/saved_objects/migrations.ts +++ b/packages/core/ui-settings/core-ui-settings-server-internal/src/saved_objects/migrations.ts @@ -183,4 +183,25 @@ export const migrations = { }), references: doc.references || [], }), + '8.9.0': (doc: SavedObjectUnsanitizedDoc): SavedObjectSanitizedDoc => ({ + ...doc, + ...(doc.attributes && { + attributes: Object.keys(doc.attributes).reduce( + (acc, key) => + [ + // owner: Team:Visualizations + 'visualize:enableLabs', + ].includes(key) + ? { + ...acc, + } + : { + ...acc, + [key]: doc.attributes[key], + }, + {} + ), + }), + references: doc.references || [], + }), }; diff --git a/packages/kbn-ambient-ftr-types/kibana.jsonc b/packages/kbn-ambient-ftr-types/kibana.jsonc index 0464c850c1663..3f8a3dbeeceef 100644 --- a/packages/kbn-ambient-ftr-types/kibana.jsonc +++ b/packages/kbn-ambient-ftr-types/kibana.jsonc @@ -1,6 +1,6 @@ { "type": "shared-common", "id": "@kbn/ambient-ftr-types", - "owner": "@elastic/kibana-operations", + "owner": ["@elastic/kibana-operations", "@elastic/appex-qa"], "devOnly": true } diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/get_routing_transform.ts b/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/get_routing_transform.ts index aa1e421697707..a5428b1a084e9 100644 --- a/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/get_routing_transform.ts +++ b/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_es_client/get_routing_transform.ts @@ -15,31 +15,35 @@ export function getRoutingTransform() { transform(document: ESDocumentWithOperation, encoding, callback) { let index: string | undefined; + const namespace = 'default'; + switch (document['processor.event']) { case 'transaction': case 'span': index = - document['agent.name'] === 'rum-js' ? 'traces-apm.rum-default' : 'traces-apm-default'; + document['agent.name'] === 'rum-js' + ? `traces-apm.rum-${namespace}` + : `traces-apm-${namespace}`; break; case 'error': - index = 'logs-apm.error-default'; + index = `logs-apm.error-${namespace}`; break; case 'metric': const metricsetName = document['metricset.name']; if (metricsetName === 'app') { - index = `metrics-apm.app.${document['service.name']}-default`; + index = `metrics-apm.app.${document['service.name']}-${namespace}`; } else if ( metricsetName === 'transaction' || metricsetName === 'service_transaction' || metricsetName === 'service_destination' || metricsetName === 'service_summary' ) { - index = `metrics-apm.${metricsetName}.${document['metricset.interval']!}-default`; + index = `metrics-apm.${metricsetName}.${document['metricset.interval']!}-${namespace}`; } else { - index = `metrics-apm.internal-default`; + index = `metrics-apm.internal-${namespace}`; } break; } diff --git a/packages/kbn-babel-preset/styled_components_files.js b/packages/kbn-babel-preset/styled_components_files.js index 7c164cbc2edc1..125f859be347b 100644 --- a/packages/kbn-babel-preset/styled_components_files.js +++ b/packages/kbn-babel-preset/styled_components_files.js @@ -16,6 +16,7 @@ module.exports = { /src[\/\\]plugins[\/\\](kibana_react)[\/\\]/, /x-pack[\/\\]plugins[\/\\](apm|beats_management|cases|fleet|infra|lists|observability|observability_shared|exploratory_view|osquery|security_solution|timelines|synthetics|ux)[\/\\]/, /x-pack[\/\\]test[\/\\]plugin_functional[\/\\]plugins[\/\\]resolver_test[\/\\]/, + /x-pack[\/\\]packages[\/\\]elastic_assistant[\/\\]/, /x-pack[\/\\]packages[\/\\]security-solution[\/\\]ecs_data_quality_dashboard[\/\\]/, ], }; diff --git a/packages/kbn-cell-actions/src/actions/copy_to_clipboard/copy_to_clipboard.test.ts b/packages/kbn-cell-actions/src/actions/copy_to_clipboard/copy_to_clipboard.test.ts index 395fbd13cfadf..5037e1cd529f5 100644 --- a/packages/kbn-cell-actions/src/actions/copy_to_clipboard/copy_to_clipboard.test.ts +++ b/packages/kbn-cell-actions/src/actions/copy_to_clipboard/copy_to_clipboard.test.ts @@ -48,5 +48,25 @@ describe('Default createCopyToClipboardActionFactory', () => { expect(mockCopy).toHaveBeenCalledWith('user.name: "the value"'); expect(mockSuccessToast).toHaveBeenCalled(); }); + + it('should escape value', async () => { + await copyToClipboardAction.execute({ + ...context, + field: { ...context.field, value: 'the "value"' }, + }); + expect(mockCopy).toHaveBeenCalledWith('user.name: "the \\"value\\""'); + expect(mockSuccessToast).toHaveBeenCalled(); + }); + + it('should suport multiple values', async () => { + await copyToClipboardAction.execute({ + ...context, + field: { ...context.field, value: ['the "value"', 'another value', 'last value'] }, + }); + expect(mockCopy).toHaveBeenCalledWith( + 'user.name: "the \\"value\\"" AND "another value" AND "last value"' + ); + expect(mockSuccessToast).toHaveBeenCalled(); + }); }); }); diff --git a/packages/kbn-cell-actions/src/actions/copy_to_clipboard/copy_to_clipboard.ts b/packages/kbn-cell-actions/src/actions/copy_to_clipboard/copy_to_clipboard.ts index 9d4860da1c77c..cafbd29d91455 100644 --- a/packages/kbn-cell-actions/src/actions/copy_to_clipboard/copy_to_clipboard.ts +++ b/packages/kbn-cell-actions/src/actions/copy_to_clipboard/copy_to_clipboard.ts @@ -23,6 +23,8 @@ const COPY_TO_CLIPBOARD_SUCCESS = i18n.translate( } ); +const escapeValue = (value: string) => value.replace(/"/g, '\\"'); + export const createCopyToClipboardActionFactory = createCellActionFactory( ({ notifications }: { notifications: NotificationsStart }) => ({ type: COPY_CELL_ACTION_TYPE, @@ -34,8 +36,8 @@ export const createCopyToClipboardActionFactory = createCellActionFactory( let textValue: undefined | string; if (field.value != null) { textValue = Array.isArray(field.value) - ? field.value.map((value) => `"${value}"`).join(', ') - : `"${field.value}"`; + ? field.value.map((value) => `"${escapeValue(value)}"`).join(' AND ') + : `"${escapeValue(field.value)}"`; } const text = textValue ? `${field.name}: ${textValue}` : field.name; const isSuccess = copy(text, { debug: true }); diff --git a/packages/kbn-cell-actions/src/actions/filter/create_filter.test.ts b/packages/kbn-cell-actions/src/actions/filter/create_filter.test.ts index 12ae2fa16a2dd..7d4a2f12a216a 100644 --- a/packages/kbn-cell-actions/src/actions/filter/create_filter.test.ts +++ b/packages/kbn-cell-actions/src/actions/filter/create_filter.test.ts @@ -18,21 +18,17 @@ describe('createFilter', () => { ])('should return filter with $caseName value', ({ caseValue }) => { expect(createFilter({ key: field, value: caseValue, negate: false })).toEqual({ meta: { - alias: null, - disabled: false, type: 'phrase', key: field, negate: false, - value, params: { query: value, }, }, query: { - match: { + match_phrase: { [field]: { query: value, - type: 'phrase', }, }, }, @@ -45,27 +41,48 @@ describe('createFilter', () => { ])('should return negate filter with $caseName value', ({ caseValue }) => { expect(createFilter({ key: field, value: caseValue, negate: true })).toEqual({ meta: { - alias: null, - disabled: false, type: 'phrase', key: field, negate: true, - value, params: { query: value, }, }, query: { - match: { + match_phrase: { [field]: { query: value, - type: 'phrase', }, }, }, }); }); + it.each([ + { caseName: 'non-negated', negate: false }, + { caseName: 'negated', negate: true }, + ])('should return combined filter with multiple $caseName values', ({ negate }) => { + const value2 = 'the-value2'; + expect(createFilter({ key: field, value: [value, value2], negate })).toEqual({ + meta: { + type: 'combined', + relation: 'AND', + key: field, + negate, + params: [ + { + meta: { type: 'phrase', key: field, params: { query: value } }, + query: { match_phrase: { [field]: { query: value } } }, + }, + { + meta: { type: 'phrase', key: field, params: { query: value2 } }, + query: { match_phrase: { [field]: { query: value2 } } }, + }, + ], + }, + }); + }); + it.each([ { caseName: 'null', caseValue: null }, { caseName: 'undefined', caseValue: undefined }, @@ -79,8 +96,6 @@ describe('createFilter', () => { }, }, meta: { - alias: null, - disabled: false, key: field, negate: false, type: 'exists', @@ -102,8 +117,6 @@ describe('createFilter', () => { }, }, meta: { - alias: null, - disabled: false, key: field, negate: true, type: 'exists', diff --git a/packages/kbn-cell-actions/src/actions/filter/create_filter.ts b/packages/kbn-cell-actions/src/actions/filter/create_filter.ts index 1dcb44e2b73e7..36a56d602ed97 100644 --- a/packages/kbn-cell-actions/src/actions/filter/create_filter.ts +++ b/packages/kbn-cell-actions/src/actions/filter/create_filter.ts @@ -5,10 +5,54 @@ * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ -import type { Filter } from '@kbn/es-query'; +import { + BooleanRelation, + FILTERS, + type CombinedFilter, + type ExistsFilter, + type PhraseFilter, + type Filter, +} from '@kbn/es-query'; -export const isEmptyFilterValue = (value: string[] | string | null | undefined) => - value == null || value.length === 0; +export const isEmptyFilterValue = ( + value: string[] | string | null | undefined +): value is null | undefined | never[] => value == null || value.length === 0; + +const createExistsFilter = ({ key, negate }: { key: string; negate: boolean }): ExistsFilter => ({ + meta: { key, negate, type: FILTERS.EXISTS, value: 'exists' }, + query: { exists: { field: key } }, +}); + +const createPhraseFilter = ({ + key, + negate, + value, +}: { + value: string; + key: string; + negate?: boolean; +}): PhraseFilter => ({ + meta: { key, negate, type: FILTERS.PHRASE, params: { query: value } }, + query: { match_phrase: { [key]: { query: value } } }, +}); + +const createCombinedFilter = ({ + values, + key, + negate, +}: { + values: string[]; + key: string; + negate: boolean; +}): CombinedFilter => ({ + meta: { + key, + negate, + type: FILTERS.COMBINED, + relation: BooleanRelation.AND, + params: values.map((value) => createPhraseFilter({ key, value })), + }, +}); export const createFilter = ({ key, @@ -19,39 +63,15 @@ export const createFilter = ({ value: string[] | string | null | undefined; negate: boolean; }): Filter => { - const queryValue = !isEmptyFilterValue(value) ? (Array.isArray(value) ? value[0] : value) : null; - const meta = { alias: null, disabled: false, key, negate }; - - if (queryValue == null) { - return { - query: { - exists: { - field: key, - }, - }, - meta: { - ...meta, - type: 'exists', - value: 'exists', - }, - }; + if (isEmptyFilterValue(value)) { + return createExistsFilter({ key, negate }); + } + if (Array.isArray(value)) { + if (value.length > 1) { + return createCombinedFilter({ key, negate, values: value }); + } else { + return createPhraseFilter({ key, negate, value: value[0] }); + } } - return { - meta: { - ...meta, - type: 'phrase', - value: queryValue, - params: { - query: queryValue, - }, - }, - query: { - match: { - [key]: { - query: queryValue, - type: 'phrase', - }, - }, - }, - }; + return createPhraseFilter({ key, negate, value }); }; diff --git a/packages/kbn-check-mappings-update-cli/current_mappings.json b/packages/kbn-check-mappings-update-cli/current_mappings.json index 4a80946539699..8196478232792 100644 --- a/packages/kbn-check-mappings-update-cli/current_mappings.json +++ b/packages/kbn-check-mappings-update-cli/current_mappings.json @@ -931,6 +931,17 @@ } } }, + "event-annotation-group": { + "dynamic": false, + "properties": { + "title": { + "type": "text" + }, + "description": { + "type": "text" + } + } + }, "visualization": { "dynamic": false, "properties": { @@ -1609,6 +1620,9 @@ "shipper": { "dynamic": false, "properties": {} + }, + "allow_edit": { + "enabled": false } } }, @@ -2049,11 +2063,37 @@ } } }, + "id": { + "type": "keyword" + }, + "section": { + "type": "keyword", + "fields": { + "text": { + "type": "text" + } + } + }, + "version": { + "type": "keyword" + }, "benchmark": { "type": "object", "properties": { "id": { "type": "keyword" + }, + "name": { + "type": "keyword" + }, + "posture_type": { + "type": "keyword" + }, + "version": { + "type": "keyword" + }, + "rule_number": { + "type": "keyword" } } } @@ -2094,6 +2134,48 @@ } } }, + "composite-slo": { + "dynamic": false, + "properties": { + "id": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "budgetingMethod": { + "type": "keyword" + }, + "compositeMethod": { + "type": "keyword" + }, + "sources": { + "properties": { + "id": { + "type": "keyword" + }, + "revision": { + "type": "integer" + } + } + }, + "tags": { + "type": "keyword" + } + } + }, + "observability-onboarding-state": { + "properties": { + "state": { + "type": "object", + "dynamic": false + }, + "progress": { + "type": "object", + "dynamic": false + } + } + }, "ml-job": { "properties": { "job_id": { diff --git a/packages/kbn-check-mappings-update-cli/src/check_additive_only_change.ts b/packages/kbn-check-mappings-update-cli/src/check_additive_only_change.ts index 7fb42f7115233..d13db53b0110d 100644 --- a/packages/kbn-check-mappings-update-cli/src/check_additive_only_change.ts +++ b/packages/kbn-check-mappings-update-cli/src/check_additive_only_change.ts @@ -27,14 +27,14 @@ export function checkAdditiveOnlyChange( next: SavedObjectsTypeMappingDefinitions ) { let checkedCount = 0; - const Os: Array<[path: string[], value: unknown]> = [[[], current]]; + const pathValueTuples: Array<[path: string[], value: unknown]> = [[[], current]]; const missingProps: string[] = []; - while (Os.length) { - const [path, value] = Os.shift()!; + while (pathValueTuples.length) { + const [path, value] = pathValueTuples.shift()!; // "Recurse" into the value if it's an object if (isObject(value)) { - Object.entries(value).forEach(([k, v]) => Os.push([[...path, k], v])); + Object.entries(value).forEach(([k, v]) => pathValueTuples.push([[...path, k], v])); } // If we're at a "properties" object, check that the next mappings have the same field if (path.length > 1 && path[path.length - 2] === 'properties') { @@ -47,7 +47,10 @@ export function checkAdditiveOnlyChange( if (missingProps.length > 0) { const props = JSON.stringify(missingProps, null, 2); throw createFailError( - `Removing mapped properties is disallowed. Properties found in current mappings but not in next mappings:\n${props}` + `Removing mapped properties is disallowed >8.8. Found the following properties in current mappings but not in next mappings: +${props} + +Reach out to the Kibana core team if you have any questions.` ); } diff --git a/packages/kbn-check-mappings-update-cli/src/check_additve_only_change.test.ts b/packages/kbn-check-mappings-update-cli/src/check_additve_only_change.test.ts index 11f9394b9dd5e..6b0ed703b3836 100644 --- a/packages/kbn-check-mappings-update-cli/src/check_additve_only_change.test.ts +++ b/packages/kbn-check-mappings-update-cli/src/check_additve_only_change.test.ts @@ -40,12 +40,14 @@ describe('#checkAdditiveOnlyChange', () => { delete next.bar.properties.number; expect(() => checkAdditiveOnlyChange(log, current, next)).toThrowErrorMatchingInlineSnapshot(` - "Removing mapped properties is disallowed. Properties found in current mappings but not in next mappings: + "Removing mapped properties is disallowed >8.8. Found the following properties in current mappings but not in next mappings: [ \\"foo.properties.text\\", \\"bar.properties.number\\", \\"foo.properties.object.properties.nestedText\\" - ]" + ] + + Reach out to the Kibana core team if you have any questions." `); }); diff --git a/packages/kbn-config-mocks/src/env.mock.ts b/packages/kbn-config-mocks/src/env.mock.ts index dfc01c171a9ef..2adcea6516c3e 100644 --- a/packages/kbn-config-mocks/src/env.mock.ts +++ b/packages/kbn-config-mocks/src/env.mock.ts @@ -45,6 +45,7 @@ export const createTestPackageInfo = ({ dist = true }: { dist?: boolean } = {}): distributable: dist, number: 123456789, sha: 'XXXXXX', + date: '2023-05-15T23:12:09+0000', }, }; }; diff --git a/packages/kbn-config/src/__snapshots__/env.test.ts.snap b/packages/kbn-config/src/__snapshots__/env.test.ts.snap index 3f2dde3c3f563..39aae1dd9b2ff 100644 --- a/packages/kbn-config/src/__snapshots__/env.test.ts.snap +++ b/packages/kbn-config/src/__snapshots__/env.test.ts.snap @@ -28,6 +28,7 @@ Env { }, "packageInfo": Object { "branch": "feature-v1", + "buildDate": 2023-05-15T23:12:09.000Z, "buildNum": 9007199254740991, "buildSha": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "dist": false, @@ -69,6 +70,7 @@ Env { }, "packageInfo": Object { "branch": "feature-v1", + "buildDate": 2023-05-15T23:12:09.000Z, "buildNum": 9007199254740991, "buildSha": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "dist": false, @@ -109,6 +111,7 @@ Env { }, "packageInfo": Object { "branch": "some-branch", + "buildDate": 2023-05-15T23:12:09.000Z, "buildNum": 9007199254740991, "buildSha": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "dist": false, @@ -149,6 +152,7 @@ Env { }, "packageInfo": Object { "branch": "feature-v1", + "buildDate": 2023-05-15T23:12:09.000Z, "buildNum": 100, "buildSha": "feature-v1-build-sha", "dist": true, @@ -189,6 +193,7 @@ Env { }, "packageInfo": Object { "branch": "feature-v1", + "buildDate": 2023-05-15T23:12:09.000Z, "buildNum": 9007199254740991, "buildSha": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "dist": false, @@ -229,6 +234,7 @@ Env { }, "packageInfo": Object { "branch": "feature-v1", + "buildDate": 2023-05-15T23:12:09.000Z, "buildNum": 100, "buildSha": "feature-v1-build-sha", "dist": true, diff --git a/packages/kbn-config/src/config_service.test.ts b/packages/kbn-config/src/config_service.test.ts index df6c8c543d408..c38875bdae6ed 100644 --- a/packages/kbn-config/src/config_service.test.ts +++ b/packages/kbn-config/src/config_service.test.ts @@ -31,6 +31,7 @@ const packageInfos: RawPackageInfo = { build: { number: 42, sha: 'one', + date: '2023-05-15T23:12:09+0000', }, }; const emptyArgv = getEnvOptions(); @@ -238,6 +239,7 @@ test('correctly passes context', async () => { distributable: true, number: 100, sha: 'feature-v1-build-sha', + date: '2023-05-15T23:12:09+0000', }, }; diff --git a/packages/kbn-config/src/env.test.ts b/packages/kbn-config/src/env.test.ts index 782b0cc5081c6..5203c34b73214 100644 --- a/packages/kbn-config/src/env.test.ts +++ b/packages/kbn-config/src/env.test.ts @@ -13,6 +13,7 @@ import { Env, RawPackageInfo } from './env'; import { getEnvOptions } from './internal_mocks'; const REPO_ROOT = '/test/kibanaRoot'; +const BUILD_DATE = '2023-05-15T23:12:09+0000'; const packageInfos: RawPackageInfo = { branch: 'master', @@ -20,13 +21,23 @@ const packageInfos: RawPackageInfo = { build: { number: 42, sha: 'one', + date: new Date(BUILD_DATE).toISOString(), }, }; +beforeAll(() => { + jest.useFakeTimers(); + jest.setSystemTime(new Date(BUILD_DATE)); +}); + beforeEach(() => { mockPackage.raw = {}; }); +afterAll(() => { + jest.useRealTimers(); +}); + test('correctly creates default environment in dev mode.', () => { mockPackage.raw = { branch: 'some-branch', @@ -51,6 +62,7 @@ test('correctly creates default environment in prod distributable mode.', () => distributable: true, number: 100, sha: 'feature-v1-build-sha', + date: BUILD_DATE, }, }; @@ -73,6 +85,7 @@ test('correctly creates default environment in prod non-distributable mode.', () distributable: false, number: 100, sha: 'feature-v1-build-sha', + date: BUILD_DATE, }, }; @@ -95,6 +108,7 @@ test('correctly creates default environment if `--env.name` is supplied.', () => distributable: false, number: 100, sha: 'feature-v1-build-sha', + date: BUILD_DATE, }, }; @@ -128,6 +142,7 @@ test('correctly creates environment with constructor.', () => { distributable: true, number: 100, sha: 'feature-v1-build-sha', + date: BUILD_DATE, }, }, getEnvOptions({ diff --git a/packages/kbn-config/src/env.ts b/packages/kbn-config/src/env.ts index 3c256e8a95375..64d147d9a4a85 100644 --- a/packages/kbn-config/src/env.ts +++ b/packages/kbn-config/src/env.ts @@ -45,6 +45,7 @@ export interface RawPackageInfo { distributable?: boolean; number: number; sha: string; + date: string; }; } @@ -122,6 +123,7 @@ export class Env { buildSha: isKibanaDistributable ? pkg.build.sha : 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', version: pkg.version, dist: isKibanaDistributable, + buildDate: isKibanaDistributable ? new Date(pkg.build.date) : new Date(), }); } } diff --git a/packages/kbn-config/src/types.ts b/packages/kbn-config/src/types.ts index bb632a7e3d222..dcb959f30cd01 100644 --- a/packages/kbn-config/src/types.ts +++ b/packages/kbn-config/src/types.ts @@ -14,6 +14,7 @@ export interface PackageInfo { branch: string; buildNum: number; buildSha: string; + buildDate: Date; dist: boolean; } diff --git a/packages/kbn-content-management-utils/index.ts b/packages/kbn-content-management-utils/index.ts index 8e4751ba223ea..fa5b1780bac20 100644 --- a/packages/kbn-content-management-utils/index.ts +++ b/packages/kbn-content-management-utils/index.ts @@ -8,3 +8,5 @@ export * from './src/types'; export * from './src/schema'; +export * from './src/saved_object_content_storage'; +export * from './src/utils'; diff --git a/packages/kbn-content-management-utils/src/saved_object_content_storage.ts b/packages/kbn-content-management-utils/src/saved_object_content_storage.ts new file mode 100644 index 0000000000000..ac8877e5a26da --- /dev/null +++ b/packages/kbn-content-management-utils/src/saved_object_content_storage.ts @@ -0,0 +1,400 @@ +/* + * Copyright 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 Boom from '@hapi/boom'; +import type { SearchQuery, SearchIn } from '@kbn/content-management-plugin/common'; +import type { + ContentStorage, + StorageContext, + MSearchConfig, +} from '@kbn/content-management-plugin/server'; +import type { + SavedObject, + SavedObjectReference, + SavedObjectsFindOptions, + SavedObjectsCreateOptions, + SavedObjectsUpdateOptions, + SavedObjectsFindResult, +} from '@kbn/core-saved-objects-api-server'; +import { pick } from 'lodash'; +import type { + CMCrudTypes, + ServicesDefinitionSet, + SOWithMetadata, + SOWithMetadataPartial, +} from './types'; +import { tagsToFindOptions } from './utils'; + +const savedObjectClientFromRequest = async (ctx: StorageContext) => { + if (!ctx.requestHandlerContext) { + throw new Error('Storage context.requestHandlerContext missing.'); + } + + const { savedObjects } = await ctx.requestHandlerContext.core; + return savedObjects.client; +}; + +type PartialSavedObject = Omit>, 'references'> & { + references: SavedObjectReference[] | undefined; +}; + +function savedObjectToItem( + savedObject: SavedObject, + allowedSavedObjectAttributes: string[], + partial: false +): Item; + +function savedObjectToItem( + savedObject: PartialSavedObject, + allowedSavedObjectAttributes: string[], + partial: true +): PartialItem; + +function savedObjectToItem( + savedObject: SavedObject | PartialSavedObject, + allowedSavedObjectAttributes: string[] +): SOWithMetadata | SOWithMetadataPartial { + const { + id, + type, + updated_at: updatedAt, + created_at: createdAt, + attributes, + references, + error, + namespaces, + version, + } = savedObject; + + return { + id, + type, + updatedAt, + createdAt, + attributes: pick(attributes, allowedSavedObjectAttributes), + references, + error, + namespaces, + version, + }; +} + +export interface SearchArgsToSOFindOptionsOptionsDefault { + fields?: string[]; + searchFields?: string[]; +} + +export const searchArgsToSOFindOptionsDefault = ( + params: SearchIn +): SavedObjectsFindOptions => { + const { query, contentTypeId, options } = params; + + return { + type: contentTypeId, + search: query.text, + perPage: query.limit, + page: query.cursor ? +query.cursor : undefined, + defaultSearchOperator: 'AND', + searchFields: options?.searchFields ?? ['description', 'title'], + fields: options?.fields ?? ['description', 'title'], + ...tagsToFindOptions(query.tags), + }; +}; + +export const createArgsToSoCreateOptionsDefault = ( + params: SavedObjectsCreateOptions +): SavedObjectsCreateOptions => params; + +export const updateArgsToSoUpdateOptionsDefault = ( + params: SavedObjectsUpdateOptions +): SavedObjectsUpdateOptions => params; + +export type CreateArgsToSoCreateOptions = ( + params: Types['CreateOptions'] +) => SavedObjectsCreateOptions; + +export type SearchArgsToSOFindOptions = ( + params: Types['SearchIn'] +) => SavedObjectsFindOptions; + +export type UpdateArgsToSoUpdateOptions = ( + params: Types['UpdateOptions'] +) => SavedObjectsUpdateOptions; + +export interface SOContentStorageConstrutorParams { + savedObjectType: string; + cmServicesDefinition: ServicesDefinitionSet; + // this is necessary since unexpected saved object attributes could cause schema validation to fail + allowedSavedObjectAttributes: string[]; + createArgsToSoCreateOptions?: CreateArgsToSoCreateOptions; + updateArgsToSoUpdateOptions?: UpdateArgsToSoUpdateOptions; + searchArgsToSOFindOptions?: SearchArgsToSOFindOptions; + enableMSearch?: boolean; +} + +export abstract class SOContentStorage + implements + ContentStorage< + Types['Item'], + Types['PartialItem'], + MSearchConfig + > +{ + constructor({ + savedObjectType, + cmServicesDefinition, + createArgsToSoCreateOptions, + updateArgsToSoUpdateOptions, + searchArgsToSOFindOptions, + enableMSearch, + allowedSavedObjectAttributes, + }: SOContentStorageConstrutorParams) { + this.savedObjectType = savedObjectType; + this.cmServicesDefinition = cmServicesDefinition; + this.createArgsToSoCreateOptions = + createArgsToSoCreateOptions || createArgsToSoCreateOptionsDefault; + this.updateArgsToSoUpdateOptions = + updateArgsToSoUpdateOptions || updateArgsToSoUpdateOptionsDefault; + this.searchArgsToSOFindOptions = searchArgsToSOFindOptions || searchArgsToSOFindOptionsDefault; + this.allowedSavedObjectAttributes = allowedSavedObjectAttributes; + + if (enableMSearch) { + this.mSearch = { + savedObjectType: this.savedObjectType, + toItemResult: (ctx: StorageContext, savedObject: SavedObjectsFindResult): Types['Item'] => { + const transforms = ctx.utils.getTransforms(this.cmServicesDefinition); + + // Validate DB response and DOWN transform to the request version + const { value, error: resultError } = transforms.mSearch.out.result.down< + Types['Item'], + Types['Item'] + >( + savedObjectToItem( + savedObject as SavedObjectsFindResult, + this.allowedSavedObjectAttributes, + false + ) + ); + + if (resultError) { + throw Boom.badRequest(`Invalid response. ${resultError.message}`); + } + + return value; + }, + }; + } + } + + private savedObjectType: SOContentStorageConstrutorParams['savedObjectType']; + private cmServicesDefinition: SOContentStorageConstrutorParams['cmServicesDefinition']; + private createArgsToSoCreateOptions: CreateArgsToSoCreateOptions; + private updateArgsToSoUpdateOptions: UpdateArgsToSoUpdateOptions; + private searchArgsToSOFindOptions: SearchArgsToSOFindOptions; + private allowedSavedObjectAttributes: string[]; + + mSearch?: { + savedObjectType: string; + toItemResult: (ctx: StorageContext, savedObject: SavedObjectsFindResult) => Types['Item']; + }; + + async get(ctx: StorageContext, id: string): Promise { + const transforms = ctx.utils.getTransforms(this.cmServicesDefinition); + const soClient = await savedObjectClientFromRequest(ctx); + + // Save data in DB + const { + saved_object: savedObject, + alias_purpose: aliasPurpose, + alias_target_id: aliasTargetId, + outcome, + } = await soClient.resolve(this.savedObjectType, id); + + const response: Types['GetOut'] = { + item: savedObjectToItem(savedObject, this.allowedSavedObjectAttributes, false), + meta: { + aliasPurpose, + aliasTargetId, + outcome, + }, + }; + + // Validate DB response and DOWN transform to the request version + const { value, error: resultError } = transforms.get.out.result.down< + Types['GetOut'], + Types['GetOut'] + >(response); + + if (resultError) { + throw Boom.badRequest(`Invalid response. ${resultError.message}`); + } + + return value; + } + + async bulkGet(): Promise { + // Not implemented + throw new Error(`[bulkGet] has not been implemented. See ${this.constructor.name} class.`); + } + + async create( + ctx: StorageContext, + data: Types['Attributes'], + options: Types['CreateOptions'] + ): Promise { + const transforms = ctx.utils.getTransforms(this.cmServicesDefinition); + const soClient = await savedObjectClientFromRequest(ctx); + + // Validate input (data & options) & UP transform them to the latest version + const { value: dataToLatest, error: dataError } = transforms.create.in.data.up< + Types['Attributes'], + Types['Attributes'] + >(data); + if (dataError) { + throw Boom.badRequest(`Invalid data. ${dataError.message}`); + } + + const { value: optionsToLatest, error: optionsError } = transforms.create.in.options.up< + Types['CreateOptions'], + Types['CreateOptions'] + >(options); + if (optionsError) { + throw Boom.badRequest(`Invalid options. ${optionsError.message}`); + } + + const createOptions = this.createArgsToSoCreateOptions(optionsToLatest); + + // Save data in DB + const savedObject = await soClient.create( + this.savedObjectType, + dataToLatest, + createOptions + ); + + // Validate DB response and DOWN transform to the request version + const { value, error: resultError } = transforms.create.out.result.down< + Types['CreateOut'], + Types['CreateOut'] + >({ + item: savedObjectToItem(savedObject, this.allowedSavedObjectAttributes, false), + }); + + if (resultError) { + throw Boom.badRequest(`Invalid response. ${resultError.message}`); + } + + return value; + } + + async update( + ctx: StorageContext, + id: string, + data: Types['Attributes'], + options: Types['UpdateOptions'] + ): Promise { + const transforms = ctx.utils.getTransforms(this.cmServicesDefinition); + const soClient = await savedObjectClientFromRequest(ctx); + + // Validate input (data & options) & UP transform them to the latest version + const { value: dataToLatest, error: dataError } = transforms.update.in.data.up< + Types['Attributes'], + Types['Attributes'] + >(data); + if (dataError) { + throw Boom.badRequest(`Invalid data. ${dataError.message}`); + } + + const { value: optionsToLatest, error: optionsError } = transforms.update.in.options.up< + Types['CreateOptions'], + Types['CreateOptions'] + >(options); + if (optionsError) { + throw Boom.badRequest(`Invalid options. ${optionsError.message}`); + } + + const updateOptions = this.updateArgsToSoUpdateOptions(optionsToLatest); + + // Save data in DB + const partialSavedObject = await soClient.update( + this.savedObjectType, + id, + dataToLatest, + updateOptions + ); + + // Validate DB response and DOWN transform to the request version + const { value, error: resultError } = transforms.update.out.result.down< + Types['UpdateOut'], + Types['UpdateOut'] + >({ + item: savedObjectToItem(partialSavedObject, this.allowedSavedObjectAttributes, true), + }); + + if (resultError) { + throw Boom.badRequest(`Invalid response. ${resultError.message}`); + } + + return value; + } + + async delete( + ctx: StorageContext, + id: string, + // force is necessary to delete saved objects that exist in multiple namespaces + options?: { force: boolean } + ): Promise { + const soClient = await savedObjectClientFromRequest(ctx); + await soClient.delete(this.savedObjectType, id, { force: options?.force ?? false }); + return { success: true }; + } + + async search( + ctx: StorageContext, + query: SearchQuery, + options: Types['SearchOptions'] = {} + ): Promise { + const transforms = ctx.utils.getTransforms(this.cmServicesDefinition); + const soClient = await savedObjectClientFromRequest(ctx); + + // Validate and UP transform the options + const { value: optionsToLatest, error: optionsError } = transforms.search.in.options.up< + Types['SearchOptions'], + Types['SearchOptions'] + >(options); + if (optionsError) { + throw Boom.badRequest(`Invalid payload. ${optionsError.message}`); + } + + const soQuery: SavedObjectsFindOptions = this.searchArgsToSOFindOptions({ + contentTypeId: this.savedObjectType, + query, + options: optionsToLatest, + }); + // Execute the query in the DB + const response = await soClient.find(soQuery); + + // Validate the response and DOWN transform to the request version + const { value, error: resultError } = transforms.search.out.result.down< + Types['SearchOut'], + Types['SearchOut'] + >({ + hits: response.saved_objects.map((so) => + savedObjectToItem(so, this.allowedSavedObjectAttributes, false) + ), + pagination: { + total: response.total, + }, + }); + + if (resultError) { + throw Boom.badRequest(`Invalid response. ${resultError.message}`); + } + + return value; + } +} diff --git a/packages/kbn-content-management-utils/src/types.ts b/packages/kbn-content-management-utils/src/types.ts index 1f15c69947f63..ad9f805bc0998 100644 --- a/packages/kbn-content-management-utils/src/types.ts +++ b/packages/kbn-content-management-utils/src/types.ts @@ -20,6 +20,15 @@ import type { } from '@kbn/content-management-plugin/common'; import type { + ContentManagementServicesDefinition as ServicesDefinition, + Version, +} from '@kbn/object-versioning'; + +export interface ServicesDefinitionSet { + [version: Version]: ServicesDefinition; +} + +import { SortOrder, AggregationsAggregationContainer, SortResults, @@ -167,7 +176,7 @@ export interface SavedObjectUpdateOptions { } /** Return value for Saved Object get, T is item returned */ -export type GetResultSO = GetResult< +export type GetResultSO = GetResult< T, { outcome: 'exactMatch' | 'aliasMatch' | 'conflict'; @@ -179,7 +188,7 @@ export type GetResultSO = GetResult< /** * Saved object with metadata */ -export interface SOWithMetadata { +export interface SOWithMetadata { id: string; type: string; version?: string; @@ -197,7 +206,7 @@ export interface SOWithMetadata { originId?: string; } -type PartialItem = Omit< +export type SOWithMetadataPartial = Omit< SOWithMetadata, 'attributes' | 'references' > & { @@ -205,6 +214,77 @@ type PartialItem = Omit< references: Reference[] | undefined; }; +export interface CMCrudTypes { + /** + * Saved object attributes + */ + Attributes: object; + /** + * Complete saved object + */ + Item: SOWithMetadata; + /** + * Partial saved object, used as output for update + */ + PartialItem: SOWithMetadataPartial; + + /** + * Get item params + */ + GetIn: GetIn; + /** + * Get item result + */ + GetOut: GetResultSO; + /** + * Create item params + */ + CreateIn: CreateIn; + /** + * Create item result + */ + CreateOut: CreateResult; + /** + * + */ + CreateOptions: object; + + /** + * Search item params + */ + SearchIn: SearchIn; + /** + * Search item result + */ + SearchOut: SearchResult; + /** + * + */ + SearchOptions: object; + + /** + * Update item params + */ + UpdateIn: UpdateIn; + /** + * Update item result + */ + UpdateOut: UpdateResult; + /** + * + */ + UpdateOptions: object; + + /** + * Delete item params + */ + DeleteIn: DeleteIn; + /** + * Delete item result + */ + DeleteOut: DeleteResult; +} + /** * Types used by content management storage * @argument ContentType - content management type. assumed to be the same as saved object type @@ -217,6 +297,7 @@ export interface ContentManagementCrudTypes< UpdateOptions extends object, SearchOptions extends object > { + Attributes: Attributes; /** * Complete saved object */ @@ -224,7 +305,7 @@ export interface ContentManagementCrudTypes< /** * Partial saved object, used as output for update */ - PartialItem: PartialItem; + PartialItem: SOWithMetadataPartial; /** * Create options */ @@ -270,7 +351,7 @@ export interface ContentManagementCrudTypes< /** * Update item result */ - UpdateOut: UpdateResult>; + UpdateOut: UpdateResult>; /** * Delete item params diff --git a/packages/kbn-content-management-utils/src/utils.ts b/packages/kbn-content-management-utils/src/utils.ts new file mode 100644 index 0000000000000..f7c1a13da67fd --- /dev/null +++ b/packages/kbn-content-management-utils/src/utils.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 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 { SavedObjectsFindOptions } from '@kbn/core-saved-objects-api-server'; + +export const tagsToFindOptions = ({ + included, + excluded, +}: { + included?: string[]; + excluded?: string[]; +} = {}) => { + const hasReference: SavedObjectsFindOptions['hasReference'] = included + ? included.map((id) => ({ + id, + type: 'tag', + })) + : undefined; + + const hasNoReference: SavedObjectsFindOptions['hasNoReference'] = excluded + ? excluded.map((id) => ({ + id, + type: 'tag', + })) + : undefined; + return { hasReference, hasNoReference }; +}; diff --git a/packages/kbn-content-management-utils/tsconfig.json b/packages/kbn-content-management-utils/tsconfig.json index 89a1d2520f322..5a6f68e03a64e 100644 --- a/packages/kbn-content-management-utils/tsconfig.json +++ b/packages/kbn-content-management-utils/tsconfig.json @@ -19,5 +19,7 @@ "@kbn/content-management-plugin", "@kbn/config-schema", "@kbn/core-saved-objects-api-server", + "@kbn/config-schema", + "@kbn/object-versioning", ] } diff --git a/packages/kbn-cypress-config/index.ts b/packages/kbn-cypress-config/index.ts index 58abd54a56f69..6f0c23e580fdd 100644 --- a/packages/kbn-cypress-config/index.ts +++ b/packages/kbn-cypress-config/index.ts @@ -6,6 +6,7 @@ * Side Public License, v 1. */ +import { v4 as uuid } from 'uuid'; import { defineConfig } from 'cypress'; import wp from '@cypress/webpack-preprocessor'; @@ -15,9 +16,12 @@ export function defineCypressConfig(options?: Cypress.ConfigOptions) { e2e: { ...options?.e2e, setupNodeEvents(on, config) { - on( - 'file:preprocessor', - wp({ + on('file:preprocessor', (file) => { + const id = uuid(); + // Fix an issue with running Cypress parallel + file.outputPath = file.outputPath.replace(/^(.*\/)(.*?)(\..*)$/, `$1$2.${id}$3`); + + return wp({ webpackOptions: { resolve: { extensions: ['.ts', '.tsx', '.js'], @@ -39,8 +43,8 @@ export function defineCypressConfig(options?: Cypress.ConfigOptions) { ], }, }, - }) - ); + })(file); + }); const external = options?.e2e?.setupNodeEvents; if (external) { diff --git a/packages/kbn-dev-proc-runner/src/with_proc_runner.ts b/packages/kbn-dev-proc-runner/src/with_proc_runner.ts index 5c9bc8103bc62..3aa0702e17b43 100644 --- a/packages/kbn-dev-proc-runner/src/with_proc_runner.ts +++ b/packages/kbn-dev-proc-runner/src/with_proc_runner.ts @@ -19,9 +19,9 @@ import { ProcRunner } from './proc_runner'; * @param {async Function} fn * @return {Promise} */ -export async function withProcRunner( +export async function withProcRunner( log: ToolingLog, - fn: (procs: ProcRunner) => Promise + fn: (procs: ProcRunner) => Promise ): Promise { const procs = new ProcRunner(log); diff --git a/packages/kbn-doc-links/src/get_doc_links.ts b/packages/kbn-doc-links/src/get_doc_links.ts index 08b1560c16936..4acfea150634b 100644 --- a/packages/kbn-doc-links/src/get_doc_links.ts +++ b/packages/kbn-doc-links/src/get_doc_links.ts @@ -382,7 +382,7 @@ export const getDocLinks = ({ kibanaBranch }: GetDocLinkOptions): DocLinks => { gettingStarted: `${SECURITY_SOLUTION_DOCS}index.html`, privileges: `${SECURITY_SOLUTION_DOCS}sec-requirements.html`, ml: `${SECURITY_SOLUTION_DOCS}machine-learning.html`, - ruleChangeLog: `${SECURITY_SOLUTION_DOCS}prebuilt-rules-changelog.html`, + ruleChangeLog: `${SECURITY_SOLUTION_DOCS}prebuilt-rules-downloadable-updates.html`, detectionsReq: `${SECURITY_SOLUTION_DOCS}detections-permissions-section.html`, networkMap: `${SECURITY_SOLUTION_DOCS}conf-map-ui.html`, troubleshootGaps: `${SECURITY_SOLUTION_DOCS}alerts-ui-monitor.html#troubleshoot-gaps`, @@ -511,6 +511,7 @@ export const getDocLinks = ({ kibanaBranch }: GetDocLinkOptions): DocLinks => { indexAction: `${KIBANA_DOCS}index-action-type.html`, esQuery: `${KIBANA_DOCS}rule-type-es-query.html`, indexThreshold: `${KIBANA_DOCS}rule-type-index-threshold.html`, + maintenanceWindows: `${KIBANA_DOCS}maintenance-windows.html`, pagerDutyAction: `${KIBANA_DOCS}pagerduty-action-type.html`, preconfiguredConnectors: `${KIBANA_DOCS}pre-configured-connectors.html`, preconfiguredAlertHistoryConnector: `${KIBANA_DOCS}index-action-type.html#preconfigured-connector-alert-history`, @@ -766,5 +767,8 @@ export const getDocLinks = ({ kibanaBranch }: GetDocLinkOptions): DocLinks => { synthetics: { featureRoles: `${ELASTIC_WEBSITE_URL}guide/en/observability/${DOC_LINK_VERSION}/synthetics-feature-roles.html`, }, + telemetry: { + settings: `${KIBANA_DOCS}telemetry-settings-kbn.html`, + }, }); }; diff --git a/packages/kbn-doc-links/src/types.ts b/packages/kbn-doc-links/src/types.ts index b1025c0cfdfff..819a6f0f4123b 100644 --- a/packages/kbn-doc-links/src/types.ts +++ b/packages/kbn-doc-links/src/types.ts @@ -393,6 +393,7 @@ export interface DocLinks { indexAction: string; esQuery: string; indexThreshold: string; + maintenanceWindows: string; pagerDutyAction: string; preconfiguredConnectors: string; preconfiguredAlertHistoryConnector: string; @@ -535,4 +536,7 @@ export interface DocLinks { readonly synthetics: { readonly featureRoles: string; }; + readonly telemetry: { + readonly settings: string; + }; } diff --git a/packages/kbn-docs-utils/src/build_api_docs_cli.ts b/packages/kbn-docs-utils/src/build_api_docs_cli.ts index c5db0718927ca..c771ebd743b40 100644 --- a/packages/kbn-docs-utils/src/build_api_docs_cli.ts +++ b/packages/kbn-docs-utils/src/build_api_docs_cli.ts @@ -10,11 +10,14 @@ import Fs from 'fs'; import Fsp from 'fs/promises'; import Path from 'path'; +import apm, { type Transaction } from 'elastic-apm-node'; +import { Project } from 'ts-morph'; + import { run } from '@kbn/dev-cli-runner'; import { createFlagError } from '@kbn/dev-cli-errors'; import { CiStatsReporter } from '@kbn/ci-stats-reporter'; import { REPO_ROOT } from '@kbn/repo-info'; -import { Project } from 'ts-morph'; +import { initApm } from '@kbn/apm-config-loader'; import { writePluginDocs } from './mdx/write_plugin_mdx_docs'; import { ApiDeclaration, ApiStats, PluginMetaInfo } from './types'; @@ -35,9 +38,23 @@ function isStringArray(arr: unknown | string[]): arr is string[] { return Array.isArray(arr) && arr.every((p) => typeof p === 'string'); } +const rootDir = Path.join(__dirname, '../../..'); +initApm(process.argv, rootDir, false, 'build_api_docs_cli'); + +async function endTransactionWithFailure(transaction: Transaction | null) { + if (transaction !== null) { + transaction.setOutcome('failure'); + transaction.end(); + await apm.flush(); + } +} + export function runBuildApiDocsCli() { run( async ({ log, flags }) => { + const transaction = apm.startTransaction('build-api-docs', 'kibana-cli'); + const spanSetup = transaction?.startSpan('build_api_docs.setup', 'setup'); + const collectReferences = flags.references as boolean; const stats = flags.stats && typeof flags.stats === 'string' ? [flags.stats] : flags.stats; const pluginFilter = @@ -46,6 +63,7 @@ export function runBuildApiDocsCli() { : (flags.plugin as string[] | undefined); if (pluginFilter && !isStringArray(pluginFilter)) { + await endTransactionWithFailure(transaction); throw createFlagError('expected --plugin must only contain strings'); } @@ -55,6 +73,7 @@ export function runBuildApiDocsCli() { stats.find((s) => s !== 'any' && s !== 'comments' && s !== 'exports')) || (stats && !isStringArray(stats)) ) { + await endTransactionWithFailure(transaction); throw createFlagError( 'expected --stats must only contain `any`, `comments` and/or `exports`' ); @@ -62,14 +81,45 @@ export function runBuildApiDocsCli() { const outputFolder = Path.resolve(REPO_ROOT, 'api_docs'); + spanSetup?.end(); + const spanInitialDocIds = transaction?.startSpan('build_api_docs.initialDocIds', 'setup'); + const initialDocIds = !pluginFilter && Fs.existsSync(outputFolder) ? await getAllDocFileIds(outputFolder) : undefined; - const project = getTsProject(REPO_ROOT); + spanInitialDocIds?.end(); + const spanPlugins = transaction?.startSpan('build_api_docs.findPlugins', 'setup'); + + const plugins = findPlugins(stats && pluginFilter ? pluginFilter : undefined); + + if (stats && Array.isArray(pluginFilter) && pluginFilter.length !== plugins.length) { + await endTransactionWithFailure(transaction); + throw createFlagError('expected --plugin was not found'); + } + + spanPlugins?.end(); + + const spanPathsByPackage = transaction?.startSpan( + 'build_api_docs.getPathsByPackage', + 'setup' + ); + + const pathsByPlugin = await getPathsByPackage(plugins); + + spanPathsByPackage?.end(); + + const spanProject = transaction?.startSpan('build_api_docs.getTsProject', 'setup'); + + const project = getTsProject( + REPO_ROOT, + stats && pluginFilter && plugins.length === 1 ? plugins[0].directory : undefined + ); - const plugins = findPlugins(); + spanProject?.end(); + + const spanFolders = transaction?.startSpan('build_api_docs.check-folders', 'setup'); // if the output folder already exists, and we don't have a plugin filter, delete all the files in the output folder if (Fs.existsSync(outputFolder) && !pluginFilter) { @@ -81,6 +131,9 @@ export function runBuildApiDocsCli() { await Fsp.mkdir(outputFolder, { recursive: true }); } + spanFolders?.end(); + const spanPluginApiMap = transaction?.startSpan('build_api_docs.getPluginApiMap', 'setup'); + const { pluginApiMap, missingApiItems, @@ -89,12 +142,23 @@ export function runBuildApiDocsCli() { adoptionTrackedAPIs, } = getPluginApiMap(project, plugins, log, { collectReferences, pluginFilter }); + spanPluginApiMap?.end(); + const reporter = CiStatsReporter.fromEnv(log); - const pathsByPlugin = await getPathsByPackage(plugins); const allPluginStats: { [key: string]: PluginMetaInfo & ApiStats & EslintDisableCounts } = {}; for (const plugin of plugins) { const id = plugin.id; + + if (stats && pluginFilter && !pluginFilter.includes(plugin.id)) { + continue; + } + + const spanApiStatsForPlugin = transaction?.startSpan( + `build_api_docs.collectApiStatsForPlugin-${id}`, + 'stats' + ); + const pluginApi = pluginApiMap[id]; const paths = pathsByPlugin.get(plugin) ?? []; @@ -110,9 +174,20 @@ export function runBuildApiDocsCli() { description: plugin.manifest.description, isPlugin: plugin.isPlugin, }; + + spanApiStatsForPlugin?.end(); } - await writePluginDirectoryDoc(outputFolder, pluginApiMap, allPluginStats, log); + if (!stats) { + const spanWritePluginDirectoryDoc = transaction?.startSpan( + 'build_api_docs.writePluginDirectoryDoc', + 'write' + ); + + await writePluginDirectoryDoc(outputFolder, pluginApiMap, allPluginStats, log); + + spanWritePluginDirectoryDoc?.end(); + } for (const plugin of plugins) { // Note that the filtering is done here, and not above because the entire public plugin API has to @@ -127,6 +202,11 @@ export function runBuildApiDocsCli() { const pluginStats = allPluginStats[id]; const pluginTeam = plugin.manifest.owner.name; + const spanMetrics = transaction?.startSpan( + `build_api_docs.collectApiStatsForPlugin-${id}`, + 'stats' + ); + reporter.metrics([ { id, @@ -283,20 +363,56 @@ export function runBuildApiDocsCli() { } } - if (pluginStats.apiCount > 0) { - log.info(`Writing public API doc for plugin ${pluginApi.id}.`); - await writePluginDocs(outputFolder, { doc: pluginApi, plugin, pluginStats, log }); - } else { - log.info(`Plugin ${pluginApi.id} has no public API.`); + spanMetrics?.end(); + + if (!stats) { + if (pluginStats.apiCount > 0) { + log.info(`Writing public API doc for plugin ${pluginApi.id}.`); + + const spanWritePluginDocs = transaction?.startSpan( + 'build_api_docs.writePluginDocs', + 'write' + ); + + await writePluginDocs(outputFolder, { doc: pluginApi, plugin, pluginStats, log }); + + spanWritePluginDocs?.end(); + } else { + log.info(`Plugin ${pluginApi.id} has no public API.`); + } + + const spanWriteDeprecationDocByPlugin = transaction?.startSpan( + 'build_api_docs.writeDeprecationDocByPlugin', + 'write' + ); + + await writeDeprecationDocByPlugin(outputFolder, referencedDeprecations, log); + + spanWriteDeprecationDocByPlugin?.end(); + + const spanWriteDeprecationDueByTeam = transaction?.startSpan( + 'build_api_docs.writeDeprecationDueByTeam', + 'write' + ); + + await writeDeprecationDueByTeam(outputFolder, referencedDeprecations, plugins, log); + + spanWriteDeprecationDueByTeam?.end(); + + const spanWriteDeprecationDocByApi = transaction?.startSpan( + 'build_api_docs.writeDeprecationDocByApi', + 'write' + ); + + await writeDeprecationDocByApi( + outputFolder, + referencedDeprecations, + unreferencedDeprecations, + log + ); + + spanWriteDeprecationDocByApi?.end(); } - await writeDeprecationDocByPlugin(outputFolder, referencedDeprecations, log); - await writeDeprecationDueByTeam(outputFolder, referencedDeprecations, plugins, log); - await writeDeprecationDocByApi( - outputFolder, - referencedDeprecations, - unreferencedDeprecations, - log - ); } if (Object.values(pathsOutsideScopes).length > 0) { @@ -307,6 +423,8 @@ export function runBuildApiDocsCli() { if (initialDocIds) { await trimDeletedDocsFromNav(log, initialDocIds, outputFolder); } + + transaction?.end(); }, { log: { @@ -316,26 +434,36 @@ export function runBuildApiDocsCli() { string: ['plugin', 'stats'], boolean: ['references'], help: ` - --plugin Optionally, run for only a specific plugin - --stats Optionally print API stats. Must be one or more of: any, comments or exports. - --references Collect references for API items + --plugin Optionally, run for only a specific plugin + --stats Optionally print API stats. Must be one or more of: any, comments or exports. + In combination with a single plugin filter this option will skip writing any + API docs as a tradeoff to just produce the stats output more quickly. + --references Collect references for API items `, }, } ); } -function getTsProject(repoPath: string) { - const xpackTsConfig = `${repoPath}/tsconfig.json`; +function getTsProject(repoPath: string, overridePath?: string) { + const xpackTsConfig = !overridePath + ? `${repoPath}/tsconfig.json` + : `${overridePath}/tsconfig.json`; + const project = new Project({ tsConfigFilePath: xpackTsConfig, // We'll use the files added below instead. skipAddingFilesFromTsConfig: true, }); - project.addSourceFilesAtPaths([`${repoPath}/x-pack/plugins/**/*.ts`, '!**/*.d.ts']); - project.addSourceFilesAtPaths([`${repoPath}/x-pack/packages/**/*.ts`, '!**/*.d.ts']); - project.addSourceFilesAtPaths([`${repoPath}/src/plugins/**/*.ts`, '!**/*.d.ts']); - project.addSourceFilesAtPaths([`${repoPath}/packages/**/*.ts`, '!**/*.d.ts']); + + if (!overridePath) { + project.addSourceFilesAtPaths([`${repoPath}/x-pack/plugins/**/*.ts`, '!**/*.d.ts']); + project.addSourceFilesAtPaths([`${repoPath}/x-pack/packages/**/*.ts`, '!**/*.d.ts']); + project.addSourceFilesAtPaths([`${repoPath}/src/plugins/**/*.ts`, '!**/*.d.ts']); + project.addSourceFilesAtPaths([`${repoPath}/packages/**/*.ts`, '!**/*.d.ts']); + } else { + project.addSourceFilesAtPaths([`${overridePath}/**/*.ts`, '!**/*.d.ts']); + } project.resolveSourceFileDependencies(); return project; } diff --git a/packages/kbn-docs-utils/src/find_plugins.ts b/packages/kbn-docs-utils/src/find_plugins.ts index 30a63b55172e1..c77816ba3b6c8 100644 --- a/packages/kbn-docs-utils/src/find_plugins.ts +++ b/packages/kbn-docs-utils/src/find_plugins.ts @@ -52,7 +52,7 @@ function toPluginOrPackage(pkg: Package): PluginOrPackage { }; } -export function findPlugins(): PluginOrPackage[] { +export function findPlugins(pluginOrPackageFilter?: string[]): PluginOrPackage[] { const packages = getPackages(REPO_ROOT); const plugins = packages.filter( getPluginPackagesFilter({ @@ -66,14 +66,30 @@ export function findPlugins(): PluginOrPackage[] { throw new Error('unable to find @kbn/core'); } - return [...[core, ...plugins].map(toPluginOrPackage), ...findPackages()]; + if (!pluginOrPackageFilter) { + return [...[core, ...plugins].map(toPluginOrPackage), ...findPackages()]; + } else { + return [ + ...plugins + .filter((p) => pluginOrPackageFilter.includes(p.manifest.plugin.id)) + .map(toPluginOrPackage), + ...findPackages(pluginOrPackageFilter), + ]; + } } /** * Helper to find packages. */ -export function findPackages(): PluginOrPackage[] { +export function findPackages(packageFilter?: string[]): PluginOrPackage[] { return getPackages(REPO_ROOT) .filter((p) => !p.isPlugin()) + .filter((p) => { + if (!Array.isArray(packageFilter)) { + return true; + } else { + return packageFilter.includes(p.manifest.id); + } + }) .map(toPluginOrPackage); } diff --git a/packages/kbn-docs-utils/tsconfig.json b/packages/kbn-docs-utils/tsconfig.json index fa23110abcb1f..9116acc8dcbc5 100644 --- a/packages/kbn-docs-utils/tsconfig.json +++ b/packages/kbn-docs-utils/tsconfig.json @@ -23,5 +23,6 @@ "@kbn/std", "@kbn/get-repo-files", "@kbn/repo-packages", + "@kbn/apm-config-loader", ] } diff --git a/packages/kbn-es-archiver/kibana.jsonc b/packages/kbn-es-archiver/kibana.jsonc index d8cc353c56356..1bf6c53d4bb54 100644 --- a/packages/kbn-es-archiver/kibana.jsonc +++ b/packages/kbn-es-archiver/kibana.jsonc @@ -2,5 +2,5 @@ "type": "shared-common", "id": "@kbn/es-archiver", "devOnly": true, - "owner": "@elastic/kibana-operations" + "owner": ["@elastic/kibana-operations", "@elastic/appex-qa"], } diff --git a/packages/kbn-expect/kibana.jsonc b/packages/kbn-expect/kibana.jsonc index 86eae76001f8c..6f2732af83e64 100644 --- a/packages/kbn-expect/kibana.jsonc +++ b/packages/kbn-expect/kibana.jsonc @@ -2,5 +2,5 @@ "type": "shared-common", "id": "@kbn/expect", "devOnly": true, - "owner": "@elastic/kibana-operations" + "owner": ["@elastic/kibana-operations", "@elastic/appex-qa"], } diff --git a/packages/kbn-failed-test-reporter-cli/kibana.jsonc b/packages/kbn-failed-test-reporter-cli/kibana.jsonc index 9dbfec546ed11..f35af8544fefc 100644 --- a/packages/kbn-failed-test-reporter-cli/kibana.jsonc +++ b/packages/kbn-failed-test-reporter-cli/kibana.jsonc @@ -1,6 +1,6 @@ { "type": "shared-common", "id": "@kbn/failed-test-reporter-cli", - "owner": "@elastic/kibana-operations", + "owner": ["@elastic/kibana-operations", "@elastic/appex-qa"], "devOnly": true } diff --git a/packages/kbn-ftr-common-functional-services/kibana.jsonc b/packages/kbn-ftr-common-functional-services/kibana.jsonc index c8f706e5acf38..68f45c75c6a80 100644 --- a/packages/kbn-ftr-common-functional-services/kibana.jsonc +++ b/packages/kbn-ftr-common-functional-services/kibana.jsonc @@ -1,6 +1,6 @@ { "type": "shared-common", "id": "@kbn/ftr-common-functional-services", - "owner": "@elastic/kibana-operations", + "owner": ["@elastic/kibana-operations", "@elastic/appex-qa"], "devOnly": true } diff --git a/packages/kbn-ftr-screenshot-filename/kibana.jsonc b/packages/kbn-ftr-screenshot-filename/kibana.jsonc index 5429602d9c0ed..c4d6004ed83db 100644 --- a/packages/kbn-ftr-screenshot-filename/kibana.jsonc +++ b/packages/kbn-ftr-screenshot-filename/kibana.jsonc @@ -1,6 +1,6 @@ { "type": "shared-common", "id": "@kbn/ftr-screenshot-filename", - "owner": "@elastic/kibana-operations", + "owner": ["@elastic/kibana-operations", "@elastic/appex-qa"], "devOnly": true } diff --git a/packages/kbn-io-ts-utils/index.ts b/packages/kbn-io-ts-utils/index.ts index e8e6da2e7b59e..5774fe29ce2e3 100644 --- a/packages/kbn-io-ts-utils/index.ts +++ b/packages/kbn-io-ts-utils/index.ts @@ -21,10 +21,12 @@ export { toJsonSchema } from './src/to_json_schema'; export { nonEmptyStringRt } from './src/non_empty_string_rt'; export { createLiteralValueFromUndefinedRT } from './src/literal_value_from_undefined_rt'; export { createRouteValidationFunction } from './src/route_validation'; -export { inRangeRt, type InRangeBrand, type InRange } from './src/in_range_rt'; +export { inRangeRt, type InRangeBrand, type InRange, inRangeFromStringRt } from './src/in_range_rt'; export { dateRt } from './src/date_rt'; export { isGreaterOrEqualRt, type IsGreaterOrEqualBrand, type IsGreaterOrEqual, } from './src/is_greater_or_equal'; + +export { datemathStringRt } from './src/datemath_string_rt'; diff --git a/packages/kbn-io-ts-utils/src/date_rt/index.test.ts b/packages/kbn-io-ts-utils/src/date_rt/index.test.ts index 088caf133e62c..f4b9f6843266b 100644 --- a/packages/kbn-io-ts-utils/src/date_rt/index.test.ts +++ b/packages/kbn-io-ts-utils/src/date_rt/index.test.ts @@ -10,15 +10,15 @@ import { dateRt } from '.'; import { isRight } from 'fp-ts/lib/Either'; describe('dateRt', () => { - it('passes if it is a valide date/time', () => { + it('passes if it is a valid date/time', () => { expect(isRight(dateRt.decode('2019-08-20T11:18:31.407Z'))).toBe(true); }); - it('passes if it is a valide date', () => { + it('passes if it is a valid date', () => { expect(isRight(dateRt.decode('2019-08-20'))).toBe(true); }); - it('fails if it is an invalide date/time', () => { + it('fails if it is an invalid date/time', () => { expect(isRight(dateRt.decode('2019-02-30T11:18:31.407Z'))).toBe(false); }); }); diff --git a/packages/kbn-io-ts-utils/src/datemath_string_rt/index.test.ts b/packages/kbn-io-ts-utils/src/datemath_string_rt/index.test.ts new file mode 100644 index 0000000000000..05ca58db386bc --- /dev/null +++ b/packages/kbn-io-ts-utils/src/datemath_string_rt/index.test.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 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 { datemathStringRt } from '.'; +import { isRight } from 'fp-ts/lib/Either'; + +describe('datemathStringRt', () => { + it('passes if it is a valid dateMath', () => { + expect(isRight(datemathStringRt.decode('now'))).toBe(true); + }); + + it('fails if it is an invalid dateMath', () => { + expect(isRight(datemathStringRt.decode('now-1l'))).toBe(false); + }); + + it('fails if it is a ISO date', () => { + expect(isRight(datemathStringRt.decode('2019-02-30T11:18:31.407Z'))).toBe(false); + }); + + it('fails if it is a letter', () => { + expect(isRight(datemathStringRt.decode('a'))).toBe(false); + }); +}); diff --git a/packages/kbn-io-ts-utils/src/datemath_string_rt/index.ts b/packages/kbn-io-ts-utils/src/datemath_string_rt/index.ts new file mode 100644 index 0000000000000..a52ae68af1acc --- /dev/null +++ b/packages/kbn-io-ts-utils/src/datemath_string_rt/index.ts @@ -0,0 +1,29 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 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 * as rt from 'io-ts'; +import dateMath from '@kbn/datemath'; +import { chain } from 'fp-ts/lib/Either'; +import { pipe } from 'fp-ts/lib/pipeable'; + +const isValidDatemath = (value: string): boolean => { + const parsedValue = dateMath.parse(value); + return !!(parsedValue && parsedValue.isValid()); +}; + +export const datemathStringRt = new rt.Type( + 'datemath', + rt.string.is, + (value, context) => + pipe( + rt.string.validate(value, context), + chain((stringValue) => + isValidDatemath(stringValue) ? rt.success(stringValue) : rt.failure(stringValue, context) + ) + ), + String +); diff --git a/packages/kbn-io-ts-utils/src/in_range_rt/index.ts b/packages/kbn-io-ts-utils/src/in_range_rt/index.ts index ae3da3d7d2d69..b632173cb69d9 100644 --- a/packages/kbn-io-ts-utils/src/in_range_rt/index.ts +++ b/packages/kbn-io-ts-utils/src/in_range_rt/index.ts @@ -7,6 +7,7 @@ */ import * as rt from 'io-ts'; +import { toNumberRt } from '../to_number_rt'; export interface InRangeBrand { readonly InRange: unique symbol; @@ -21,3 +22,7 @@ export const inRangeRt = (start: number, end: number) => // refinement of the number type 'InRange' // name of this codec ); + +export const inRangeFromStringRt = (start: number, end: number) => { + return toNumberRt.pipe(inRangeRt(start, end)); +}; diff --git a/packages/kbn-io-ts-utils/tsconfig.json b/packages/kbn-io-ts-utils/tsconfig.json index e44c93a0c24b0..5145b1ee2a7f4 100644 --- a/packages/kbn-io-ts-utils/tsconfig.json +++ b/packages/kbn-io-ts-utils/tsconfig.json @@ -12,7 +12,8 @@ ], "kbn_references": [ "@kbn/config-schema", - "@kbn/core" + "@kbn/core", + "@kbn/datemath" ], "exclude": [ "target/**/*", diff --git a/packages/kbn-journeys/kibana.jsonc b/packages/kbn-journeys/kibana.jsonc index f27a7c228cb41..b90e3b548d1ef 100644 --- a/packages/kbn-journeys/kibana.jsonc +++ b/packages/kbn-journeys/kibana.jsonc @@ -1,6 +1,6 @@ { "type": "shared-common", "id": "@kbn/journeys", - "owner": "@elastic/kibana-operations", + "owner": ["@elastic/kibana-operations", "@elastic/appex-qa"], "devOnly": true } diff --git a/packages/kbn-mapbox-gl/index.ts b/packages/kbn-mapbox-gl/index.ts index 815dbe0b604d7..4fb155a6bd2d2 100644 --- a/packages/kbn-mapbox-gl/index.ts +++ b/packages/kbn-mapbox-gl/index.ts @@ -13,6 +13,7 @@ import type { GeoJSONSource, VectorTileSource, RasterTileSource, + SourceSpecification, StyleSpecification, MapEvent, MapOptions, @@ -45,6 +46,7 @@ export { maplibregl }; export type { Map, LayerSpecification, + SourceSpecification, StyleSpecification, Source, GeoJSONSource, diff --git a/packages/kbn-optimizer/limits.yml b/packages/kbn-optimizer/limits.yml index 7896616cf76c4..72868014f0c2d 100644 --- a/packages/kbn-optimizer/limits.yml +++ b/packages/kbn-optimizer/limits.yml @@ -7,7 +7,7 @@ pageLoadAssetSize: banners: 17946 bfetch: 22837 canvas: 1066647 - cases: 175000 + cases: 180000 charts: 55000 cloud: 21076 cloudChat: 19894 @@ -38,8 +38,9 @@ pageLoadAssetSize: embeddable: 87309 embeddableEnhanced: 22107 enterpriseSearch: 35741 + essSecurity: 16573 esUiShared: 326654 - eventAnnotation: 20500 + eventAnnotation: 22000 exploratoryView: 74673 expressionError: 22127 expressionGauge: 25000 @@ -117,8 +118,8 @@ pageLoadAssetSize: securitySolution: 66738 serverless: 16573 serverlessObservability: 30000 - serverlessSearch: 25600 - serverlessSecurity: 41807 + serverlessSearch: 45934 + serverlessSecurity: 66019 sessionView: 77750 share: 71239 snapshotRestore: 79032 @@ -128,6 +129,7 @@ pageLoadAssetSize: synthetics: 40958 telemetry: 51957 telemetryManagementSection: 38586 + textBasedLanguages: 37000 threatIntelligence: 44299 timelines: 327300 transform: 41007 diff --git a/packages/kbn-repo-info/types.ts b/packages/kbn-repo-info/types.ts index 21aab323e57c1..ee8d79698ad86 100644 --- a/packages/kbn-repo-info/types.ts +++ b/packages/kbn-repo-info/types.ts @@ -14,6 +14,7 @@ export interface KibanaPackageJson { number: number; sha: string; distributable?: boolean; + date: string; }; dependencies: { [dep: string]: string; diff --git a/packages/kbn-repo-packages/modern/get_git_repo_root.js b/packages/kbn-repo-packages/modern/get_git_repo_root.js index b365b6b8870c9..344bf0e74296f 100644 --- a/packages/kbn-repo-packages/modern/get_git_repo_root.js +++ b/packages/kbn-repo-packages/modern/get_git_repo_root.js @@ -26,6 +26,7 @@ function getGitRepoRootSync(repoRoot) { cwd: repoRoot, encoding: 'utf8', maxBuffer: Infinity, + stdio: 'pipe', }); const firstLine = stdout.split('\n')[0]; diff --git a/packages/kbn-securitysolution-autocomplete/src/field/__tests__/__snapshots__/index.test.tsx.snap b/packages/kbn-securitysolution-autocomplete/src/field/__tests__/__snapshots__/index.test.tsx.snap index d70949aaf3641..daa0fc69771ef 100644 --- a/packages/kbn-securitysolution-autocomplete/src/field/__tests__/__snapshots__/index.test.tsx.snap +++ b/packages/kbn-securitysolution-autocomplete/src/field/__tests__/__snapshots__/index.test.tsx.snap @@ -251,24 +251,6 @@ Object { />
    -
    - -
    @@ -316,24 +298,6 @@ Object { />
    -
    - -
    @@ -629,20 +593,6 @@ Object { class="euiLoadingSpinner emotion-euiLoadingSpinner-m" role="progressbar" /> - @@ -699,20 +649,6 @@ Object { class="euiLoadingSpinner emotion-euiLoadingSpinner-m" role="progressbar" /> - diff --git a/packages/kbn-securitysolution-grouping/src/components/grouping.tsx b/packages/kbn-securitysolution-grouping/src/components/grouping.tsx index ca5a4e2f50e9b..aab42a0804e4c 100644 --- a/packages/kbn-securitysolution-grouping/src/components/grouping.tsx +++ b/packages/kbn-securitysolution-grouping/src/components/grouping.tsx @@ -101,7 +101,7 @@ const GroupingComponent = ({ : undefined; return ( - + ({ )} {groupCount > 0 ? ( - <> + {groupPanels} {groupCount > 0 && ( <> @@ -246,7 +246,7 @@ const GroupingComponent = ({ /> )} - + ) : ( )} diff --git a/packages/kbn-securitysolution-grouping/src/containers/query/types.ts b/packages/kbn-securitysolution-grouping/src/containers/query/types.ts index 095bf90ea01e8..b208aef1e840b 100644 --- a/packages/kbn-securitysolution-grouping/src/containers/query/types.ts +++ b/packages/kbn-securitysolution-grouping/src/containers/query/types.ts @@ -11,9 +11,14 @@ import type { MappingRuntimeField, MappingRuntimeFields, } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; +import type { RuntimeFieldSpec, RuntimePrimitiveTypes } from '@kbn/data-views-plugin/common'; import type { BoolQuery } from '@kbn/es-query'; import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; +type RunTimeMappings = + | Record & { type: RuntimePrimitiveTypes }> + | undefined; + interface BoolAgg { bool: BoolQuery; } @@ -29,7 +34,7 @@ export interface GroupingQueryArgs { from: string; groupByField: string; rootAggregations?: NamedAggregation[]; - runtimeMappings?: MappingRuntimeFields; + runtimeMappings?: RunTimeMappings; additionalAggregationsRoot?: NamedAggregation[]; pageNumber?: number; uniqueValue: string; diff --git a/packages/kbn-securitysolution-grouping/src/hooks/use_get_group_selector.test.tsx b/packages/kbn-securitysolution-grouping/src/hooks/use_get_group_selector.test.tsx index d741e7d15e670..36fe9badac55d 100644 --- a/packages/kbn-securitysolution-grouping/src/hooks/use_get_group_selector.test.tsx +++ b/packages/kbn-securitysolution-grouping/src/hooks/use_get_group_selector.test.tsx @@ -7,7 +7,7 @@ */ import { act, renderHook } from '@testing-library/react-hooks'; -import { useGetGroupSelector } from './use_get_group_selector'; +import { useGetGroupSelector, useGetGroupSelectorStateless } from './use_get_group_selector'; import { initialState } from './state'; import { ActionType, defaultGroup } from '..'; import { METRIC_TYPE } from '@kbn/analytics'; @@ -20,255 +20,302 @@ const defaultGroupingOptions = [ ]; const groupingId = 'test-table'; const dispatch = jest.fn(); -const defaultArgs = { +const onGroupChange = jest.fn(); +const statelessArgs = { defaultGroupingOptions, - dispatch, - fields: [], groupingId, + fields: [], + onGroupChange, + maxGroupingLevels: 3, +}; +const defaultArgs = { + ...statelessArgs, + dispatch, groupingState: initialState, tracker: jest.fn(), - onGroupChange: jest.fn(), }; const customField = 'custom.field'; -describe('useGetGroupSelector', () => { + +describe('Group Selector Hooks', () => { beforeEach(() => { jest.clearAllMocks(); }); + describe('useGetGroupSelector', () => { + beforeEach(() => { + jest.clearAllMocks(); + }); - it('Initializes a group with options', () => { - renderHook(() => useGetGroupSelector(defaultArgs)); + it('Initializes a group with options', () => { + renderHook(() => useGetGroupSelector(defaultArgs)); - expect(dispatch).toHaveBeenCalledWith({ - payload: { - id: groupingId, - newOptionList: defaultGroupingOptions, - }, - type: ActionType.updateGroupOptions, + expect(dispatch).toHaveBeenCalledWith({ + payload: { + id: groupingId, + newOptionList: defaultGroupingOptions, + }, + type: ActionType.updateGroupOptions, + }); }); - }); - it('Initializes a group with custom selected group', () => { - renderHook(() => - useGetGroupSelector({ - ...defaultArgs, - groupingState: { - groupById: { [groupingId]: { ...defaultGroup, activeGroups: [customField] } }, + it('Initializes a group with custom selected group', () => { + renderHook(() => + useGetGroupSelector({ + ...defaultArgs, + groupingState: { + groupById: { [groupingId]: { ...defaultGroup, activeGroups: [customField] } }, + }, + }) + ); + + expect(dispatch).toHaveBeenCalledWith({ + payload: { + id: groupingId, + newOptionList: [ + ...defaultGroupingOptions, + { + key: customField, + label: customField, + }, + ], }, - }) - ); + type: ActionType.updateGroupOptions, + }); + }); - expect(dispatch).toHaveBeenCalledWith({ - payload: { - id: groupingId, - newOptionList: [ - ...defaultGroupingOptions, - { - key: customField, - label: customField, + it('Passes custom options to the onOptionsChange callback when it is provided', () => { + const onOptionsChange = jest.fn(); + renderHook(() => + useGetGroupSelector({ + ...defaultArgs, + groupingState: { + groupById: { [groupingId]: { ...defaultGroup, activeGroups: [customField] } }, }, - ], - }, - type: ActionType.updateGroupOptions, - }); - }); + onOptionsChange, + }) + ); - it('On group change, removes selected group if already selected', () => { - const testGroup = { - [groupingId]: { - ...defaultGroup, - options: defaultGroupingOptions, - activeGroups: ['host.name'], - }, - }; - const { result } = renderHook((props) => useGetGroupSelector(props), { - initialProps: { - ...defaultArgs, - groupingState: { - groupById: testGroup, + expect(onOptionsChange).toHaveBeenCalledWith([ + ...defaultGroupingOptions, + { + key: customField, + label: customField, }, - }, + ]); }); - act(() => result.current.props.onGroupChange('host.name')); - expect(dispatch).toHaveBeenCalledWith({ - payload: { - id: groupingId, - activeGroups: ['none'], - }, - type: ActionType.updateActiveGroups, - }); - }); + it('On group change, removes selected group if already selected', () => { + const testGroup = { + [groupingId]: { + ...defaultGroup, + options: defaultGroupingOptions, + activeGroups: ['host.name'], + }, + }; + const { result } = renderHook((props) => useGetGroupSelector(props), { + initialProps: { + ...defaultArgs, + groupingState: { + groupById: testGroup, + }, + }, + }); + act(() => result.current.props.onGroupChange('host.name')); - it('On group change to none, remove all previously selected groups', () => { - const testGroup = { - [groupingId]: { - ...defaultGroup, - options: defaultGroupingOptions, - activeGroups: ['host.name', 'user.name'], - }, - }; - const { result } = renderHook((props) => useGetGroupSelector(props), { - initialProps: { - ...defaultArgs, - groupingState: { - groupById: testGroup, + expect(dispatch).toHaveBeenCalledWith({ + payload: { + id: groupingId, + activeGroups: ['none'], }, - }, + type: ActionType.updateActiveGroups, + }); }); - act(() => result.current.props.onGroupChange('none')); - expect(dispatch).toHaveBeenCalledWith({ - payload: { - id: groupingId, - activeGroups: ['none'], - }, - type: ActionType.updateActiveGroups, - }); - }); + it('On group change to none, remove all previously selected groups', () => { + const testGroup = { + [groupingId]: { + ...defaultGroup, + options: defaultGroupingOptions, + activeGroups: ['host.name', 'user.name'], + }, + }; + const { result } = renderHook((props) => useGetGroupSelector(props), { + initialProps: { + ...defaultArgs, + groupingState: { + groupById: testGroup, + }, + }, + }); + act(() => result.current.props.onGroupChange('none')); - it('On group change, resets active page, sets active group, and leaves options alone', () => { - const testGroup = { - [groupingId]: { - ...defaultGroup, - options: defaultGroupingOptions, - activeGroups: ['host.name'], - }, - }; - const { result } = renderHook((props) => useGetGroupSelector(props), { - initialProps: { - ...defaultArgs, - groupingState: { - groupById: testGroup, + expect(dispatch).toHaveBeenCalledWith({ + payload: { + id: groupingId, + activeGroups: ['none'], }, - }, + type: ActionType.updateActiveGroups, + }); }); - act(() => result.current.props.onGroupChange('user.name')); - expect(dispatch).toHaveBeenNthCalledWith(1, { - payload: { - id: groupingId, - activeGroups: ['host.name', 'user.name'], - }, - type: ActionType.updateActiveGroups, - }); - expect(dispatch).toHaveBeenCalledTimes(1); - }); + it('On group change, resets active page, sets active group, and leaves options alone', () => { + const testGroup = { + [groupingId]: { + ...defaultGroup, + options: defaultGroupingOptions, + activeGroups: ['host.name'], + }, + }; + const { result } = renderHook((props) => useGetGroupSelector(props), { + initialProps: { + ...defaultArgs, + groupingState: { + groupById: testGroup, + }, + }, + }); + act(() => result.current.props.onGroupChange('user.name')); - it('On group change, sends telemetry', () => { - const testGroup = { - [groupingId]: { - ...defaultGroup, - options: defaultGroupingOptions, - activeGroups: ['host.name'], - }, - }; - const { result } = renderHook((props) => useGetGroupSelector(props), { - initialProps: { - ...defaultArgs, - groupingState: { - groupById: testGroup, + expect(dispatch).toHaveBeenNthCalledWith(1, { + payload: { + id: groupingId, + activeGroups: ['host.name', 'user.name'], }, - }, + type: ActionType.updateActiveGroups, + }); + expect(dispatch).toHaveBeenCalledTimes(1); }); - act(() => result.current.props.onGroupChange(customField)); - expect(defaultArgs.tracker).toHaveBeenCalledTimes(1); - expect(defaultArgs.tracker).toHaveBeenCalledWith( - METRIC_TYPE.CLICK, - `alerts_table_group_by_test-table_${customField}` - ); - }); - it('On group change, executes callback', () => { - const testGroup = { - [groupingId]: { - ...defaultGroup, - options: defaultGroupingOptions, - activeGroups: ['host.name'], - }, - }; - const { result } = renderHook((props) => useGetGroupSelector(props), { - initialProps: { - ...defaultArgs, - groupingState: { - groupById: testGroup, + it('On group change, sends telemetry', () => { + const testGroup = { + [groupingId]: { + ...defaultGroup, + options: defaultGroupingOptions, + activeGroups: ['host.name'], + }, + }; + const { result } = renderHook((props) => useGetGroupSelector(props), { + initialProps: { + ...defaultArgs, + groupingState: { + groupById: testGroup, + }, }, - }, + }); + act(() => result.current.props.onGroupChange(customField)); + expect(defaultArgs.tracker).toHaveBeenCalledTimes(1); + expect(defaultArgs.tracker).toHaveBeenCalledWith( + METRIC_TYPE.CLICK, + `alerts_table_group_by_test-table_${customField}` + ); }); - act(() => result.current.props.onGroupChange(customField)); - expect(defaultArgs.onGroupChange).toHaveBeenCalledTimes(1); - expect(defaultArgs.onGroupChange).toHaveBeenCalledWith({ - tableId: groupingId, - groupByField: customField, + + it('On group change, executes callback', () => { + const testGroup = { + [groupingId]: { + ...defaultGroup, + options: defaultGroupingOptions, + activeGroups: ['host.name'], + }, + }; + const { result } = renderHook((props) => useGetGroupSelector(props), { + initialProps: { + ...defaultArgs, + groupingState: { + groupById: testGroup, + }, + }, + }); + act(() => result.current.props.onGroupChange(customField)); + expect(defaultArgs.onGroupChange).toHaveBeenCalledTimes(1); + expect(defaultArgs.onGroupChange).toHaveBeenCalledWith({ + tableId: groupingId, + groupByField: customField, + }); }); - }); - it('On group change to custom field, updates options', () => { - const testGroup = { - [groupingId]: { - ...defaultGroup, - options: defaultGroupingOptions, - activeGroups: ['host.name'], - }, - }; - const { result, rerender } = renderHook((props) => useGetGroupSelector(props), { - initialProps: { + it('On group change to custom field, updates options', () => { + const testGroup = { + [groupingId]: { + ...defaultGroup, + options: defaultGroupingOptions, + activeGroups: ['host.name'], + }, + }; + const { result, rerender } = renderHook((props) => useGetGroupSelector(props), { + initialProps: { + ...defaultArgs, + groupingState: { + groupById: testGroup, + }, + }, + }); + act(() => result.current.props.onGroupChange(customField)); + expect(dispatch).toHaveBeenCalledTimes(1); + rerender({ ...defaultArgs, groupingState: { - groupById: testGroup, + groupById: { + [groupingId]: { + ...defaultGroup, + options: defaultGroupingOptions, + activeGroups: ['host.name', customField], + }, + }, }, - }, + }); + expect(dispatch).toHaveBeenCalledTimes(2); + expect(dispatch).toHaveBeenNthCalledWith(2, { + payload: { + newOptionList: [...defaultGroupingOptions, { label: customField, key: customField }], + id: 'test-table', + }, + type: ActionType.updateGroupOptions, + }); }); - act(() => result.current.props.onGroupChange(customField)); - expect(dispatch).toHaveBeenCalledTimes(1); - rerender({ - ...defaultArgs, - groupingState: { - groupById: { - [groupingId]: { - ...defaultGroup, - options: defaultGroupingOptions, - activeGroups: ['host.name', customField], + + it('Supports multiple custom fields on initial load', () => { + const testGroup = { + [groupingId]: { + ...defaultGroup, + options: defaultGroupingOptions, + activeGroups: ['host.name', customField, 'another.custom'], + }, + }; + renderHook((props) => useGetGroupSelector(props), { + initialProps: { + ...defaultArgs, + groupingState: { + groupById: testGroup, }, }, - }, - }); - expect(dispatch).toHaveBeenCalledTimes(2); - expect(dispatch).toHaveBeenNthCalledWith(2, { - payload: { - newOptionList: [...defaultGroupingOptions, { label: customField, key: customField }], - id: 'test-table', - }, - type: ActionType.updateGroupOptions, + }); + expect(dispatch).toHaveBeenCalledTimes(1); + expect(dispatch).toHaveBeenCalledWith({ + payload: { + newOptionList: [ + ...defaultGroupingOptions, + { label: customField, key: customField }, + { label: 'another.custom', key: 'another.custom' }, + ], + id: 'test-table', + }, + type: ActionType.updateGroupOptions, + }); }); }); - it('Supports multiple custom fields on initial load', () => { - const testGroup = { - [groupingId]: { - ...defaultGroup, - options: defaultGroupingOptions, - activeGroups: ['host.name', customField, 'another.custom'], - }, - }; - renderHook((props) => useGetGroupSelector(props), { - initialProps: { - ...defaultArgs, - groupingState: { - groupById: testGroup, - }, - }, + describe('useGetGroupSelectorStateless', () => { + it('Initializes a group with options', () => { + const { result } = renderHook(() => useGetGroupSelectorStateless(statelessArgs)); + expect(result.current.props.groupingId).toEqual(groupingId); + expect(result.current.props.options.length).toEqual(4); }); - expect(dispatch).toHaveBeenCalledTimes(1); - expect(dispatch).toHaveBeenCalledWith({ - payload: { - newOptionList: [ - ...defaultGroupingOptions, - { label: customField, key: customField }, - { label: 'another.custom', key: 'another.custom' }, - ], - id: 'test-table', - }, - type: ActionType.updateGroupOptions, + + it('On group change, removes selected group if already selected', () => { + const { result } = renderHook(() => useGetGroupSelectorStateless(statelessArgs)); + act(() => result.current.props.onGroupChange('host.name')); + + expect(onGroupChange).toHaveBeenCalledWith(['host.name']); }); }); }); diff --git a/packages/kbn-securitysolution-grouping/src/hooks/use_get_group_selector.tsx b/packages/kbn-securitysolution-grouping/src/hooks/use_get_group_selector.tsx index 05920beb37a47..d50809c99fb3f 100644 --- a/packages/kbn-securitysolution-grouping/src/hooks/use_get_group_selector.tsx +++ b/packages/kbn-securitysolution-grouping/src/hooks/use_get_group_selector.tsx @@ -23,6 +23,7 @@ export interface UseGetGroupSelectorArgs { groupingId: string; groupingState: GroupMap; maxGroupingLevels?: number; + onOptionsChange?: (newOptions: GroupOption[]) => void; onGroupChange?: (param: { groupByField: string; tableId: string }) => void; tracker?: ( type: UiCounterMetricType, @@ -31,6 +32,48 @@ export interface UseGetGroupSelectorArgs { ) => void; } +interface UseGetGroupSelectorStateless + extends Pick< + UseGetGroupSelectorArgs, + 'defaultGroupingOptions' | 'groupingId' | 'fields' | 'maxGroupingLevels' + > { + onGroupChange: (selectedGroups: string[]) => void; +} + +// only use this component to use a group selector that displays when isNoneGroup is true +// by selecting a group with the groupSelectorStateless component +// the contents are within the grouping component and from that point +// the grouping component will handle the group selector. When the group selector is set back to none, +// the consumer can again use the groupSelectorStateless component to select a new group +export const useGetGroupSelectorStateless = ({ + defaultGroupingOptions, + groupingId, + fields, + onGroupChange, + maxGroupingLevels, +}: UseGetGroupSelectorStateless) => { + const onChange = useCallback( + (groupSelection: string) => { + onGroupChange([groupSelection]); + }, + [onGroupChange] + ); + + return ( + + ); +}; + export const useGetGroupSelector = ({ defaultGroupingOptions, dispatch, @@ -39,6 +82,7 @@ export const useGetGroupSelector = ({ groupingState, maxGroupingLevels = 1, onGroupChange, + onOptionsChange, tracker, }: UseGetGroupSelectorArgs) => { const { activeGroups: selectedGroups, options } = @@ -59,8 +103,9 @@ export const useGetGroupSelector = ({ const setOptions = useCallback( (newOptions: GroupOption[]) => { dispatch(groupActions.updateGroupOptions({ id: groupingId, newOptionList: newOptions })); + onOptionsChange?.(newOptions); }, - [dispatch, groupingId] + [dispatch, groupingId, onOptionsChange] ); const onChange = useCallback( @@ -92,7 +137,7 @@ export const useGetGroupSelector = ({ ); useEffect(() => { - if (options.length === 0) { + if (options.length === 0 && defaultGroupingOptions.length > 0) { return setOptions( defaultGroupingOptions.find((o) => selectedGroups.find((selected) => selected === o.key)) ? defaultGroupingOptions diff --git a/packages/kbn-securitysolution-grouping/src/hooks/use_grouping.tsx b/packages/kbn-securitysolution-grouping/src/hooks/use_grouping.tsx index 5833ae8205d59..a744fc6c4ff7c 100644 --- a/packages/kbn-securitysolution-grouping/src/hooks/use_grouping.tsx +++ b/packages/kbn-securitysolution-grouping/src/hooks/use_grouping.tsx @@ -11,7 +11,7 @@ import React, { useCallback, useMemo, useReducer } from 'react'; import { UiCounterMetricType } from '@kbn/analytics'; import { groupsReducerWithStorage, initialState } from './state/reducer'; import { GroupingProps, GroupSelectorProps, isNoneGroup } from '..'; -import { groupByIdSelector } from './state'; +import { groupActions, groupByIdSelector } from './state'; import { useGetGroupSelector } from './use_get_group_selector'; import { defaultGroup, GroupOption } from './types'; import { Grouping as GroupingComponent } from '../components/grouping'; @@ -23,6 +23,7 @@ interface Grouping { getGrouping: (props: DynamicGroupingProps) => React.ReactElement; groupSelector: React.ReactElement; selectedGroups: string[]; + setSelectedGroups: (selectedGroups: string[]) => void; } /** Type for static grouping component props where T is the consumer `GroupingAggregation` @@ -65,6 +66,7 @@ interface GroupingArgs { * @param param { groupByField: string; tableId: string } selected group and table id */ onGroupChange?: (param: { groupByField: string; tableId: string }) => void; + onOptionsChange?: (options: GroupOption[]) => void; tracker?: ( type: UiCounterMetricType, event: string | string[], @@ -81,6 +83,7 @@ interface GroupingArgs { * @param groupingId Unique identifier of the grouping component. Used in local storage * @param maxGroupingLevels maximum group nesting levels (optional) * @param onGroupChange callback executed when selected group is changed, used for tracking + * @param onOptionsChange callback executed when grouping options are changed, used for consumer grouping selector * @param tracker telemetry handler * @returns {@link Grouping} the grouping constructor { getGrouping, groupSelector, pagination, selectedGroups } */ @@ -91,6 +94,7 @@ export const useGrouping = ({ groupingId, maxGroupingLevels, onGroupChange, + onOptionsChange, tracker, }: GroupingArgs): Grouping => { const [groupingState, dispatch] = useReducer(groupsReducerWithStorage, initialState); @@ -99,6 +103,18 @@ export const useGrouping = ({ [groupingId, groupingState] ); + const setSelectedGroups = useCallback( + (activeGroups: string[]) => { + dispatch( + groupActions.updateActiveGroups({ + id: groupingId, + activeGroups, + }) + ); + }, + [groupingId] + ); + const groupSelector = useGetGroupSelector({ defaultGroupingOptions, dispatch, @@ -107,6 +123,7 @@ export const useGrouping = ({ groupingState, maxGroupingLevels, onGroupChange, + onOptionsChange, tracker, }); @@ -135,7 +152,8 @@ export const useGrouping = ({ getGrouping, groupSelector, selectedGroups, + setSelectedGroups, }), - [getGrouping, groupSelector, selectedGroups] + [getGrouping, groupSelector, selectedGroups, setSelectedGroups] ); }; diff --git a/packages/kbn-server-route-repository/src/format_request.ts b/packages/kbn-server-route-repository/src/format_request.ts index 49004a78ce0e0..c7eda07511c0d 100644 --- a/packages/kbn-server-route-repository/src/format_request.ts +++ b/packages/kbn-server-route-repository/src/format_request.ts @@ -9,12 +9,12 @@ import { parseEndpoint } from './parse_endpoint'; export function formatRequest(endpoint: string, pathParams: Record = {}) { - const { method, pathname: rawPathname } = parseEndpoint(endpoint); + const { method, pathname: rawPathname, version } = parseEndpoint(endpoint); // replace template variables with path params const pathname = Object.keys(pathParams).reduce((acc, paramName) => { return acc.replace(`{${paramName}}`, pathParams[paramName]); }, rawPathname); - return { method, pathname }; + return { method, pathname, version }; } diff --git a/packages/kbn-server-route-repository/src/parse_endpoint.ts b/packages/kbn-server-route-repository/src/parse_endpoint.ts index fd40489b0f4a5..93c79cf994f51 100644 --- a/packages/kbn-server-route-repository/src/parse_endpoint.ts +++ b/packages/kbn-server-route-repository/src/parse_endpoint.ts @@ -13,10 +13,15 @@ export function parseEndpoint(endpoint: string) { const method = parts[0].trim().toLowerCase() as Method; const pathname = parts[1].trim(); + const version = parts[2]?.trim(); if (!['get', 'post', 'put', 'delete'].includes(method)) { - throw new Error('Endpoint was not prefixed with a valid HTTP method'); + throw new Error(`Endpoint ${endpoint} was not prefixed with a valid HTTP method`); } - return { method, pathname }; + if (!version && pathname.startsWith('/api')) { + throw new Error(`Missing version for public endpoint ${endpoint}`); + } + + return { method, pathname, version }; } diff --git a/packages/kbn-server-route-repository/src/test_types.ts b/packages/kbn-server-route-repository/src/test_types.ts index b1d74936d8aa0..61909be0967be 100644 --- a/packages/kbn-server-route-repository/src/test_types.ts +++ b/packages/kbn-server-route-repository/src/test_types.ts @@ -17,7 +17,7 @@ function assertType(value: TShape) { // If a params codec is not set, its type should not be available in // the request handler. createServerRouteFactory<{}, {}>()({ - endpoint: 'endpoint_without_params', + endpoint: 'GET /internal/endpoint_without_params', handler: async (resources) => { // @ts-expect-error Argument of type '{}' is not assignable to parameter of type '{ params: any; }'. assertType<{ params: any }>(resources); @@ -27,7 +27,7 @@ createServerRouteFactory<{}, {}>()({ // If a params codec is set, its type _should_ be available in the // request handler. createServerRouteFactory<{}, {}>()({ - endpoint: 'endpoint_with_params', + endpoint: 'GET /internal/endpoint_with_params', params: t.type({ path: t.type({ serviceName: t.string, @@ -40,7 +40,7 @@ createServerRouteFactory<{}, {}>()({ // Resources should be passed to the request handler. createServerRouteFactory<{ context: { getSpaceId: () => string } }, {}>()({ - endpoint: 'endpoint_with_params', + endpoint: 'GET /internal/endpoint_with_params', params: t.type({ path: t.type({ serviceName: t.string, @@ -54,7 +54,7 @@ createServerRouteFactory<{ context: { getSpaceId: () => string } }, {}>()({ // Create options are available when registering a route. createServerRouteFactory<{}, { options: { tags: string[] } }>()({ - endpoint: 'endpoint_with_params', + endpoint: 'GET /internal/endpoint_with_params', params: t.type({ path: t.type({ serviceName: t.string, @@ -68,11 +68,31 @@ createServerRouteFactory<{}, { options: { tags: string[] } }>()({ }, }); +// Public APIs should be versioned +createServerRouteFactory<{}, { options: { tags: string[] } }>()({ + // @ts-expect-error + endpoint: 'GET /api/endpoint_with_params', + options: { + // @ts-expect-error + tags: [], + }, + // @ts-expect-error + handler: async (resources) => {}, +}); + +createServerRouteFactory<{}, { options: { tags: string[] } }>()({ + endpoint: 'GET /api/endpoint_with_params 2023-05-22', + options: { + tags: [], + }, + handler: async (resources) => {}, +}); + const createServerRoute = createServerRouteFactory<{}, {}>(); const repository = { ...createServerRoute({ - endpoint: 'endpoint_without_params', + endpoint: 'GET /internal/endpoint_without_params', handler: async () => { return { noParamsForMe: true, @@ -80,7 +100,7 @@ const repository = { }, }), ...createServerRoute({ - endpoint: 'endpoint_with_params', + endpoint: 'GET /internal/endpoint_with_params', params: t.type({ path: t.type({ serviceName: t.string, @@ -93,7 +113,7 @@ const repository = { }, }), ...createServerRoute({ - endpoint: 'endpoint_with_optional_params', + endpoint: 'GET /internal/endpoint_with_optional_params', params: t.partial({ query: t.partial({ serviceName: t.string, @@ -112,9 +132,9 @@ type TestRepository = typeof repository; // EndpointOf should return all valid endpoints of a repository assertType>>([ - 'endpoint_with_params', - 'endpoint_without_params', - 'endpoint_with_optional_params', + 'GET /internal/endpoint_with_params', + 'GET /internal/endpoint_without_params', + 'GET /internal/endpoint_with_optional_params', ]); // @ts-expect-error Type '"this_endpoint_does_not_exist"' is not assignable to type '"endpoint_without_params" | "endpoint_with_params" | "endpoint_with_optional_params"' @@ -122,11 +142,11 @@ assertType>>(['this_endpoint_does_not_exist']); // ReturnOf should return the return type of a request handler. -assertType>({ +assertType>({ noParamsForMe: true, }); -const noParamsInvalid: ReturnOf = { +const noParamsInvalid: ReturnOf = { // @ts-expect-error type '{ paramsForMe: boolean; }' is not assignable to type '{ noParamsForMe: boolean; }'. paramsForMe: true, }; @@ -140,21 +160,21 @@ const client: TestClient = {} as any; // It should respect any additional create options. // @ts-expect-error Property 'timeout' is missing -client('endpoint_without_params', {}); +client('GET /internal/endpoint_without_params', {}); -client('endpoint_without_params', { +client('GET /internal/endpoint_without_params', { timeout: 1, }); // It does not allow params for routes without a params codec -client('endpoint_without_params', { +client('GET /internal/endpoint_without_params', { // @ts-expect-error Object literal may only specify known properties, and 'params' does not exist in type params: {}, timeout: 1, }); // It requires params for routes with a params codec -client('endpoint_with_params', { +client('GET /internal/endpoint_with_params', { params: { // @ts-expect-error property 'serviceName' is missing in type '{}' path: {}, @@ -163,12 +183,12 @@ client('endpoint_with_params', { }); // Params are optional if the codec has no required keys -client('endpoint_with_optional_params', { +client('GET /internal/endpoint_with_optional_params', { timeout: 1, }); // If optional, an error will still occur if the params do not match -client('endpoint_with_optional_params', { +client('GET /internal/endpoint_with_optional_params', { timeout: 1, params: { // @ts-expect-error Object literal may only specify known properties, and 'path' does not exist in type @@ -177,7 +197,7 @@ client('endpoint_with_optional_params', { }); // The return type is correctly inferred -client('endpoint_with_params', { +client('GET /internal/endpoint_with_params', { params: { path: { serviceName: '', diff --git a/packages/kbn-server-route-repository/src/typings.ts b/packages/kbn-server-route-repository/src/typings.ts index 3a86a1091d1bf..94605468202f1 100644 --- a/packages/kbn-server-route-repository/src/typings.ts +++ b/packages/kbn-server-route-repository/src/typings.ts @@ -35,20 +35,32 @@ export interface RouteState { export type ServerRouteHandlerResources = Record; export type ServerRouteCreateOptions = Record; +type ValidateEndpoint = string extends TEndpoint + ? true + : TEndpoint extends `${string} ${string} ${string}` + ? true + : TEndpoint extends `${string} ${infer TPathname}` + ? TPathname extends `/internal/${string}` + ? true + : false + : false; + export type ServerRoute< TEndpoint extends string, TRouteParamsRT extends RouteParamsRT | undefined, TRouteHandlerResources extends ServerRouteHandlerResources, TReturnType, TRouteCreateOptions extends ServerRouteCreateOptions -> = { - endpoint: TEndpoint; - params?: TRouteParamsRT; - handler: ({}: TRouteHandlerResources & - (TRouteParamsRT extends RouteParamsRT - ? DecodedRequestParamsOfType - : {})) => Promise; -} & TRouteCreateOptions; +> = ValidateEndpoint extends true + ? { + endpoint: TEndpoint; + params?: TRouteParamsRT; + handler: ({}: TRouteHandlerResources & + (TRouteParamsRT extends RouteParamsRT + ? DecodedRequestParamsOfType + : {})) => Promise; + } & TRouteCreateOptions + : never; export type ServerRouteRepository = Record< string, diff --git a/packages/kbn-slo-schema/src/models/duration.ts b/packages/kbn-slo-schema/src/models/duration.ts index ecffb97f30e57..e8df53911f0b1 100644 --- a/packages/kbn-slo-schema/src/models/duration.ts +++ b/packages/kbn-slo-schema/src/models/duration.ts @@ -49,6 +49,10 @@ class Duration { return !this.isShorterThan(other); } + isEqual(other: Duration): boolean { + return this.value === other.value && this.unit === other.unit; + } + format(): string { return `${this.value}${this.unit}`; } diff --git a/packages/kbn-slo-schema/src/rest_specs/composite_slo.ts b/packages/kbn-slo-schema/src/rest_specs/composite_slo.ts new file mode 100644 index 0000000000000..7c061925a7262 --- /dev/null +++ b/packages/kbn-slo-schema/src/rest_specs/composite_slo.ts @@ -0,0 +1,142 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 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 * as t from 'io-ts'; +import { + budgetingMethodSchema, + compositeSloIdSchema, + dateType, + objectiveSchema, + summarySchema, + tagsSchema, + timeWindowSchema, + weightedAverageCompositeMethodSchema, + weightedAverageSourceSchema, +} from '../schema'; + +const createCompositeSLOParamsSchema = t.type({ + body: t.intersection([ + t.type({ + name: t.string, + timeWindow: timeWindowSchema, + budgetingMethod: budgetingMethodSchema, + objective: objectiveSchema, + compositeMethod: weightedAverageCompositeMethodSchema, + sources: t.array(weightedAverageSourceSchema), + }), + t.partial({ id: compositeSloIdSchema, tags: tagsSchema }), + ]), +}); + +const createCompositeSLOResponseSchema = t.type({ + id: compositeSloIdSchema, +}); + +const compositeSLOResponseSchema = t.type({ + id: compositeSloIdSchema, + name: t.string, + timeWindow: timeWindowSchema, + budgetingMethod: budgetingMethodSchema, + objective: objectiveSchema, + compositeMethod: weightedAverageCompositeMethodSchema, + sources: t.array(weightedAverageSourceSchema), + tags: tagsSchema, + createdAt: dateType, + updatedAt: dateType, +}); + +const compositeSLOWithSummaryResponseSchema = t.intersection([ + compositeSLOResponseSchema, + t.type({ summary: summarySchema }), +]); + +const updateCompositeSLOParamsSchema = t.type({ + path: t.type({ + id: compositeSloIdSchema, + }), + body: t.partial({ + name: t.string, + compositeMethod: weightedAverageCompositeMethodSchema, + sources: t.array(weightedAverageSourceSchema), + timeWindow: timeWindowSchema, + budgetingMethod: budgetingMethodSchema, + objective: objectiveSchema, + tags: tagsSchema, + }), +}); + +const updateCompositeSLOResponseSchema = compositeSLOResponseSchema; + +const deleteCompositeSLOParamsSchema = t.type({ + path: t.type({ + id: compositeSloIdSchema, + }), +}); + +const getCompositeSLOParamsSchema = t.type({ + path: t.type({ + id: compositeSloIdSchema, + }), +}); + +const getCompositeSLOResponseSchema = compositeSLOWithSummaryResponseSchema; + +const sortDirectionSchema = t.union([t.literal('asc'), t.literal('desc')]); +const sortBySchema = t.literal('creationTime'); +const findCompositeSLOParamsSchema = t.partial({ + query: t.partial({ + name: t.string, + page: t.string, + perPage: t.string, + sortBy: sortBySchema, + sortDirection: sortDirectionSchema, + }), +}); + +const findCompositeSLOResponseSchema = t.type({ + page: t.number, + perPage: t.number, + total: t.number, + results: t.array(compositeSLOWithSummaryResponseSchema), +}); + +type CreateCompositeSLOInput = t.OutputOf; // Raw payload sent by the frontend +type CreateCompositeSLOParams = t.TypeOf; // Parsed payload used by the backend +type CreateCompositeSLOResponse = t.OutputOf; // Raw response sent to the frontend + +type GetCompositeSLOResponse = t.OutputOf; + +type FindCompositeSLOParams = t.TypeOf; +type FindCompositeSLOResponse = t.OutputOf; + +type UpdateCompositeSLOInput = t.OutputOf; +type UpdateCompositeSLOParams = t.TypeOf; +type UpdateCompositeSLOResponse = t.OutputOf; + +export { + compositeSLOResponseSchema, + createCompositeSLOParamsSchema, + deleteCompositeSLOParamsSchema, + findCompositeSLOParamsSchema, + findCompositeSLOResponseSchema, + getCompositeSLOParamsSchema, + updateCompositeSLOParamsSchema, + updateCompositeSLOResponseSchema, +}; + +export type { + CreateCompositeSLOInput, + CreateCompositeSLOParams, + CreateCompositeSLOResponse, + FindCompositeSLOParams, + FindCompositeSLOResponse, + GetCompositeSLOResponse, + UpdateCompositeSLOInput, + UpdateCompositeSLOParams, + UpdateCompositeSLOResponse, +}; diff --git a/packages/kbn-slo-schema/src/rest_specs/index.ts b/packages/kbn-slo-schema/src/rest_specs/index.ts index d6536c908f0f6..dd9f6137af0d5 100644 --- a/packages/kbn-slo-schema/src/rest_specs/index.ts +++ b/packages/kbn-slo-schema/src/rest_specs/index.ts @@ -6,4 +6,5 @@ * Side Public License, v 1. */ +export * from './composite_slo'; export * from './slo'; diff --git a/packages/kbn-slo-schema/src/rest_specs/slo.ts b/packages/kbn-slo-schema/src/rest_specs/slo.ts index 0668af1e69576..5d2bcf2997740 100644 --- a/packages/kbn-slo-schema/src/rest_specs/slo.ts +++ b/packages/kbn-slo-schema/src/rest_specs/slo.ts @@ -21,6 +21,10 @@ import { summarySchema, tagsSchema, timeWindowSchema, + metricCustomIndicatorSchema, + kqlCustomIndicatorSchema, + apmTransactionErrorRateIndicatorSchema, + apmTransactionDurationIndicatorSchema, } from '../schema'; const createSLOParamsSchema = t.type({ @@ -33,7 +37,7 @@ const createSLOParamsSchema = t.type({ budgetingMethod: budgetingMethodSchema, objective: objectiveSchema, }), - t.partial({ settings: optionalSettingsSchema, tags: tagsSchema }), + t.partial({ id: sloIdSchema, settings: optionalSettingsSchema, tags: tagsSchema }), ]), }); @@ -155,6 +159,13 @@ type HistoricalSummaryResponse = t.OutputOf; type BudgetingMethod = t.TypeOf; +type MetricCustomIndicatorSchema = t.TypeOf; +type KQLCustomIndicatorSchema = t.TypeOf; +type APMTransactionErrorRateIndicatorSchema = t.TypeOf< + typeof apmTransactionErrorRateIndicatorSchema +>; +type APMTransactionDurationIndicatorSchema = t.TypeOf; + export { createSLOParamsSchema, deleteSLOParamsSchema, @@ -188,4 +199,8 @@ export type { UpdateSLOInput, UpdateSLOParams, UpdateSLOResponse, + MetricCustomIndicatorSchema, + KQLCustomIndicatorSchema, + APMTransactionDurationIndicatorSchema, + APMTransactionErrorRateIndicatorSchema, }; diff --git a/packages/kbn-slo-schema/src/schema/common.ts b/packages/kbn-slo-schema/src/schema/common.ts index b2ef0d5a3a933..b4802b3d0705c 100644 --- a/packages/kbn-slo-schema/src/schema/common.ts +++ b/packages/kbn-slo-schema/src/schema/common.ts @@ -44,6 +44,8 @@ const summarySchema = t.type({ errorBudget: errorBudgetSchema, }); +type SummarySchema = t.TypeOf; + const historicalSummarySchema = t.intersection([ t.type({ date: dateType, @@ -53,6 +55,8 @@ const historicalSummarySchema = t.intersection([ const dateRangeSchema = t.type({ from: dateType, to: dateType }); +export type { SummarySchema }; + export { ALL_VALUE, allOrAnyString, diff --git a/packages/kbn-slo-schema/src/schema/composite_slo.ts b/packages/kbn-slo-schema/src/schema/composite_slo.ts new file mode 100644 index 0000000000000..49c080d26eea3 --- /dev/null +++ b/packages/kbn-slo-schema/src/schema/composite_slo.ts @@ -0,0 +1,42 @@ +/* + * Copyright 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 * as t from 'io-ts'; + +import { dateType } from './common'; +import { budgetingMethodSchema, objectiveSchema, sloIdSchema, tagsSchema } from './slo'; +import { timeWindowSchema } from './time_window'; + +const compositeSloIdSchema = t.string; + +const weightedAverageCompositeMethodSchema = t.literal('weightedAverage'); +const weightedAverageSourceSchema = t.type({ + id: sloIdSchema, + revision: t.number, + weight: t.number, +}); + +const compositeSloSchema = t.type({ + id: compositeSloIdSchema, + name: t.string, + timeWindow: timeWindowSchema, + budgetingMethod: budgetingMethodSchema, + compositeMethod: weightedAverageCompositeMethodSchema, + objective: objectiveSchema, + sources: t.array(weightedAverageSourceSchema), + tags: tagsSchema, + createdAt: dateType, + updatedAt: dateType, +}); + +export { + weightedAverageSourceSchema, + weightedAverageCompositeMethodSchema, + compositeSloIdSchema, + compositeSloSchema, +}; diff --git a/packages/kbn-slo-schema/src/schema/index.ts b/packages/kbn-slo-schema/src/schema/index.ts index 1bfbdf35f4449..5df76a4097210 100644 --- a/packages/kbn-slo-schema/src/schema/index.ts +++ b/packages/kbn-slo-schema/src/schema/index.ts @@ -6,8 +6,9 @@ * Side Public License, v 1. */ -export * from './slo'; export * from './common'; -export * from './indicators'; +export * from './composite_slo'; export * from './duration'; +export * from './indicators'; export * from './time_window'; +export * from './slo'; diff --git a/packages/kbn-slo-schema/src/schema/indicators.ts b/packages/kbn-slo-schema/src/schema/indicators.ts index 23f64018bf05b..afc8e3dfbaeb1 100644 --- a/packages/kbn-slo-schema/src/schema/indicators.ts +++ b/packages/kbn-slo-schema/src/schema/indicators.ts @@ -56,6 +56,31 @@ const kqlCustomIndicatorSchema = t.type({ }), }); +const metricCustomValidAggregations = t.keyof({ + sum: true, +}); +const metricCustomMetricDef = t.type({ + metrics: t.array( + t.type({ + name: t.string, + aggregation: metricCustomValidAggregations, + field: t.string, + }) + ), + equation: t.string, +}); +const metricCustomIndicatorTypeSchema = t.literal('sli.metric.custom'); +const metricCustomIndicatorSchema = t.type({ + type: metricCustomIndicatorTypeSchema, + params: t.type({ + index: t.string, + filter: t.string, + good: metricCustomMetricDef, + total: metricCustomMetricDef, + timestampField: t.string, + }), +}); + const indicatorDataSchema = t.type({ dateRange: dateRangeSchema, good: t.number, @@ -66,6 +91,7 @@ const indicatorTypesSchema = t.union([ apmTransactionDurationIndicatorTypeSchema, apmTransactionErrorRateIndicatorTypeSchema, kqlCustomIndicatorTypeSchema, + metricCustomIndicatorTypeSchema, ]); // Validate that a string is a comma separated list of indicator types, @@ -91,6 +117,7 @@ const indicatorSchema = t.union([ apmTransactionDurationIndicatorSchema, apmTransactionErrorRateIndicatorSchema, kqlCustomIndicatorSchema, + metricCustomIndicatorSchema, ]); export { @@ -100,6 +127,8 @@ export { apmTransactionErrorRateIndicatorTypeSchema, kqlCustomIndicatorSchema, kqlCustomIndicatorTypeSchema, + metricCustomIndicatorTypeSchema, + metricCustomIndicatorSchema, indicatorSchema, indicatorTypesArraySchema, indicatorTypesSchema, diff --git a/packages/kbn-slo-schema/src/schema/slo.ts b/packages/kbn-slo-schema/src/schema/slo.ts index 3c46b3128eadf..16ee8fe8f416e 100644 --- a/packages/kbn-slo-schema/src/schema/slo.ts +++ b/packages/kbn-slo-schema/src/schema/slo.ts @@ -20,8 +20,10 @@ const budgetingMethodSchema = t.union([ timeslicesBudgetingMethodSchema, ]); +const targetSchema = t.type({ target: t.number }); + const objectiveSchema = t.intersection([ - t.type({ target: t.number }), + targetSchema, t.partial({ timesliceTarget: t.number, timesliceWindow: durationType }), ]); @@ -64,5 +66,6 @@ export { sloSchema, sloWithSummarySchema, tagsSchema, + targetSchema, timeslicesBudgetingMethodSchema, }; diff --git a/packages/kbn-slo-schema/src/schema/time_window.test.ts b/packages/kbn-slo-schema/src/schema/time_window.test.ts new file mode 100644 index 0000000000000..147a9cf54c141 --- /dev/null +++ b/packages/kbn-slo-schema/src/schema/time_window.test.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 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 { Duration } from '../..'; +import { DurationUnit } from '../models/duration'; +import { rollingTimeWindowSchema } from './time_window'; + +describe('time window schema', () => { + it('type guards correctly', () => { + expect( + rollingTimeWindowSchema.is({ duration: new Duration(1, DurationUnit.Month), type: 'rolling' }) + ).toBe(true); + expect( + rollingTimeWindowSchema.is({ + duration: new Duration(1, DurationUnit.Month), + type: 'calendarAligned', + }) + ).toBe(false); + }); +}); diff --git a/packages/kbn-slo-schema/src/schema/time_window.ts b/packages/kbn-slo-schema/src/schema/time_window.ts index 1f451d08b8011..c721f894f976a 100644 --- a/packages/kbn-slo-schema/src/schema/time_window.ts +++ b/packages/kbn-slo-schema/src/schema/time_window.ts @@ -9,16 +9,24 @@ import * as t from 'io-ts'; import { durationType } from './duration'; +const rollingTimeWindowTypeSchema = t.literal('rolling'); const rollingTimeWindowSchema = t.type({ duration: durationType, - isRolling: t.literal(true), + type: rollingTimeWindowTypeSchema, }); +const calendarAlignedTimeWindowTypeSchema = t.literal('calendarAligned'); const calendarAlignedTimeWindowSchema = t.type({ duration: durationType, - isCalendar: t.literal(true), + type: calendarAlignedTimeWindowTypeSchema, }); const timeWindowSchema = t.union([rollingTimeWindowSchema, calendarAlignedTimeWindowSchema]); -export { rollingTimeWindowSchema, calendarAlignedTimeWindowSchema, timeWindowSchema }; +export { + rollingTimeWindowSchema, + rollingTimeWindowTypeSchema, + calendarAlignedTimeWindowSchema, + calendarAlignedTimeWindowTypeSchema, + timeWindowSchema, +}; diff --git a/packages/kbn-test-jest-helpers/kibana.jsonc b/packages/kbn-test-jest-helpers/kibana.jsonc index 4780aa00d4aa9..fdabbb9780d6c 100644 --- a/packages/kbn-test-jest-helpers/kibana.jsonc +++ b/packages/kbn-test-jest-helpers/kibana.jsonc @@ -2,5 +2,5 @@ "type": "shared-common", "id": "@kbn/test-jest-helpers", "devOnly": true, - "owner": "@elastic/kibana-operations" + "owner": ["@elastic/kibana-operations", "@elastic/appex-qa"], } diff --git a/packages/kbn-test-subj-selector/kibana.jsonc b/packages/kbn-test-subj-selector/kibana.jsonc index 53a90dc467c80..8026708a83e3b 100644 --- a/packages/kbn-test-subj-selector/kibana.jsonc +++ b/packages/kbn-test-subj-selector/kibana.jsonc @@ -1,6 +1,6 @@ { "type": "shared-common", "id": "@kbn/test-subj-selector", - "owner": "@elastic/kibana-operations", + "owner": ["@elastic/kibana-operations", "@elastic/appex-qa"], "devOnly": true } diff --git a/packages/kbn-test/index.ts b/packages/kbn-test/index.ts index 8e0cb4cfc703f..f779803d794b1 100644 --- a/packages/kbn-test/index.ts +++ b/packages/kbn-test/index.ts @@ -14,6 +14,7 @@ export { startServersCli, startServers } from './src/functional_tests/start_serv // @internal export { runTestsCli, runTests } from './src/functional_tests/run_tests'; +export { runElasticsearch, runKibanaServer } from './src/functional_tests/lib'; export { getKibanaCliArg, getKibanaCliLoggers } from './src/functional_tests/lib/kibana_cli_args'; export type { diff --git a/packages/kbn-test/kibana.jsonc b/packages/kbn-test/kibana.jsonc index c38e4f38bf65d..c39f82b52a113 100644 --- a/packages/kbn-test/kibana.jsonc +++ b/packages/kbn-test/kibana.jsonc @@ -2,5 +2,5 @@ "type": "shared-common", "id": "@kbn/test", "devOnly": true, - "owner": "@elastic/kibana-operations" + "owner": ["@elastic/kibana-operations", "@elastic/appex-qa"], } diff --git a/packages/kbn-test/src/functional_test_runner/lib/config/schema.ts b/packages/kbn-test/src/functional_test_runner/lib/config/schema.ts index 6d5dc75b8d969..fbad913dc75fa 100644 --- a/packages/kbn-test/src/functional_test_runner/lib/config/schema.ts +++ b/packages/kbn-test/src/functional_test_runner/lib/config/schema.ts @@ -192,6 +192,7 @@ export const schema = Joi.object() elasticsearch: urlPartsSchema({ requiredKeys: ['port'], }), + fleetserver: urlPartsSchema(), }) .default(), diff --git a/packages/kbn-test/src/functional_tests/lib/run_elasticsearch.ts b/packages/kbn-test/src/functional_tests/lib/run_elasticsearch.ts index 24f3eb9a527b2..b8f6fc4714273 100644 --- a/packages/kbn-test/src/functional_tests/lib/run_elasticsearch.ts +++ b/packages/kbn-test/src/functional_tests/lib/run_elasticsearch.ts @@ -19,6 +19,7 @@ interface RunElasticsearchOptions { config: Config; onEarlyExit?: (msg: string) => void; logsDir?: string; + name?: string; } interface CcsConfig { @@ -63,13 +64,13 @@ function getEsConfig({ export async function runElasticsearch( options: RunElasticsearchOptions ): Promise<() => Promise> { - const { log, logsDir } = options; + const { log, logsDir, name } = options; const config = getEsConfig(options); if (!config.ccsConfig) { const node = await startEsNode({ log, - name: 'ftr', + name: name ?? 'ftr', logsDir, config, }); @@ -81,7 +82,7 @@ export async function runElasticsearch( const remotePort = await getPort(); const remoteNode = await startEsNode({ log, - name: 'ftr-remote', + name: name ?? 'ftr-remote', logsDir, config: { ...config, @@ -92,7 +93,7 @@ export async function runElasticsearch( const localNode = await startEsNode({ log, - name: 'ftr-local', + name: name ?? 'ftr-local', logsDir, config: { ...config, diff --git a/packages/kbn-text-based-editor/.storybook/main.js b/packages/kbn-text-based-editor/.storybook/main.js new file mode 100644 index 0000000000000..b4023e59a9b43 --- /dev/null +++ b/packages/kbn-text-based-editor/.storybook/main.js @@ -0,0 +1,17 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 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. + */ + +const defaultConfig = require('@kbn/storybook').defaultConfig; + +module.exports = { + ...defaultConfig, + stories: ['../**/*.stories.+(tsx|mdx)'], + typescript: { + reactDocgen: 'react-docgen-typescript', + }, +}; diff --git a/packages/kbn-text-based-editor/.storybook/preview.js b/packages/kbn-text-based-editor/.storybook/preview.js new file mode 100644 index 0000000000000..85894865f3bbb --- /dev/null +++ b/packages/kbn-text-based-editor/.storybook/preview.js @@ -0,0 +1,14 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export const parameters = { + viewMode: 'docs', + previewTabs: { + canvas: { hidden: true }, + }, +}; diff --git a/packages/kbn-text-based-editor/README.md b/packages/kbn-text-based-editor/README.md new file mode 100644 index 0000000000000..2bb9ae5887f24 --- /dev/null +++ b/packages/kbn-text-based-editor/README.md @@ -0,0 +1,29 @@ +# @kbn/text-based-editor + +Contains the editor for text based languages. Specifically for: + - ESQL, with autocomplete and syntax highlighting + - SQL, with syntax highlighting + +--- + +Contains the ESQL editor with the autocomplete and the autosuggest functionality (based on atlr). +The antlr code can be found in packages/kbn-monaco/src/esql + +A **monaco** based editor that is part of the unified search experience. It is rendered for all the applications that support text-based languages. +In order to enable text based languages on your unified search bar add `textBasedLanguages: ['SQL', 'ESQL', '...']` to the dataViewPicker properties. + + +## Languages supported +- SQL: based on the Elasticsearch sql api +- ESQL: based on the Elastisearch esql api + + +## Features +- The editor operates in 3 modes: + - The inline mode: This is the one liner compact mode. If the query is large or consists of >1 lines then the user can't see the entire query. + - The inline focused mode. The editor is transferred to this mode automatically when the user clicks on the above mode. On this mode the user can work with multiple lines, see the entire context, see the errors, the editor line numbers and interact with the editor on a compact way. The editor returns automatically to the inline mode when the user clicks outside the editor. + - The expanded mode: The user has to click the maximize button to use this mode. Here the user has more space and can also minimize/maximize the editor height with a drag and drop experience. +- The editor has a built in way to depict the errors but the user has to submit the query first. The error should be on the inline focuses mode or the expanded mode to view the errors details. +- The editor is responsive regardless of the mode selected. +- The editor has a built in documentation that dynamically changes based on the language of the query. +- The user can quickly submit the query by pressing CMD/CTRL + Enter. \ No newline at end of file diff --git a/packages/kbn-text-based-editor/index.ts b/packages/kbn-text-based-editor/index.ts new file mode 100644 index 0000000000000..fd7b19839b87f --- /dev/null +++ b/packages/kbn-text-based-editor/index.ts @@ -0,0 +1,14 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export type { TextBasedLanguagesEditorProps } from './src/text_based_languages_editor'; +import { TextBasedLanguagesEditor } from './src/text_based_languages_editor'; + +// React.lazy support +// eslint-disable-next-line import/no-default-export +export default TextBasedLanguagesEditor; diff --git a/packages/kbn-text-based-editor/jest.config.js b/packages/kbn-text-based-editor/jest.config.js new file mode 100644 index 0000000000000..dec942367396d --- /dev/null +++ b/packages/kbn-text-based-editor/jest.config.js @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +module.exports = { + preset: '@kbn/test', + rootDir: '../..', + roots: ['/packages/kbn-text-based-editor'], +}; diff --git a/packages/kbn-text-based-editor/kibana.jsonc b/packages/kbn-text-based-editor/kibana.jsonc new file mode 100644 index 0000000000000..c9d3b8a2996ca --- /dev/null +++ b/packages/kbn-text-based-editor/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-browser", + "id": "@kbn/text-based-editor", + "owner": "@elastic/kibana-visualizations", +} \ No newline at end of file diff --git a/packages/kbn-text-based-editor/package.json b/packages/kbn-text-based-editor/package.json new file mode 100644 index 0000000000000..e9862bd02a336 --- /dev/null +++ b/packages/kbn-text-based-editor/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/text-based-editor", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-text-based-editor/src/__stories__/text_based_editor.stories.mdx b/packages/kbn-text-based-editor/src/__stories__/text_based_editor.stories.mdx new file mode 100644 index 0000000000000..0874305b1975b --- /dev/null +++ b/packages/kbn-text-based-editor/src/__stories__/text_based_editor.stories.mdx @@ -0,0 +1,117 @@ +import { Canvas, Meta, Story, ArgsTable } from '@storybook/addon-docs/blocks'; +import { I18nProvider } from '@kbn/i18n-react'; +import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; +import { TextBasedLanguagesEditor } from '../text_based_languages_editor'; + + +export const Template = (args) => + + {} } }, + uiSettings: { get: () => {} }, + }} + > + + +; + + + + +# Overview + +The TextBasedLanguagesEditor component is a reusable component and can be used to support text based languages in your application (SQL, ESQL): + + + + {Template.bind({})} + + + +When there are errors to the query the UI displays the errors to the editor: + + + Unexpected error from Elasticsearch: verification_exception - Found 1 problem line 1:16: Unknown column [field10]' + ), + ] + } + } + argTypes={ + { onTextLangQueryChange: { action: 'changed' }, onTextLangQuerySubmit: { action: 'submitted' }, expandCodeEditor: { action: 'expanded' }} + } + > + {Template.bind({})} + + + +When there the query is long and the editor is on the compact view: + + + + {Template.bind({})} + + + + +The editor also works on the expanded mode: + + + + {Template.bind({})} + + + +## Component props + +The component exposes the following properties: + + \ No newline at end of file diff --git a/src/plugins/unified_search/public/query_string_input/text_based_languages_editor/editor_footer.tsx b/packages/kbn-text-based-editor/src/editor_footer.tsx similarity index 77% rename from src/plugins/unified_search/public/query_string_input/text_based_languages_editor/editor_footer.tsx rename to packages/kbn-text-based-editor/src/editor_footer.tsx index 90e30b6c019e6..b2acc7fdb4a6f 100644 --- a/src/plugins/unified_search/public/query_string_input/text_based_languages_editor/editor_footer.tsx +++ b/packages/kbn-text-based-editor/src/editor_footer.tsx @@ -32,6 +32,7 @@ interface EditorFooterProps { lines: number; containerCSS: Interpolation; errors?: MonacoError[]; + detectTimestamp: boolean; onErrorClick: (error: MonacoError) => void; refreshErrors: () => void; } @@ -40,6 +41,7 @@ export const EditorFooter = memo(function EditorFooter({ lines, containerCSS, errors, + detectTimestamp, onErrorClick, refreshErrors, }: EditorFooterProps) { @@ -48,22 +50,48 @@ export const EditorFooter = memo(function EditorFooter({ - - + +

    - {i18n.translate('unifiedSearch.query.textBasedLanguagesEditor.lineCount', { + {i18n.translate('textBasedEditor.query.textBasedLanguagesEditor.lineCount', { defaultMessage: '{count} {count, plural, one {line} other {lines}}', values: { count: lines }, })}

    + + + + + + + +

    + {detectTimestamp + ? i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.timestampDetected', + { + defaultMessage: '@timestamp detected', + } + ) + : i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.timestampNotDetected', + { + defaultMessage: '@timestamp not detected', + } + )} +

    +
    +
    +
    +
    {errors && errors.length > 0 && ( @@ -89,7 +117,7 @@ export const EditorFooter = memo(function EditorFooter({ >

    {i18n.translate( - 'unifiedSearch.query.textBasedLanguagesEditor.errorCount', + 'textBasedEditor.query.textBasedLanguagesEditor.errorCount', { defaultMessage: '{count} {count, plural, one {error} other {errors}}', values: { count: errors.length }, @@ -105,7 +133,7 @@ export const EditorFooter = memo(function EditorFooter({

    {i18n.translate( - 'unifiedSearch.query.textBasedLanguagesEditor.errorsTitle', + 'textBasedEditor.query.textBasedLanguagesEditor.errorsTitle', { defaultMessage: 'Errors', } @@ -131,7 +159,7 @@ export const EditorFooter = memo(function EditorFooter({ {i18n.translate( - 'unifiedSearch.query.textBasedLanguagesEditor.lineNumber', + 'textBasedEditor.query.textBasedLanguagesEditor.lineNumber', { defaultMessage: 'Line {lineNumber}', values: { lineNumber: error.startLineNumber }, @@ -142,7 +170,7 @@ export const EditorFooter = memo(function EditorFooter({ {error.message} @@ -164,7 +192,7 @@ export const EditorFooter = memo(function EditorFooter({

    - {i18n.translate('unifiedSearch.query.textBasedLanguagesEditor.runQuery', { + {i18n.translate('textBasedEditor.query.textBasedLanguagesEditor.runQuery', { defaultMessage: 'Run query', })}

    diff --git a/src/plugins/unified_search/public/query_string_input/text_based_languages_editor/helpers.test.ts b/packages/kbn-text-based-editor/src/helpers.test.ts similarity index 100% rename from src/plugins/unified_search/public/query_string_input/text_based_languages_editor/helpers.test.ts rename to packages/kbn-text-based-editor/src/helpers.test.ts diff --git a/packages/kbn-text-based-editor/src/helpers.ts b/packages/kbn-text-based-editor/src/helpers.ts new file mode 100644 index 0000000000000..d1deae5bf0d80 --- /dev/null +++ b/packages/kbn-text-based-editor/src/helpers.ts @@ -0,0 +1,108 @@ +/* + * Copyright 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 { useRef } from 'react'; +import useDebounce from 'react-use/lib/useDebounce'; +import { monaco } from '@kbn/monaco'; +import { i18n } from '@kbn/i18n'; + +export interface MonacoError { + message: string; + startColumn: number; + startLineNumber: number; + endColumn: number; + endLineNumber: number; + severity: monaco.MarkerSeverity; +} + +export const useDebounceWithOptions = ( + fn: Function, + { skipFirstRender }: { skipFirstRender: boolean } = { skipFirstRender: false }, + ms?: number | undefined, + deps?: React.DependencyList | undefined +) => { + const isFirstRender = useRef(true); + const newDeps = [...(deps || []), isFirstRender]; + + return useDebounce( + () => { + if (skipFirstRender && isFirstRender.current) { + isFirstRender.current = false; + return; + } + return fn(); + }, + ms, + newDeps + ); +}; + +export const parseErrors = (errors: Error[], code: string): MonacoError[] => { + return errors.map((error) => { + if (error.message.includes('line')) { + const text = error.message.split('line')[1]; + const [lineNumber, startPosition, errorMessage] = text.split(':'); + // initialize the length to 10 in case no error word found + let errorLength = 10; + const [_, wordWithError] = errorMessage.split('['); + if (wordWithError) { + errorLength = wordWithError.length - 1; + } + return { + message: errorMessage, + startColumn: Number(startPosition), + startLineNumber: Number(lineNumber), + endColumn: Number(startPosition) + errorLength, + endLineNumber: Number(lineNumber), + severity: monaco.MarkerSeverity.Error, + }; + } else { + // unknown error message + return { + message: error.message, + startColumn: 1, + startLineNumber: 1, + endColumn: 10, + endLineNumber: 1, + severity: monaco.MarkerSeverity.Error, + }; + } + }); +}; + +export const getDocumentationSections = async (language: string) => { + const groups: Array<{ + label: string; + description?: string; + items: Array<{ label: string; description?: JSX.Element }>; + }> = []; + if (language === 'sql') { + const { + comparisonOperators, + logicalOperators, + mathOperators, + initialSection, + aggregateFunctions, + } = await import('./sql_documentation_sections'); + groups.push({ + label: i18n.translate('textBasedEditor.query.textBasedLanguagesEditor.howItWorks', { + defaultMessage: 'How it works', + }), + items: [], + }); + groups.push(comparisonOperators, logicalOperators, mathOperators, aggregateFunctions); + return { + groups, + initialSection, + }; + } +}; + +export const getInlineEditorText = (queryString: string, isMultiLine: boolean) => { + return isMultiLine ? queryString.replace(/\r?\n|\r/g, ' ').replace(/ +/g, ' ') : queryString; +}; diff --git a/packages/kbn-text-based-editor/src/overwrite.scss b/packages/kbn-text-based-editor/src/overwrite.scss new file mode 100644 index 0000000000000..dc46eeebc17a9 --- /dev/null +++ b/packages/kbn-text-based-editor/src/overwrite.scss @@ -0,0 +1,45 @@ +.TextBasedLangEditor .monaco-editor { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; +} + +.TextBasedLangEditor .monaco-editor .monaco-hover { + display: none !important; +} + +.TextBasedLangEditor--expanded .monaco-editor .monaco-hover { + display: block !important; +} + +.TextBasedLangEditor .monaco-editor .margin { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; +} + +.TextBasedLangEditor--compact .monaco-editor { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.TextBasedLangEditor--compact .monaco-editor .margin { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + background-color: $euiColorLightestShade; + color: $euiColorDisabledText; +} + +.TextBasedLangEditor .monaco-editor .margin-view-overlays .line-numbers { + color: $euiColorDisabledText; +} + +.TextBasedLangEditor .monaco-editor .current-line ~ .line-numbers { + color: $euiTextSubduedColor; +} + +.TextBasedLangEditor--compact .monaco-editor .monaco-scrollable-element { + margin-left: 4px; +} + +.TextBasedLangEditor_errorMessage { + @include euiTextBreakWord; +} \ No newline at end of file diff --git a/src/plugins/unified_search/public/query_string_input/text_based_languages_editor/resizable_button.scss b/packages/kbn-text-based-editor/src/resizable_button.scss similarity index 95% rename from src/plugins/unified_search/public/query_string_input/text_based_languages_editor/resizable_button.scss rename to packages/kbn-text-based-editor/src/resizable_button.scss index dd5267c9a657e..cd0342df39a77 100644 --- a/src/plugins/unified_search/public/query_string_input/text_based_languages_editor/resizable_button.scss +++ b/packages/kbn-text-based-editor/src/resizable_button.scss @@ -1,4 +1,4 @@ -.unifiedTextLangEditor--resizableButtonContainer { +.TextBasedLangEditor--resizableButtonContainer { position: absolute; bottom: 0; left: 0; @@ -7,7 +7,7 @@ flex-direction: column; } -.unifiedTextLangEditor--resizableButton { +.TextBasedLangEditor--resizableButton { position: relative; flex-shrink: 0; z-index: 1; diff --git a/src/plugins/unified_search/public/query_string_input/text_based_languages_editor/resizable_button.tsx b/packages/kbn-text-based-editor/src/resizable_button.tsx similarity index 83% rename from src/plugins/unified_search/public/query_string_input/text_based_languages_editor/resizable_button.tsx rename to packages/kbn-text-based-editor/src/resizable_button.tsx index 70d2cea176b55..7ae69b4e33d73 100644 --- a/src/plugins/unified_search/public/query_string_input/text_based_languages_editor/resizable_button.tsx +++ b/packages/kbn-text-based-editor/src/resizable_button.tsx @@ -22,10 +22,10 @@ export function ResizableButton({ const setFocus = (e: React.MouseEvent) => e.currentTarget.focus(); return ( -
    +
    ); - return ( + return error ? ( + + ) : ( { - if (initialValue) { - this.setInitializationFinished(); - } - this.setupSubscriptions(); - }); + this.runRangeSliderQuery() + .catch((e) => { + batch(() => { + this.dispatch.setLoading(false); + this.dispatch.setErrorMessage(e.message); + }); + }) + .then(async () => { + if (initialValue) { + this.setInitializationFinished(); + } + this.setupSubscriptions(); + }); }; private setupSubscriptions = () => { @@ -161,7 +168,13 @@ export class RangeSliderEmbeddable extends Embeddable + this.runRangeSliderQuery().catch((e) => { + this.dispatch.setErrorMessage(e.message); + }) + ) + ); // build filters when value change this.subscriptions.add( @@ -186,7 +199,6 @@ export class RangeSliderEmbeddable extends Embeddable { this.dispatch.setLoading(true); + const { dataView, field } = await this.getCurrentDataViewAndField(); if (!dataView || !field) return; @@ -268,15 +282,18 @@ export class RangeSliderEmbeddable extends Embeddable { + throw e; }); this.dispatch.setMinMax({ min: `${min ?? ''}`, max: `${max ?? ''}`, }); - // build filter with new min/max - await this.buildFilter(); + await this.buildFilter().catch((e) => { + throw e; + }); }; private fetchMinMax = async ({ @@ -321,11 +338,11 @@ export class RangeSliderEmbeddable extends Embeddable { + throw e; + }); const min = get(resp, 'rawResponse.aggregations.minAgg.value', ''); const max = get(resp, 'rawResponse.aggregations.maxAgg.value', ''); @@ -343,7 +360,6 @@ export class RangeSliderEmbeddable extends Embeddable { - this.runRangeSliderQuery(); + this.runRangeSliderQuery().catch((e) => { + this.dispatch.setErrorMessage(e.message); + }); }; public destroy = () => { diff --git a/src/plugins/controls/public/range_slider/range_slider_reducers.ts b/src/plugins/controls/public/range_slider/range_slider_reducers.ts index 074345d40596d..e8fcf0a10b2c3 100644 --- a/src/plugins/controls/public/range_slider/range_slider_reducers.ts +++ b/src/plugins/controls/public/range_slider/range_slider_reducers.ts @@ -40,6 +40,12 @@ export const rangeSliderReducers = { ) => { state.output.dataViewId = action.payload; }, + setErrorMessage: ( + state: WritableDraft, + action: PayloadAction + ) => { + state.componentState.error = action.payload; + }, setLoading: (state: WritableDraft, action: PayloadAction) => { state.output.loading = action.payload; }, diff --git a/src/plugins/controls/public/range_slider/types.ts b/src/plugins/controls/public/range_slider/types.ts index bf0064fa37665..ad321271631e0 100644 --- a/src/plugins/controls/public/range_slider/types.ts +++ b/src/plugins/controls/public/range_slider/types.ts @@ -17,6 +17,7 @@ export interface RangeSliderComponentState { field?: FieldSpec; min: string; max: string; + error?: string; isInvalid?: boolean; } diff --git a/src/plugins/controls/public/services/options_list/options_list_service.ts b/src/plugins/controls/public/services/options_list/options_list_service.ts index 4ad0ecddb80a8..5620a0db4e6d7 100644 --- a/src/plugins/controls/public/services/options_list/options_list_service.ts +++ b/src/plugins/controls/public/services/options_list/options_list_service.ts @@ -9,6 +9,8 @@ import { memoize } from 'lodash'; import dateMath from '@kbn/datemath'; +import { CoreStart } from '@kbn/core/public'; +import { getEsQueryConfig } from '@kbn/data-plugin/common'; import { buildEsQuery, type TimeRange } from '@kbn/es-query'; import { KibanaPluginServiceFactory } from '@kbn/presentation-util-plugin/public'; @@ -24,10 +26,12 @@ import { ControlsPluginStartDeps } from '../../types'; import { ControlsOptionsListService } from './types'; class OptionsListService implements ControlsOptionsListService { + private core: CoreStart; private data: ControlsDataService; private http: ControlsHTTPService; - constructor(requiredServices: OptionsListServiceRequiredServices) { + constructor(core: CoreStart, requiredServices: OptionsListServiceRequiredServices) { + this.core = core; ({ data: this.data, http: this.http } = requiredServices); } @@ -46,6 +50,7 @@ class OptionsListService implements ControlsOptionsListService { searchString, runPastTimeout, selectedOptions, + searchTechnique, field: { name: fieldName }, dataView: { title: dataViewTitle }, } = request; @@ -56,6 +61,7 @@ class OptionsListService implements ControlsOptionsListService { JSON.stringify(filters), JSON.stringify(query), JSON.stringify(sort), + searchTechnique, runPastTimeout, dataViewTitle, searchString, @@ -68,14 +74,12 @@ class OptionsListService implements ControlsOptionsListService { async (request: OptionsListRequest, abortSignal: AbortSignal) => { const index = request.dataView.title; const requestBody = this.getRequestBody(request); - return await this.http.fetch( - `/api/kibana/controls/optionsList/${index}`, - { - body: JSON.stringify(requestBody), - signal: abortSignal, - method: 'POST', - } - ); + return await this.http.fetch(`/internal/controls/optionsList/${index}`, { + version: '1', + body: JSON.stringify(requestBody), + signal: abortSignal, + method: 'POST', + }); }, this.optionsListCacheResolver ); @@ -85,7 +89,8 @@ class OptionsListService implements ControlsOptionsListService { const { query, filters, dataView, timeRange, field, ...passThroughProps } = request; const timeFilter = timeRange ? timeService.createFilter(dataView, timeRange) : undefined; const filtersToUse = [...(filters ?? []), ...(timeFilter ? [timeFilter] : [])]; - const esFilters = [buildEsQuery(dataView, query ?? [], filtersToUse ?? [])]; + const config = getEsQueryConfig(this.core.uiSettings); + const esFilters = [buildEsQuery(dataView, query ?? [], filtersToUse ?? [], config)]; return { ...passThroughProps, @@ -99,7 +104,9 @@ class OptionsListService implements ControlsOptionsListService { private cachedAllowExpensiveQueries = memoize(async () => { const { allowExpensiveQueries } = await this.http.get<{ allowExpensiveQueries: boolean; - }>('/api/kibana/controls/optionsList/getExpensiveQueriesSetting'); + }>('/internal/controls/optionsList/getExpensiveQueriesSetting', { + version: '1', + }); return allowExpensiveQueries; }); @@ -145,5 +152,5 @@ export type OptionsListServiceFactory = KibanaPluginServiceFactory< >; export const optionsListServiceFactory: OptionsListServiceFactory = (core, requiredServices) => { - return new OptionsListService(requiredServices); + return new OptionsListService(core.coreStart, requiredServices); }; diff --git a/src/plugins/controls/public/types.ts b/src/plugins/controls/public/types.ts index bdae4d983078c..6597376be56c2 100644 --- a/src/plugins/controls/public/types.ts +++ b/src/plugins/controls/public/types.ts @@ -21,7 +21,7 @@ import { DataPublicPluginStart } from '@kbn/data-plugin/public'; import { DataViewField, DataViewsPublicPluginStart } from '@kbn/data-views-plugin/public'; import { UnifiedSearchPublicPluginStart } from '@kbn/unified-search-plugin/public'; -import { ControlInput } from '../common/types'; +import { ControlInput, ControlWidth, DataControlInput } from '../common/types'; import { ControlsServiceType } from './services/controls/types'; export interface CommonControlOutput { @@ -74,6 +74,12 @@ export interface DataControlFieldRegistry { [fieldName: string]: DataControlField; } +export interface DataControlEditorChanges { + input: Partial; + width?: ControlWidth; + grow?: boolean; +} + /** * Plugin types */ diff --git a/src/plugins/controls/server/options_list/options_list_cheap_suggestion_queries.test.ts b/src/plugins/controls/server/options_list/options_list_cheap_suggestion_queries.test.ts index 0476788791f69..997927a5bbad2 100644 --- a/src/plugins/controls/server/options_list/options_list_cheap_suggestion_queries.test.ts +++ b/src/plugins/controls/server/options_list/options_list_cheap_suggestion_queries.test.ts @@ -53,7 +53,6 @@ describe('options list cheap queries', () => { "suggestions": Object { "terms": Object { "field": "coolTestField.keyword", - "include": ".*", "order": Object { "_count": "asc", }, diff --git a/src/plugins/controls/server/options_list/options_list_cheap_suggestion_queries.ts b/src/plugins/controls/server/options_list/options_list_cheap_suggestion_queries.ts index 3b69b2818b909..0df11e6408606 100644 --- a/src/plugins/controls/server/options_list/options_list_cheap_suggestion_queries.ts +++ b/src/plugins/controls/server/options_list/options_list_cheap_suggestion_queries.ts @@ -13,7 +13,7 @@ import { OptionsListRequestBody, OptionsListSuggestions } from '../../common/opt import { getIpRangeQuery, type IpRangeQuery } from '../../common/options_list/ip_search'; import { EsBucket, OptionsListSuggestionAggregationBuilder } from './types'; import { - getEscapedQuery, + getEscapedRegexQuery, getIpBuckets, getSortType, } from './options_list_suggestion_query_helpers'; @@ -44,7 +44,9 @@ const cheapSuggestionAggSubtypes: { [key: string]: OptionsListSuggestionAggregat suggestions: { terms: { field: fieldName, - include: `${getEscapedQuery(searchString)}.*`, + ...(searchString && searchString.length > 0 + ? { include: `${getEscapedRegexQuery(searchString)}.*` } + : {}), shard_size: 10, order: getSortType(sort), }, @@ -53,7 +55,8 @@ const cheapSuggestionAggSubtypes: { [key: string]: OptionsListSuggestionAggregat parse: (rawEsResult) => ({ suggestions: get(rawEsResult, 'aggregations.suggestions.buckets')?.reduce( (acc: OptionsListSuggestions, suggestion: EsBucket) => { - return [...acc, { value: suggestion.key, docCount: suggestion.doc_count }]; + acc.push({ value: suggestion.key, docCount: suggestion.doc_count }); + return acc; }, [] ), @@ -76,7 +79,8 @@ const cheapSuggestionAggSubtypes: { [key: string]: OptionsListSuggestionAggregat parse: (rawEsResult) => ({ suggestions: get(rawEsResult, 'aggregations.suggestions.buckets')?.reduce( (acc: OptionsListSuggestions, suggestion: EsBucket & { key_as_string: string }) => { - return [...acc, { value: suggestion.key_as_string, docCount: suggestion.doc_count }]; + acc.push({ value: suggestion.key_as_string, docCount: suggestion.doc_count }); + return acc; }, [] ), @@ -99,7 +103,7 @@ const cheapSuggestionAggSubtypes: { [key: string]: OptionsListSuggestionAggregat ], }; - if (searchString) { + if (searchString && searchString.length > 0) { ipRangeQuery = getIpRangeQuery(searchString); if (!ipRangeQuery.validSearch) { // ideally should be prevented on the client side but, if somehow an invalid search gets through to the server, @@ -151,7 +155,8 @@ const cheapSuggestionAggSubtypes: { [key: string]: OptionsListSuggestionAggregat suggestions: sortedSuggestions .slice(0, 10) // only return top 10 results .reduce((acc: OptionsListSuggestions, suggestion: EsBucket) => { - return [...acc, { value: suggestion.key, docCount: suggestion.doc_count }]; + acc.push({ value: suggestion.key, docCount: suggestion.doc_count }); + return acc; }, []), }; }, @@ -177,7 +182,9 @@ const cheapSuggestionAggSubtypes: { [key: string]: OptionsListSuggestionAggregat suggestions: { terms: { field: fieldName, - include: `${getEscapedQuery(searchString)}.*`, + ...(searchString && searchString.length > 0 + ? { include: `${getEscapedRegexQuery(searchString)}.*` } + : {}), shard_size: 10, order: getSortType(sort), }, @@ -189,7 +196,8 @@ const cheapSuggestionAggSubtypes: { [key: string]: OptionsListSuggestionAggregat parse: (rawEsResult) => ({ suggestions: get(rawEsResult, 'aggregations.nestedSuggestions.suggestions.buckets')?.reduce( (acc: OptionsListSuggestions, suggestion: EsBucket) => { - return [...acc, { value: suggestion.key, docCount: suggestion.doc_count }]; + acc.push({ value: suggestion.key, docCount: suggestion.doc_count }); + return acc; }, [] ), diff --git a/src/plugins/controls/server/options_list/options_list_cluster_settings_route.ts b/src/plugins/controls/server/options_list/options_list_cluster_settings_route.ts index c757a56950da3..aa1c839ffe778 100644 --- a/src/plugins/controls/server/options_list/options_list_cluster_settings_route.ts +++ b/src/plugins/controls/server/options_list/options_list_cluster_settings_route.ts @@ -11,41 +11,46 @@ import { CoreSetup } from '@kbn/core/server'; export const setupOptionsListClusterSettingsRoute = ({ http }: CoreSetup) => { const router = http.createRouter(); - router.get( - { - path: '/api/kibana/controls/optionsList/getExpensiveQueriesSetting', - validate: false, - }, - async (context, _, response) => { - try { - /** - * using internal user here because in many cases the logged in user will not have the monitor permission required - * to check cluster settings. This endpoint does not take a query, params, or a body, so there is no chance of leaking info. - */ - const esClient = (await context.core).elasticsearch.client.asInternalUser; - const settings = await esClient.cluster.getSettings({ - include_defaults: true, - filter_path: '**.allow_expensive_queries', - }); + router.versioned + .get({ + access: 'internal', + path: '/internal/controls/optionsList/getExpensiveQueriesSetting', + }) + .addVersion( + { + version: '1', + validate: false, + }, + async (context, _, response) => { + try { + /** + * using internal user here because in many cases the logged in user will not have the monitor permission required + * to check cluster settings. This endpoint does not take a query, params, or a body, so there is no chance of leaking info. + */ + const esClient = (await context.core).elasticsearch.client.asInternalUser; + const settings = await esClient.cluster.getSettings({ + include_defaults: true, + filter_path: '**.allow_expensive_queries', + }); - // priority: transient -> persistent -> default - const allowExpensiveQueries: string = - settings.transient?.search?.allow_expensive_queries ?? - settings.persistent?.search?.allow_expensive_queries ?? - settings.defaults?.search?.allow_expensive_queries ?? - // by default, the allowExpensiveQueries cluster setting is undefined; so, we need to treat this the same - // as `true` since that's the way other applications (such as the dashboard listing page) handle this. - 'true'; + // priority: transient -> persistent -> default + const allowExpensiveQueries: string = + settings.transient?.search?.allow_expensive_queries ?? + settings.persistent?.search?.allow_expensive_queries ?? + settings.defaults?.search?.allow_expensive_queries ?? + // by default, the allowExpensiveQueries cluster setting is undefined; so, we need to treat this the same + // as `true` since that's the way other applications (such as the dashboard listing page) handle this. + 'true'; - return response.ok({ - body: { - allowExpensiveQueries: allowExpensiveQueries === 'true', - }, - }); - } catch (e) { - const kbnErr = getKbnServerError(e); - return reportServerError(response, kbnErr); + return response.ok({ + body: { + allowExpensiveQueries: allowExpensiveQueries === 'true', + }, + }); + } catch (e) { + const kbnErr = getKbnServerError(e); + return reportServerError(response, kbnErr); + } } - } - ); + ); }; diff --git a/src/plugins/controls/server/options_list/options_list_expensive_suggestion_queries.test.ts b/src/plugins/controls/server/options_list/options_list_expensive_suggestion_queries.test.ts index 5638cbc347366..a2d0d4e87a260 100644 --- a/src/plugins/controls/server/options_list/options_list_expensive_suggestion_queries.test.ts +++ b/src/plugins/controls/server/options_list/options_list_expensive_suggestion_queries.test.ts @@ -115,6 +115,100 @@ describe('options list expensive queries', () => { `); }); + test('test keyword field, with wildcard search and basic search string', () => { + const optionsListRequestBodyMock: OptionsListRequestBody = { + size: 10, + searchString: 'c', + searchTechnique: 'wildcard', + allowExpensiveQueries: true, + fieldName: 'coolTestField.keyword', + sort: { by: '_key', direction: 'desc' }, + fieldSpec: { aggregatable: true } as unknown as FieldSpec, + }; + const suggestionAggBuilder = getExpensiveSuggestionAggregationBuilder( + optionsListRequestBodyMock + ); + expect(suggestionAggBuilder.buildAggregation(optionsListRequestBodyMock)) + .toMatchInlineSnapshot(` + Object { + "filteredSuggestions": Object { + "aggs": Object { + "suggestions": Object { + "terms": Object { + "field": "coolTestField.keyword", + "order": Object { + "_key": "desc", + }, + "shard_size": 10, + "size": 10, + }, + }, + "unique_terms": Object { + "cardinality": Object { + "field": "coolTestField.keyword", + }, + }, + }, + "filter": Object { + "wildcard": Object { + "coolTestField.keyword": Object { + "case_insensitive": true, + "value": "*c*", + }, + }, + }, + }, + } + `); + }); + + test('test keyword field, with wildcard search and search string that needs to be escaped', () => { + const optionsListRequestBodyMock: OptionsListRequestBody = { + size: 10, + searchString: '.c?o&o[l*', + searchTechnique: 'wildcard', + allowExpensiveQueries: true, + fieldName: 'coolTestField.keyword', + sort: { by: '_key', direction: 'desc' }, + fieldSpec: { aggregatable: true } as unknown as FieldSpec, + }; + const suggestionAggBuilder = getExpensiveSuggestionAggregationBuilder( + optionsListRequestBodyMock + ); + expect(suggestionAggBuilder.buildAggregation(optionsListRequestBodyMock)) + .toMatchInlineSnapshot(` + Object { + "filteredSuggestions": Object { + "aggs": Object { + "suggestions": Object { + "terms": Object { + "field": "coolTestField.keyword", + "order": Object { + "_key": "desc", + }, + "shard_size": 10, + "size": 10, + }, + }, + "unique_terms": Object { + "cardinality": Object { + "field": "coolTestField.keyword", + }, + }, + }, + "filter": Object { + "wildcard": Object { + "coolTestField.keyword": Object { + "case_insensitive": true, + "value": "*.c\\\\?o&o[l\\\\**", + }, + }, + }, + }, + } + `); + }); + test('test nested field, with a search string', () => { const optionsListRequestBodyMock: OptionsListRequestBody = { size: 10, diff --git a/src/plugins/controls/server/options_list/options_list_expensive_suggestion_queries.ts b/src/plugins/controls/server/options_list/options_list_expensive_suggestion_queries.ts index a1114191d1fa8..5fb865bfada5b 100644 --- a/src/plugins/controls/server/options_list/options_list_expensive_suggestion_queries.ts +++ b/src/plugins/controls/server/options_list/options_list_expensive_suggestion_queries.ts @@ -9,10 +9,18 @@ import { get } from 'lodash'; import { getFieldSubtypeNested } from '@kbn/data-views-plugin/common'; -import { OptionsListRequestBody, OptionsListSuggestions } from '../../common/options_list/types'; +import { + OptionsListRequestBody, + OptionsListSuggestions, + OPTIONS_LIST_DEFAULT_SEARCH_TECHNIQUE, +} from '../../common/options_list/types'; import { getIpRangeQuery, type IpRangeQuery } from '../../common/options_list/ip_search'; import { EsBucket, OptionsListSuggestionAggregationBuilder } from './types'; -import { getIpBuckets, getSortType } from './options_list_suggestion_query_helpers'; +import { + getEscapedWildcardQuery, + getIpBuckets, + getSortType, +} from './options_list_suggestion_query_helpers'; /** * Suggestion aggregations @@ -34,6 +42,7 @@ const expensiveSuggestionAggSubtypes: { [key: string]: OptionsListSuggestionAggr */ textOrKeywordOrNested: { buildAggregation: ({ + searchTechnique, searchString, fieldName, fieldSpec, @@ -56,13 +65,16 @@ const expensiveSuggestionAggSubtypes: { [key: string]: OptionsListSuggestionAggr }, }, }; - if (searchString) { + if (searchString && searchString.length > 0) { textOrKeywordQuery = { filteredSuggestions: { filter: { - prefix: { + [(searchTechnique ?? OPTIONS_LIST_DEFAULT_SEARCH_TECHNIQUE) as string]: { [fieldName]: { - value: searchString, + value: + searchTechnique === 'wildcard' + ? `*${getEscapedWildcardQuery(searchString)}*` + : searchString, case_insensitive: true, }, }, @@ -93,7 +105,8 @@ const expensiveSuggestionAggSubtypes: { [key: string]: OptionsListSuggestionAggr const suggestions = get(rawEsResult, `${basePath}.suggestions.buckets`)?.reduce( (acc: OptionsListSuggestions, suggestion: EsBucket) => { - return [...acc, { value: suggestion.key, docCount: suggestion.doc_count }]; + acc.push({ value: suggestion.key, docCount: suggestion.doc_count }); + return acc; }, [] ); @@ -120,7 +133,8 @@ const expensiveSuggestionAggSubtypes: { [key: string]: OptionsListSuggestionAggr parse: (rawEsResult) => { const suggestions = get(rawEsResult, 'aggregations.suggestions.buckets')?.reduce( (acc: OptionsListSuggestions, suggestion: EsBucket & { key_as_string: string }) => { - return [...acc, { value: suggestion.key_as_string, docCount: suggestion.doc_count }]; + acc.push({ value: suggestion.key_as_string, docCount: suggestion.doc_count }); + return acc; }, [] ); @@ -144,7 +158,7 @@ const expensiveSuggestionAggSubtypes: { [key: string]: OptionsListSuggestionAggr ], }; - if (searchString) { + if (searchString && searchString.length > 0) { ipRangeQuery = getIpRangeQuery(searchString); if (!ipRangeQuery.validSearch) { // ideally should be prevented on the client side but, if somehow an invalid search gets through to the server, @@ -200,7 +214,8 @@ const expensiveSuggestionAggSubtypes: { [key: string]: OptionsListSuggestionAggr const suggestions = sortedSuggestions .slice(0, request.size) .reduce((acc: OptionsListSuggestions, suggestion: EsBucket) => { - return [...acc, { value: suggestion.key, docCount: suggestion.doc_count }]; + acc.push({ value: suggestion.key, docCount: suggestion.doc_count }); + return acc; }, []); const totalCardinality = (get(rawEsResult, `aggregations.suggestions.buckets.ipv4.unique_terms.value`) ?? 0) + diff --git a/src/plugins/controls/server/options_list/options_list_suggestion_query_helpers.ts b/src/plugins/controls/server/options_list/options_list_suggestion_query_helpers.ts index 54e83e0ac835b..437450cc8ecf1 100644 --- a/src/plugins/controls/server/options_list/options_list_suggestion_query_helpers.ts +++ b/src/plugins/controls/server/options_list/options_list_suggestion_query_helpers.ts @@ -20,9 +20,12 @@ export const getSortType = (sort?: OptionsListSortingType) => { : { [OPTIONS_LIST_DEFAULT_SORT.by]: OPTIONS_LIST_DEFAULT_SORT.direction }; }; -export const getEscapedQuery = (q: string = '') => +export const getEscapedRegexQuery = (q: string = '') => q.replace(/[.?+*|{}[\]()"\\#@&<>~]/g, (match) => `\\${match}`); +export const getEscapedWildcardQuery = (q: string = '') => + q.replace(/[?*]/g, (match) => `\\${match}`); + export const getIpBuckets = ( rawEsResult: any, combinedBuckets: EsBucket[], diff --git a/src/plugins/controls/server/options_list/options_list_suggestions_route.ts b/src/plugins/controls/server/options_list/options_list_suggestions_route.ts index 61d50419d94a0..d6fe08f275ccf 100644 --- a/src/plugins/controls/server/options_list/options_list_suggestions_route.ts +++ b/src/plugins/controls/server/options_list/options_list_suggestions_route.ts @@ -26,50 +26,57 @@ export const setupOptionsListSuggestionsRoute = ( ) => { const router = http.createRouter(); - router.post( - { - path: '/api/kibana/controls/optionsList/{index}', - validate: { - params: schema.object( - { - index: schema.string(), + router.versioned + .post({ + access: 'internal', + path: '/internal/controls/optionsList/{index}', + }) + .addVersion( + { + version: '1', + validate: { + request: { + params: schema.object( + { + index: schema.string(), + }, + { unknowns: 'allow' } + ), + body: schema.object( + { + size: schema.number(), + fieldName: schema.string(), + sort: schema.maybe(schema.any()), + filters: schema.maybe(schema.any()), + fieldSpec: schema.maybe(schema.any()), + allowExpensiveQueries: schema.boolean(), + searchString: schema.maybe(schema.string()), + selectedOptions: schema.maybe(schema.arrayOf(schema.string())), + }, + { unknowns: 'allow' } + ), }, - { unknowns: 'allow' } - ), - body: schema.object( - { - size: schema.number(), - fieldName: schema.string(), - sort: schema.maybe(schema.any()), - filters: schema.maybe(schema.any()), - fieldSpec: schema.maybe(schema.any()), - allowExpensiveQueries: schema.boolean(), - searchString: schema.maybe(schema.string()), - selectedOptions: schema.maybe(schema.arrayOf(schema.string())), - }, - { unknowns: 'allow' } - ), + }, }, - }, - async (context, request, response) => { - try { - const suggestionRequest: OptionsListRequestBody = request.body; - const { index } = request.params; - const esClient = (await context.core).elasticsearch.client.asCurrentUser; + async (context, request, response) => { + try { + const suggestionRequest: OptionsListRequestBody = request.body; + const { index } = request.params; + const esClient = (await context.core).elasticsearch.client.asCurrentUser; - const suggestionsResponse = await getOptionsListSuggestions({ - abortedEvent$: request.events.aborted$, - request: suggestionRequest, - esClient, - index, - }); - return response.ok({ body: suggestionsResponse }); - } catch (e) { - const kbnErr = getKbnServerError(e); - return reportServerError(response, kbnErr); + const suggestionsResponse = await getOptionsListSuggestions({ + abortedEvent$: request.events.aborted$, + request: suggestionRequest, + esClient, + index, + }); + return response.ok({ body: suggestionsResponse }); + } catch (e) { + const kbnErr = getKbnServerError(e); + return reportServerError(response, kbnErr); + } } - } - ); + ); const getOptionsListSuggestions = async ({ abortedEvent$, diff --git a/src/plugins/dashboard/public/assets/dashboards_dark.svg b/src/plugins/dashboard/public/assets/dashboards_dark.svg new file mode 100644 index 0000000000000..6499131ce6b5a --- /dev/null +++ b/src/plugins/dashboard/public/assets/dashboards_dark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/plugins/dashboard/public/assets/dashboards_light.svg b/src/plugins/dashboard/public/assets/dashboards_light.svg new file mode 100644 index 0000000000000..4ca82bfe3ff98 --- /dev/null +++ b/src/plugins/dashboard/public/assets/dashboards_light.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/plugins/dashboard/public/dashboard_app/dashboard_app.tsx b/src/plugins/dashboard/public/dashboard_app/dashboard_app.tsx index 8fc546a41ea65..cac18a72d2e11 100644 --- a/src/plugins/dashboard/public/dashboard_app/dashboard_app.tsx +++ b/src/plugins/dashboard/public/dashboard_app/dashboard_app.tsx @@ -83,11 +83,6 @@ export function DashboardApp({ customBranding, } = pluginServices.getServices(); const showPlainSpinner = useObservable(customBranding.hasCustomBranding$, false); - - const incomingEmbeddable = getStateTransfer().getIncomingEmbeddablePackage( - DASHBOARD_APP_ID, - true - ); const { scopedHistory: getScopedHistory } = useDashboardMountContext(); useExecutionContext(executionContext, { @@ -125,13 +120,28 @@ export function DashboardApp({ /** * Create options to pass into the dashboard renderer */ - const stateFromLocator = loadDashboardHistoryLocationState(getScopedHistory); const getCreationOptions = useCallback((): Promise => { - const initialUrlState = loadAndRemoveDashboardState(kbnUrlStateStorage); const searchSessionIdFromURL = getSearchSessionIdFromURL(history); + const getInitialInput = () => { + const stateFromLocator = loadDashboardHistoryLocationState(getScopedHistory); + const initialUrlState = loadAndRemoveDashboardState(kbnUrlStateStorage); + + // Override all state with URL + Locator input + return { + // State loaded from the dashboard app URL and from the locator overrides all other dashboard state. + ...initialUrlState, + ...stateFromLocator, + + // if print mode is active, force viewMode.PRINT + ...(isScreenshotMode() && getScreenshotContext('layout') === 'print' + ? { viewMode: ViewMode.PRINT } + : {}), + }; + }; - return Promise.resolve({ - incomingEmbeddable, + return Promise.resolve({ + getIncomingEmbeddable: () => + getStateTransfer().getIncomingEmbeddablePackage(DASHBOARD_APP_ID, true), // integrations useControlGroupIntegration: true, @@ -148,28 +158,16 @@ export function DashboardApp({ getSearchSessionIdFromURL: () => getSearchSessionIdFromURL(history), removeSessionIdFromUrl: () => removeSearchSessionIdFromURL(kbnUrlStateStorage), }, - - // Override all state with URL + Locator input - initialInput: { - // State loaded from the dashboard app URL and from the locator overrides all other dashboard state. - ...initialUrlState, - ...stateFromLocator, - - // if print mode is active, force viewMode.PRINT - ...(isScreenshotMode() && getScreenshotContext('layout') === 'print' - ? { viewMode: ViewMode.PRINT } - : {}), - }, - + getInitialInput, validateLoadedSavedObject: validateOutcome, }); }, [ history, validateOutcome, - stateFromLocator, + getScopedHistory, isScreenshotMode, + getStateTransfer, kbnUrlStateStorage, - incomingEmbeddable, getScreenshotContext, ]); @@ -183,7 +181,7 @@ export function DashboardApp({ dashboardAPI, }); return () => stopWatchingAppStateInUrl(); - }, [dashboardAPI, kbnUrlStateStorage]); + }, [dashboardAPI, kbnUrlStateStorage, savedDashboardId]); return (
    diff --git a/src/plugins/dashboard/public/dashboard_app/dashboard_router.tsx b/src/plugins/dashboard/public/dashboard_app/dashboard_router.tsx index 6956ea7024a32..e2b4c22a40b4b 100644 --- a/src/plugins/dashboard/public/dashboard_app/dashboard_router.tsx +++ b/src/plugins/dashboard/public/dashboard_app/dashboard_router.tsx @@ -9,13 +9,13 @@ import './_dashboard_app.scss'; import React from 'react'; -import { History } from 'history'; import { parse, ParsedQuery } from 'query-string'; import { render, unmountComponentAtNode } from 'react-dom'; import { Switch, RouteComponentProps, HashRouter, Redirect } from 'react-router-dom'; import { Route } from '@kbn/shared-ux-router'; import { I18nProvider } from '@kbn/i18n-react'; +import { ViewMode } from '@kbn/embeddable-plugin/public'; import { AppMountParameters, CoreSetup } from '@kbn/core/public'; import { KibanaThemeProvider } from '@kbn/kibana-react-plugin/public'; import { createKbnUrlStateStorage, withNotifyOnErrors } from '@kbn/kibana-utils-plugin/public'; @@ -56,6 +56,7 @@ export async function mountApp({ core, element, appUnMounted, mountContext }: Da chrome: { setBadge, docTitle, setHelpExtension }, dashboardCapabilities: { showWriteControls }, documentationLinks: { dashboardDocLink }, + application: { navigateToApp }, settings: { uiSettings }, data: dataStart, notifications, @@ -63,7 +64,6 @@ export async function mountApp({ core, element, appUnMounted, mountContext }: Da } = pluginServices.getServices(); let globalEmbedSettings: DashboardEmbedSettings | undefined; - let routerHistory: History; const getUrlStateStorage = (history: RouteComponentProps['history']) => createKbnUrlStateStorage({ @@ -73,17 +73,17 @@ export async function mountApp({ core, element, appUnMounted, mountContext }: Da }); const redirect = (redirectTo: RedirectToProps) => { - if (!routerHistory) return; - const historyFunction = redirectTo.useReplace ? routerHistory.replace : routerHistory.push; - let destination; + let path; + let state; if (redirectTo.destination === 'dashboard') { - destination = redirectTo.id - ? createDashboardEditUrl(redirectTo.id, redirectTo.editMode) - : CREATE_NEW_DASHBOARD_URL; + path = redirectTo.id ? createDashboardEditUrl(redirectTo.id) : CREATE_NEW_DASHBOARD_URL; + if (redirectTo.editMode) { + state = { viewMode: ViewMode.EDIT }; + } } else { - destination = createDashboardListingFilterUrl(redirectTo.filter); + path = createDashboardListingFilterUrl(redirectTo.filter); } - historyFunction(destination); + navigateToApp(DASHBOARD_APP_ID, { path: `#/${path}`, state, replace: redirectTo.useReplace }); }; const getDashboardEmbedSettings = ( @@ -102,9 +102,6 @@ export async function mountApp({ core, element, appUnMounted, mountContext }: Da if (routeParams.embed && !globalEmbedSettings) { globalEmbedSettings = getDashboardEmbedSettings(routeParams); } - if (!routerHistory) { - routerHistory = routeProps.history; - } return ( state.explicitInput.title); // store data views in state & subscribe to dashboard data view changes. - const [allDataViews, setAllDataViews] = useState(dashboard.getAllDataViews()); + const [allDataViews, setAllDataViews] = useState([]); useEffect(() => { + setAllDataViews(dashboard.getAllDataViews()); const subscription = dashboard.onDataViewsUpdate$.subscribe((dataViews) => setAllDataViews(dataViews) ); diff --git a/src/plugins/dashboard/public/dashboard_app/top_nav/editor_menu.tsx b/src/plugins/dashboard/public/dashboard_app/top_nav/editor_menu.tsx index 56fbf8e3bba39..084bda8fcd9e7 100644 --- a/src/plugins/dashboard/public/dashboard_app/top_nav/editor_menu.tsx +++ b/src/plugins/dashboard/public/dashboard_app/top_nav/editor_menu.tsx @@ -46,7 +46,6 @@ interface UnwrappedEmbeddableFactory { export const EditorMenu = ({ createNewVisType, createNewEmbeddable }: Props) => { const { embeddable, - settings: { uiSettings }, visualizations: { getAliases: getVisTypeAliases, getByGroup: getVisTypesByGroup, @@ -75,8 +74,6 @@ export const EditorMenu = ({ createNewVisType, createNewEmbeddable }: Props) => }); }, [embeddableFactories]); - const LABS_ENABLED = uiSettings.get('visualize:enableLabs'); - const createNewAggsBasedVis = useCallback( (visType?: BaseVisType) => () => showNewVisModal({ @@ -99,9 +96,7 @@ export const EditorMenu = ({ createNewVisType, createNewEmbeddable }: Props) => } return 0; }) - .filter( - ({ hidden, stage }: BaseVisType) => !(hidden || (!LABS_ENABLED && stage === 'experimental')) - ); + .filter(({ disableCreate, stage }: BaseVisType) => !disableCreate); const promotedVisTypes = getSortedVisTypesByGroup(VisGroups.PROMOTED); const aggsBasedVisTypes = getSortedVisTypesByGroup(VisGroups.AGGBASED); @@ -223,29 +218,33 @@ export const EditorMenu = ({ createNewVisType, createNewEmbeddable }: Props) => }); const getEditorMenuPanels = (closePopover: () => void) => { + const initialPanelItems = [ + ...visTypeAliases.map(getVisTypeAliasMenuItem), + ...Object.values(factoryGroupMap).map(({ id, appName, icon, panelId }) => ({ + name: appName, + icon, + panel: panelId, + 'data-test-subj': `dashboardEditorMenu-${id}Group`, + })), + ...ungroupedFactories.map((factory) => { + return getEmbeddableFactoryMenuItem(factory, closePopover); + }), + ...promotedVisTypes.map(getVisTypeMenuItem), + ]; + if (aggsBasedVisTypes.length > 0) { + initialPanelItems.push({ + name: aggsPanelTitle, + icon: 'visualizeApp', + panel: aggBasedPanelID, + 'data-test-subj': `dashboardEditorAggBasedMenuItem`, + }); + } + initialPanelItems.push(...toolVisTypes.map(getVisTypeMenuItem)); + return [ { id: 0, - items: [ - ...visTypeAliases.map(getVisTypeAliasMenuItem), - ...Object.values(factoryGroupMap).map(({ id, appName, icon, panelId }) => ({ - name: appName, - icon, - panel: panelId, - 'data-test-subj': `dashboardEditorMenu-${id}Group`, - })), - ...ungroupedFactories.map((factory) => { - return getEmbeddableFactoryMenuItem(factory, closePopover); - }), - ...promotedVisTypes.map(getVisTypeMenuItem), - { - name: aggsPanelTitle, - icon: 'visualizeApp', - panel: aggBasedPanelID, - 'data-test-subj': `dashboardEditorAggBasedMenuItem`, - }, - ...toolVisTypes.map(getVisTypeMenuItem), - ], + items: initialPanelItems, }, { id: aggBasedPanelID, diff --git a/src/plugins/dashboard/public/dashboard_container/_dashboard_container.scss b/src/plugins/dashboard/public/dashboard_container/_dashboard_container.scss index 186e0758defaf..aa5b5950a0d59 100644 --- a/src/plugins/dashboard/public/dashboard_container/_dashboard_container.scss +++ b/src/plugins/dashboard/public/dashboard_container/_dashboard_container.scss @@ -14,26 +14,21 @@ align-items: center; } -.dshStartScreen { - text-align: center; -} - -.dshStartScreen__pageContent { - padding: $euiSizeXXL; +.dshEmptyPromptParent { + flex-grow: 1; + display: flex; } -.dshStartScreen__panelDesc { - max-width: 260px; - margin: 0 auto; +.dshEmptyPromptPageTemplate { + background-color: inherit; + padding-block-start: 0 !important; } -.dshEmptyWidget { - background-color: $euiColorLightestShade; - border: $euiBorderThin; - border-style: dashed; +.dshEmptyWidgetContainer { + padding: $euiSizeXL; + padding-top: 0 !important; border-radius: $euiBorderRadius; - padding: $euiSizeXXL * 2; - max-width: 400px; - margin-left: $euiSizeS; - text-align: center; + .euiEmptyPrompt__icon { + margin-bottom: 0; + } } \ No newline at end of file diff --git a/src/plugins/dashboard/public/dashboard_container/_dashboard_container_strings.ts b/src/plugins/dashboard/public/dashboard_container/_dashboard_container_strings.ts index 5bd6a24d8130f..2fd068f5b5816 100644 --- a/src/plugins/dashboard/public/dashboard_container/_dashboard_container_strings.ts +++ b/src/plugins/dashboard/public/dashboard_container/_dashboard_container_strings.ts @@ -12,33 +12,46 @@ import { i18n } from '@kbn/i18n'; Empty Screen */ export const emptyScreenStrings = { - getEmptyDashboardTitle: () => - i18n.translate('dashboard.emptyDashboardTitle', { - defaultMessage: 'This dashboard is empty.', + // Edit mode + getEditModeTitle: () => + i18n.translate('dashboard.emptyScreen.editModeTitle', { + defaultMessage: 'This dashboard is empty. Let\u2019s fill it up!', }), - getEmptyDashboardAdditionalPrivilege: () => - i18n.translate('dashboard.emptyDashboardAdditionalPrivilege', { - defaultMessage: 'You need additional privileges to edit this dashboard.', + getEditModeSubtitle: () => + i18n.translate('dashboard.emptyScreen.editModeSubtitle', { + defaultMessage: 'Create a visualization of your data, or add one from the Visualize Library.', }), - getFillDashboardTitle: () => - i18n.translate('dashboard.fillDashboardTitle', { - defaultMessage: 'This dashboard is empty. Let\u2019s fill it up!', + getAddFromLibraryButtonTitle: () => + i18n.translate('dashboard.emptyScreen.addFromLibrary', { + defaultMessage: 'Add from library', + }), + getCreateVisualizationButtonTitle: () => + i18n.translate('dashboard.emptyScreen.createVisualization', { + defaultMessage: 'Create visualization', }), - getHowToStartWorkingOnNewDashboardDescription: () => - i18n.translate('dashboard.howToStartWorkingOnNewDashboardDescription', { - defaultMessage: 'Click edit in the menu bar above to start adding panels.', + + // View Mode with permissions + getViewModeWithPermissionsTitle: () => + i18n.translate('dashboard.emptyScreen.viewModeTitle', { + defaultMessage: 'Add visualizations to your dashboard', + }), + getViewModeWithPermissionsSubtitle: () => + i18n.translate('dashboard.emptyScreen.viewModeSubtitle', { + defaultMessage: 'Enter edit mode, and then start adding your visualizations.', }), - getHowToStartWorkingOnNewDashboardEditLinkAriaLabel: () => - i18n.translate('dashboard.howToStartWorkingOnNewDashboardEditLinkAriaLabel', { + getEditLinkTitle: () => + i18n.translate('dashboard.emptyScreen.editDashboard', { defaultMessage: 'Edit dashboard', }), - getEmptyWidgetTitle: () => - i18n.translate('dashboard.emptyWidget.addPanelTitle', { - defaultMessage: 'Add your first visualization', + + // View Mode without permissions + getViewModeWithoutPermissionsTitle: () => + i18n.translate('dashboard.emptyScreen.noPermissionsTitle', { + defaultMessage: 'This dashboard is empty.', }), - getEmptyWidgetDescription: () => - i18n.translate('dashboard.emptyWidget.addPanelDescription', { - defaultMessage: 'Create content that tells a story about your data.', + getViewModeWithoutPermissionsSubtitle: () => + i18n.translate('dashboard.emptyScreen.noPermissionsSubtitle', { + defaultMessage: 'You need additional privileges to edit this dashboard.', }), }; diff --git a/src/plugins/dashboard/public/dashboard_container/component/empty_screen/__snapshots__/dashboard_empty_screen.test.tsx.snap b/src/plugins/dashboard/public/dashboard_container/component/empty_screen/__snapshots__/dashboard_empty_screen.test.tsx.snap index bfa152c38553a..2fd8a7d904006 100644 --- a/src/plugins/dashboard/public/dashboard_container/component/empty_screen/__snapshots__/dashboard_empty_screen.test.tsx.snap +++ b/src/plugins/dashboard/public/dashboard_container/component/empty_screen/__snapshots__/dashboard_empty_screen.test.tsx.snap @@ -2,121 +2,369 @@ exports[`DashboardEmptyScreen renders correctly with edit mode 1`] = `
    -
    -

    - Add your first visualization -

    -
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +

    + This dashboard is empty. Let’s fill it up! +

    +
    +
    +
    + + Create a visualization of your data, or add one from the Visualize Library. + +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +`; + +exports[`DashboardEmptyScreen renders correctly with readonly and edit mode 1`] = ` +
    - - Create content that tells a story about your data. - +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +

    + This dashboard is empty. +

    +
    +
    +
    + + You need additional privileges to edit this dashboard. + +
    +
    +
    +
    +
    +
    +
    +
    +
    `; exports[`DashboardEmptyScreen renders correctly with readonly mode 1`] = `
    -
    -
    - -
    -
    -

    - This dashboard is empty. -

    -
    -
    - You need additional privileges to edit this dashboard. -
    -
    +
    +
    +
    +
    + +
    +
    +
    +
    +

    + This dashboard is empty. +

    +
    +
    +
    + + You need additional privileges to edit this dashboard. + +
    +
    +
    +
    +
    +
    +
    + +
    `; exports[`DashboardEmptyScreen renders correctly with view mode 1`] = `
    -
    -
    - -
    -
    -

    - This dashboard is empty. Let’s fill it up! -

    -
    -
    -
    -

    - Click edit in the menu bar above to start adding panels. -

    +
    +
    +
    +
    + +
    +
    +
    +
    +

    + Add visualizations to your dashboard +

    +
    +
    +
    + + Enter edit mode, and then start adding your visualizations. + +
    +
    +
    + +
    +
    +
    +
    -
    -
    + +
    `; diff --git a/src/plugins/dashboard/public/dashboard_container/component/empty_screen/dashboard_empty_screen.test.tsx b/src/plugins/dashboard/public/dashboard_container/component/empty_screen/dashboard_empty_screen.test.tsx index 9f5fd97bafb25..439fc43ce8eb0 100644 --- a/src/plugins/dashboard/public/dashboard_container/component/empty_screen/dashboard_empty_screen.test.tsx +++ b/src/plugins/dashboard/public/dashboard_container/component/empty_screen/dashboard_empty_screen.test.tsx @@ -10,49 +10,76 @@ import React from 'react'; import { mountWithIntl } from '@kbn/test-jest-helpers'; import { findTestSubject } from '@elastic/eui/lib/test'; +import { buildMockDashboard } from '../../../mocks'; +import { DashboardEmptyScreen } from './dashboard_empty_screen'; import { pluginServices } from '../../../services/plugin_services'; -import { DashboardEmptyScreen, DashboardEmptyScreenProps } from './dashboard_empty_screen'; +import { DashboardContainerContext } from '../../embeddable/dashboard_container'; +import { ViewMode } from '@kbn/embeddable-plugin/public'; -describe('DashboardEmptyScreen', () => { - const DashboardServicesProvider = pluginServices.getContextProvider(); - - const defaultProps = { - onLinkClick: jest.fn(), - }; +pluginServices.getServices().visualizations.getAliases = jest + .fn() + .mockReturnValue([{ name: 'lens' }]); - function mountComponent(props?: Partial) { - const compProps = { ...defaultProps, ...props }; +describe('DashboardEmptyScreen', () => { + function mountComponent(viewMode: ViewMode) { + const dashboardContainer = buildMockDashboard({ viewMode }); return mountWithIntl( - - - + + + ); } test('renders correctly with view mode', () => { - const component = mountComponent(); + const component = mountComponent(ViewMode.VIEW); expect(component.render()).toMatchSnapshot(); - const enterEditModeParagraph = component.find('.dshStartScreen__panelDesc'); - expect(enterEditModeParagraph.length).toBe(1); + + const emptyReadWrite = findTestSubject(component, 'dashboardEmptyReadWrite'); + expect(emptyReadWrite.length).toBe(1); + const emptyReadOnly = findTestSubject(component, 'dashboardEmptyReadOnly'); + expect(emptyReadOnly.length).toBe(0); + const editingPanel = findTestSubject(component, 'emptyDashboardWidget'); + expect(editingPanel.length).toBe(0); }); test('renders correctly with edit mode', () => { - const component = mountComponent({ isEditMode: true }); + const component = mountComponent(ViewMode.EDIT); expect(component.render()).toMatchSnapshot(); - const paragraph = component.find('.dshStartScreen__panelDesc'); - expect(paragraph.length).toBe(0); - const emptyPanel = findTestSubject(component, 'emptyDashboardWidget'); - expect(emptyPanel.length).toBe(1); + + const emptyReadWrite = findTestSubject(component, 'dashboardEmptyReadWrite'); + expect(emptyReadWrite.length).toBe(0); + const emptyReadOnly = findTestSubject(component, 'dashboardEmptyReadOnly'); + expect(emptyReadOnly.length).toBe(0); + const editingPanel = findTestSubject(component, 'emptyDashboardWidget'); + expect(editingPanel.length).toBe(1); }); test('renders correctly with readonly mode', () => { pluginServices.getServices().dashboardCapabilities.showWriteControls = false; - const component = mountComponent(); + const component = mountComponent(ViewMode.VIEW); + expect(component.render()).toMatchSnapshot(); + + const emptyReadWrite = findTestSubject(component, 'dashboardEmptyReadWrite'); + expect(emptyReadWrite.length).toBe(0); + const emptyReadOnly = findTestSubject(component, 'dashboardEmptyReadOnly'); + expect(emptyReadOnly.length).toBe(1); + const editingPanel = findTestSubject(component, 'emptyDashboardWidget'); + expect(editingPanel.length).toBe(0); + }); + + // even when in edit mode, readonly users should not have access to the editing buttons in the empty prompt. + test('renders correctly with readonly and edit mode', () => { + pluginServices.getServices().dashboardCapabilities.showWriteControls = false; + + const component = mountComponent(ViewMode.EDIT); expect(component.render()).toMatchSnapshot(); - const paragraph = component.find('.dshStartScreen__panelDesc'); - expect(paragraph.length).toBe(0); - const emptyPanel = findTestSubject(component, 'emptyDashboardWidget'); - expect(emptyPanel.length).toBe(0); + + const emptyReadWrite = findTestSubject(component, 'dashboardEmptyReadWrite'); + expect(emptyReadWrite.length).toBe(0); + const emptyReadOnly = findTestSubject(component, 'dashboardEmptyReadOnly'); + expect(emptyReadOnly.length).toBe(1); + const editingPanel = findTestSubject(component, 'emptyDashboardWidget'); + expect(editingPanel.length).toBe(0); }); }); diff --git a/src/plugins/dashboard/public/dashboard_container/component/empty_screen/dashboard_empty_screen.tsx b/src/plugins/dashboard/public/dashboard_container/component/empty_screen/dashboard_empty_screen.tsx index 74d02cd4234b9..050de4189c279 100644 --- a/src/plugins/dashboard/public/dashboard_container/component/empty_screen/dashboard_empty_screen.tsx +++ b/src/plugins/dashboard/public/dashboard_container/component/empty_screen/dashboard_empty_screen.tsx @@ -6,95 +6,153 @@ * Side Public License, v 1. */ -import React from 'react'; -import { I18nProvider } from '@kbn/i18n-react'; +import React, { useCallback, useMemo } from 'react'; +import useObservable from 'react-use/lib/useObservable'; + import { - EuiIcon, - EuiSpacer, - EuiPageContent_Deprecated as EuiPageContent, - EuiPageBody, - EuiPage, - EuiImage, EuiText, - EuiTitle, + EuiImage, + EuiButton, + EuiFlexItem, + EuiFlexGroup, + EuiButtonEmpty, + EuiPageTemplate, } from '@elastic/eui'; +import { METRIC_TYPE } from '@kbn/analytics'; +import { ViewMode } from '@kbn/embeddable-plugin/public'; + import { pluginServices } from '../../../services/plugin_services'; import { emptyScreenStrings } from '../../_dashboard_container_strings'; +import { useDashboardContainer } from '../../embeddable/dashboard_container'; +import { DASHBOARD_UI_METRIC_ID, DASHBOARD_APP_ID } from '../../../dashboard_constants'; -export interface DashboardEmptyScreenProps { - isEditMode?: boolean; -} - -export function DashboardEmptyScreen({ isEditMode }: DashboardEmptyScreenProps) { +export function DashboardEmptyScreen() { const { - dashboardCapabilities: { showWriteControls }, + settings: { + theme: { theme$ }, + }, + usageCollection, + data: { search }, http: { basePath }, - settings: { uiSettings }, + embeddable: { getStateTransfer }, + dashboardCapabilities: { showWriteControls }, + visualizations: { getAliases: getVisTypeAliases }, } = pluginServices.getServices(); - const isReadonlyMode = !showWriteControls; - const IS_DARK_THEME = uiSettings.get('theme:darkMode'); - const emptyStateGraphicURL = IS_DARK_THEME - ? '/plugins/home/assets/welcome_graphic_dark_2x.png' - : '/plugins/home/assets/welcome_graphic_light_2x.png'; + const lensAlias = useMemo( + () => getVisTypeAliases().find(({ name }) => name === 'lens'), + [getVisTypeAliases] + ); - const page = (mainText: string, showAdditionalParagraph?: boolean, additionalText?: string) => { - return ( - - - - - -

    {mainText}

    -
    - {additionalText ? ( - - {additionalText} - - ) : null} - {showAdditionalParagraph ? ( - - -
    - -

    {emptyScreenStrings.getHowToStartWorkingOnNewDashboardDescription()}

    -
    -
    -
    - ) : null} -
    -
    -
    + const goToLens = useCallback(() => { + if (!lensAlias || !lensAlias.aliasPath) return; + const trackUiMetric = usageCollection.reportUiCounter?.bind( + usageCollection, + DASHBOARD_UI_METRIC_ID ); - }; - const readonlyMode = page( - emptyScreenStrings.getEmptyDashboardTitle(), - false, - emptyScreenStrings.getEmptyDashboardAdditionalPrivilege() + + if (trackUiMetric) { + trackUiMetric(METRIC_TYPE.CLICK, `${lensAlias.name}:create`); + } + getStateTransfer().navigateToEditor(lensAlias.aliasApp, { + path: lensAlias.aliasPath, + state: { + originatingApp: DASHBOARD_APP_ID, + searchSessionId: search.session.getSessionId(), + }, + }); + }, [getStateTransfer, lensAlias, search.session, usageCollection]); + + const dashboardContainer = useDashboardContainer(); + const isDarkTheme = useObservable(theme$)?.darkMode; + const isEditMode = + dashboardContainer.select((state) => state.explicitInput.viewMode) === ViewMode.EDIT; + + // TODO replace these SVGs with versions from EuiIllustration as soon as it becomes available. + const imageUrl = basePath.prepend( + `/plugins/dashboard/assets/${isDarkTheme ? 'dashboards_dark' : 'dashboards_light'}.svg` ); - const viewMode = page(emptyScreenStrings.getFillDashboardTitle(), true); - const editMode = ( -
    - - - -

    {emptyScreenStrings.getEmptyWidgetTitle()}

    -
    - + + // If the user ends up in edit mode without write privileges, we shouldn't show the edit prompt. + const showEditPrompt = showWriteControls && isEditMode; + + const emptyPromptTestSubject = (() => { + if (showEditPrompt) return 'emptyDashboardWidget'; + return showWriteControls ? 'dashboardEmptyReadWrite' : 'dashboardEmptyReadOnly'; + })(); + + const title = (() => { + const titleString = showEditPrompt + ? emptyScreenStrings.getEditModeTitle() + : showWriteControls + ? emptyScreenStrings.getViewModeWithPermissionsTitle() + : emptyScreenStrings.getViewModeWithoutPermissionsTitle(); + return

    {titleString}

    ; + })(); + + const body = (() => { + const bodyString = showEditPrompt + ? emptyScreenStrings.getEditModeSubtitle() + : showWriteControls + ? emptyScreenStrings.getViewModeWithPermissionsSubtitle() + : emptyScreenStrings.getViewModeWithoutPermissionsSubtitle(); + return ( - {emptyScreenStrings.getEmptyWidgetDescription()} + {bodyString} + ); + })(); + + const actions = (() => { + if (showEditPrompt) { + return ( + + + goToLens()}> + {emptyScreenStrings.getCreateVisualizationButtonTitle()} + + + + dashboardContainer.addFromLibrary()} + > + {emptyScreenStrings.getAddFromLibraryButtonTitle()} + + + + ); + } + if (showWriteControls) { + return ( + dashboardContainer.dispatch.setViewMode(ViewMode.EDIT)} + > + {emptyScreenStrings.getEditLinkTitle()} + + ); + } + })(); + + return ( +
    + + } + title={title} + body={body} + actions={actions} + titleSize="xs" + color="transparent" + className="dshEmptyWidgetContainer" + /> +
    ); - const actionableMode = isEditMode ? editMode : viewMode; - return {isReadonlyMode ? readonlyMode : actionableMode}; } diff --git a/src/plugins/dashboard/public/dashboard_container/component/grid/dashboard_grid.tsx b/src/plugins/dashboard/public/dashboard_container/component/grid/dashboard_grid.tsx index 0055e24685b89..12cd26df28f18 100644 --- a/src/plugins/dashboard/public/dashboard_container/component/grid/dashboard_grid.tsx +++ b/src/plugins/dashboard/public/dashboard_container/component/grid/dashboard_grid.tsx @@ -11,7 +11,6 @@ import 'react-grid-layout/css/styles.css'; import { pick } from 'lodash'; import classNames from 'classnames'; -import { useEffectOnce } from 'react-use/lib'; import React, { useState, useMemo, useCallback, useEffect } from 'react'; import { Layout, Responsive as ResponsiveReactGridLayout } from 'react-grid-layout'; @@ -31,19 +30,20 @@ export const DashboardGrid = ({ viewportWidth }: { viewportWidth: number }) => { const viewMode = dashboard.select((state) => state.explicitInput.viewMode); const useMargins = dashboard.select((state) => state.explicitInput.useMargins); const expandedPanelId = dashboard.select((state) => state.componentState.expandedPanelId); + const animatePanelTransforms = dashboard.select( + (state) => state.componentState.animatePanelTransforms + ); - // turn off panel transform animations for the first 500ms so that the dashboard doesn't animate on its first render. - const [animatePanelTransforms, setAnimatePanelTransforms] = useState(false); - useEffectOnce(() => { - setTimeout(() => setAnimatePanelTransforms(true), 500); - }); - + /** + * Track panel maximized state delayed by one tick and use it to prevent + * panel sliding animations on maximize and minimize. + */ + const [delayedIsPanelExpanded, setDelayedIsPanelMaximized] = useState(false); useEffect(() => { if (expandedPanelId) { - setAnimatePanelTransforms(false); + setDelayedIsPanelMaximized(true); } else { - // delaying enabling CSS transforms to the next tick prevents a panel slide animation on minimize - setTimeout(() => setAnimatePanelTransforms(true), 0); + setTimeout(() => setDelayedIsPanelMaximized(false), 0); } }, [expandedPanelId]); @@ -107,7 +107,7 @@ export const DashboardGrid = ({ viewportWidth }: { viewportWidth: number }) => { 'dshLayout-withoutMargins': !useMargins, 'dshLayout--viewing': viewMode === ViewMode.VIEW, 'dshLayout--editing': viewMode !== ViewMode.VIEW, - 'dshLayout--noAnimation': !animatePanelTransforms || expandedPanelId, + 'dshLayout--noAnimation': !animatePanelTransforms || delayedIsPanelExpanded, 'dshLayout-isMaximizedPanel': expandedPanelId !== undefined, }); diff --git a/src/plugins/dashboard/public/dashboard_container/component/panel/_dashboard_panel.scss b/src/plugins/dashboard/public/dashboard_container/component/panel/_dashboard_panel.scss index f8715220ddf37..33aab22fb8b8b 100644 --- a/src/plugins/dashboard/public/dashboard_container/component/panel/_dashboard_panel.scss +++ b/src/plugins/dashboard/public/dashboard_container/component/panel/_dashboard_panel.scss @@ -12,6 +12,10 @@ border-radius: 0; } + .embPanel__content { + border-radius: 0; + } + .dshDashboardGrid__item--highlighted { border-radius: 0; } diff --git a/src/plugins/dashboard/public/dashboard_container/component/viewport/_dashboard_viewport.scss b/src/plugins/dashboard/public/dashboard_container/component/viewport/_dashboard_viewport.scss index 81fdbadf7632d..7cfd8ec50a6a4 100644 --- a/src/plugins/dashboard/public/dashboard_container/component/viewport/_dashboard_viewport.scss +++ b/src/plugins/dashboard/public/dashboard_container/component/viewport/_dashboard_viewport.scss @@ -18,10 +18,6 @@ padding-bottom: $euiSizeXS; } -.dshDashboardEmptyScreen { - margin-top: $euiSizeS; -} - .dashboardViewport--screenshotMode .controlsWrapper--empty { display:none } diff --git a/src/plugins/dashboard/public/dashboard_container/component/viewport/dashboard_viewport.tsx b/src/plugins/dashboard/public/dashboard_container/component/viewport/dashboard_viewport.tsx index 07bb9d111cd07..117234a0cceb1 100644 --- a/src/plugins/dashboard/public/dashboard_container/component/viewport/dashboard_viewport.tsx +++ b/src/plugins/dashboard/public/dashboard_container/component/viewport/dashboard_viewport.tsx @@ -74,6 +74,7 @@ export const DashboardViewportComponent = () => { ref={controlsRoot} /> ) : null} + {panelCount === 0 && }
    { data-description={description} data-shared-items-count={panelCount} > - {panelCount === 0 && ( -
    - -
    - )}
    diff --git a/src/plugins/dashboard/public/dashboard_container/embeddable/api/overlays/__snapshots__/save_modal.test.js.snap b/src/plugins/dashboard/public/dashboard_container/embeddable/api/overlays/__snapshots__/save_modal.test.js.snap index dbf3cb7ab8241..05a8cc2964003 100644 --- a/src/plugins/dashboard/public/dashboard_container/embeddable/api/overlays/__snapshots__/save_modal.test.js.snap +++ b/src/plugins/dashboard/public/dashboard_container/embeddable/api/overlays/__snapshots__/save_modal.test.js.snap @@ -2,32 +2,13 @@ exports[`renders DashboardSaveModal 1`] = ` - - } - labelType="label" - > - - } showCopyOnSave={true} - showDescription={false} + showDescription={true} title="dash title" /> `; diff --git a/src/plugins/dashboard/public/dashboard_container/embeddable/api/overlays/save_modal.tsx b/src/plugins/dashboard/public/dashboard_container/embeddable/api/overlays/save_modal.tsx index 2f2254e054c21..737b8eac640f4 100644 --- a/src/plugins/dashboard/public/dashboard_container/embeddable/api/overlays/save_modal.tsx +++ b/src/plugins/dashboard/public/dashboard_container/embeddable/api/overlays/save_modal.tsx @@ -9,7 +9,7 @@ import { i18n } from '@kbn/i18n'; import React, { Fragment } from 'react'; import { FormattedMessage } from '@kbn/i18n-react'; -import { EuiFormRow, EuiTextArea, EuiSwitch } from '@elastic/eui'; +import { EuiFormRow, EuiSwitch } from '@elastic/eui'; import { SavedObjectSaveModal } from '@kbn/saved-objects-plugin/public'; import type { DashboardSaveOptions } from '../../../types'; @@ -39,14 +39,12 @@ interface Props { } interface State { - description: string; tags: string[]; timeRestore: boolean; } export class DashboardSaveModal extends React.Component { state: State = { - description: this.props.description, timeRestore: this.props.timeRestore, tags: this.props.tags ?? [], }; @@ -57,18 +55,20 @@ export class DashboardSaveModal extends React.Component { saveDashboard = ({ newTitle, + newDescription, newCopyOnSave, isTitleDuplicateConfirmed, onTitleDuplicate, }: { newTitle: string; + newDescription: string; newCopyOnSave: boolean; isTitleDuplicateConfirmed: boolean; onTitleDuplicate: () => void; }) => { this.props.onSave({ newTitle, - newDescription: this.state.description, + newDescription, newCopyOnSave, newTimeRestore: this.state.timeRestore, isTitleDuplicateConfirmed, @@ -77,12 +77,6 @@ export class DashboardSaveModal extends React.Component { }); }; - onDescriptionChange = (event: any) => { - this.setState({ - description: event.target.value, - }); - }; - onTimeRestoreChange = (event: any) => { this.setState({ timeRestore: event.target.checked, @@ -102,26 +96,12 @@ export class DashboardSaveModal extends React.Component { tags, }); }} + markOptional /> ) : undefined; return ( - - } - > - - - {tagSelector} { onSave={this.saveDashboard} onClose={this.props.onClose} title={this.props.title} + description={this.props.description} + showDescription showCopyOnSave={this.props.showCopyOnSave} initialCopyOnSave={this.props.showCopyOnSave} objectType={i18n.translate('dashboard.topNav.saveModal.objectType', { defaultMessage: 'dashboard', })} options={this.renderDashboardSaveOptions()} - showDescription={false} /> ); } diff --git a/src/plugins/dashboard/public/dashboard_container/embeddable/api/run_save_functions.tsx b/src/plugins/dashboard/public/dashboard_container/embeddable/api/run_save_functions.tsx index d3dea0d250036..5a8024471aed4 100644 --- a/src/plugins/dashboard/public/dashboard_container/embeddable/api/run_save_functions.tsx +++ b/src/plugins/dashboard/public/dashboard_container/embeddable/api/run_save_functions.tsx @@ -102,7 +102,6 @@ export function runSaveAs(this: DashboardContainer) { this.dispatch.setLastSavedInput(stateToSave); }); } - if (newCopyOnSave || !lastSavedId) this.expectIdChange(); resolve(saveResult); return saveResult; }; @@ -175,10 +174,7 @@ export async function runClone(this: DashboardContainer) { saveOptions: { saveAsCopy: true }, currentState: { ...currentState, title: newTitle }, }); - - this.dispatch.setTitle(newTitle); resolve(saveResult); - this.expectIdChange(); return saveResult.id ? { id: saveResult.id } : { error: saveResult.error }; }; showCloneModal({ onClone, title: currentState.title, onClose: () => resolve(undefined) }); diff --git a/src/plugins/dashboard/public/dashboard_container/embeddable/create/controls/dashboard_control_group_integration.ts b/src/plugins/dashboard/public/dashboard_container/embeddable/create/controls/dashboard_control_group_integration.ts index c9a8bf73222a4..7c907461d8f80 100644 --- a/src/plugins/dashboard/public/dashboard_container/embeddable/create/controls/dashboard_control_group_integration.ts +++ b/src/plugins/dashboard/public/dashboard_container/embeddable/create/controls/dashboard_control_group_integration.ts @@ -50,7 +50,7 @@ export function startSyncingDashboardControlGroup(this: DashboardContainer) { chainingSystem: deepEqual, ignoreParentSettings: deepEqual, }; - this.subscriptions.add( + this.integrationSubscriptions.add( this.controlGroup .getInput$() .pipe( @@ -83,7 +83,7 @@ export function startSyncingDashboardControlGroup(this: DashboardContainer) { }; // pass down any pieces of input needed to refetch or force refetch data for the controls - this.subscriptions.add( + this.integrationSubscriptions.add( (this.getInput$() as Readonly>) .pipe( distinctUntilChanged((a, b) => @@ -106,7 +106,7 @@ export function startSyncingDashboardControlGroup(this: DashboardContainer) { ); // when control group outputs filters, force a refresh! - this.subscriptions.add( + this.integrationSubscriptions.add( this.controlGroup .getOutput$() .pipe( @@ -118,7 +118,7 @@ export function startSyncingDashboardControlGroup(this: DashboardContainer) { .subscribe(() => this.forceRefresh(false)) // we should not reload the control group when the control group output changes - otherwise, performance is severely impacted ); - this.subscriptions.add( + this.integrationSubscriptions.add( this.controlGroup .getOutput$() .pipe( @@ -134,7 +134,7 @@ export function startSyncingDashboardControlGroup(this: DashboardContainer) { ); // the Control Group needs to know when any dashboard children are loading in order to know when to move on to the next time slice when playing. - this.subscriptions.add( + this.integrationSubscriptions.add( this.getAnyChildOutputChange$().subscribe(() => { if (!this.controlGroup) { return; diff --git a/src/plugins/dashboard/public/dashboard_container/embeddable/create/create_dashboard.test.ts b/src/plugins/dashboard/public/dashboard_container/embeddable/create/create_dashboard.test.ts index 529d91a284e4e..4bc188c69a2c1 100644 --- a/src/plugins/dashboard/public/dashboard_container/embeddable/create/create_dashboard.test.ts +++ b/src/plugins/dashboard/public/dashboard_container/embeddable/create/create_dashboard.test.ts @@ -30,14 +30,12 @@ import { pluginServices } from '../../../services/plugin_services'; import { DashboardCreationOptions } from '../dashboard_container_factory'; import { DEFAULT_DASHBOARD_INPUT } from '../../../dashboard_constants'; -const embeddableId = 'create-dat-dashboard'; - test('throws error when no data views are available', async () => { pluginServices.getServices().data.dataViews.getDefaultDataView = jest .fn() .mockReturnValue(undefined); await expect(async () => { - await createDashboard(embeddableId); + await createDashboard(); }).rejects.toThrow('Dashboard requires at least one data view before it can be initialized.'); // reset get default data view @@ -49,7 +47,7 @@ test('throws error when provided validation function returns invalid', async () validateLoadedSavedObject: jest.fn().mockImplementation(() => false), }; await expect(async () => { - await createDashboard(embeddableId, creationOptions, 0, 'test-id'); + await createDashboard(creationOptions, 0, 'test-id'); }).rejects.toThrow('Dashboard failed saved object result validation'); }); @@ -62,7 +60,7 @@ test('pulls state from dashboard saved object when given a saved object id', asy description: `wow would you look at that? Wow.`, }, }); - const dashboard = await createDashboard(embeddableId, {}, 0, 'wow-such-id'); + const dashboard = await createDashboard({}, 0, 'wow-such-id'); expect( pluginServices.getServices().dashboardSavedObject.loadDashboardStateFromSavedObject ).toHaveBeenCalledWith({ id: 'wow-such-id' }); @@ -81,12 +79,7 @@ test('pulls state from session storage which overrides state from saved object', pluginServices.getServices().dashboardSessionStorage.getState = jest .fn() .mockReturnValue({ description: 'wow this description marginally better' }); - const dashboard = await createDashboard( - embeddableId, - { useSessionStorageIntegration: true }, - 0, - 'wow-such-id' - ); + const dashboard = await createDashboard({ useSessionStorageIntegration: true }, 0, 'wow-such-id'); expect(dashboard.getState().explicitInput.description).toBe( 'wow this description marginally better' ); @@ -105,10 +98,9 @@ test('pulls state from creation options initial input which overrides all other .fn() .mockReturnValue({ description: 'wow this description marginally better' }); const dashboard = await createDashboard( - embeddableId, { useSessionStorageIntegration: true, - initialInput: { description: 'wow this description is a masterpiece' }, + getInitialInput: () => ({ description: 'wow this description is a masterpiece' }), }, 0, 'wow-such-id' @@ -123,12 +115,12 @@ test('applies filters and query from state to query service', async () => { { meta: { alias: 'test', disabled: false, negate: false, index: 'test' } }, ]; const query = { language: 'kql', query: 'query' }; - await createDashboard(embeddableId, { + await createDashboard({ useUnifiedSearchIntegration: true, unifiedSearchSettings: { kbnUrlStateStorage: createKbnUrlStateStorage(), }, - initialInput: { filters, query }, + getInitialInput: () => ({ filters, query }), }); expect(pluginServices.getServices().data.query.queryString.setQuery).toHaveBeenCalledWith(query); expect(pluginServices.getServices().data.query.filterManager.setAppFilters).toHaveBeenCalledWith( @@ -139,12 +131,12 @@ test('applies filters and query from state to query service', async () => { test('applies time range and refresh interval from initial input to query service if time restore is on', async () => { const timeRange = { from: new Date().toISOString(), to: new Date().toISOString() }; const refreshInterval = { pause: false, value: 42 }; - await createDashboard(embeddableId, { + await createDashboard({ useUnifiedSearchIntegration: true, unifiedSearchSettings: { kbnUrlStateStorage: createKbnUrlStateStorage(), }, - initialInput: { timeRange, refreshInterval, timeRestore: true }, + getInitialInput: () => ({ timeRange, refreshInterval, timeRestore: true }), }); expect( pluginServices.getServices().data.query.timefilter.timefilter.setTime @@ -159,7 +151,7 @@ test('applied time range from query service to initial input if time restore is pluginServices.getServices().data.query.timefilter.timefilter.getTime = jest .fn() .mockReturnValue(timeRange); - const dashboard = await createDashboard(embeddableId, { + const dashboard = await createDashboard({ useUnifiedSearchIntegration: true, unifiedSearchSettings: { kbnUrlStateStorage: createKbnUrlStateStorage(), @@ -177,9 +169,9 @@ test('replaces panel with incoming embeddable if id matches existing panel', asy } as ContactCardEmbeddableInput, embeddableId: 'i_match', }; - const dashboard = await createDashboard(embeddableId, { - incomingEmbeddable, - initialInput: { + const dashboard = await createDashboard({ + getIncomingEmbeddable: () => incomingEmbeddable, + getInitialInput: () => ({ panels: { i_match: getSampleDashboardPanel({ explicitInput: { @@ -189,7 +181,7 @@ test('replaces panel with incoming embeddable if id matches existing panel', asy type: CONTACT_CARD_EMBEDDABLE, }), }, - }, + }), }); expect(dashboard.getState().explicitInput.panels.i_match.explicitInput).toStrictEqual( expect.objectContaining({ @@ -216,9 +208,9 @@ test('creates new embeddable with incoming embeddable if id does not match exist .fn() .mockReturnValue(mockContactCardFactory); - await createDashboard(embeddableId, { - incomingEmbeddable, - initialInput: { + await createDashboard({ + getIncomingEmbeddable: () => incomingEmbeddable, + getInitialInput: () => ({ panels: { i_do_not_match: getSampleDashboardPanel({ explicitInput: { @@ -228,7 +220,7 @@ test('creates new embeddable with incoming embeddable if id does not match exist type: CONTACT_CARD_EMBEDDABLE, }), }, - }, + }), }); // flush promises @@ -258,11 +250,11 @@ test('creates a control group from the control group factory and waits for it to pluginServices.getServices().embeddable.getEmbeddableFactory = jest .fn() .mockReturnValue(mockControlGroupFactory); - await createDashboard(embeddableId, { + await createDashboard({ useControlGroupIntegration: true, - initialInput: { + getInitialInput: () => ({ controlGroupInput: { controlStyle: 'twoLine' } as unknown as ControlGroupInput, - }, + }), }); // flush promises await new Promise((r) => setTimeout(r, 1)); @@ -302,7 +294,7 @@ test('searchSessionId is updated prior to child embeddable parent subscription e sessionCount++; return `searchSessionId${sessionCount}`; }; - const dashboard = await createDashboard(embeddableId, { + const dashboard = await createDashboard({ searchSessionSettings: { getSearchSessionIdFromURL: () => undefined, removeSessionIdFromUrl: () => {}, diff --git a/src/plugins/dashboard/public/dashboard_container/embeddable/create/create_dashboard.ts b/src/plugins/dashboard/public/dashboard_container/embeddable/create/create_dashboard.ts index ef810f025b84b..58983196ea231 100644 --- a/src/plugins/dashboard/public/dashboard_container/embeddable/create/create_dashboard.ts +++ b/src/plugins/dashboard/public/dashboard_container/embeddable/create/create_dashboard.ts @@ -27,47 +27,21 @@ import { startSyncingDashboardDataViews } from './data_views/sync_dashboard_data import { syncUnifiedSearchState } from './unified_search/sync_dashboard_unified_search_state'; import { startSyncingDashboardControlGroup } from './controls/dashboard_control_group_integration'; import { startDashboardSearchSessionIntegration } from './search_sessions/start_dashboard_search_session_integration'; +import { LoadDashboardFromSavedObjectReturn } from '../../../services/dashboard_saved_object/lib/load_dashboard_state_from_saved_object'; /** - * - * @param creationOptions + * Builds a new Dashboard from scratch. */ export const createDashboard = async ( - embeddableId: string, creationOptions?: DashboardCreationOptions, dashboardCreationStartTime?: number, savedObjectId?: string ): Promise => { - // -------------------------------------------------------------------------------------- - // Unpack services & Options - // -------------------------------------------------------------------------------------- const { - dashboardSessionStorage, - embeddable: { getEmbeddableFactory }, - data: { - dataViews, - query: queryService, - search: { session }, - }, + data: { dataViews }, dashboardSavedObject: { loadDashboardStateFromSavedObject }, } = pluginServices.getServices(); - const { - queryString, - filterManager, - timefilter: { timefilter: timefilterService }, - } = queryService; - - const { - searchSessionSettings, - unifiedSearchSettings, - validateLoadedSavedObject, - useControlGroupIntegration, - useUnifiedSearchIntegration, - initialInput: overrideInput, - useSessionStorageIntegration, - } = creationOptions ?? {}; - // -------------------------------------------------------------------------------------- // Create method which allows work to be done on the dashboard container when it's ready. // -------------------------------------------------------------------------------------- @@ -83,12 +57,9 @@ export const createDashboard = async ( // -------------------------------------------------------------------------------------- // Lazy load required systems and Dashboard saved object. // -------------------------------------------------------------------------------------- - const reduxEmbeddablePackagePromise = lazyLoadReduxToolsPackage(); const defaultDataViewAssignmentPromise = dataViews.getDefaultDataView(); - const dashboardSavedObjectPromise = savedObjectId - ? loadDashboardStateFromSavedObject({ id: savedObjectId }) - : Promise.resolve(undefined); + const dashboardSavedObjectPromise = loadDashboardStateFromSavedObject({ id: savedObjectId }); const [reduxEmbeddablePackage, savedObjectResult, defaultDataView] = await Promise.all([ reduxEmbeddablePackagePromise, @@ -96,17 +67,82 @@ export const createDashboard = async ( defaultDataViewAssignmentPromise, ]); - // -------------------------------------------------------------------------------------- - // Run validations. - // -------------------------------------------------------------------------------------- if (!defaultDataView) { throw new Error('Dashboard requires at least one data view before it can be initialized.'); } + // -------------------------------------------------------------------------------------- + // Initialize Dashboard integrations + // -------------------------------------------------------------------------------------- + const { input, searchSessionId } = await initializeDashboard({ + loadDashboardReturn: savedObjectResult, + untilDashboardReady, + creationOptions, + }); + + // -------------------------------------------------------------------------------------- + // Build and return the dashboard container. + // -------------------------------------------------------------------------------------- + const dashboardContainer = new DashboardContainer( + input, + reduxEmbeddablePackage, + searchSessionId, + savedObjectResult?.dashboardInput, + dashboardCreationStartTime, + undefined, + creationOptions, + savedObjectId + ); + dashboardContainerReady$.next(dashboardContainer); + return dashboardContainer; +}; + +/** + * Initializes a Dashboard and starts all of its integrations + */ +export const initializeDashboard = async ({ + loadDashboardReturn, + untilDashboardReady, + creationOptions, + controlGroup, +}: { + loadDashboardReturn: LoadDashboardFromSavedObjectReturn; + untilDashboardReady: () => Promise; + creationOptions?: DashboardCreationOptions; + controlGroup?: ControlGroupContainer; +}) => { + const { + dashboardSessionStorage, + embeddable: { getEmbeddableFactory }, + data: { + query: queryService, + search: { session }, + }, + } = pluginServices.getServices(); + const { + queryString, + filterManager, + timefilter: { timefilter: timefilterService }, + } = queryService; + + const { + getInitialInput, + searchSessionSettings, + unifiedSearchSettings, + validateLoadedSavedObject, + useControlGroupIntegration, + useUnifiedSearchIntegration, + useSessionStorageIntegration, + } = creationOptions ?? {}; + const overrideInput = getInitialInput?.(); + + // -------------------------------------------------------------------------------------- + // Run validation. + // -------------------------------------------------------------------------------------- if ( - savedObjectResult && + loadDashboardReturn && validateLoadedSavedObject && - !validateLoadedSavedObject(savedObjectResult) + !validateLoadedSavedObject(loadDashboardReturn) ) { throw new Error('Dashboard failed saved object result validation'); } @@ -116,7 +152,7 @@ export const createDashboard = async ( // -------------------------------------------------------------------------------------- const sessionStorageInput = ((): Partial | undefined => { if (!useSessionStorageIntegration) return; - return dashboardSessionStorage.getState(savedObjectId); + return dashboardSessionStorage.getState(loadDashboardReturn.dashboardId); })(); // -------------------------------------------------------------------------------------- @@ -124,10 +160,9 @@ export const createDashboard = async ( // -------------------------------------------------------------------------------------- const initialInput: DashboardContainerInput = cloneDeep({ ...DEFAULT_DASHBOARD_INPUT, - ...(savedObjectResult?.dashboardInput ?? {}), + ...(loadDashboardReturn?.dashboardInput ?? {}), ...sessionStorageInput, ...overrideInput, - id: embeddableId, }); initialInput.executionContext = { @@ -166,8 +201,7 @@ export const createDashboard = async ( } untilDashboardReady().then((dashboardContainer) => { - const stopSyncingUnifiedSearchState = - syncUnifiedSearchState.bind(dashboardContainer)(kbnUrlStateStorage); + const stopSyncingUnifiedSearchState = syncUnifiedSearchState.bind(dashboardContainer)(); dashboardContainer.stopSyncingWithUnifiedSearch = () => { stopSyncingUnifiedSearchState(); stopSyncingQueryServiceStateWithUrl(); @@ -178,16 +212,20 @@ export const createDashboard = async ( // -------------------------------------------------------------------------------------- // Place the incoming embeddable if there is one // -------------------------------------------------------------------------------------- - const incomingEmbeddable = creationOptions?.incomingEmbeddable; + const incomingEmbeddable = creationOptions?.getIncomingEmbeddable?.(); if (incomingEmbeddable) { - initialInput.viewMode = ViewMode.EDIT; // view mode must always be edit to recieve an embeddable. + const scrolltoIncomingEmbeddable = (container: DashboardContainer, id: string) => { + container.setScrollToPanelId(id); + container.setHighlightPanelId(id); + }; - const panelExists = + initialInput.viewMode = ViewMode.EDIT; // view mode must always be edit to recieve an embeddable. + if ( incomingEmbeddable.embeddableId && - Boolean(initialInput.panels[incomingEmbeddable.embeddableId]); - if (panelExists) { + Boolean(initialInput.panels[incomingEmbeddable.embeddableId]) + ) { // this embeddable already exists, we will update the explicit input. - const panelToUpdate = initialInput.panels[incomingEmbeddable.embeddableId as string]; + const panelToUpdate = initialInput.panels[incomingEmbeddable.embeddableId]; const sameType = panelToUpdate.type === incomingEmbeddable.type; panelToUpdate.type = incomingEmbeddable.type; @@ -196,22 +234,24 @@ export const createDashboard = async ( ...(sameType ? panelToUpdate.explicitInput : {}), ...incomingEmbeddable.input, - id: incomingEmbeddable.embeddableId as string, + id: incomingEmbeddable.embeddableId, // maintain hide panel titles setting. hidePanelTitles: panelToUpdate.explicitInput.hidePanelTitles, }; + untilDashboardReady().then((container) => + scrolltoIncomingEmbeddable(container, incomingEmbeddable.embeddableId as string) + ); } else { // otherwise this incoming embeddable is brand new and can be added via the default method after the dashboard container is created. untilDashboardReady().then(async (container) => { - container.addNewEmbeddable(incomingEmbeddable.type, incomingEmbeddable.input); + const embeddable = await container.addNewEmbeddable( + incomingEmbeddable.type, + incomingEmbeddable.input + ); + scrolltoIncomingEmbeddable(container, embeddable.id); }); } - - untilDashboardReady().then(async (container) => { - container.setScrollToPanelId(incomingEmbeddable.embeddableId); - container.setHighlightPanelId(incomingEmbeddable.embeddableId); - }); } // -------------------------------------------------------------------------------------- @@ -251,7 +291,7 @@ export const createDashboard = async ( ControlGroupContainer >(CONTROL_GROUP_TYPE); const { filters, query, timeRange, viewMode, controlGroupInput, id } = initialInput; - const controlGroup = await controlsGroupFactory?.create({ + const fullControlGroupInput = { id: `control_group_${id ?? 'new_dashboard'}`, ...getDefaultControlGroupInput(), ...pickBy(controlGroupInput, identity), // undefined keys in initialInput should not overwrite defaults @@ -259,9 +299,15 @@ export const createDashboard = async ( viewMode, filters, query, - }); - if (!controlGroup || isErrorEmbeddable(controlGroup)) { - throw new Error('Error in control group startup'); + }; + if (controlGroup) { + controlGroup.updateInputAndReinitialize(fullControlGroupInput); + } else { + const newControlGroup = await controlsGroupFactory?.create(fullControlGroupInput); + if (!newControlGroup || isErrorEmbeddable(newControlGroup)) { + throw new Error('Error in control group startup'); + } + controlGroup = newControlGroup; } untilDashboardReady().then((dashboardContainer) => { @@ -275,22 +321,17 @@ export const createDashboard = async ( // Start the data views integration. // -------------------------------------------------------------------------------------- untilDashboardReady().then((dashboardContainer) => { - dashboardContainer.subscriptions.add(startSyncingDashboardDataViews.bind(dashboardContainer)()); + dashboardContainer.integrationSubscriptions.add( + startSyncingDashboardDataViews.bind(dashboardContainer)() + ); }); // -------------------------------------------------------------------------------------- - // Build and return the dashboard container. + // Start animating panel transforms 500 ms after dashboard is created. // -------------------------------------------------------------------------------------- - const dashboardContainer = new DashboardContainer( - initialInput, - reduxEmbeddablePackage, - initialSearchSessionId, - savedObjectResult?.dashboardInput, - dashboardCreationStartTime, - undefined, - creationOptions, - savedObjectId + untilDashboardReady().then((dashboard) => + setTimeout(() => dashboard.dispatch.setAnimatePanelTransforms(true), 500) ); - dashboardContainerReady$.next(dashboardContainer); - return dashboardContainer; + + return { input: initialInput, searchSessionId: initialSearchSessionId }; }; diff --git a/src/plugins/dashboard/public/dashboard_container/embeddable/create/search_sessions/start_dashboard_search_session_integration.ts b/src/plugins/dashboard/public/dashboard_container/embeddable/create/search_sessions/start_dashboard_search_session_integration.ts index 7f59b56c228b6..7d74e91ad6c93 100644 --- a/src/plugins/dashboard/public/dashboard_container/embeddable/create/search_sessions/start_dashboard_search_session_integration.ts +++ b/src/plugins/dashboard/public/dashboard_container/embeddable/create/search_sessions/start_dashboard_search_session_integration.ts @@ -86,5 +86,5 @@ export function startDashboardSearchSessionIntegration( } }); - this.subscriptions.add(searchSessionIdChangeSubscription); + this.integrationSubscriptions.add(searchSessionIdChangeSubscription); } diff --git a/src/plugins/dashboard/public/dashboard_container/embeddable/create/unified_search/sync_dashboard_unified_search_state.ts b/src/plugins/dashboard/public/dashboard_container/embeddable/create/unified_search/sync_dashboard_unified_search_state.ts index 02095015f75a8..43220de9b69e4 100644 --- a/src/plugins/dashboard/public/dashboard_container/embeddable/create/unified_search/sync_dashboard_unified_search_state.ts +++ b/src/plugins/dashboard/public/dashboard_container/embeddable/create/unified_search/sync_dashboard_unified_search_state.ts @@ -10,7 +10,6 @@ import { Subject } from 'rxjs'; import { distinctUntilChanged, finalize, switchMap, tap } from 'rxjs/operators'; import type { Filter, Query } from '@kbn/es-query'; -import { IKbnUrlStateStorage } from '@kbn/kibana-utils-plugin/public'; import { cleanFiltersForSerialize } from '@kbn/presentation-util-plugin/public'; import { connectToQueryState, waitUntilNextSessionCompletes$ } from '@kbn/data-plugin/public'; @@ -21,10 +20,7 @@ import { pluginServices } from '../../../../services/plugin_services'; * Sets up syncing and subscriptions between the filter state from the Data plugin * and the dashboard Redux store. */ -export function syncUnifiedSearchState( - this: DashboardContainer, - kbnUrlStateStorage: IKbnUrlStateStorage -) { +export function syncUnifiedSearchState(this: DashboardContainer) { const { data: { query: queryService, search }, } = pluginServices.getServices(); diff --git a/src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx b/src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx index 1360fa7737c15..d6278d478796f 100644 --- a/src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx +++ b/src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx @@ -6,9 +6,10 @@ * Side Public License, v 1. */ -import React, { createContext, useContext } from 'react'; import ReactDOM from 'react-dom'; +import { batch } from 'react-redux'; import { Subject, Subscription } from 'rxjs'; +import React, { createContext, useContext } from 'react'; import { ReduxToolsPackage, ReduxEmbeddableTools } from '@kbn/presentation-util-plugin/public'; import { @@ -20,10 +21,10 @@ import { type EmbeddableFactory, } from '@kbn/embeddable-plugin/public'; import { I18nProvider } from '@kbn/i18n-react'; +import { RefreshInterval } from '@kbn/data-plugin/public'; import type { Filter, TimeRange, Query } from '@kbn/es-query'; import type { DataView } from '@kbn/data-views-plugin/public'; import { reportPerformanceMetricEvent } from '@kbn/ebt-tools'; -import type { RefreshInterval } from '@kbn/data-plugin/public'; import { KibanaThemeProvider } from '@kbn/kibana-react-plugin/public'; import type { ControlGroupContainer } from '@kbn/controls-plugin/public'; import type { KibanaExecutionContext, OverlayRef } from '@kbn/core/public'; @@ -44,6 +45,7 @@ import { import { DASHBOARD_CONTAINER_TYPE } from '../..'; import { createPanelState } from '../component/panel'; import { pluginServices } from '../../services/plugin_services'; +import { initializeDashboard } from './create/create_dashboard'; import { DashboardCreationOptions } from './dashboard_container_factory'; import { DashboardAnalyticsService } from '../../services/analytics/types'; import { DashboardViewport } from '../component/viewport/dashboard_viewport'; @@ -93,7 +95,8 @@ export class DashboardContainer extends Container { - this.expectingIdChange = false; - }, 1); // turn this off after the next update. - } - public runClone = runClone; public runSaveAs = runSaveAs; public runQuickSave = runQuickSave; @@ -361,6 +346,49 @@ export class DashboardContainer extends Container + ) => { + this.integrationSubscriptions.unsubscribe(); + this.integrationSubscriptions = new Subscription(); + this.stopSyncingWithUnifiedSearch?.(); + + const { + dashboardSavedObject: { loadDashboardStateFromSavedObject }, + } = pluginServices.getServices(); + if (newCreationOptions) { + this.creationOptions = { ...this.creationOptions, ...newCreationOptions }; + } + const loadDashboardReturn = await loadDashboardStateFromSavedObject({ id: newSavedObjectId }); + + const dashboardContainerReady$ = new Subject(); + const untilDashboardReady = () => + new Promise((resolve) => { + const subscription = dashboardContainerReady$.subscribe((container) => { + subscription.unsubscribe(); + resolve(container); + }); + }); + + const { input: newInput, searchSessionId } = await initializeDashboard({ + creationOptions: this.creationOptions, + controlGroup: this.controlGroup, + untilDashboardReady, + loadDashboardReturn, + }); + + this.searchSessionId = searchSessionId; + + this.updateInput(newInput); + batch(() => { + this.dispatch.setLastSavedInput(loadDashboardReturn?.dashboardInput); + this.dispatch.setAnimatePanelTransforms(false); // prevents panels from animating on navigate. + this.dispatch.setLastSavedId(newSavedObjectId); + }); + dashboardContainerReady$.next(this); + }; + /** * Gets all the dataviews that are actively being used in the dashboard * @returns An array of dataviews diff --git a/src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container_factory.tsx b/src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container_factory.tsx index 2af0d60572cbd..e86ecce4d23ef 100644 --- a/src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container_factory.tsx +++ b/src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container_factory.tsx @@ -34,9 +34,9 @@ export type DashboardContainerFactory = EmbeddableFactory< >; export interface DashboardCreationOptions { - initialInput?: Partial; + getInitialInput?: () => Partial; - incomingEmbeddable?: EmbeddablePackageState; + getIncomingEmbeddable?: () => EmbeddablePackageState | undefined; useSearchSessionsIntegration?: boolean; searchSessionSettings?: { @@ -98,7 +98,7 @@ export class DashboardContainerFactoryDefinition const { createDashboard } = await import('./create/create_dashboard'); try { return Promise.resolve( - createDashboard(initialInput.id, creationOptions, dashboardCreationStartTime, savedObjectId) + createDashboard(creationOptions, dashboardCreationStartTime, savedObjectId) ); } catch (e) { return new ErrorEmbeddable(e.text, { id: e.id }); diff --git a/src/plugins/dashboard/public/dashboard_container/external_api/dashboard_renderer.test.tsx b/src/plugins/dashboard/public/dashboard_container/external_api/dashboard_renderer.test.tsx index 4497812c4c716..415e62c1953f1 100644 --- a/src/plugins/dashboard/public/dashboard_container/external_api/dashboard_renderer.test.tsx +++ b/src/plugins/dashboard/public/dashboard_container/external_api/dashboard_renderer.test.tsx @@ -26,7 +26,7 @@ describe('dashboard renderer', () => { mockDashboardContainer = { destroy: jest.fn(), render: jest.fn(), - isExpectingIdChange: jest.fn().mockReturnValue(false), + navigateToDashboard: jest.fn(), } as unknown as DashboardContainer; mockDashboardFactory = { create: jest.fn().mockReturnValue(mockDashboardContainer), @@ -77,7 +77,7 @@ describe('dashboard renderer', () => { expect(mockDashboardContainer.destroy).toHaveBeenCalledTimes(1); }); - test('destroys dashboard container on unexpected ID change', async () => { + test('calls navigate and does not destroy dashboard container on ID change', async () => { let wrapper: ReactWrapper; await act(async () => { wrapper = await mountWithIntl(); @@ -85,18 +85,9 @@ describe('dashboard renderer', () => { await act(async () => { await wrapper.setProps({ savedObjectId: 'saved_object_kibanakiwi' }); }); - expect(mockDashboardContainer.destroy).toHaveBeenCalledTimes(1); - }); - - test('does not destroy dashboard container on expected ID change', async () => { - let wrapper: ReactWrapper; - await act(async () => { - wrapper = await mountWithIntl(); - }); - mockDashboardContainer.isExpectingIdChange = jest.fn().mockReturnValue(true); - await act(async () => { - await wrapper.setProps({ savedObjectId: 'saved_object_kibanakiwi' }); - }); expect(mockDashboardContainer.destroy).not.toHaveBeenCalled(); + expect(mockDashboardContainer.navigateToDashboard).toHaveBeenCalledWith( + 'saved_object_kibanakiwi' + ); }); }); diff --git a/src/plugins/dashboard/public/dashboard_container/external_api/dashboard_renderer.tsx b/src/plugins/dashboard/public/dashboard_container/external_api/dashboard_renderer.tsx index 04d85c2f06b9b..aff31252af044 100644 --- a/src/plugins/dashboard/public/dashboard_container/external_api/dashboard_renderer.tsx +++ b/src/plugins/dashboard/public/dashboard_container/external_api/dashboard_renderer.tsx @@ -47,7 +47,6 @@ export const DashboardRenderer = forwardRef(); - const [dashboardIdToBuild, setDashboardIdToBuild] = useState(savedObjectId); useImperativeHandle( ref, @@ -67,9 +66,10 @@ export const DashboardRenderer = forwardRef { - // check if dashboard container is expecting id change... if not, update dashboardIdToBuild to force it to rebuild the container. if (!dashboardContainer) return; - if (!dashboardContainer.isExpectingIdChange()) setDashboardIdToBuild(savedObjectId); + + // When a dashboard already exists, don't rebuild it, just set a new id. + dashboardContainer.navigateToDashboard(savedObjectId); // Disabling exhaustive deps because this useEffect should only be triggered when the savedObjectId changes. // eslint-disable-next-line react-hooks/exhaustive-deps @@ -115,9 +115,9 @@ export const DashboardRenderer = forwardRef) => { + state.componentState.lastSavedId = action.payload; + }, + setStateFromSettingsFlyout: ( state: DashboardReduxState, action: PayloadAction @@ -218,4 +222,11 @@ export const dashboardContainerReducers = { setHighlightPanelId: (state: DashboardReduxState, action: PayloadAction) => { state.componentState.highlightPanelId = action.payload; }, + + setAnimatePanelTransforms: ( + state: DashboardReduxState, + action: PayloadAction + ) => { + state.componentState.animatePanelTransforms = action.payload; + }, }; diff --git a/src/plugins/dashboard/public/dashboard_container/state/diffing/dashboard_diffing_integration.ts b/src/plugins/dashboard/public/dashboard_container/state/diffing/dashboard_diffing_integration.ts index 897ac529fe61d..040acd2087df8 100644 --- a/src/plugins/dashboard/public/dashboard_container/state/diffing/dashboard_diffing_integration.ts +++ b/src/plugins/dashboard/public/dashboard_container/state/diffing/dashboard_diffing_integration.ts @@ -84,7 +84,7 @@ export function startDiffingDashboardState( creationOptions?: DashboardCreationOptions ) { const checkForUnsavedChangesSubject$ = new Subject(); - this.subscriptions.add( + this.diffingSubscription.add( checkForUnsavedChangesSubject$ .pipe( startWith(null), diff --git a/src/plugins/dashboard/public/dashboard_container/types.ts b/src/plugins/dashboard/public/dashboard_container/types.ts index 544317d9f6bcc..bdd7b7083a6da 100644 --- a/src/plugins/dashboard/public/dashboard_container/types.ts +++ b/src/plugins/dashboard/public/dashboard_container/types.ts @@ -26,6 +26,7 @@ export type DashboardStateFromSettingsFlyout = DashboardStateFromSaveModal & Das export interface DashboardPublicState { lastSavedInput: DashboardContainerInput; + animatePanelTransforms?: boolean; isEmbeddedExternally?: boolean; hasUnsavedChanges?: boolean; hasOverlays?: boolean; diff --git a/src/plugins/dashboard/server/dashboard_saved_object/migrations/dashboard_saved_object_migrations.test.ts b/src/plugins/dashboard/server/dashboard_saved_object/migrations/dashboard_saved_object_migrations.test.ts index 1a2655c481835..fa3bb3e6ff0d8 100644 --- a/src/plugins/dashboard/server/dashboard_saved_object/migrations/dashboard_saved_object_migrations.test.ts +++ b/src/plugins/dashboard/server/dashboard_saved_object/migrations/dashboard_saved_object_migrations.test.ts @@ -10,6 +10,7 @@ import { SerializableRecord } from '@kbn/utility-types'; import { savedObjectsServiceMock } from '@kbn/core/server/mocks'; import { createEmbeddableSetupMock } from '@kbn/embeddable-plugin/server/mocks'; import { SavedObjectReference, SavedObjectUnsanitizedDoc } from '@kbn/core/server'; +import { SavedObjectsUtils } from '@kbn/core-saved-objects-utils-server'; import { createExtract, createInject } from '../../../common'; import { EmbeddableStateWithType } from '@kbn/embeddable-plugin/common'; @@ -47,7 +48,7 @@ const contextMock = savedObjectsServiceMock.createMigrationContext(); describe('dashboard', () => { describe('7.0.0', () => { - const migration = migrations['7.0.0']; + const migration = SavedObjectsUtils.getMigrationFunction(migrations['7.0.0']); test('skips error on empty object', () => { expect(migration({} as SavedObjectUnsanitizedDoc, contextMock)).toMatchInlineSnapshot(` @@ -472,7 +473,7 @@ describe('dashboard', () => { }); describe('7.10.0 - hidden panel titles', () => { - const migration = migrations['7.17.3']; + const migration = SavedObjectsUtils.getMigrationFunction(migrations['7.17.3']); const doc: DashboardDoc730ToLatest = { attributes: { description: '', @@ -579,7 +580,7 @@ describe('dashboard', () => { }); describe('7.11.0 - embeddable persistable state extraction', () => { - const migration = migrations['7.11.0']; + const migration = SavedObjectsUtils.getMigrationFunction(migrations['7.11.0']); const doc: DashboardDoc730ToLatest = { attributes: { description: '', @@ -703,7 +704,10 @@ describe('dashboard', () => { embeddable: newEmbeddableSetupMock, }); expect(migrationsList['7.13.0']).toBeDefined(); - const migratedDoc = migrationsList['7.13.0'](originalDoc, contextMock); + const migratedDoc = SavedObjectsUtils.getMigrationFunction(migrationsList['7.13.0'])( + originalDoc, + contextMock + ); expect(migratedDoc.attributes.panelsJSON).toMatchInlineSnapshot( `"[{\\"version\\":\\"7.9.3\\",\\"gridData\\":{\\"x\\":0,\\"y\\":0,\\"w\\":24,\\"h\\":15,\\"i\\":\\"0\\"},\\"panelIndex\\":\\"0\\",\\"embeddableConfig\\":{}},{\\"version\\":\\"7.13.0\\",\\"gridData\\":{\\"x\\":24,\\"y\\":0,\\"w\\":24,\\"h\\":15,\\"i\\":\\"1\\"},\\"panelIndex\\":\\"1\\",\\"embeddableConfig\\":{\\"attributes\\":{\\"byValueThing\\":\\"ThisIsByValue\\"},\\"superCoolKey\\":\\"ONLY 4 BY VALUE EMBEDDABLES THANK YOU VERY MUCH\\"}}]"` ); diff --git a/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_to_730/migrations_730.test.ts b/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_to_730/migrations_730.test.ts index 6314546b5933a..1bac1858d5746 100644 --- a/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_to_730/migrations_730.test.ts +++ b/src/plugins/dashboard/server/dashboard_saved_object/migrations/migrate_to_730/migrations_730.test.ts @@ -8,6 +8,7 @@ import { savedObjectsServiceMock } from '@kbn/core/server/mocks'; import { createEmbeddableSetupMock } from '@kbn/embeddable-plugin/server/mocks'; +import { SavedObjectsUtils } from '@kbn/core-saved-objects-utils-server'; import { DashboardDocPre700, @@ -87,8 +88,8 @@ test('dashboard migration 7.3.0 migrates filters to query on search source when }, }; - const doc700 = migrations['7.0.0'](doc, mockContext); - const newDoc = migrations['7.3.0'](doc700, mockContext); + const doc700 = SavedObjectsUtils.getMigrationFunction(migrations['7.0.0'])(doc, mockContext); + const newDoc = SavedObjectsUtils.getMigrationFunction(migrations['7.3.0'])(doc700, mockContext); const parsedSearchSource = JSON.parse(newDoc.attributes.kibanaSavedObjectMeta.searchSourceJSON); expect(parsedSearchSource.filter.length).toBe(0); @@ -119,8 +120,8 @@ test('dashboard migration works when panelsJSON is missing panelIndex', () => { }, }; - const doc700 = migrations['7.0.0'](doc, mockContext); - const newDoc = migrations['7.3.0'](doc700, mockContext); + const doc700 = SavedObjectsUtils.getMigrationFunction(migrations['7.0.0'])(doc, mockContext); + const newDoc = SavedObjectsUtils.getMigrationFunction(migrations['7.3.0'])(doc700, mockContext); const parsedSearchSource = JSON.parse(newDoc.attributes.kibanaSavedObjectMeta.searchSourceJSON); expect(parsedSearchSource.filter.length).toBe(0); diff --git a/src/plugins/dashboard/tsconfig.json b/src/plugins/dashboard/tsconfig.json index ba94e006057ec..4ecdedf6268da 100644 --- a/src/plugins/dashboard/tsconfig.json +++ b/src/plugins/dashboard/tsconfig.json @@ -57,6 +57,7 @@ "@kbn/saved-objects-management-plugin", "@kbn/shared-ux-button-toolbar", "@kbn/core-saved-objects-server", + "@kbn/core-saved-objects-utils-server", ], "exclude": [ "target/**/*", diff --git a/src/plugins/data/common/search/expressions/es_raw_response.ts b/src/plugins/data/common/search/expressions/es_raw_response.ts index 6853eba6a9bc7..6a7698497155e 100644 --- a/src/plugins/data/common/search/expressions/es_raw_response.ts +++ b/src/plugins/data/common/search/expressions/es_raw_response.ts @@ -26,7 +26,10 @@ function flatten(obj: any, keyPrefix = '') { nestedRows.push( ...obj[key] .map((nestedRow: any) => flatten(nestedRow, prefix + key)) - .reduce((acc: any, object: any) => [...acc, ...object], []) + .reduce((acc: unknown[], object: unknown[]) => { + acc.push(...object); + return acc; + }, []) ); } else if (typeof obj[key] === 'object' && obj[key] !== null) { const subRows = flatten(obj[key], prefix + key); diff --git a/src/plugins/data/common/search/expressions/kibana_context.test.ts b/src/plugins/data/common/search/expressions/kibana_context.test.ts index 4ef24bdc3fe3d..211327fa152bb 100644 --- a/src/plugins/data/common/search/expressions/kibana_context.test.ts +++ b/src/plugins/data/common/search/expressions/kibana_context.test.ts @@ -46,6 +46,7 @@ describe('kibanaContextFn', () => { delete: jest.fn(), find: jest.fn(), get: jest.fn(), + getSavedSearch: jest.fn(), update: jest.fn(), }, }; @@ -53,7 +54,7 @@ describe('kibanaContextFn', () => { it('merges and deduplicates queries from different sources', async () => { const { fn } = kibanaContextFn; - startServicesMock.savedObjectsClient.get.mockResolvedValue({ + startServicesMock.savedObjectsClient.getSavedSearch.mockResolvedValue({ attributes: { kibanaSavedObjectMeta: { searchSourceJSON: JSON.stringify({ diff --git a/src/plugins/data/common/search/expressions/kibana_context.ts b/src/plugins/data/common/search/expressions/kibana_context.ts index 382589b113959..4fa07676c0152 100644 --- a/src/plugins/data/common/search/expressions/kibana_context.ts +++ b/src/plugins/data/common/search/expressions/kibana_context.ts @@ -129,7 +129,7 @@ export const getKibanaContextFn = ( let filters = [...(input?.filters || [])]; if (args.savedSearchId) { - const obj = await savedObjectsClient.get('search', args.savedSearchId); + const obj = await savedObjectsClient.getSavedSearch(args.savedSearchId); const search = (obj.attributes as any).kibanaSavedObjectMeta.searchSourceJSON as string; const { query, filter } = getParsedValue(search, {}); diff --git a/src/plugins/data/public/search/search_interceptor/search_interceptor.ts b/src/plugins/data/public/search/search_interceptor/search_interceptor.ts index cdc91a49e29a0..00ed4226fea3d 100644 --- a/src/plugins/data/public/search/search_interceptor/search_interceptor.ts +++ b/src/plugins/data/public/search/search_interceptor/search_interceptor.ts @@ -298,10 +298,12 @@ export class SearchInterceptor { isSavedToBackground = true; }); - const cancel = once(() => { - if (id && !isSavedToBackground) this.deps.http.delete(`/internal/search/${strategy}/${id}`); + const sendCancelRequest = once(() => { + this.deps.http.delete(`/internal/search/${strategy}/${id}`, { version: '1' }); }); + const cancel = () => id && !isSavedToBackground && sendCancelRequest(); + return pollSearch(search, cancel, { pollInterval: this.deps.searchConfig.asyncSearch.pollInterval, ...options, @@ -346,6 +348,7 @@ export class SearchInterceptor { const { executionContext, strategy, ...searchOptions } = this.getSerializableOptions(options); return this.deps.http .post(`/internal/search/${strategy}${request.id ? `/${request.id}` : ''}`, { + version: '1', signal: abortSignal, context: executionContext, body: JSON.stringify({ diff --git a/src/plugins/data/server/search/collectors/search_session/fetch.ts b/src/plugins/data/server/search/collectors/search_session/fetch.ts index 08660f4adb136..aaa83bf5b808e 100644 --- a/src/plugins/data/server/search/collectors/search_session/fetch.ts +++ b/src/plugins/data/server/search/collectors/search_session/fetch.ts @@ -48,7 +48,8 @@ export function fetchProvider(getIndexForType: (type: string) => Promise const { transientCount = 0, persistedCount = 0 } = buckets.reduce( (usage: Partial, bucket: SessionPersistedTermsBucket) => { const key = bucket.key_as_string === 'false' ? 'transientCount' : 'persistedCount'; - return { ...usage, [key]: bucket.doc_count }; + usage[key] = bucket.doc_count; + return usage; }, {} ); diff --git a/src/plugins/data/server/search/routes/search.test.ts b/src/plugins/data/server/search/routes/search.test.ts index c10401dd12f77..10b7755b2c30f 100644 --- a/src/plugins/data/server/search/routes/search.test.ts +++ b/src/plugins/data/server/search/routes/search.test.ts @@ -27,7 +27,15 @@ describe('Search service', () => { registerSearchRoute(mockCoreSetup.http.createRouter()); const mockRouter = mockCoreSetup.http.createRouter.mock.results[0].value; - const handler = mockRouter.post.mock.calls[0][1]; + const handler = mockRouter.versioned.post.mock.results[0].value.addVersion.mock.calls[0][1]; + await handler(mockContext as unknown as RequestHandlerContext, mockRequest, mockResponse); + } + + async function runMockDelete(mockContext: any, mockRequest: any, mockResponse: any) { + registerSearchRoute(mockCoreSetup.http.createRouter()); + + const mockRouter = mockCoreSetup.http.createRouter.mock.results[0].value; + const handler = mockRouter.versioned.delete.mock.results[0].value.addVersion.mock.calls[0][1]; await handler(mockContext as unknown as RequestHandlerContext, mockRequest, mockResponse); } @@ -156,4 +164,26 @@ describe('Search service', () => { expect(error.body.message).toBe('This is odd'); expect(error.body.attributes).toBe(undefined); }); + + it('DELETE request calls cancel with the given ID and strategy', async () => { + const mockContext = { + search: { + cancel: jest.fn(), + }, + }; + + const id = '1234'; + const strategy = 'foo'; + const params = { id, strategy }; + + const mockRequest = httpServerMock.createKibanaRequest({ + params, + }); + const mockResponse = httpServerMock.createResponseFactory(); + + await runMockDelete(mockContext, mockRequest, mockResponse); + + expect(mockContext.search.cancel).toBeCalled(); + expect(mockContext.search.cancel).toBeCalledWith(id, { strategy }); + }); }); diff --git a/src/plugins/data/server/search/routes/search.ts b/src/plugins/data/server/search/routes/search.ts index 94f26aebb5e1d..9d338095f25c0 100644 --- a/src/plugins/data/server/search/routes/search.ts +++ b/src/plugins/data/server/search/routes/search.ts @@ -12,82 +12,97 @@ import { reportServerError } from '@kbn/kibana-utils-plugin/server'; import { getRequestAbortedSignal } from '../../lib'; import type { DataPluginRouter } from '../types'; -export function registerSearchRoute(router: DataPluginRouter): void { - router.post( - { - path: '/internal/search/{strategy}/{id?}', - validate: { - params: schema.object({ - strategy: schema.string(), - id: schema.maybe(schema.string()), - }), +export const SEARCH_API_BASE_URL = '/internal/search'; - body: schema.object( - { - legacyHitsTotal: schema.maybe(schema.boolean()), - sessionId: schema.maybe(schema.string()), - isStored: schema.maybe(schema.boolean()), - isRestore: schema.maybe(schema.boolean()), +export function registerSearchRoute(router: DataPluginRouter): void { + router.versioned + .post({ + path: `${SEARCH_API_BASE_URL}/{strategy}/{id?}`, + access: 'internal', + }) + .addVersion( + { + version: '1', + validate: { + request: { + params: schema.object({ + strategy: schema.string(), + id: schema.maybe(schema.string()), + }), + body: schema.object( + { + legacyHitsTotal: schema.maybe(schema.boolean()), + sessionId: schema.maybe(schema.string()), + isStored: schema.maybe(schema.boolean()), + isRestore: schema.maybe(schema.boolean()), + }, + { unknowns: 'allow' } + ), }, - { unknowns: 'allow' } - ), + }, }, - }, - async (context, request, res) => { - const { - legacyHitsTotal = true, - sessionId, - isStored, - isRestore, - ...searchRequest - } = request.body; - const { strategy, id } = request.params; - const abortSignal = getRequestAbortedSignal(request.events.aborted$); + async (context, request, res) => { + const { + legacyHitsTotal = true, + sessionId, + isStored, + isRestore, + ...searchRequest + } = request.body; + const { strategy, id } = request.params; + const abortSignal = getRequestAbortedSignal(request.events.aborted$); - try { - const search = await context.search; - const response = await search - .search( - { ...searchRequest, id }, - { - abortSignal, - strategy, - legacyHitsTotal, - sessionId, - isStored, - isRestore, - } - ) - .pipe(first()) - .toPromise(); + try { + const search = await context.search; + const response = await search + .search( + { ...searchRequest, id }, + { + abortSignal, + strategy, + legacyHitsTotal, + sessionId, + isStored, + isRestore, + } + ) + .pipe(first()) + .toPromise(); - return res.ok({ body: response }); - } catch (err) { - return reportServerError(res, err); + return res.ok({ body: response }); + } catch (err) { + return reportServerError(res, err); + } } - } - ); + ); - router.delete( - { + router.versioned + .delete({ path: '/internal/search/{strategy}/{id}', - validate: { - params: schema.object({ - strategy: schema.string(), - id: schema.string(), - }), + access: 'internal', + }) + .addVersion( + { + version: '1', + validate: { + request: { + params: schema.object({ + strategy: schema.string(), + id: schema.string(), + }), + }, + }, }, - }, - async (context, request, res) => { - const { strategy, id } = request.params; + async (context, request, res) => { + const { strategy, id } = request.params; - try { - const search = await context.search; - await search.cancel(id, { strategy }); - return res.ok(); - } catch (err) { - return reportServerError(res, err); + try { + const search = await context.search; + await search.cancel(id, { strategy }); + return res.ok(); + } catch (err) { + return reportServerError(res, err); + } } - } - ); + ); } diff --git a/src/plugins/data/server/search/saved_objects/search_session_migration.test.ts b/src/plugins/data/server/search/saved_objects/search_session_migration.test.ts index f18ac70bc4f43..d1c9ef15d4197 100644 --- a/src/plugins/data/server/search/saved_objects/search_session_migration.test.ts +++ b/src/plugins/data/server/search/saved_objects/search_session_migration.test.ts @@ -16,6 +16,7 @@ import { import { SavedObject } from '@kbn/core/types'; import { SEARCH_SESSION_TYPE, SearchSessionStatus, SearchStatus } from '../../../common'; import { SavedObjectMigrationContext } from '@kbn/core/server'; +import { SavedObjectsUtils } from '@kbn/core-saved-objects-utils-server'; describe('7.12.0 -> 7.13.0', () => { const mockCompletedSessionSavedObject: SavedObject = @@ -66,7 +67,9 @@ describe('7.12.0 -> 7.13.0', () => { references: [], }; - const migration = searchSessionSavedObjectMigrations['7.13.0']; + const migration = SavedObjectsUtils.getMigrationFunction( + searchSessionSavedObjectMigrations['7.13.0'] + ); test('"completed" is populated from "touched" for completed session', () => { const migratedCompletedSession = migration( mockCompletedSessionSavedObject, @@ -138,7 +141,9 @@ describe('7.13.0 -> 7.14.0', () => { references: [], }; - const migration = searchSessionSavedObjectMigrations['7.14.0']; + const migration = SavedObjectsUtils.getMigrationFunction( + searchSessionSavedObjectMigrations['7.14.0'] + ); test('version is populated', () => { const migratedSession = migration(mockSessionSavedObject, {} as SavedObjectMigrationContext); @@ -169,7 +174,9 @@ describe('7.13.0 -> 7.14.0', () => { }); describe('7.14.0 -> 8.0.0', () => { - const migration = searchSessionSavedObjectMigrations['8.0.0']; + const migration = SavedObjectsUtils.getMigrationFunction( + searchSessionSavedObjectMigrations['8.0.0'] + ); test('Discover app URL generator migrates to locator', () => { const mockSessionSavedObject: SavedObject = { @@ -359,7 +366,9 @@ describe('7.14.0 -> 8.0.0', () => { }); describe('8.0.0 -> 8.6.0', () => { - const migration = searchSessionSavedObjectMigrations['8.6.0']; + const migration = SavedObjectsUtils.getMigrationFunction( + searchSessionSavedObjectMigrations['8.6.0'] + ); const mockSessionSavedObject: SavedObject = { id: 'id', diff --git a/src/plugins/data/tsconfig.json b/src/plugins/data/tsconfig.json index 9d7fb6227448a..528c46a83857e 100644 --- a/src/plugins/data/tsconfig.json +++ b/src/plugins/data/tsconfig.json @@ -48,6 +48,7 @@ "@kbn/config-schema", "@kbn/core-application-browser", "@kbn/core-saved-objects-server", + "@kbn/core-saved-objects-utils-server", ], "exclude": [ "target/**/*", diff --git a/src/plugins/data_view_field_editor/public/components/field_editor/form_fields/script_field.tsx b/src/plugins/data_view_field_editor/public/components/field_editor/form_fields/script_field.tsx index 077471b44c237..7d57a1828f822 100644 --- a/src/plugins/data_view_field_editor/public/components/field_editor/form_fields/script_field.tsx +++ b/src/plugins/data_view_field_editor/public/components/field_editor/form_fields/script_field.tsx @@ -58,6 +58,8 @@ const mapReturnTypeToPainlessContext = (runtimeType: RuntimeType): PainlessConte const currentDocumentSelector = (state: PreviewState) => state.documents[state.currentIdx]; const currentDocumentIsLoadingSelector = (state: PreviewState) => state.isLoadingDocuments; const currentErrorSelector = (state: PreviewState) => state.previewResponse?.error; +const isLoadingPreviewSelector = (state: PreviewState) => state.isLoadingPreview; +const isPreviewAvailableSelector = (state: PreviewState) => state.isPreviewAvailable; const ScriptFieldComponent = ({ existingConcreteFields, links, placeholder }: Props) => { const { @@ -67,10 +69,12 @@ const ScriptFieldComponent = ({ existingConcreteFields, links, placeholder }: Pr const editorValidationSubscription = useRef(); const fieldCurrentValue = useRef(''); - const { isLoadingPreview, isPreviewAvailable, controller } = useFieldPreviewContext(); + const { controller } = useFieldPreviewContext(); const error = useStateSelector(controller.state$, currentErrorSelector); const currentDocument = useStateSelector(controller.state$, currentDocumentSelector); const isFetchingDoc = useStateSelector(controller.state$, currentDocumentIsLoadingSelector); + const isLoadingPreview = useStateSelector(controller.state$, isLoadingPreviewSelector); + const isPreviewAvailable = useStateSelector(controller.state$, isPreviewAvailableSelector); const [validationData$, nextValidationData$] = useBehaviorSubject< | { isFetchingDoc: boolean; diff --git a/src/plugins/data_view_field_editor/public/components/field_editor_flyout_content.tsx b/src/plugins/data_view_field_editor/public/components/field_editor_flyout_content.tsx index a775f537ecaf7..fa3fef00419dd 100644 --- a/src/plugins/data_view_field_editor/public/components/field_editor_flyout_content.tsx +++ b/src/plugins/data_view_field_editor/public/components/field_editor_flyout_content.tsx @@ -20,12 +20,14 @@ import { FormattedMessage } from '@kbn/i18n-react'; import React, { useCallback, useEffect, useRef, useState } from 'react'; import { euiFlyoutClassname } from '../constants'; import type { Field } from '../types'; +import { PreviewState } from './preview/types'; import { ModifiedFieldModal, SaveFieldTypeOrNameChangedModal } from './confirm_modals'; import { FieldEditor, FieldEditorFormState } from './field_editor/field_editor'; import { useFieldEditorContext } from './field_editor_context'; import { FlyoutPanels } from './flyout_panels'; import { FieldPreview, useFieldPreviewContext } from './preview'; +import { useStateSelector } from '../state_utils'; const i18nTexts = { cancelButtonLabel: i18n.translate('indexPatternFieldEditor.editor.flyoutCancelButtonLabel', { @@ -61,6 +63,8 @@ export interface Props { onMounted?: (args: { canCloseValidator: () => boolean }) => void; } +const isPanelVisibleSelector = (state: PreviewState) => state.isPanelVisible; + const FieldEditorFlyoutContentComponent = ({ fieldToEdit, fieldToCreate, @@ -75,9 +79,8 @@ const FieldEditorFlyoutContentComponent = ({ const isMobile = useIsWithinMaxBreakpoint('s'); - const { - panel: { isVisible: isPanelVisible }, - } = useFieldPreviewContext(); + const { controller } = useFieldPreviewContext(); + const isPanelVisible = useStateSelector(controller.state$, isPanelVisibleSelector); const [formState, setFormState] = useState({ isSubmitted: false, diff --git a/src/plugins/data_view_field_editor/public/components/preview/documents_nav_preview.tsx b/src/plugins/data_view_field_editor/public/components/preview/documents_nav_preview.tsx index be975c472efa2..ae3170d78dbf7 100644 --- a/src/plugins/data_view_field_editor/public/components/preview/documents_nav_preview.tsx +++ b/src/plugins/data_view_field_editor/public/components/preview/documents_nav_preview.tsx @@ -27,14 +27,13 @@ const docIdSelector = (state: PreviewState) => { customId: state.customId, }; }; +const fetchDocErrorSelector = (state: PreviewState) => state.fetchDocError; export const DocumentsNavPreview = () => { - const { - documents: { loadSingle, loadFromCluster, fetchDocError }, - controller, - } = useFieldPreviewContext(); + const { controller } = useFieldPreviewContext(); const { goToPreviousDocument: prev, goToNextDocument: next } = controller; const { documentId, customId } = useStateSelector(controller.state$, docIdSelector); + const fetchDocError = useStateSelector(controller.state$, fetchDocErrorSelector); const isInvalid = fetchDocError?.code === 'DOC_NOT_FOUND'; @@ -45,9 +44,9 @@ export const DocumentsNavPreview = () => { const onDocumentIdChange = useCallback( (e: React.SyntheticEvent) => { const nextId = (e.target as HTMLInputElement).value; - loadSingle(nextId); + controller.setCustomDocIdToLoad(nextId); }, - [loadSingle] + [controller] ); return ( @@ -75,7 +74,7 @@ export const DocumentsNavPreview = () => { color="primary" size="xs" flush="left" - onClick={() => loadFromCluster()} + onClick={() => controller.fetchSampleDocuments()} data-test-subj="loadDocsFromClusterButton" > {i18n.translate( diff --git a/src/plugins/data_view_field_editor/public/components/preview/field_list/field_list_item.tsx b/src/plugins/data_view_field_editor/public/components/preview/field_list/field_list_item.tsx index 21b2baa320074..7ffa102cf759a 100644 --- a/src/plugins/data_view_field_editor/public/components/preview/field_list/field_list_item.tsx +++ b/src/plugins/data_view_field_editor/public/components/preview/field_list/field_list_item.tsx @@ -23,6 +23,8 @@ import { useFieldPreviewContext } from '../field_preview_context'; import { IsUpdatingIndicator } from '../is_updating_indicator'; import { ImagePreviewModal } from '../image_preview_modal'; import type { DocumentField } from './field_list'; +import { PreviewState } from '../types'; +import { useStateSelector } from '../../../state_utils'; interface Props { field: DocumentField; @@ -32,13 +34,16 @@ interface Props { isFromScript?: boolean; } +const isLoadingPreviewSelector = (state: PreviewState) => state.isLoadingPreview; + export const PreviewListItem: React.FC = ({ field: { key, value, formattedValue, isPinned = false }, toggleIsPinned, hasScriptError, isFromScript = false, }) => { - const { isLoadingPreview } = useFieldPreviewContext(); + const { controller } = useFieldPreviewContext(); + const isLoadingPreview = useStateSelector(controller.state$, isLoadingPreviewSelector); const [isPreviewImageModalVisible, setIsPreviewImageModalVisible] = useState(false); diff --git a/src/plugins/data_view_field_editor/public/components/preview/field_preview.tsx b/src/plugins/data_view_field_editor/public/components/preview/field_preview.tsx index 005a2c634cf84..95bd64cff6f21 100644 --- a/src/plugins/data_view_field_editor/public/components/preview/field_preview.tsx +++ b/src/plugins/data_view_field_editor/public/components/preview/field_preview.tsx @@ -5,7 +5,7 @@ * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ -import React, { useState, useCallback, useEffect } from 'react'; +import React, { useState, useCallback } from 'react'; import { i18n } from '@kbn/i18n'; import { EuiSpacer, EuiResizeObserver, EuiFieldSearch, EuiCallOut } from '@elastic/eui'; @@ -17,9 +17,15 @@ import { FieldPreviewError } from './field_preview_error'; import { PreviewListItem } from './field_list/field_list_item'; import { PreviewFieldList } from './field_list/field_list'; import { useStateSelector } from '../../state_utils'; +import { PreviewState } from './types'; import './field_preview.scss'; +const previewResponseSelector = (state: PreviewState) => state.previewResponse; +const fetchDocErrorSelector = (state: PreviewState) => state.fetchDocError; +const isLoadingPreviewSelector = (state: PreviewState) => state.isLoadingPreview; +const isPreviewAvailableSelector = (state: PreviewState) => state.isPreviewAvailable; + export const FieldPreview = () => { const [fieldListHeight, setFieldListHeight] = useState(-1); const [searchValue, setSearchValue] = useState(''); @@ -28,13 +34,12 @@ export const FieldPreview = () => { params: { value: { name, script, format }, }, - isLoadingPreview, - documents: { fetchDocError }, - reset, - isPreviewAvailable, controller, } = useFieldPreviewContext(); - const { fields, error } = useStateSelector(controller.state$, (state) => state.previewResponse); + const { fields, error } = useStateSelector(controller.state$, previewResponseSelector); + const fetchDocError = useStateSelector(controller.state$, fetchDocErrorSelector); + const isLoadingPreview = useStateSelector(controller.state$, isLoadingPreviewSelector); + const isPreviewAvailable = useStateSelector(controller.state$, isPreviewAvailableSelector); // To show the preview we at least need a name to be defined, the script or the format // and an first response from the _execute API @@ -71,12 +76,6 @@ export const FieldPreview = () => { ); }; - useEffect(() => { - // When unmounting the preview pannel we make sure to reset - // the state of the preview panel. - return reset; - }, [reset]); - return (
    (undefined); @@ -69,7 +61,6 @@ const documentsSelector = (state: PreviewState) => { totalDocs: state.documents.length, currentDocIndex: currentDocument?._index, currentDocId: currentDocument?._id, - currentIdx: state.currentIdx, }; }; @@ -77,25 +68,9 @@ export const FieldPreviewProvider: FunctionComponent<{ controller: PreviewContro controller, children, }) => { - const previewCount = useRef(0); - - // We keep in cache the latest params sent to the _execute API so we don't make unecessary requests - // when changing parameters that don't affect the preview result (e.g. changing the "name" field). - const lastExecutePainlessRequestParams = useRef<{ - type: Params['type']; - script: string | undefined; - documentId: string | undefined; - }>({ - type: null, - script: undefined, - documentId: undefined, - }); - const { dataView, - fieldTypeToProcess, services: { - search, notifications, api: { getFieldPreview }, }, @@ -104,10 +79,6 @@ export const FieldPreviewProvider: FunctionComponent<{ controller: PreviewContro const fieldPreview$ = useRef(new BehaviorSubject(undefined)); - const [initialPreviewComplete, setInitialPreviewComplete] = useState(false); - - /** Possible error while fetching sample documents */ - const [fetchDocError, setFetchDocError] = useState(null); /** The parameters required for the Painless _execute API */ const [params, setParams] = useState(defaultParams); @@ -117,28 +88,10 @@ export const FieldPreviewProvider: FunctionComponent<{ controller: PreviewContro message: string | null; }>({ isValidating: false, isValid: true, message: null }); - /** Flag to show/hide the preview panel */ - const [isPanelVisible, setIsPanelVisible] = useState(true); - /** Flag to indicate if we are loading document from cluster */ - const [isFetchingDocument, setIsFetchingDocument] = useState(false); - /** Flag to indicate if we are calling the _execute API */ - const [isLoadingPreview, setIsLoadingPreview] = useState(false); - - /** Flag to indicate if we are loading a single document by providing its ID */ - const [customDocIdToLoad, setCustomDocIdToLoad] = useState(null); - - const { currentDocument, currentDocIndex, currentDocId, totalDocs, currentIdx } = - useStateSelector(controller.state$, documentsSelector); - - let isPreviewAvailable = true; - - // If no documents could be fetched from the cluster (and we are not trying to load - // a custom doc ID) then we disable preview as the script field validation expect the result - // of the preview to before resolving. If there are no documents we can't have a preview - // (the _execute API expects one) and thus the validation should not expect a value. - if (!isFetchingDocument && !customDocIdToLoad && totalDocs === 0) { - isPreviewAvailable = false; - } + const { currentDocument, currentDocIndex, currentDocId } = useStateSelector( + controller.state$, + documentsSelector + ); const { name, document, script, format, type, parentName } = params; @@ -146,196 +99,6 @@ export const FieldPreviewProvider: FunctionComponent<{ controller: PreviewContro setParams((prev) => ({ ...prev, ...updated })); }, []); - const allParamsDefined = useMemo(() => { - if (!currentDocIndex || !script?.source || !type) { - return false; - } - return true; - }, [currentDocIndex, script?.source, type]); - - const hasSomeParamsChanged = useMemo(() => { - return ( - lastExecutePainlessRequestParams.current.type !== type || - lastExecutePainlessRequestParams.current.script !== script?.source || - lastExecutePainlessRequestParams.current.documentId !== currentDocId - ); - }, [type, script, currentDocId]); - - const fetchSampleDocuments = useCallback( - async (limit: number = 50) => { - if (typeof limit !== 'number') { - // We guard ourself from passing an event accidentally - throw new Error('The "limit" option must be a number'); - } - - lastExecutePainlessRequestParams.current.documentId = undefined; - setIsFetchingDocument(true); - controller.setPreviewResponse({ fields: [], error: null }); - - const [response, searchError] = await search - .search({ - params: { - index: dataView.getIndexPattern(), - body: { - fields: ['*'], - size: limit, - }, - }, - }) - .toPromise() - .then((res) => [res, null]) - .catch((err) => [null, err]); - - setIsFetchingDocument(false); - setCustomDocIdToLoad(null); - - const error: FetchDocError | null = Boolean(searchError) - ? { - code: 'ERR_FETCHING_DOC', - error: { - message: searchError.toString(), - reason: i18n.translate( - 'indexPatternFieldEditor.fieldPreview.error.errorLoadingSampleDocumentsDescription', - { - defaultMessage: 'Error loading sample documents.', - } - ), - }, - } - : null; - - setFetchDocError(error); - - if (error === null) { - controller.setDocuments(response ? response.rawResponse.hits.hits : []); - } - }, - [dataView, search, controller] - ); - - const loadDocument = useCallback( - async (id: string) => { - if (!Boolean(id.trim())) { - return; - } - - lastExecutePainlessRequestParams.current.documentId = undefined; - setIsFetchingDocument(true); - - const [response, searchError] = await search - .search({ - params: { - index: dataView.getIndexPattern(), - body: { - size: 1, - fields: ['*'], - query: { - ids: { - values: [id], - }, - }, - }, - }, - }) - .toPromise() - .then((res) => [res, null]) - .catch((err) => [null, err]); - - setIsFetchingDocument(false); - - const isDocumentFound = response?.rawResponse.hits.total > 0; - const loadedDocuments: EsDocument[] = isDocumentFound ? response.rawResponse.hits.hits : []; - const error: FetchDocError | null = Boolean(searchError) - ? { - code: 'ERR_FETCHING_DOC', - error: { - message: searchError.toString(), - reason: i18n.translate( - 'indexPatternFieldEditor.fieldPreview.error.errorLoadingDocumentDescription', - { - defaultMessage: 'Error loading document.', - } - ), - }, - } - : isDocumentFound === false - ? { - code: 'DOC_NOT_FOUND', - error: { - message: i18n.translate( - 'indexPatternFieldEditor.fieldPreview.error.documentNotFoundDescription', - { - defaultMessage: 'Document ID not found', - } - ), - }, - } - : null; - - setFetchDocError(error); - - if (error === null) { - controller.setDocuments(loadedDocuments); - } else { - // Make sure we disable the "Updating..." indicator as we have an error - // and we won't fetch the preview - setIsLoadingPreview(false); - } - }, - [dataView, search, controller] - ); - - const updateSingleFieldPreview = useCallback( - (fieldName: string, values: unknown[]) => { - const [value] = values; - const formattedValue = controller.valueFormatter({ value, type, format }); - - controller.setPreviewResponse({ - fields: [{ key: fieldName, value, formattedValue }], - error: null, - }); - }, - [controller, type, format] - ); - - const updateCompositeFieldPreview = useCallback( - (compositeValues: Record) => { - const updatedFieldsInScript: string[] = []; - // if we're displaying a composite subfield, filter results - const filterSubfield = parentName ? (field: FieldPreview) => field.key === name : () => true; - - const fields = Object.entries(compositeValues) - .map(([key, values]) => { - // The Painless _execute API returns the composite field values under a map. - // Each of the key is prefixed with "composite_field." (e.g. "composite_field.field1: ['value']") - const { 1: fieldName } = key.split('composite_field.'); - updatedFieldsInScript.push(fieldName); - - const [value] = values; - const formattedValue = controller.valueFormatter({ value, type, format }); - - return { - key: parentName - ? `${parentName ?? ''}.${fieldName}` - : `${fieldName$.getValue() ?? ''}.${fieldName}`, - value, - formattedValue, - type: valueTypeToSelectedType(value), - }; - }) - .filter(filterSubfield) - // ...and sort alphabetically - .sort((a, b) => a.key.localeCompare(b.key)); - - fieldPreview$.current.next(fields); - controller.setPreviewResponse({ - fields, - error: null, - }); - }, - [parentName, name, fieldPreview$, fieldName$, controller, type, format] - ); - const updatePreview = useCallback(async () => { // don't prevent rendering if we're working with a composite subfield (has parentName) if (!parentName && scriptEditorValidation.isValidating) { @@ -344,19 +107,21 @@ export const FieldPreviewProvider: FunctionComponent<{ controller: PreviewContro if ( !parentName && - (!allParamsDefined || !hasSomeParamsChanged || scriptEditorValidation.isValid === false) + (!controller.allParamsDefined(type, script?.source, currentDocIndex) || + !controller.hasSomeParamsChanged(type, script?.source, currentDocId) || + scriptEditorValidation.isValid === false) ) { - setIsLoadingPreview(false); + controller.setIsLoadingPreview(false); return; } - lastExecutePainlessRequestParams.current = { + controller.setLastExecutePainlessRequestParams({ type, script: script?.source, documentId: currentDocId, - }; + }); - const currentApiCall = ++previewCount.current; + const currentApiCall = controller.incrementPreviewCount(); // ++previewCount.current; const previewScript = (parentName && dataView.getRuntimeField(parentName)?.script) || script!; @@ -367,7 +132,7 @@ export const FieldPreviewProvider: FunctionComponent<{ controller: PreviewContro script: previewScript, }); - if (currentApiCall !== previewCount.current) { + if (currentApiCall !== controller.getPreviewCount()) { // Discard this response as there is another one inflight // or we have called reset() and no longer need the response. return; @@ -382,7 +147,7 @@ export const FieldPreviewProvider: FunctionComponent<{ controller: PreviewContro }); notifications.toasts.addError(serverError, { title }); - setIsLoadingPreview(false); + controller.setIsLoadingPreview(false); return; } @@ -402,15 +167,23 @@ export const FieldPreviewProvider: FunctionComponent<{ controller: PreviewContro }); } else { if (!Array.isArray(values)) { - updateCompositeFieldPreview(values); + controller.updateCompositeFieldPreview( + values, + parentName, + name!, + fieldName$.getValue(), + type, + format, + (value: FieldPreview[] | undefined) => fieldPreview$.current.next(value) + ); } else { - updateSingleFieldPreview(name!, values); + controller.updateSingleFieldPreview(name!, values, type, format); } } } - setInitialPreviewComplete(true); - setIsLoadingPreview(false); + controller.setInitialPreviewComplete(true); + controller.setIsLoadingPreview(false); }, [ name, type, @@ -421,108 +194,40 @@ export const FieldPreviewProvider: FunctionComponent<{ controller: PreviewContro currentDocId, getFieldPreview, notifications.toasts, - allParamsDefined, scriptEditorValidation, - hasSomeParamsChanged, - updateSingleFieldPreview, - updateCompositeFieldPreview, currentDocIndex, controller, + format, + fieldName$, ]); - const reset = useCallback(() => { - // By resetting the previewCount we will discard previous inflight - // API call response coming in after calling reset() was called - previewCount.current = 0; - - controller.setDocuments([]); - controller.setPreviewResponse({ fields: [], error: null }); - setIsLoadingPreview(false); - setIsFetchingDocument(false); - }, [controller]); - const ctx = useMemo( () => ({ controller, fieldPreview$: fieldPreview$.current, - isPreviewAvailable, - isLoadingPreview, - initialPreviewComplete, params: { value: params, update: updateParams, }, - documents: { - loadSingle: setCustomDocIdToLoad, - loadFromCluster: fetchSampleDocuments, - fetchDocError, - }, - navigation: { - isFirstDoc: currentIdx === 0, - isLastDoc: currentIdx >= totalDocs - 1, - }, - panel: { - isVisible: isPanelVisible, - setIsVisible: setIsPanelVisible, - }, validation: { + // todo do this next setScriptEditorValidation, }, - reset, }), - [ - controller, - currentIdx, - fieldPreview$, - fetchDocError, - params, - isPreviewAvailable, - isLoadingPreview, - updateParams, - fetchSampleDocuments, - totalDocs, - isPanelVisible, - reset, - initialPreviewComplete, - ] + [controller, fieldPreview$, params, updateParams] ); - /** - * In order to immediately display the "Updating..." state indicator and not have to wait - * the 500ms of the debounce, we set the isLoadingPreview state in this effect whenever - * one of the _execute API param changes - */ - useEffect(() => { - if (allParamsDefined && hasSomeParamsChanged) { - setIsLoadingPreview(true); - } - }, [allParamsDefined, hasSomeParamsChanged, script?.source, type, currentDocId]); - /** * In order to immediately display the "Updating..." state indicator and not have to wait * the 500ms of the debounce, we set the isFetchingDocument state in this effect whenever * "customDocIdToLoad" changes */ - useEffect(() => { - controller.setCustomId(customDocIdToLoad || undefined); - if (customDocIdToLoad !== null && Boolean(customDocIdToLoad.trim())) { - setIsFetchingDocument(true); - } - }, [customDocIdToLoad, controller]); - - /** - * Whenever we show the preview panel we will update the documents from the cluster - */ - useEffect(() => { - if (isPanelVisible) { - fetchSampleDocuments(); - } - }, [isPanelVisible, fetchSampleDocuments, fieldTypeToProcess]); /** * Each time the current document changes we update the parameters * that will be sent in the _execute HTTP request. */ + // This game me problems useEffect(() => { updateParams({ document: currentDocument, @@ -594,7 +299,7 @@ export const FieldPreviewProvider: FunctionComponent<{ controller: PreviewContro if (script?.source === undefined) { // Whenever the source is not defined ("Set value" is toggled off or the // script is empty) we clear the error and update the params cache. - lastExecutePainlessRequestParams.current.script = undefined; + controller.setLastExecutePainlessRequestParams({ script: undefined }); controller.setPreviewError(null); } }, [script?.source, controller]); @@ -608,7 +313,7 @@ export const FieldPreviewProvider: FunctionComponent<{ controller: PreviewContro if (scriptEditorValidation.isValid === false) { // Make sure to remove the "Updating..." spinner - setIsLoadingPreview(false); + controller.setIsLoadingPreview(false); // Set preview response error so it is displayed in the flyout footer const error = @@ -628,7 +333,8 @@ export const FieldPreviewProvider: FunctionComponent<{ controller: PreviewContro // Make sure to update the lastExecutePainlessRequestParams cache so when the user updates // the script and fixes the syntax the "updatePreview()" will run - lastExecutePainlessRequestParams.current.script = script?.source; + // lastExecutePainlessRequestParams.current.script = script?.source; + controller.setLastExecutePainlessRequestParams({ script: script?.source }); } else { // Clear possible previous syntax error controller.clearPreviewError('PAINLESS_SYNTAX_ERROR'); @@ -641,21 +347,6 @@ export const FieldPreviewProvider: FunctionComponent<{ controller: PreviewContro */ useDebounce(updatePreview, 500, [updatePreview]); - /** - * Whenever the doc ID to load changes we load the document (after a 500ms debounce) - */ - useDebounce( - () => { - if (customDocIdToLoad === null) { - return; - } - - loadDocument(customDocIdToLoad); - }, - 500, - [customDocIdToLoad] - ); - return {children}; }; diff --git a/src/plugins/data_view_field_editor/public/components/preview/field_preview_error.tsx b/src/plugins/data_view_field_editor/public/components/preview/field_preview_error.tsx index 22bc24d04b714..50b501fc34894 100644 --- a/src/plugins/data_view_field_editor/public/components/preview/field_preview_error.tsx +++ b/src/plugins/data_view_field_editor/public/components/preview/field_preview_error.tsx @@ -8,13 +8,17 @@ import React from 'react'; import { EuiCallOut } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; +import { useStateSelector } from '../../state_utils'; +import { PreviewState } from './types'; import { useFieldPreviewContext } from './field_preview_context'; +const fetchDocErrorSelector = (state: PreviewState) => state.fetchDocError; + export const FieldPreviewError = () => { - const { - documents: { fetchDocError }, - } = useFieldPreviewContext(); + const { controller } = useFieldPreviewContext(); + + const fetchDocError = useStateSelector(controller.state$, fetchDocErrorSelector); if (fetchDocError === null) { return null; diff --git a/src/plugins/data_view_field_editor/public/components/preview/preview_controller.tsx b/src/plugins/data_view_field_editor/public/components/preview/preview_controller.tsx index 8e9f6156c7d7b..a861a6aac735e 100644 --- a/src/plugins/data_view_field_editor/public/components/preview/preview_controller.tsx +++ b/src/plugins/data_view_field_editor/public/components/preview/preview_controller.tsx @@ -6,16 +6,19 @@ * Side Public License, v 1. */ +import { i18n } from '@kbn/i18n'; import type { DataView } from '@kbn/data-views-plugin/public'; import type { ISearchStart } from '@kbn/data-plugin/public'; import { BehaviorSubject } from 'rxjs'; import { castEsToKbnFieldTypeName } from '@kbn/field-types'; import { renderToString } from 'react-dom/server'; import React from 'react'; -import { PreviewState } from './types'; +import debounce from 'lodash/debounce'; +import { PreviewState, FetchDocError } from './types'; import { BehaviorObservable } from '../../state_utils'; -import { EsDocument, ScriptErrorCodes, Params } from './types'; +import { EsDocument, ScriptErrorCodes, Params, FieldPreview } from './types'; import type { FieldFormatsStart } from '../../shared_imports'; +import { valueTypeToSelectedType } from './field_preview_context'; export const defaultValueFormatter = (value: unknown) => { const content = typeof value === 'object' ? JSON.stringify(value) : String(value) ?? '-'; @@ -41,6 +44,20 @@ const previewStateDefault: PreviewState = { /** Keep track if the script painless syntax is being validated and if it is valid */ scriptEditorValidation: { isValidating: false, isValid: true, message: null }, previewResponse: { fields: [], error: null }, + /** Flag to indicate if we are loading document from cluster */ + isFetchingDocument: false, + /** Possible error while fetching sample documents */ + fetchDocError: null, + /** Flag to indicate if we are loading a single document by providing its ID */ + customDocIdToLoad: null, // not used externally + // We keep in cache the latest params sent to the _execute API so we don't make unecessary requests + // when changing parameters that don't affect the preview result (e.g. changing the "name" field). + + isLoadingPreview: false, + initialPreviewComplete: false, + isPreviewAvailable: true, + /** Flag to show/hide the preview panel */ + isPanelVisible: true, }; export class PreviewController { @@ -54,22 +71,34 @@ export class PreviewController { }); this.state$ = this.internalState$ as BehaviorObservable; + + this.fetchSampleDocuments(); } // dependencies - // @ts-ignore private dataView: DataView; - // @ts-ignore private search: ISearchStart; private fieldFormats: FieldFormatsStart; private internalState$: BehaviorSubject; state$: BehaviorObservable; + private previewCount = 0; + private updateState = (newState: Partial) => { this.internalState$.next({ ...this.state$.getValue(), ...newState }); }; + private lastExecutePainlessRequestParams: { + type: Params['type']; + script: string | undefined; + documentId: string | undefined; + } = { + type: null, + script: undefined, + documentId: undefined, + }; + togglePinnedField = (fieldName: string) => { const currentState = this.state$.getValue(); const pinnedFields = { @@ -80,18 +109,15 @@ export class PreviewController { this.updateState({ pinnedFields }); }; - setDocuments = (documents: EsDocument[]) => { + private setDocuments = (documents: EsDocument[]) => { this.updateState({ documents, currentIdx: 0, isLoadingDocuments: false, + isPreviewAvailable: this.getIsPreviewAvailable({ documents }), }); }; - setCurrentIdx = (currentIdx: number) => { - this.updateState({ currentIdx }); - }; - goToNextDocument = () => { const currentState = this.state$.getValue(); if (currentState.currentIdx >= currentState.documents.length - 1) { @@ -116,10 +142,6 @@ export class PreviewController { }; */ - setCustomId = (customId?: string) => { - this.updateState({ customId }); - }; - setPreviewError = (error: PreviewState['previewResponse']['error']) => { this.updateState({ previewResponse: { ...this.internalState$.getValue().previewResponse, error }, @@ -130,6 +152,46 @@ export class PreviewController { this.updateState({ previewResponse }); }; + setCustomDocIdToLoad = (customDocIdToLoad: string | null) => { + this.updateState({ + customDocIdToLoad, + customId: customDocIdToLoad || undefined, + isPreviewAvailable: this.getIsPreviewAvailable({ customDocIdToLoad }), + }); + // load document if id is present + this.setIsFetchingDocument(!!customDocIdToLoad); + if (customDocIdToLoad) { + this.debouncedLoadDocument(customDocIdToLoad); + } + }; + + // If no documents could be fetched from the cluster (and we are not trying to load + // a custom doc ID) then we disable preview as the script field validation expect the result + // of the preview to before resolving. If there are no documents we can't have a preview + // (the _execute API expects one) and thus the validation should not expect a value. + + private getIsPreviewAvailable = (update: { + isFetchingDocument?: boolean; + customDocIdToLoad?: string | null; + documents?: EsDocument[]; + }) => { + const { + isFetchingDocument: existingIsFetchingDocument, + customDocIdToLoad: existingCustomDocIdToLoad, + documents: existingDocuments, + } = this.internalState$.getValue(); + + const existing = { existingIsFetchingDocument, existingCustomDocIdToLoad, existingDocuments }; + + const merged = { ...existing, ...update }; + + if (!merged.isFetchingDocument && !merged.customDocIdToLoad && merged.documents?.length === 0) { + return false; + } else { + return true; + } + }; + clearPreviewError = (errorCode: ScriptErrorCodes) => { const { previewResponse: prev } = this.internalState$.getValue(); const error = prev.error === null || prev.error?.code === errorCode ? null : prev.error; @@ -141,6 +203,65 @@ export class PreviewController { }); }; + private setIsFetchingDocument = (isFetchingDocument: boolean) => { + this.updateState({ + isFetchingDocument, + isPreviewAvailable: this.getIsPreviewAvailable({ isFetchingDocument }), + }); + }; + + private setFetchDocError = (fetchDocError: FetchDocError | null) => { + this.updateState({ fetchDocError }); + }; + + setIsLoadingPreview = (isLoadingPreview: boolean) => { + this.updateState({ isLoadingPreview }); + }; + + setInitialPreviewComplete = (initialPreviewComplete: boolean) => { + this.updateState({ initialPreviewComplete }); + }; + + getIsFirstDoc = () => this.internalState$.getValue().currentIdx === 0; + + getIsLastDoc = () => { + const { currentIdx, documents } = this.internalState$.getValue(); + return currentIdx >= documents.length - 1; + }; + + setLastExecutePainlessRequestParams = ( + lastExecutePainlessRequestParams: Partial + ) => { + const state = this.internalState$.getValue(); + const currentDocument = state.documents[state.currentIdx]; + const updated = { + ...this.lastExecutePainlessRequestParams, + ...lastExecutePainlessRequestParams, + }; + + if ( + this.allParamsDefined( + updated.type, + updated.script, + // todo get current doc index + currentDocument?._index + ) && + this.hasSomeParamsChanged( + lastExecutePainlessRequestParams.type!, + lastExecutePainlessRequestParams.script, + lastExecutePainlessRequestParams.documentId + ) + ) { + /** + * In order to immediately display the "Updating..." state indicator and not have to wait + * the 500ms of the debounce, we set the isLoadingPreview state in this effect whenever + * one of the _execute API param changes + */ + this.setIsLoadingPreview(true); + } + this.lastExecutePainlessRequestParams = updated; + }; + valueFormatter = ({ value, format, @@ -167,4 +288,219 @@ export class PreviewController { return defaultValueFormatter(value); }; + + fetchSampleDocuments = async (limit: number = 50) => { + if (typeof limit !== 'number') { + // We guard ourself from passing an event accidentally + throw new Error('The "limit" option must be a number'); + } + + this.setLastExecutePainlessRequestParams({ documentId: undefined }); + this.setIsFetchingDocument(true); + this.setPreviewResponse({ fields: [], error: null }); + + const [response, searchError] = await this.search + .search({ + params: { + index: this.dataView.getIndexPattern(), + body: { + fields: ['*'], + size: limit, + }, + }, + }) + .toPromise() + .then((res) => [res, null]) + .catch((err) => [null, err]); + + this.setIsFetchingDocument(false); + this.setCustomDocIdToLoad(null); + + const error: FetchDocError | null = Boolean(searchError) + ? { + code: 'ERR_FETCHING_DOC', + error: { + message: searchError.toString(), + reason: i18n.translate( + 'indexPatternFieldEditor.fieldPreview.error.errorLoadingSampleDocumentsDescription', + { + defaultMessage: 'Error loading sample documents.', + } + ), + }, + } + : null; + + this.setFetchDocError(error); + + if (error === null) { + this.setDocuments(response ? response.rawResponse.hits.hits : []); + } + }; + + loadDocument = async (id: string) => { + if (!Boolean(id.trim())) { + return; + } + + this.setLastExecutePainlessRequestParams({ documentId: undefined }); + this.setIsFetchingDocument(true); + + const [response, searchError] = await this.search + .search({ + params: { + index: this.dataView.getIndexPattern(), + body: { + size: 1, + fields: ['*'], + query: { + ids: { + values: [id], + }, + }, + }, + }, + }) + .toPromise() + .then((res) => [res, null]) + .catch((err) => [null, err]); + + this.setIsFetchingDocument(false); + + const isDocumentFound = response?.rawResponse.hits.total > 0; + const loadedDocuments: EsDocument[] = isDocumentFound ? response.rawResponse.hits.hits : []; + const error: FetchDocError | null = Boolean(searchError) + ? { + code: 'ERR_FETCHING_DOC', + error: { + message: searchError.toString(), + reason: i18n.translate( + 'indexPatternFieldEditor.fieldPreview.error.errorLoadingDocumentDescription', + { + defaultMessage: 'Error loading document.', + } + ), + }, + } + : isDocumentFound === false + ? { + code: 'DOC_NOT_FOUND', + error: { + message: i18n.translate( + 'indexPatternFieldEditor.fieldPreview.error.documentNotFoundDescription', + { + defaultMessage: 'Document ID not found', + } + ), + }, + } + : null; + + this.setFetchDocError(error); + + if (error === null) { + this.setDocuments(loadedDocuments); + } else { + // Make sure we disable the "Updating..." indicator as we have an error + // and we won't fetch the preview + this.setIsLoadingPreview(false); + } + }; + + debouncedLoadDocument = debounce(this.loadDocument, 500, { leading: true }); + + reset = () => { + this.previewCount = 0; + this.updateState({ + documents: [], + previewResponse: { fields: [], error: null }, + isLoadingPreview: false, + isFetchingDocument: false, + }); + }; + + hasSomeParamsChanged = ( + type: Params['type'], + script: string | undefined, + currentDocId: string | undefined + ) => { + return ( + this.lastExecutePainlessRequestParams.type !== type || + this.lastExecutePainlessRequestParams.script !== script || + this.lastExecutePainlessRequestParams.documentId !== currentDocId + ); + }; + + getPreviewCount = () => this.previewCount; + + incrementPreviewCount = () => ++this.previewCount; + + allParamsDefined = ( + type: Params['type'], + script: string | undefined, + currentDocIndex: string + ) => { + if (!currentDocIndex || !script || !type) { + return false; + } + return true; + }; + + updateSingleFieldPreview = ( + fieldName: string, + values: unknown[], + type: Params['type'], + format: Params['format'] + ) => { + const [value] = values; + const formattedValue = this.valueFormatter({ value, type, format }); + + this.setPreviewResponse({ + fields: [{ key: fieldName, value, formattedValue }], + error: null, + }); + }; + + updateCompositeFieldPreview = ( + compositeValues: Record, + parentName: string | null, + name: string, + fieldName$Value: string, + type: Params['type'], + format: Params['format'], + onNext: (fields: FieldPreview[]) => void + ) => { + const updatedFieldsInScript: string[] = []; + // if we're displaying a composite subfield, filter results + const filterSubfield = parentName ? (field: FieldPreview) => field.key === name : () => true; + + const fields = Object.entries(compositeValues) + .map(([key, values]) => { + // The Painless _execute API returns the composite field values under a map. + // Each of the key is prefixed with "composite_field." (e.g. "composite_field.field1: ['value']") + const { 1: fieldName } = key.split('composite_field.'); + updatedFieldsInScript.push(fieldName); + + const [value] = values; + const formattedValue = this.valueFormatter({ value, type, format }); + + return { + key: parentName + ? `${parentName ?? ''}.${fieldName}` + : `${fieldName$Value ?? ''}.${fieldName}`, + value, + formattedValue, + type: valueTypeToSelectedType(value), + }; + }) + .filter(filterSubfield) + // ...and sort alphabetically + .sort((a, b) => a.key.localeCompare(b.key)); + + onNext(fields); + this.setPreviewResponse({ + fields, + error: null, + }); + }; } diff --git a/src/plugins/data_view_field_editor/public/components/preview/types.ts b/src/plugins/data_view_field_editor/public/components/preview/types.ts index b4280f54786ac..a28a2c8aac2db 100644 --- a/src/plugins/data_view_field_editor/public/components/preview/types.ts +++ b/src/plugins/data_view_field_editor/public/components/preview/types.ts @@ -60,6 +60,14 @@ export interface PreviewState { fields: FieldPreview[]; error: PreviewError | null; }; + isFetchingDocument: boolean; + fetchDocError: FetchDocError | null; + customDocIdToLoad: string | null; + /** Flag to indicate if we are calling the _execute API */ + isLoadingPreview: boolean; + initialPreviewComplete: boolean; + isPreviewAvailable: boolean; + isPanelVisible: boolean; } export interface FetchDocError { @@ -115,27 +123,10 @@ export interface Context { controller: PreviewController; fieldPreview$: BehaviorSubject; fieldTypeInfo?: FieldTypeInfo[]; - initialPreviewComplete: boolean; params: { value: Params; update: (updated: Partial) => void; }; - isPreviewAvailable: boolean; - isLoadingPreview: boolean; - documents: { - loadSingle: (id: string) => void; - loadFromCluster: () => Promise; - fetchDocError: FetchDocError | null; - }; - panel: { - isVisible: boolean; - setIsVisible: (isVisible: boolean) => void; - }; - navigation: { - isFirstDoc: boolean; - isLastDoc: boolean; - }; - reset: () => void; validation: { setScriptEditorValidation: React.Dispatch< React.SetStateAction<{ isValid: boolean; isValidating: boolean; message: string | null }> diff --git a/src/plugins/data_view_field_editor/public/open_editor.tsx b/src/plugins/data_view_field_editor/public/open_editor.tsx index 0a773fc3c897c..a23e281460827 100644 --- a/src/plugins/data_view_field_editor/public/open_editor.tsx +++ b/src/plugins/data_view_field_editor/public/open_editor.tsx @@ -163,6 +163,8 @@ export const getFieldEditorOpener = // Runtime field field = { name: fieldNameToEdit!, + customLabel: dataViewField.customLabel, + popularity: dataViewField.count, format: dataView.getFormatterForFieldNoDefault(fieldNameToEdit!)?.toJSON(), ...dataView.getRuntimeField(fieldNameToEdit!)!, }; diff --git a/src/plugins/data_view_management/public/components/edit_index_pattern/indexed_fields_table/__snapshots__/indexed_fields_table.test.tsx.snap b/src/plugins/data_view_management/public/components/edit_index_pattern/indexed_fields_table/__snapshots__/indexed_fields_table.test.tsx.snap index 843c90d4f617b..cb43403d24a02 100644 --- a/src/plugins/data_view_management/public/components/edit_index_pattern/indexed_fields_table/__snapshots__/indexed_fields_table.test.tsx.snap +++ b/src/plugins/data_view_management/public/components/edit_index_pattern/indexed_fields_table/__snapshots__/indexed_fields_table.test.tsx.snap @@ -73,6 +73,7 @@ exports[`IndexedFieldsTable IndexedFieldsTable with rollup index pattern should "excluded": false, "format": "", "hasRuntime": false, + "id": "Elastic", "info": Array [ "Rollup aggregations:", "terms", @@ -92,6 +93,7 @@ exports[`IndexedFieldsTable IndexedFieldsTable with rollup index pattern should "excluded": false, "format": "", "hasRuntime": false, + "id": "timestamp", "info": Array [ "Rollup aggregations:", "date_histogram (interval: 30s, delay: 30s, UTC)", @@ -111,6 +113,7 @@ exports[`IndexedFieldsTable IndexedFieldsTable with rollup index pattern should "excluded": false, "format": "", "hasRuntime": false, + "id": "conflictingField", "info": Array [], "isMapped": false, "isUserEditable": false, @@ -126,6 +129,7 @@ exports[`IndexedFieldsTable IndexedFieldsTable with rollup index pattern should "excluded": false, "format": "", "hasRuntime": false, + "id": "amount", "info": Array [ "Rollup aggregations:", "histogram (interval: 5)", @@ -149,6 +153,7 @@ exports[`IndexedFieldsTable IndexedFieldsTable with rollup index pattern should "excluded": false, "format": "", "hasRuntime": true, + "id": "runtime", "info": Array [], "isMapped": false, "isUserEditable": false, @@ -191,6 +196,7 @@ exports[`IndexedFieldsTable should filter based on the query bar 1`] = ` "excluded": false, "format": "", "hasRuntime": false, + "id": "Elastic", "info": Array [], "isMapped": false, "isUserEditable": false, @@ -228,6 +234,7 @@ exports[`IndexedFieldsTable should filter based on the schema filter 1`] = ` "excluded": false, "format": "", "hasRuntime": true, + "id": "runtime", "info": Array [], "isMapped": false, "isUserEditable": false, @@ -270,6 +277,7 @@ exports[`IndexedFieldsTable should filter based on the type filter 1`] = ` "excluded": false, "format": "", "hasRuntime": false, + "id": "timestamp", "info": Array [], "isMapped": false, "isUserEditable": false, @@ -306,6 +314,7 @@ exports[`IndexedFieldsTable should render normally 1`] = ` "excluded": false, "format": "", "hasRuntime": false, + "id": "Elastic", "info": Array [], "isMapped": false, "isUserEditable": false, @@ -322,6 +331,7 @@ exports[`IndexedFieldsTable should render normally 1`] = ` "excluded": false, "format": "", "hasRuntime": false, + "id": "timestamp", "info": Array [], "isMapped": false, "isUserEditable": false, @@ -338,6 +348,7 @@ exports[`IndexedFieldsTable should render normally 1`] = ` "excluded": false, "format": "", "hasRuntime": false, + "id": "conflictingField", "info": Array [], "isMapped": false, "isUserEditable": false, @@ -353,6 +364,7 @@ exports[`IndexedFieldsTable should render normally 1`] = ` "excluded": false, "format": "", "hasRuntime": false, + "id": "amount", "info": Array [], "isMapped": false, "isUserEditable": false, @@ -368,6 +380,7 @@ exports[`IndexedFieldsTable should render normally 1`] = ` "excluded": false, "format": "", "hasRuntime": true, + "id": "runtime", "info": Array [], "isMapped": false, "isUserEditable": false, diff --git a/src/plugins/data_view_management/public/components/edit_index_pattern/indexed_fields_table/indexed_fields_table.tsx b/src/plugins/data_view_management/public/components/edit_index_pattern/indexed_fields_table/indexed_fields_table.tsx index 2a06f0c88b54f..85ed5886163c2 100644 --- a/src/plugins/data_view_management/public/components/edit_index_pattern/indexed_fields_table/indexed_fields_table.tsx +++ b/src/plugins/data_view_management/public/components/edit_index_pattern/indexed_fields_table/indexed_fields_table.tsx @@ -76,6 +76,7 @@ export class IndexedFieldsTable extends Component< fields.map((field) => { return { ...field.spec, + id: field.name, type: field.esTypes?.join(', ') || '', kbnType: field.type, displayName: field.displayName, @@ -114,6 +115,7 @@ export class IndexedFieldsTable extends Component< }, }, name, + id: name, type: 'composite', kbnType: '', displayName: name, diff --git a/src/plugins/data_view_management/public/components/index_pattern_table/index_pattern_table.tsx b/src/plugins/data_view_management/public/components/index_pattern_table/index_pattern_table.tsx index d5635ae3ca5d8..f2ab10098e4d6 100644 --- a/src/plugins/data_view_management/public/components/index_pattern_table/index_pattern_table.tsx +++ b/src/plugins/data_view_management/public/components/index_pattern_table/index_pattern_table.tsx @@ -233,9 +233,9 @@ export const IndexPatternTable = ({ )} {dataView?.tags?.map(({ key: tagKey, name: tagName }) => ( - <> -  {tagName} - + +  {tagName} + ))}
    ), diff --git a/src/plugins/data_views/common/content_management/cm_services.ts b/src/plugins/data_views/common/content_management/cm_services.ts new file mode 100644 index 0000000000000..af32d57e0437f --- /dev/null +++ b/src/plugins/data_views/common/content_management/cm_services.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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { + ContentManagementServicesDefinition as ServicesDefinition, + Version, +} from '@kbn/object-versioning'; + +// We export the versionned service definition from this file and not the barrel to avoid adding +// the schemas in the "public" js bundle + +import { serviceDefinition as v1 } from './v1/cm_services'; + +export const cmServicesDefinition: { [version: Version]: ServicesDefinition } = { + 1: v1, +}; diff --git a/src/plugins/data_views/common/content_management/index.ts b/src/plugins/data_views/common/content_management/index.ts new file mode 100644 index 0000000000000..e9c79f0f50f93 --- /dev/null +++ b/src/plugins/data_views/common/content_management/index.ts @@ -0,0 +1,9 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export * from './v1'; diff --git a/src/plugins/data_views/common/content_management/v1/cm_services.ts b/src/plugins/data_views/common/content_management/v1/cm_services.ts new file mode 100644 index 0000000000000..7ff2d135a9d90 --- /dev/null +++ b/src/plugins/data_views/common/content_management/v1/cm_services.ts @@ -0,0 +1,119 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { schema } from '@kbn/config-schema'; +import type { ContentManagementServicesDefinition as ServicesDefinition } from '@kbn/object-versioning'; +import { + savedObjectSchema, + objectTypeToGetResultSchema, + createOptionsSchemas, + updateOptionsSchema, + createResultSchema, + searchOptionsSchemas, +} from '@kbn/content-management-utils'; +import { serializedFieldFormatSchema, fieldSpecSchema } from '../../schemas'; + +const dataViewAttributesSchema = schema.object( + { + title: schema.string(), + type: schema.maybe(schema.literal('rollup')), + timeFieldName: schema.maybe(schema.string()), + sourceFilters: schema.maybe( + schema.arrayOf( + schema.object({ + value: schema.string(), + }) + ) + ), + fields: schema.maybe(schema.arrayOf(fieldSpecSchema)), + typeMeta: schema.maybe(schema.object({}, { unknowns: 'allow' })), + fieldFormatMap: schema.maybe(schema.recordOf(schema.string(), serializedFieldFormatSchema)), + fieldAttrs: schema.maybe( + schema.recordOf( + schema.string(), + schema.object({ + customLabel: schema.maybe(schema.string()), + count: schema.maybe(schema.number()), + }) + ) + ), + allowNoIndex: schema.maybe(schema.boolean()), + runtimeFieldMap: schema.maybe(schema.any()), + name: schema.maybe(schema.string()), + }, + { unknowns: 'forbid' } +); + +const dataViewSavedObjectSchema = savedObjectSchema(dataViewAttributesSchema); + +const dataViewCreateOptionsSchema = schema.object({ + id: createOptionsSchemas.id, + initialNamespaces: createOptionsSchemas.initialNamespaces, +}); + +const dataViewSearchOptionsSchema = schema.object({ + searchFields: searchOptionsSchemas.searchFields, + fields: searchOptionsSchemas.fields, +}); + +const dataViewUpdateOptionsSchema = schema.object({ + version: updateOptionsSchema.version, + refresh: updateOptionsSchema.refresh, + retryOnConflict: updateOptionsSchema.retryOnConflict, +}); + +// Content management service definition. +// We need it for BWC support between different versions of the content +export const serviceDefinition: ServicesDefinition = { + get: { + out: { + result: { + schema: objectTypeToGetResultSchema(dataViewSavedObjectSchema), + }, + }, + }, + create: { + in: { + options: { + schema: dataViewCreateOptionsSchema, + }, + data: { + schema: dataViewAttributesSchema, + }, + }, + out: { + result: { + schema: createResultSchema(dataViewSavedObjectSchema), + }, + }, + }, + update: { + in: { + options: { + schema: dataViewUpdateOptionsSchema, + }, + data: { + schema: dataViewAttributesSchema, + }, + }, + }, + search: { + in: { + options: { + schema: dataViewSearchOptionsSchema, + }, + }, + }, + mSearch: { + out: { + result: { + schema: dataViewSavedObjectSchema, + }, + }, + }, +}; diff --git a/src/plugins/data_views/common/content_management/v1/constants.ts b/src/plugins/data_views/common/content_management/v1/constants.ts new file mode 100644 index 0000000000000..bf6634e90d9c6 --- /dev/null +++ b/src/plugins/data_views/common/content_management/v1/constants.ts @@ -0,0 +1,17 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 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 { DATA_VIEW_SAVED_OBJECT_TYPE as DataViewSOType } from '../..'; +export { DataViewSOType }; + +/** + * Data view saved object version. + */ +export const LATEST_VERSION = 1; + +export type DataViewContentType = typeof DataViewSOType; diff --git a/src/plugins/data_views/common/content_management/v1/index.ts b/src/plugins/data_views/common/content_management/v1/index.ts new file mode 100644 index 0000000000000..668cf91f3e235 --- /dev/null +++ b/src/plugins/data_views/common/content_management/v1/index.ts @@ -0,0 +1,15 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export { LATEST_VERSION } from './constants'; + +export type { DataViewCrudTypes } from './types'; + +export type { DataViewContentType } from './constants'; + +export { DataViewSOType } from './constants'; diff --git a/src/plugins/data_views/common/content_management/v1/types.ts b/src/plugins/data_views/common/content_management/v1/types.ts new file mode 100644 index 0000000000000..1bada30b8dd94 --- /dev/null +++ b/src/plugins/data_views/common/content_management/v1/types.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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { + ContentManagementCrudTypes, + SavedObjectCreateOptions, + SavedObjectSearchOptions, + SavedObjectUpdateOptions, +} from '@kbn/content-management-utils'; +import { DataViewAttributes } from '../../types'; +import { DataViewContentType } from './constants'; + +interface DataViewCreateOptions { + id?: SavedObjectCreateOptions['id']; + initialNamespaces?: SavedObjectCreateOptions['initialNamespaces']; +} + +interface DataViewUpdateOptions { + version?: SavedObjectUpdateOptions['version']; + refresh?: SavedObjectUpdateOptions['refresh']; + retryOnConflict?: SavedObjectUpdateOptions['retryOnConflict']; +} + +interface DataViewSearchOptions { + searchFields?: SavedObjectSearchOptions['searchFields']; + fields?: SavedObjectSearchOptions['fields']; +} + +export type DataViewCrudTypes = ContentManagementCrudTypes< + DataViewContentType, + DataViewAttributes, + DataViewCreateOptions, + DataViewUpdateOptions, + DataViewSearchOptions +>; diff --git a/src/plugins/data_views/common/data_view.stub.ts b/src/plugins/data_views/common/data_view.stub.ts index 40fd3d6da4bd5..0f161f15deeb9 100644 --- a/src/plugins/data_views/common/data_view.stub.ts +++ b/src/plugins/data_views/common/data_view.stub.ts @@ -6,14 +6,12 @@ * Side Public License, v 1. */ -import { SavedObject } from '@kbn/core/types'; import { stubFieldSpecMap, stubLogstashFieldSpecMap } from './field.stub'; import { createStubDataView } from './data_views/data_view.stub'; export { createStubDataView, createStubDataView as createStubIndexPattern, } from './data_views/data_view.stub'; -import { DataViewAttributes } from './types'; export const stubDataView = createStubDataView({ spec: { @@ -43,9 +41,7 @@ export const stubLogstashDataView = createStubDataView({ }, }); -export function stubbedSavedObjectDataView( - id: string | null = null -): SavedObject { +export function stubbedSavedObjectDataView(id: string | null = null) { return { id: id ?? '', type: 'index-pattern', diff --git a/src/plugins/data_views/common/data_views/data_views.test.ts b/src/plugins/data_views/common/data_views/data_views.test.ts index 7714a96b15b9e..fcd21858236f6 100644 --- a/src/plugins/data_views/common/data_views/data_views.test.ts +++ b/src/plugins/data_views/common/data_views/data_views.test.ts @@ -77,7 +77,7 @@ describe('IndexPatterns', () => { savedObjectsClient.find = jest.fn( () => Promise.resolve([indexPatternObj]) as Promise>> ); - savedObjectsClient.delete = jest.fn(() => Promise.resolve({}) as Promise); + savedObjectsClient.delete = jest.fn(() => Promise.resolve() as Promise); savedObjectsClient.create = jest.fn(); savedObjectsClient.get = jest.fn().mockImplementation(async (type, id) => { await new Promise((resolve) => setTimeout(resolve, SOClientGetDelay)); @@ -87,23 +87,21 @@ describe('IndexPatterns', () => { attributes: object.attributes, }; }); - savedObjectsClient.update = jest - .fn() - .mockImplementation(async (type, id, body, { version }) => { - if (object.version !== version) { - throw new Object({ - res: { - status: 409, - }, - }); - } - object.attributes.title = body.title; - object.version += 'a'; - return { - id: object.id, - version: object.version, - }; - }); + savedObjectsClient.update = jest.fn().mockImplementation(async (id, body, { version }) => { + if (object.version !== version) { + throw new Object({ + res: { + status: 409, + }, + }); + } + object.attributes.title = body.title; + object.version += 'a'; + return { + id: object.id, + version: object.version, + }; + }); apiClient = createFieldsFetcher(); @@ -267,7 +265,6 @@ describe('IndexPatterns', () => { test('savedObjectCache pre-fetches title, type, typeMeta', async () => { expect(await indexPatterns.getIds()).toEqual(['id']); expect(savedObjectsClient.find).toHaveBeenCalledWith({ - type: 'index-pattern', fields: ['title', 'type', 'typeMeta', 'name'], perPage: 10000, }); @@ -376,7 +373,6 @@ describe('IndexPatterns', () => { await indexPatterns.find('kibana*', size); expect(savedObjectsClient.find).lastCalledWith({ - type: 'index-pattern', fields: ['title'], search, searchFields: ['title'], @@ -449,13 +445,13 @@ describe('IndexPatterns', () => { dataView.setFieldFormat('field', { id: 'formatId' }); await indexPatterns.updateSavedObject(dataView); let lastCall = (savedObjectsClient.update as jest.Mock).mock.calls.pop() ?? []; - let [, , attrs] = lastCall; + let [, attrs] = lastCall; expect(attrs).toHaveProperty('fieldFormatMap'); expect(attrs.fieldFormatMap).toMatchInlineSnapshot(`"{\\"field\\":{\\"id\\":\\"formatId\\"}}"`); dataView.deleteFieldFormat('field'); await indexPatterns.updateSavedObject(dataView); lastCall = (savedObjectsClient.update as jest.Mock).mock.calls.pop() ?? []; - [, , attrs] = lastCall; + [, attrs] = lastCall; // https://github.com/elastic/kibana/issues/134873: must keep an empty object and not delete it expect(attrs).toHaveProperty('fieldFormatMap'); @@ -554,7 +550,7 @@ describe('IndexPatterns', () => { savedObjectsClient.get = jest .fn() - .mockImplementation((type: string, id: string) => + .mockImplementation((id: string) => Promise.resolve({ id, version: 'a', attributes: { title: 'title' } }) ); @@ -586,7 +582,7 @@ describe('IndexPatterns', () => { savedObjectsClient.get = jest .fn() - .mockImplementation((type: string, id: string) => + .mockImplementation((id: string) => Promise.resolve({ id, version: 'a', attributes: { title: '1' } }) ); diff --git a/src/plugins/data_views/common/data_views/data_views.ts b/src/plugins/data_views/common/data_views/data_views.ts index df1a115b83923..691fa313ac438 100644 --- a/src/plugins/data_views/common/data_views/data_views.ts +++ b/src/plugins/data_views/common/data_views/data_views.ts @@ -10,9 +10,7 @@ import { i18n } from '@kbn/i18n'; import type { PublicMethodsOf } from '@kbn/utility-types'; import { castEsToKbnFieldTypeName } from '@kbn/field-types'; import { FieldFormatsStartCommon, FORMATS_UI_SETTINGS } from '@kbn/field-formats-plugin/common'; -import { SavedObjectNotFound } from '@kbn/kibana-utils-plugin/common'; import { v4 as uuidv4 } from 'uuid'; -import { DATA_VIEW_SAVED_OBJECT_TYPE } from '..'; import { SavedObjectsClientCommon } from '../types'; import { createDataViewCache } from '.'; @@ -31,6 +29,7 @@ import { DataViewFieldMap, TypeMeta, } from '../types'; + import { META_FIELDS, SavedObject } from '..'; import { DataViewMissingIndices } from '../lib'; import { findByName } from '../utils'; @@ -175,7 +174,7 @@ export interface DataViewsServicePublicMethods { * Delete data view * @param indexPatternId - Id of the data view to delete. */ - delete: (indexPatternId: string) => Promise<{}>; + delete: (indexPatternId: string) => Promise; /** * Takes field array and field attributes and returns field map by name. * @param fields - Array of fieldspecs @@ -349,8 +348,7 @@ export class DataViewsService { * Refresh cache of index pattern ids and titles. */ private async refreshSavedObjectsCache() { - const so = await this.savedObjectsClient.find({ - type: DATA_VIEW_SAVED_OBJECT_TYPE, + const so = await this.savedObjectsClient.find({ fields: ['title', 'type', 'typeMeta', 'name'], perPage: 10000, }); @@ -392,8 +390,7 @@ export class DataViewsService { * @returns DataView[] */ find = async (search: string, size: number = 10): Promise => { - const savedObjects = await this.savedObjectsClient.find({ - type: DATA_VIEW_SAVED_OBJECT_TYPE, + const savedObjects = await this.savedObjectsClient.find({ fields: ['title'], search, searchFields: ['title'], @@ -726,14 +723,7 @@ export class DataViewsService { id: string, displayErrors: boolean = true ): Promise => { - const savedObject = await this.savedObjectsClient.get( - DATA_VIEW_SAVED_OBJECT_TYPE, - id - ); - - if (!savedObject.version) { - throw new SavedObjectNotFound('data view', id, 'management/kibana/dataViews'); - } + const savedObject = await this.savedObjectsClient.get(id); return this.initFromSavedObject(savedObject, displayErrors); }; @@ -1006,14 +996,11 @@ export class DataViewsService { } const body = dataView.getAsSavedObjectBody(); - const response: SavedObject = (await this.savedObjectsClient.create( - DATA_VIEW_SAVED_OBJECT_TYPE, - body, - { - id: dataView.id, - initialNamespaces: dataView.namespaces.length > 0 ? dataView.namespaces : undefined, - } - )) as SavedObject; + + const response: SavedObject = (await this.savedObjectsClient.create(body, { + id: dataView.id, + initialNamespaces: dataView.namespaces.length > 0 ? dataView.namespaces : undefined, + })) as SavedObject; const createdIndexPattern = await this.initFromSavedObject(response, displayErrors); if (this.savedObjectsCache) { @@ -1055,7 +1042,7 @@ export class DataViewsService { }); return this.savedObjectsClient - .update(DATA_VIEW_SAVED_OBJECT_TYPE, indexPattern.id, body, { + .update(indexPattern.id, body, { version: indexPattern.version, }) .then((response) => { @@ -1136,7 +1123,7 @@ export class DataViewsService { throw new DataViewInsufficientAccessError(indexPatternId); } this.dataViewCache.clear(indexPatternId); - return this.savedObjectsClient.delete(DATA_VIEW_SAVED_OBJECT_TYPE, indexPatternId); + return this.savedObjectsClient.delete(indexPatternId); } /** diff --git a/src/plugins/data_views/common/index.ts b/src/plugins/data_views/common/index.ts index a26895f6f9d78..de167a17c0eca 100644 --- a/src/plugins/data_views/common/index.ts +++ b/src/plugins/data_views/common/index.ts @@ -13,6 +13,8 @@ export { DATA_VIEW_SAVED_OBJECT_TYPE, } from './constants'; +export { LATEST_VERSION } from './content_management/v1/constants'; + export type { ToSpecConfig } from './fields'; export type { IIndexPatternFieldList } from './fields'; export { diff --git a/src/plugins/data_views/server/rest_api_routes/util/schemas.ts b/src/plugins/data_views/common/schemas.ts similarity index 95% rename from src/plugins/data_views/server/rest_api_routes/util/schemas.ts rename to src/plugins/data_views/common/schemas.ts index e31a4314c76f3..7af8a32ea8a87 100644 --- a/src/plugins/data_views/server/rest_api_routes/util/schemas.ts +++ b/src/plugins/data_views/common/schemas.ts @@ -7,7 +7,7 @@ */ import { schema, Type } from '@kbn/config-schema'; -import { /* RUNTIME_FIELD_TYPES,*/ RuntimeType } from '../../../common'; +import { RuntimeType } from '.'; export const serializedFieldFormatSchema = schema.object({ id: schema.maybe(schema.string()), @@ -16,11 +16,11 @@ export const serializedFieldFormatSchema = schema.object({ export const fieldSpecSchemaFields = { name: schema.string({ - maxLength: 1_000, + maxLength: 1000, }), type: schema.string({ defaultValue: 'string', - maxLength: 1_000, + maxLength: 1000, }), count: schema.maybe( schema.number({ @@ -29,7 +29,7 @@ export const fieldSpecSchemaFields = { ), script: schema.maybe( schema.string({ - maxLength: 1_000_000, + maxLength: 1000000, }) ), format: schema.maybe(serializedFieldFormatSchema), diff --git a/src/plugins/data_views/common/types.ts b/src/plugins/data_views/common/types.ts index d44f8fd34df47..91943b7d87790 100644 --- a/src/plugins/data_views/common/types.ts +++ b/src/plugins/data_views/common/types.ts @@ -7,11 +7,7 @@ */ import type { QueryDslQueryContainer } from '@elastic/elasticsearch/lib/api/types'; -import type { - SavedObject, - SavedObjectsCreateOptions, - SavedObjectsUpdateOptions, -} from '@kbn/core/public'; +import type { SavedObject } from '@kbn/core/server'; import type { ErrorToastOptions, ToastInputFields } from '@kbn/core-notifications-browser'; import type { DataViewFieldBase } from '@kbn/es-query'; import type { SerializedFieldFormat } from '@kbn/field-formats-plugin/common'; @@ -119,7 +115,7 @@ export interface DataViewAttributes { /** * Fields as a serialized array of field specs */ - fields: string; + fields?: string; /** * Data view title */ @@ -236,10 +232,6 @@ export interface UiSettingsCommon { * @public */ export interface SavedObjectsClientCommonFindArgs { - /** - * Saved object type - */ - type: string | string[]; /** * Saved object fields */ @@ -267,13 +259,23 @@ export interface SavedObjectsClientCommon { * Search for saved objects * @param options - options for search */ - find: (options: SavedObjectsClientCommonFindArgs) => Promise>>; + find: ( + options: SavedObjectsClientCommonFindArgs + ) => Promise>>; /** * Get a single saved object by id * @param type - type of saved object * @param id - id of saved object */ - get: (type: string, id: string) => Promise>; + get: (id: string) => Promise>; + /** + * Update a saved object by id + * @param type - type of saved object + * @param id - id of saved object + * @param attributes - attributes to update + * @param options - client options + */ + getSavedSearch: (id: string) => Promise; /** * Update a saved object by id * @param type - type of saved object @@ -282,28 +284,26 @@ export interface SavedObjectsClientCommon { * @param options - client options */ update: ( - type: string, id: string, attributes: DataViewAttributes, - options: SavedObjectsUpdateOptions + options: { version?: string } ) => Promise; /** * Create a saved object - * @param type - type of saved object * @param attributes - attributes to set * @param options - client options */ create: ( - type: string, attributes: DataViewAttributes, - options: SavedObjectsCreateOptions & { initialNamespaces?: string[] } + // SavedObjectsCreateOptions + options: { id?: string; initialNamespaces?: string[] } ) => Promise; /** * Delete a saved object by id * @param type - type of saved object * @param id - id of saved object */ - delete: (type: string, id: string) => Promise<{}>; + delete: (id: string) => Promise; } export interface GetFieldsOptions { diff --git a/src/plugins/data_views/common/utils.ts b/src/plugins/data_views/common/utils.ts index 9b86dfefc2631..05822ed363e9f 100644 --- a/src/plugins/data_views/common/utils.ts +++ b/src/plugins/data_views/common/utils.ts @@ -6,11 +6,8 @@ * Side Public License, v 1. */ -import type { DataViewSavedObjectAttrs } from './data_views'; import type { SavedObjectsClientCommon } from './types'; -import { DATA_VIEW_SAVED_OBJECT_TYPE } from './constants'; - /** * Returns an object matching a given name * @@ -20,8 +17,7 @@ import { DATA_VIEW_SAVED_OBJECT_TYPE } from './constants'; */ export async function findByName(client: SavedObjectsClientCommon, name: string) { if (name) { - const savedObjects = await client.find<{ name: DataViewSavedObjectAttrs['name'] }>({ - type: DATA_VIEW_SAVED_OBJECT_TYPE, + const savedObjects = await client.find({ perPage: 10, search: `"${name}"`, searchFields: ['name.keyword'], diff --git a/src/plugins/data_views/kibana.jsonc b/src/plugins/data_views/kibana.jsonc index 786f01ec226c6..7595f8e68b3c4 100644 --- a/src/plugins/data_views/kibana.jsonc +++ b/src/plugins/data_views/kibana.jsonc @@ -9,7 +9,8 @@ "browser": true, "requiredPlugins": [ "fieldFormats", - "expressions" + "expressions", + "contentManagement" ], "optionalPlugins": [ "usageCollection" diff --git a/src/plugins/data_views/public/plugin.ts b/src/plugins/data_views/public/plugin.ts index 415a6c97bc73a..929512d70d926 100644 --- a/src/plugins/data_views/public/plugin.ts +++ b/src/plugins/data_views/public/plugin.ts @@ -7,6 +7,7 @@ */ import { CoreSetup, CoreStart, Plugin } from '@kbn/core/public'; +import { i18n } from '@kbn/i18n'; import { getIndexPatternLoad } from './expressions'; import { DataViewsPublicPluginSetup, @@ -25,6 +26,9 @@ import { getIndices, HasData } from './services'; import { debounceByKey } from './debounce_by_key'; +import { DATA_VIEW_SAVED_OBJECT_TYPE } from '../common/constants'; +import { LATEST_VERSION } from '../common/content_management/v1/constants'; + export class DataViewsPublicPlugin implements Plugin< @@ -38,18 +42,28 @@ export class DataViewsPublicPlugin public setup( core: CoreSetup, - { expressions }: DataViewsPublicSetupDependencies + { expressions, contentManagement }: DataViewsPublicSetupDependencies ): DataViewsPublicPluginSetup { expressions.registerFunction(getIndexPatternLoad({ getStartServices: core.getStartServices })); + contentManagement.registry.register({ + id: DATA_VIEW_SAVED_OBJECT_TYPE, + version: { + latest: LATEST_VERSION, + }, + name: i18n.translate('dataViews.contentManagementType', { + defaultMessage: 'Data view', + }), + }); + return {}; } public start( core: CoreStart, - { fieldFormats }: DataViewsPublicStartDependencies + { fieldFormats, contentManagement }: DataViewsPublicStartDependencies ): DataViewsPublicPluginStart { - const { uiSettings, http, notifications, savedObjects, application } = core; + const { uiSettings, http, notifications, application, savedObjects } = core; const onNotifDebounced = debounceByKey( notifications.toasts.add.bind(notifications.toasts), @@ -63,7 +77,10 @@ export class DataViewsPublicPlugin return new DataViewsServicePublic({ hasData: this.hasData.start(core), uiSettings: new UiSettingsPublicToCommon(uiSettings), - savedObjectsClient: new SavedObjectsClientPublicToCommon(savedObjects.client), + savedObjectsClient: new SavedObjectsClientPublicToCommon( + contentManagement.client, + savedObjects.client + ), apiClient: new DataViewsApiClient(http), fieldFormats, onNotification: (toastInputFields, key) => { diff --git a/src/plugins/data_views/public/saved_objects_client_wrapper.test.ts b/src/plugins/data_views/public/saved_objects_client_wrapper.test.ts index faf497c60ba31..898d22b7d3637 100644 --- a/src/plugins/data_views/public/saved_objects_client_wrapper.test.ts +++ b/src/plugins/data_views/public/saved_objects_client_wrapper.test.ts @@ -7,22 +7,23 @@ */ import { SavedObjectsClientPublicToCommon } from './saved_objects_client_wrapper'; +import { ContentClient } from '@kbn/content-management-plugin/public'; import { savedObjectsServiceMock } from '@kbn/core/public/mocks'; - import { DataViewSavedObjectConflictError } from '../common'; describe('SavedObjectsClientPublicToCommon', () => { const soClient = savedObjectsServiceMock.createStartContract().client; + const cmClient = {} as ContentClient; test('get saved object - exactMatch', async () => { const mockedSavedObject = { version: 'abc', }; - soClient.resolve = jest + cmClient.get = jest .fn() - .mockResolvedValue({ outcome: 'exactMatch', saved_object: mockedSavedObject }); - const service = new SavedObjectsClientPublicToCommon(soClient); - const result = await service.get('index-pattern', '1'); + .mockResolvedValue({ meta: { outcome: 'exactMatch' }, item: mockedSavedObject }); + const service = new SavedObjectsClientPublicToCommon(cmClient, soClient); + const result = await service.get('1'); expect(result).toStrictEqual(mockedSavedObject); }); @@ -30,11 +31,11 @@ describe('SavedObjectsClientPublicToCommon', () => { const mockedSavedObject = { version: 'def', }; - soClient.resolve = jest + cmClient.get = jest .fn() - .mockResolvedValue({ outcome: 'aliasMatch', saved_object: mockedSavedObject }); - const service = new SavedObjectsClientPublicToCommon(soClient); - const result = await service.get('index-pattern', '1'); + .mockResolvedValue({ meta: { outcome: 'aliasMatch' }, item: mockedSavedObject }); + const service = new SavedObjectsClientPublicToCommon(cmClient, soClient); + const result = await service.get('1'); expect(result).toStrictEqual(mockedSavedObject); }); @@ -43,13 +44,11 @@ describe('SavedObjectsClientPublicToCommon', () => { version: 'ghi', }; - soClient.resolve = jest + cmClient.get = jest .fn() - .mockResolvedValue({ outcome: 'conflict', saved_object: mockedSavedObject }); - const service = new SavedObjectsClientPublicToCommon(soClient); + .mockResolvedValue({ meta: { outcome: 'conflict' }, item: mockedSavedObject }); + const service = new SavedObjectsClientPublicToCommon(cmClient, soClient); - await expect(service.get('index-pattern', '1')).rejects.toThrow( - DataViewSavedObjectConflictError - ); + await expect(service.get('1')).rejects.toThrow(DataViewSavedObjectConflictError); }); }); diff --git a/src/plugins/data_views/public/saved_objects_client_wrapper.ts b/src/plugins/data_views/public/saved_objects_client_wrapper.ts index e8d008e130323..2e22ef889b1ac 100644 --- a/src/plugins/data_views/public/saved_objects_client_wrapper.ts +++ b/src/plugins/data_views/public/saved_objects_client_wrapper.ts @@ -6,13 +6,9 @@ * Side Public License, v 1. */ -import { - SavedObjectsClientContract, - SavedObjectsCreateOptions, - SavedObjectsUpdateOptions, - SimpleSavedObject, -} from '@kbn/core/public'; -import { omit } from 'lodash'; +import type { ContentClient } from '@kbn/content-management-plugin/public'; +import { SavedObjectNotFound } from '@kbn/kibana-utils-plugin/common'; +import type { SavedObjectsClientContract } from '@kbn/core/public'; import { DataViewSavedObjectConflictError } from '../common/errors'; import { DataViewAttributes, @@ -21,53 +17,113 @@ import { SavedObjectsClientCommonFindArgs, } from '../common/types'; -type SOClient = Pick< - SavedObjectsClientContract, - 'find' | 'resolve' | 'update' | 'create' | 'delete' ->; +import type { DataViewCrudTypes } from '../common/content_management'; + +import { DataViewSOType } from '../common/content_management'; -const simpleSavedObjectToSavedObject = (simpleSavedObject: SimpleSavedObject): SavedObject => - ({ - version: simpleSavedObject._version, - ...omit(simpleSavedObject, '_version'), - } as SavedObject); +type SOClient = Pick; export class SavedObjectsClientPublicToCommon implements SavedObjectsClientCommon { + private contentManagementClient: ContentClient; private savedObjectClient: SOClient; - constructor(savedObjectClient: SOClient) { + constructor(contentManagementClient: ContentClient, savedObjectClient: SOClient) { + this.contentManagementClient = contentManagementClient; this.savedObjectClient = savedObjectClient; } - async find(options: SavedObjectsClientCommonFindArgs) { - const response = (await this.savedObjectClient.find(options)).savedObjects; - return response.map>(simpleSavedObjectToSavedObject); + async find(options: SavedObjectsClientCommonFindArgs) { + const results = await this.contentManagementClient.search< + DataViewCrudTypes['SearchIn'], + DataViewCrudTypes['SearchOut'] + >({ + contentTypeId: DataViewSOType, + query: { + text: options.search, + limit: options.perPage, + }, + options: { + searchFields: options.searchFields, + fields: options.fields, + }, + }); + return results.hits; + } + + async get(id: string) { + let response: DataViewCrudTypes['GetOut']; + try { + response = await this.contentManagementClient.get< + DataViewCrudTypes['GetIn'], + DataViewCrudTypes['GetOut'] + >({ + contentTypeId: DataViewSOType, + id, + }); + } catch (e) { + if (e.body?.statusCode === 404) { + throw new SavedObjectNotFound('data view', id, 'management/kibana/dataViews'); + } else { + throw e; + } + } + + if (response.meta.outcome === 'conflict') { + throw new DataViewSavedObjectConflictError(id); + } + + return response.item; } - async get(type: string, id: string) { - const response = await this.savedObjectClient.resolve(type, id); + async getSavedSearch(id: string) { + const response = await this.savedObjectClient.resolve('search', id); + if (response.outcome === 'conflict') { throw new DataViewSavedObjectConflictError(id); } - return simpleSavedObjectToSavedObject(response.saved_object); + return response.saved_object; } async update( - type: string, id: string, attributes: DataViewAttributes, - options: SavedObjectsUpdateOptions + options: DataViewCrudTypes['UpdateOptions'] ) { - const response = await this.savedObjectClient.update(type, id, attributes, options); - return simpleSavedObjectToSavedObject(response); + const response = await this.contentManagementClient.update< + DataViewCrudTypes['UpdateIn'], + DataViewCrudTypes['UpdateOut'] + >({ + contentTypeId: DataViewSOType, + id, + data: attributes, + options, + }); + + // cast is necessary since its the full object and not just the changes + return response.item as SavedObject; } - async create(type: string, attributes: DataViewAttributes, options?: SavedObjectsCreateOptions) { - const response = await this.savedObjectClient.create(type, attributes, options); - return simpleSavedObjectToSavedObject(response); + async create(attributes: DataViewAttributes, options: DataViewCrudTypes['CreateOptions']) { + const result = await this.contentManagementClient.create< + DataViewCrudTypes['CreateIn'], + DataViewCrudTypes['CreateOut'] + >({ + contentTypeId: DataViewSOType, + data: attributes, + options, + }); + + return result.item; } - delete(type: string, id: string) { - return this.savedObjectClient.delete(type, id, { force: true }); + async delete(id: string) { + await this.contentManagementClient.delete< + DataViewCrudTypes['DeleteIn'], + DataViewCrudTypes['DeleteOut'] + >({ + contentTypeId: DataViewSOType, + id, + options: { force: true }, + }); } } diff --git a/src/plugins/data_views/public/services/has_data.ts b/src/plugins/data_views/public/services/has_data.ts index 64a561620c82e..0586a08bc046c 100644 --- a/src/plugins/data_views/public/services/has_data.ts +++ b/src/plugins/data_views/public/services/has_data.ts @@ -82,6 +82,7 @@ export class HasData { }): Promise => http .post(`/internal/search/ese`, { + version: '1', body: JSON.stringify({ params: { ignore_unavailable: true, diff --git a/src/plugins/data_views/public/types.ts b/src/plugins/data_views/public/types.ts index 637d4191c671e..c30aebe9243e0 100644 --- a/src/plugins/data_views/public/types.ts +++ b/src/plugins/data_views/public/types.ts @@ -8,6 +8,10 @@ import { ExpressionsSetup } from '@kbn/expressions-plugin/public'; import { FieldFormatsSetup, FieldFormatsStart } from '@kbn/field-formats-plugin/public'; +import type { + ContentManagementPublicSetup, + ContentManagementPublicStart, +} from '@kbn/content-management-plugin/public'; import { DataViewsServicePublicMethods } from './data_views'; import { HasDataService } from '../common'; @@ -82,6 +86,10 @@ export interface DataViewsPublicSetupDependencies { * Field formats */ fieldFormats: FieldFormatsSetup; + /** + * Content management + */ + contentManagement: ContentManagementPublicSetup; } /** @@ -92,6 +100,10 @@ export interface DataViewsPublicStartDependencies { * Field formats */ fieldFormats: FieldFormatsStart; + /** + * Content management + */ + contentManagement: ContentManagementPublicStart; } /** diff --git a/src/plugins/data_views/server/content_management/data_views_storage.ts b/src/plugins/data_views/server/content_management/data_views_storage.ts new file mode 100644 index 0000000000000..c42a83f58e084 --- /dev/null +++ b/src/plugins/data_views/server/content_management/data_views_storage.ts @@ -0,0 +1,36 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { SOContentStorage } from '@kbn/content-management-utils'; + +import type { DataViewCrudTypes } from '../../common/content_management'; +import { DataViewSOType } from '../../common/content_management'; +import { cmServicesDefinition } from '../../common/content_management/cm_services'; + +export class DataViewsStorage extends SOContentStorage { + constructor() { + super({ + savedObjectType: DataViewSOType, + cmServicesDefinition, + enableMSearch: true, + allowedSavedObjectAttributes: [ + 'fields', + 'title', + 'type', + 'typeMeta', + 'timeFieldName', + 'sourceFilters', + 'fieldFormatMap', + 'fieldAttrs', + 'runtimeFieldMap', + 'allowNoIndex', + 'name', + ], + }); + } +} diff --git a/src/plugins/data_views/server/content_management/index.ts b/src/plugins/data_views/server/content_management/index.ts new file mode 100644 index 0000000000000..34b30c3a2f37d --- /dev/null +++ b/src/plugins/data_views/server/content_management/index.ts @@ -0,0 +1,9 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export { DataViewsStorage } from './data_views_storage'; diff --git a/src/plugins/data_views/server/fetcher/lib/field_capabilities/field_caps_response.ts b/src/plugins/data_views/server/fetcher/lib/field_capabilities/field_caps_response.ts index e21443546bad3..0cf2e460d35f5 100644 --- a/src/plugins/data_views/server/fetcher/lib/field_capabilities/field_caps_response.ts +++ b/src/plugins/data_views/server/fetcher/lib/field_capabilities/field_caps_response.ts @@ -110,13 +110,10 @@ export function readFieldCapsResponse( searchable: isSearchable, aggregatable: isAggregatable, readFromDocValues: false, - conflictDescriptions: types.reduce( - (acc, esType) => ({ - ...acc, - [esType]: capsByType[esType].indices, - }), - {} - ), + conflictDescriptions: types.reduce((acc, esType) => { + acc[esType] = capsByType[esType].indices; + return acc; + }, {} as Record), metadata_field: capsByType[types[0]].metadata_field, }; // This is intentionally using a "hash" and a "push" to be highly optimized with very large indexes diff --git a/src/plugins/data_views/server/plugin.ts b/src/plugins/data_views/server/plugin.ts index 9727495553fe0..fab72338bdb33 100644 --- a/src/plugins/data_views/server/plugin.ts +++ b/src/plugins/data_views/server/plugin.ts @@ -14,12 +14,14 @@ import { capabilitiesProvider } from './capabilities_provider'; import { getIndexPatternLoad } from './expressions'; import { registerIndexPatternsUsageCollector } from './register_index_pattern_usage_collection'; import { createScriptedFieldsDeprecationsConfig } from './deprecations'; +import { DATA_VIEW_SAVED_OBJECT_TYPE, LATEST_VERSION } from '../common'; import { DataViewsServerPluginSetup, DataViewsServerPluginStart, DataViewsServerPluginSetupDependencies, DataViewsServerPluginStartDependencies, } from './types'; +import { DataViewsStorage } from './content_management'; export class DataViewsServerPlugin implements @@ -38,7 +40,7 @@ export class DataViewsServerPlugin public setup( core: CoreSetup, - { expressions, usageCollection }: DataViewsServerPluginSetupDependencies + { expressions, usageCollection, contentManagement }: DataViewsServerPluginSetupDependencies ) { core.savedObjects.registerType(dataViewSavedObjectType); core.capabilities.registerProvider(capabilitiesProvider); @@ -50,6 +52,14 @@ export class DataViewsServerPlugin registerIndexPatternsUsageCollector(core.getStartServices, usageCollection); core.deprecations.registerDeprecations(createScriptedFieldsDeprecationsConfig(core)); + contentManagement.register({ + id: DATA_VIEW_SAVED_OBJECT_TYPE, + storage: new DataViewsStorage(), + version: { + latest: LATEST_VERSION, + }, + }); + return {}; } diff --git a/src/plugins/data_views/server/rest_api_routes/create_data_view.ts b/src/plugins/data_views/server/rest_api_routes/create_data_view.ts index 58bc36ed1c869..fea732cbe10ca 100644 --- a/src/plugins/data_views/server/rest_api_routes/create_data_view.ts +++ b/src/plugins/data_views/server/rest_api_routes/create_data_view.ts @@ -12,7 +12,11 @@ import { IRouter, StartServicesAccessor } from '@kbn/core/server'; import { DataViewSpec } from '../../common/types'; import { DataViewsService } from '../../common/data_views'; import { handleErrors } from './util/handle_errors'; -import { fieldSpecSchema, runtimeFieldSchema, serializedFieldFormatSchema } from './util/schemas'; +import { + fieldSpecSchema, + runtimeFieldSchema, + serializedFieldFormatSchema, +} from '../../common/schemas'; import type { DataViewsServerPluginStartDependencies, DataViewsServerPluginStart } from '../types'; import { DATA_VIEW_PATH, diff --git a/src/plugins/data_views/server/rest_api_routes/fields/update_fields.ts b/src/plugins/data_views/server/rest_api_routes/fields/update_fields.ts index 1695f28675188..3de9bcbdc7d1d 100644 --- a/src/plugins/data_views/server/rest_api_routes/fields/update_fields.ts +++ b/src/plugins/data_views/server/rest_api_routes/fields/update_fields.ts @@ -12,7 +12,7 @@ import { IRouter, StartServicesAccessor } from '@kbn/core/server'; import { SerializedFieldFormat } from '@kbn/field-formats-plugin/common'; import { DataViewsService } from '../../../common'; import { handleErrors } from '../util/handle_errors'; -import { serializedFieldFormatSchema } from '../util/schemas'; +import { serializedFieldFormatSchema } from '../../../common/schemas'; import type { DataViewsServerPluginStartDependencies, DataViewsServerPluginStart, diff --git a/src/plugins/data_views/server/rest_api_routes/runtime_fields/create_runtime_field.ts b/src/plugins/data_views/server/rest_api_routes/runtime_fields/create_runtime_field.ts index da3928c874930..0a31a651169fb 100644 --- a/src/plugins/data_views/server/rest_api_routes/runtime_fields/create_runtime_field.ts +++ b/src/plugins/data_views/server/rest_api_routes/runtime_fields/create_runtime_field.ts @@ -12,7 +12,7 @@ import { IRouter, StartServicesAccessor } from '@kbn/core/server'; import { DataViewsService } from '../../../common/data_views'; import { RuntimeField } from '../../../common/types'; import { handleErrors } from '../util/handle_errors'; -import { runtimeFieldSchema } from '../util/schemas'; +import { runtimeFieldSchema } from '../../../common/schemas'; import type { DataViewsServerPluginStart, DataViewsServerPluginStartDependencies, diff --git a/src/plugins/data_views/server/rest_api_routes/runtime_fields/put_runtime_field.ts b/src/plugins/data_views/server/rest_api_routes/runtime_fields/put_runtime_field.ts index 98378da328410..b8bac2be60bb8 100644 --- a/src/plugins/data_views/server/rest_api_routes/runtime_fields/put_runtime_field.ts +++ b/src/plugins/data_views/server/rest_api_routes/runtime_fields/put_runtime_field.ts @@ -12,7 +12,7 @@ import { IRouter, StartServicesAccessor } from '@kbn/core/server'; import { DataViewsService } from '../../../common/data_views'; import { RuntimeField } from '../../../common/types'; import { handleErrors } from '../util/handle_errors'; -import { runtimeFieldSchema } from '../util/schemas'; +import { runtimeFieldSchema } from '../../../common/schemas'; import type { DataViewsServerPluginStart, DataViewsServerPluginStartDependencies, diff --git a/src/plugins/data_views/server/rest_api_routes/runtime_fields/update_runtime_field.ts b/src/plugins/data_views/server/rest_api_routes/runtime_fields/update_runtime_field.ts index 880b4bc59b601..624953c40bd09 100644 --- a/src/plugins/data_views/server/rest_api_routes/runtime_fields/update_runtime_field.ts +++ b/src/plugins/data_views/server/rest_api_routes/runtime_fields/update_runtime_field.ts @@ -13,7 +13,7 @@ import { DataViewsService } from '../../../common/data_views'; import { RuntimeField } from '../../../common/types'; import { ErrorIndexPatternFieldNotFound } from '../../error'; import { handleErrors } from '../util/handle_errors'; -import { runtimeFieldSchema } from '../util/schemas'; +import { runtimeFieldSchema } from '../../../common/schemas'; import type { DataViewsServerPluginStart, DataViewsServerPluginStartDependencies, diff --git a/src/plugins/data_views/server/rest_api_routes/scripted_fields/create_scripted_field.ts b/src/plugins/data_views/server/rest_api_routes/scripted_fields/create_scripted_field.ts index a4a38c056d825..7d1ea07377a67 100644 --- a/src/plugins/data_views/server/rest_api_routes/scripted_fields/create_scripted_field.ts +++ b/src/plugins/data_views/server/rest_api_routes/scripted_fields/create_scripted_field.ts @@ -9,7 +9,7 @@ import { schema } from '@kbn/config-schema'; import { IRouter, StartServicesAccessor } from '@kbn/core/server'; import { handleErrors } from '../util/handle_errors'; -import { fieldSpecSchema } from '../util/schemas'; +import { fieldSpecSchema } from '../../../common/schemas'; import type { DataViewsServerPluginStart, DataViewsServerPluginStartDependencies, diff --git a/src/plugins/data_views/server/rest_api_routes/scripted_fields/put_scripted_field.ts b/src/plugins/data_views/server/rest_api_routes/scripted_fields/put_scripted_field.ts index e42c364fac8f0..ee0d4f726a789 100644 --- a/src/plugins/data_views/server/rest_api_routes/scripted_fields/put_scripted_field.ts +++ b/src/plugins/data_views/server/rest_api_routes/scripted_fields/put_scripted_field.ts @@ -9,7 +9,7 @@ import { schema } from '@kbn/config-schema'; import { IRouter, StartServicesAccessor } from '@kbn/core/server'; import { handleErrors } from '../util/handle_errors'; -import { fieldSpecSchema } from '../util/schemas'; +import { fieldSpecSchema } from '../../../common/schemas'; import type { DataViewsServerPluginStart, DataViewsServerPluginStartDependencies, diff --git a/src/plugins/data_views/server/rest_api_routes/scripted_fields/update_scripted_field.ts b/src/plugins/data_views/server/rest_api_routes/scripted_fields/update_scripted_field.ts index 642761a61b7cb..617c197ebdb47 100644 --- a/src/plugins/data_views/server/rest_api_routes/scripted_fields/update_scripted_field.ts +++ b/src/plugins/data_views/server/rest_api_routes/scripted_fields/update_scripted_field.ts @@ -11,7 +11,7 @@ import { IRouter, StartServicesAccessor } from '@kbn/core/server'; import { FieldSpec } from '../../../common'; import { ErrorIndexPatternFieldNotFound } from '../../error'; import { handleErrors } from '../util/handle_errors'; -import { fieldSpecSchemaFields } from '../util/schemas'; +import { fieldSpecSchemaFields } from '../../../common/schemas'; import type { DataViewsServerPluginStart, DataViewsServerPluginStartDependencies, diff --git a/src/plugins/data_views/server/rest_api_routes/update_data_view.ts b/src/plugins/data_views/server/rest_api_routes/update_data_view.ts index 1ac504ac652b8..fb4faf79a2d4c 100644 --- a/src/plugins/data_views/server/rest_api_routes/update_data_view.ts +++ b/src/plugins/data_views/server/rest_api_routes/update_data_view.ts @@ -12,7 +12,11 @@ import { IRouter, StartServicesAccessor } from '@kbn/core/server'; import { DataViewsService, DataView } from '../../common/data_views'; import { DataViewSpec } from '../../common/types'; import { handleErrors } from './util/handle_errors'; -import { fieldSpecSchema, runtimeFieldSchema, serializedFieldFormatSchema } from './util/schemas'; +import { + fieldSpecSchema, + runtimeFieldSchema, + serializedFieldFormatSchema, +} from '../../common/schemas'; import type { DataViewsServerPluginStartDependencies, DataViewsServerPluginStart } from '../types'; import { SPECIFIC_DATA_VIEW_PATH, diff --git a/src/plugins/data_views/server/rest_api_routes/util/handle_errors.ts b/src/plugins/data_views/server/rest_api_routes/util/handle_errors.ts index a01890c34a43d..1d20752c06f88 100644 --- a/src/plugins/data_views/server/rest_api_routes/util/handle_errors.ts +++ b/src/plugins/data_views/server/rest_api_routes/util/handle_errors.ts @@ -8,6 +8,7 @@ import Boom from '@hapi/boom'; import type { RequestHandler, RouteMethod, RequestHandlerContext } from '@kbn/core/server'; +import { SavedObjectNotFound } from '@kbn/kibana-utils-plugin/common'; import { ErrorIndexPatternNotFound } from '../../error'; interface ErrorResponseBody { @@ -49,7 +50,8 @@ export const handleErrors = const is404 = (error as ErrorIndexPatternNotFound).is404 || - (error as Boom.Boom)?.output?.statusCode === 404; + (error as Boom.Boom)?.output?.statusCode === 404 || + error instanceof SavedObjectNotFound; if (is404) { return response.notFound({ diff --git a/src/plugins/data_views/server/routes/fields_for.test.ts b/src/plugins/data_views/server/routes/fields_for.test.ts index 57d1465f8a9ee..91d30ff629969 100644 --- a/src/plugins/data_views/server/routes/fields_for.test.ts +++ b/src/plugins/data_views/server/routes/fields_for.test.ts @@ -6,20 +6,20 @@ * Side Public License, v 1. */ -import { parseMetaFields } from './fields_for'; +import { parseFields } from './fields_for'; describe('_fields_for_wildcard', () => { describe('parseMetaFields', () => { it('should throw if receiving a string of comma-separated values', () => { const value = '_source,_id'; - expect(() => parseMetaFields(value)).toThrowErrorMatchingInlineSnapshot( + expect(() => parseFields(value)).toThrowErrorMatchingInlineSnapshot( `"metaFields should be an array of field names, a JSON-stringified array of field names, or a single field name"` ); }); it('should parse a stringified list of values', () => { const value = JSON.stringify(['_source', '_id']); - const fields = parseMetaFields(value); + const fields = parseFields(value); expect(fields).toMatchInlineSnapshot(` Array [ "_source", @@ -30,7 +30,7 @@ describe('_fields_for_wildcard', () => { it('should wrap a single value in an array', () => { const value = '_source'; - const fields = parseMetaFields(value); + const fields = parseFields(value); expect(fields).toMatchInlineSnapshot(` Array [ "_source", @@ -40,7 +40,7 @@ describe('_fields_for_wildcard', () => { it('should return the array if already an array', () => { const value = ['_source', '_id']; - const fields = parseMetaFields(value); + const fields = parseFields(value); expect(fields).toMatchInlineSnapshot(` Array [ "_source", diff --git a/src/plugins/data_views/server/routes/fields_for.ts b/src/plugins/data_views/server/routes/fields_for.ts index 8719fd5ce7549..2d12eb53930b0 100644 --- a/src/plugins/data_views/server/routes/fields_for.ts +++ b/src/plugins/data_views/server/routes/fields_for.ts @@ -23,14 +23,14 @@ import type { DataViewsServerPluginStart, DataViewsServerPluginStartDependencies * 2. A JSON-stringified array of field names * 3. A single field name (not comma-separated) * @returns an array of field names - * @param metaFields + * @param fields */ -export const parseMetaFields = (metaFields: string | string[]): string[] => { - if (Array.isArray(metaFields)) return metaFields; +export const parseFields = (fields: string | string[]): string[] => { + if (Array.isArray(fields)) return fields; try { - return JSON.parse(metaFields); + return JSON.parse(fields); } catch (e) { - if (!metaFields.includes(',')) return [metaFields]; + if (!fields.includes(',')) return [fields]; throw new Error( 'metaFields should be an array of field names, a JSON-stringified array of field names, or a single field name' ); @@ -60,7 +60,7 @@ const validate: RouteValidatorFullConfig<{}, IQuery, IBody> = { rollup_index: schema.maybe(schema.string()), allow_no_index: schema.maybe(schema.boolean()), include_unmapped: schema.maybe(schema.boolean()), - fields: schema.maybe(schema.arrayOf(schema.string())), + fields: schema.maybe(schema.oneOf([schema.string(), schema.arrayOf(schema.string())])), }), // not available to get request body: schema.maybe(schema.object({ index_filter: schema.any() })), @@ -81,8 +81,10 @@ const handler: RequestHandler<{}, IQuery, IBody> = async (context, request, resp const indexFilter = request.body?.index_filter; let parsedFields: string[] = []; + let parsedMetaFields: string[] = []; try { - parsedFields = parseMetaFields(metaFields); + parsedMetaFields = parseFields(metaFields); + parsedFields = parseFields(request.query.fields ?? []); } catch (error) { return response.badRequest(); } @@ -90,7 +92,7 @@ const handler: RequestHandler<{}, IQuery, IBody> = async (context, request, resp try { const { fields, indices } = await indexPatterns.getFieldsForWildcard({ pattern, - metaFields: parsedFields, + metaFields: parsedMetaFields, type, rollupIndex, fieldCapsOptions: { @@ -98,7 +100,7 @@ const handler: RequestHandler<{}, IQuery, IBody> = async (context, request, resp includeUnmapped, }, indexFilter, - fields: request.query.fields, + ...(parsedFields.length > 0 ? { fields: parsedFields } : {}), }); return response.ok({ diff --git a/src/plugins/data_views/server/saved_objects_client_wrapper.test.ts b/src/plugins/data_views/server/saved_objects_client_wrapper.test.ts index bd7983abd46a9..e5dc83f7e109b 100644 --- a/src/plugins/data_views/server/saved_objects_client_wrapper.test.ts +++ b/src/plugins/data_views/server/saved_objects_client_wrapper.test.ts @@ -22,7 +22,7 @@ describe('SavedObjectsClientPublicToCommon', () => { .fn() .mockResolvedValue({ outcome: 'exactMatch', saved_object: mockedSavedObject }); const service = new SavedObjectsClientServerToCommon(soClient); - const result = await service.get('index-pattern', '1'); + const result = await service.get('1'); expect(result).toStrictEqual(mockedSavedObject); }); @@ -34,7 +34,7 @@ describe('SavedObjectsClientPublicToCommon', () => { .fn() .mockResolvedValue({ outcome: 'aliasMatch', saved_object: mockedSavedObject }); const service = new SavedObjectsClientServerToCommon(soClient); - const result = await service.get('index-pattern', '1'); + const result = await service.get('1'); expect(result).toStrictEqual(mockedSavedObject); }); @@ -48,8 +48,6 @@ describe('SavedObjectsClientPublicToCommon', () => { .mockResolvedValue({ outcome: 'conflict', saved_object: mockedSavedObject }); const service = new SavedObjectsClientServerToCommon(soClient); - await expect(service.get('index-pattern', '1')).rejects.toThrow( - DataViewSavedObjectConflictError - ); + await expect(service.get('1')).rejects.toThrow(DataViewSavedObjectConflictError); }); }); diff --git a/src/plugins/data_views/server/saved_objects_client_wrapper.ts b/src/plugins/data_views/server/saved_objects_client_wrapper.ts index 9ac5e5203a10e..a8902904411df 100644 --- a/src/plugins/data_views/server/saved_objects_client_wrapper.ts +++ b/src/plugins/data_views/server/saved_objects_client_wrapper.ts @@ -14,30 +14,50 @@ import { } from '../common/types'; import { DataViewSavedObjectConflictError } from '../common/errors'; +import type { DataViewCrudTypes } from '../common/content_management'; +import { DATA_VIEW_SAVED_OBJECT_TYPE } from '../common'; + export class SavedObjectsClientServerToCommon implements SavedObjectsClientCommon { private savedObjectClient: SavedObjectsClientContract; constructor(savedObjectClient: SavedObjectsClientContract) { this.savedObjectClient = savedObjectClient; } async find(options: SavedObjectsClientCommonFindArgs) { - const result = await this.savedObjectClient.find(options); + const result = await this.savedObjectClient.find({ + ...options, + type: DATA_VIEW_SAVED_OBJECT_TYPE, + }); return result.saved_objects; } - async get(type: string, id: string) { - const response = await this.savedObjectClient.resolve(type, id); + async get(id: string) { + const response = await this.savedObjectClient.resolve('index-pattern', id); + if (response.outcome === 'conflict') { + throw new DataViewSavedObjectConflictError(id); + } + return response.saved_object; + } + + async getSavedSearch(id: string) { + const response = await this.savedObjectClient.resolve('search', id); if (response.outcome === 'conflict') { throw new DataViewSavedObjectConflictError(id); } return response.saved_object; } - async update(type: string, id: string, attributes: DataViewAttributes, options: {}) { - return (await this.savedObjectClient.update(type, id, attributes, options)) as SavedObject; + + async update(id: string, attributes: DataViewAttributes, options: {}) { + return (await this.savedObjectClient.update( + DATA_VIEW_SAVED_OBJECT_TYPE, + id, + attributes, + options + )) as SavedObject; } - async create(type: string, attributes: DataViewAttributes, options: {}) { - return await this.savedObjectClient.create(type, attributes, options); + async create(attributes: DataViewAttributes, options: DataViewCrudTypes['CreateOptions']) { + return await this.savedObjectClient.create(DATA_VIEW_SAVED_OBJECT_TYPE, attributes, options); } - delete(type: string, id: string) { - return this.savedObjectClient.delete(type, id, { force: true }); + async delete(id: string) { + await this.savedObjectClient.delete(DATA_VIEW_SAVED_OBJECT_TYPE, id, { force: true }); } } diff --git a/src/plugins/data_views/server/types.ts b/src/plugins/data_views/server/types.ts index cce27ff305972..5b87573322379 100644 --- a/src/plugins/data_views/server/types.ts +++ b/src/plugins/data_views/server/types.ts @@ -15,6 +15,7 @@ import { import { ExpressionsServerSetup } from '@kbn/expressions-plugin/server'; import { UsageCollectionSetup } from '@kbn/usage-collection-plugin/server'; import { FieldFormatsSetup, FieldFormatsStart } from '@kbn/field-formats-plugin/server'; +import type { ContentManagementServerSetup } from '@kbn/content-management-plugin/server'; import { DataViewsService } from '../common'; /** @@ -72,6 +73,10 @@ export interface DataViewsServerPluginSetupDependencies { * Usage collection */ usageCollection?: UsageCollectionSetup; + /** + * Content management + */ + contentManagement: ContentManagementServerSetup; } /** diff --git a/src/plugins/data_views/server/utils.ts b/src/plugins/data_views/server/utils.ts index 79374609cdaa0..eae603ca0e236 100644 --- a/src/plugins/data_views/server/utils.ts +++ b/src/plugins/data_views/server/utils.ts @@ -16,7 +16,7 @@ export const getFieldByName = ( fieldName: string, indexPattern: SavedObject ): FieldSpec | undefined => { - const fields: FieldSpec[] = indexPattern && JSON.parse(indexPattern.attributes.fields); + const fields: FieldSpec[] = indexPattern && JSON.parse(indexPattern.attributes?.fields || '[]'); const field = fields && fields.find((f) => f.name === fieldName); return field; diff --git a/src/plugins/data_views/tsconfig.json b/src/plugins/data_views/tsconfig.json index dae61e82637c6..558d22ec5b41f 100644 --- a/src/plugins/data_views/tsconfig.json +++ b/src/plugins/data_views/tsconfig.json @@ -28,6 +28,9 @@ "@kbn/utility-types-jest", "@kbn/safer-lodash-set", "@kbn/core-http-server", + "@kbn/content-management-plugin", + "@kbn/content-management-utils", + "@kbn/object-versioning", "@kbn/core-saved-objects-server", ], "exclude": [ diff --git a/src/plugins/discover/kibana.jsonc b/src/plugins/discover/kibana.jsonc index 25b714fe64778..4ff3088496639 100644 --- a/src/plugins/discover/kibana.jsonc +++ b/src/plugins/discover/kibana.jsonc @@ -20,6 +20,7 @@ "savedObjects", "savedObjectsFinder", "savedObjectsManagement", + "savedSearch", "dataViewFieldEditor", "dataViewEditor", "expressions", @@ -39,8 +40,7 @@ "requiredBundles": [ "kibanaUtils", "kibanaReact", - "unifiedSearch", - "savedSearch" + "unifiedSearch" ], "extraPublicDirs": [ "common" diff --git a/src/plugins/discover/public/__mocks__/services.ts b/src/plugins/discover/public/__mocks__/services.ts index 3da63b5c553c7..77aa943a8f5fd 100644 --- a/src/plugins/discover/public/__mocks__/services.ts +++ b/src/plugins/discover/public/__mocks__/services.ts @@ -10,6 +10,7 @@ import { EUI_CHARTS_THEME_LIGHT } from '@elastic/eui/dist/eui_charts_theme'; import { DiscoverServices } from '../build_services'; import { dataPluginMock } from '@kbn/data-plugin/public/mocks'; import { expressionsPluginMock } from '@kbn/expressions-plugin/public/mocks'; +import { savedSearchPluginMock } from '@kbn/saved-search-plugin/public/mocks'; import { chromeServiceMock, coreMock, docLinksServiceMock } from '@kbn/core/public/mocks'; import { CONTEXT_STEP_SETTING, @@ -190,6 +191,7 @@ export function createDiscoverServicesMock(): DiscoverServices { updateTagsReferences: jest.fn(), }, }, + savedSearch: savedSearchPluginMock.createStartContract(), dataViews: dataPlugin.dataViews, timefilter: dataPlugin.query.timefilter.timefilter, lens: { diff --git a/src/plugins/discover/public/application/context/context_app.tsx b/src/plugins/discover/public/application/context/context_app.tsx index 4686eadc50646..8f79f179f9492 100644 --- a/src/plugins/discover/public/application/context/context_app.tsx +++ b/src/plugins/discover/public/application/context/context_app.tsx @@ -169,11 +169,6 @@ export const ContextApp = ({ dataView, anchorId, referrer }: ContextAppProps) => }; }; - const contextAppTitle = useRef(null); - useEffect(() => { - contextAppTitle.current?.focus(); - }, []); - return ( {fetchedState.anchorStatus.value === LoadingStatus.FAILED ? ( @@ -184,8 +179,6 @@ export const ContextApp = ({ dataView, anchorId, referrer }: ContextAppProps) => id="contextAppTitle" className="euiScreenReaderOnly" data-test-subj="discoverContextAppTitle" - tabIndex={-1} - ref={contextAppTitle} > {i18n.translate('discover.context.pageTitle', { defaultMessage: 'Documents surrounding #{anchorId}', diff --git a/src/plugins/discover/public/application/doc/components/doc.tsx b/src/plugins/discover/public/application/doc/components/doc.tsx index 9bfea00a92fc2..c5560122c3885 100644 --- a/src/plugins/discover/public/application/doc/components/doc.tsx +++ b/src/plugins/discover/public/application/doc/components/doc.tsx @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import React, { useEffect, useRef } from 'react'; +import React, { useEffect } from 'react'; import { FormattedMessage } from '@kbn/i18n-react'; import { EuiCallOut, EuiLink, EuiLoadingSpinner, EuiPage, EuiPageBody } from '@elastic/eui'; import type { DataView } from '@kbn/data-views-plugin/public'; @@ -16,6 +16,7 @@ import { DocViewer } from '../../../services/doc_views/components/doc_viewer'; import { ElasticRequestState } from '../types'; import { useEsDocSearch } from '../../../hooks/use_es_doc_search'; import { useDiscoverServices } from '../../../hooks/use_discover_services'; +import type { DataTableRecord } from '../../../types'; export interface DocProps { /** @@ -38,6 +39,10 @@ export interface DocProps { * Discover main view url */ referrer?: string; + /** + * Records fetched from text based query + */ + textBasedHits?: DataTableRecord[]; } export function Doc(props: DocProps) { @@ -46,11 +51,6 @@ export function Doc(props: DocProps) { const { locator, chrome, docLinks } = useDiscoverServices(); const indexExistsLink = docLinks.links.apis.indexExists; - const singleDocTitle = useRef(null); - useEffect(() => { - singleDocTitle.current?.focus(); - }, []); - useEffect(() => { chrome.setBreadcrumbs([ ...getRootBreadcrumbs(props.referrer), @@ -64,8 +64,6 @@ export function Doc(props: DocProps) { id="singleDocTitle" className="euiScreenReaderOnly" data-test-subj="discoverSingleDocTitle" - tabIndex={-1} - ref={singleDocTitle} > {i18n.translate('discover.doc.pageTitle', { defaultMessage: 'Single document - #{id}', diff --git a/src/plugins/discover/public/application/doc/locator.test.ts b/src/plugins/discover/public/application/doc/locator.test.ts index d84eff8638122..4a7fab7fb695d 100644 --- a/src/plugins/discover/public/application/doc/locator.test.ts +++ b/src/plugins/discover/public/application/doc/locator.test.ts @@ -31,4 +31,17 @@ describe('Discover single doc url generator', () => { `"#/doc/c367b774-a4c2-11ea-bb37-0242ac130002/mock-row-index?id=mock-row-id"` ); }); + + it('should URL encode rowId', async () => { + const { locator } = setup(); + const { path } = await locator.getLocation({ + index: dataViewId, + rowId: 'id with special characters: &?#+', + rowIndex: 'mock-row-index', + referrer: 'mock-referrer', + }); + expect(path).toMatchInlineSnapshot( + `"#/doc/c367b774-a4c2-11ea-bb37-0242ac130002/mock-row-index?id=id%20with%20special%20characters%3A%20%26%3F%23%2B"` + ); + }); }); diff --git a/src/plugins/discover/public/application/doc/locator.ts b/src/plugins/discover/public/application/doc/locator.ts index f3ee0c2942070..1c1026ead35fc 100644 --- a/src/plugins/discover/public/application/doc/locator.ts +++ b/src/plugins/discover/public/application/doc/locator.ts @@ -45,7 +45,7 @@ export class DiscoverSingleDocLocatorDefinition dataViewId = index; } - const path = `#/doc/${dataViewId}/${rowIndex}?id=${rowId}`; + const path = `#/doc/${dataViewId}/${rowIndex}?id=${encodeURIComponent(rowId)}`; return { app: 'discover', diff --git a/src/plugins/discover/public/application/main/components/layout/__stories__/get_layout_props.ts b/src/plugins/discover/public/application/main/components/layout/__stories__/get_layout_props.ts index 0d41251ce4542..b749799b75ee8 100644 --- a/src/plugins/discover/public/application/main/components/layout/__stories__/get_layout_props.ts +++ b/src/plugins/discover/public/application/main/components/layout/__stories__/get_layout_props.ts @@ -12,6 +12,7 @@ import { BehaviorSubject, Observable, Subject } from 'rxjs'; import { RequestAdapter } from '@kbn/inspector-plugin/common'; import { action } from '@storybook/addon-actions'; import { createHashHistory } from 'history'; +import { SavedSearch } from '@kbn/saved-search-plugin/public'; import { FetchStatus } from '../../../../types'; import { AvailableFields$, @@ -22,7 +23,6 @@ import { } from '../../../services/discover_data_state_container'; import { buildDataTableRecordList } from '../../../../../utils/build_data_record'; import { esHits } from '../../../../../__mocks__/es_hits'; -import { SavedSearch } from '../../../../..'; import { DiscoverLayoutProps } from '../discover_layout'; import { DiscoverStateContainer, diff --git a/src/plugins/discover/public/application/main/components/layout/discover_documents.tsx b/src/plugins/discover/public/application/main/components/layout/discover_documents.tsx index 3070f447712c5..64f857d0d9aed 100644 --- a/src/plugins/discover/public/application/main/components/layout/discover_documents.tsx +++ b/src/plugins/discover/public/application/main/components/layout/discover_documents.tsx @@ -208,6 +208,7 @@ function DiscoverDocumentsComponent({ isLoading={isDataLoading} searchDescription={savedSearch.description} sharedItemTitle={savedSearch.title} + isPlainRecord={isPlainRecord} onAddColumn={onAddColumn} onFilter={onAddFilter as DocViewFilterFn} onMoveColumn={onMoveColumn} @@ -238,7 +239,7 @@ function DiscoverDocumentsComponent({ sampleSize={sampleSize} searchDescription={savedSearch.description} searchTitle={savedSearch.title} - setExpandedDoc={!isPlainRecord ? setExpandedDoc : undefined} + setExpandedDoc={setExpandedDoc} showTimeCol={showTimeCol} settings={grid} onAddColumn={onAddColumn} @@ -250,8 +251,9 @@ function DiscoverDocumentsComponent({ useNewFieldsApi={useNewFieldsApi} rowHeightState={rowHeight} onUpdateRowHeight={onUpdateRowHeight} - isSortEnabled={!isPlainRecord} + isSortEnabled={true} isPlainRecord={isPlainRecord} + query={query} rowsPerPageState={rowsPerPage} onUpdateRowsPerPage={onUpdateRowsPerPage} onFieldEdited={onFieldEdited} diff --git a/src/plugins/discover/public/application/main/components/layout/discover_layout.test.tsx b/src/plugins/discover/public/application/main/components/layout/discover_layout.test.tsx index ccb70df16b88f..e7a0bd9f642d1 100644 --- a/src/plugins/discover/public/application/main/components/layout/discover_layout.test.tsx +++ b/src/plugins/discover/public/application/main/components/layout/discover_layout.test.tsx @@ -122,7 +122,6 @@ async function mountComponent( state: { columns: [], query, hideChart: false, interval: 'auto' }, stateContainer, setExpandedDoc: jest.fn(), - persistDataView: jest.fn(), updateDataViewList: jest.fn(), }; stateContainer.searchSessionManager = createSearchSessionMock(session).searchSessionManager; @@ -162,17 +161,6 @@ describe('Discover component', () => { ).not.toBeNull(); }, 10000); - test('the saved search title h1 gains focus on navigate', async () => { - const container = document.createElement('div'); - document.body.appendChild(container); - const component = await mountComponent(dataViewWithTimefieldMock, undefined, { - attachTo: container, - }); - expect( - component.find('[data-test-subj="discoverSavedSearchTitle"]').getDOMNode() - ).toHaveFocus(); - }, 10000); - describe('sidebar', () => { test('should be opened if discover:sidebarClosed was not set', async () => { const component = await mountComponent(dataViewWithTimefieldMock, undefined); diff --git a/src/plugins/discover/public/application/main/components/layout/discover_layout.tsx b/src/plugins/discover/public/application/main/components/layout/discover_layout.tsx index 90a18b5ee5a8a..cc04e71110aae 100644 --- a/src/plugins/discover/public/application/main/components/layout/discover_layout.tsx +++ b/src/plugins/discover/public/application/main/components/layout/discover_layout.tsx @@ -22,7 +22,7 @@ import { METRIC_TYPE } from '@kbn/analytics'; import classNames from 'classnames'; import { generateFilters } from '@kbn/data-plugin/public'; import { DragContext } from '@kbn/dom-drag-drop'; -import { DataView, DataViewField, DataViewType } from '@kbn/data-views-plugin/public'; +import { DataViewField, DataViewType } from '@kbn/data-views-plugin/public'; import { useSavedSearchInitial } from '../../services/discover_state_provider'; import { DiscoverStateContainer } from '../../services/discover_state'; import { VIEW_MODE } from '../../../../../common/constants'; @@ -59,14 +59,9 @@ const TopNavMemoized = React.memo(DiscoverTopNav); export interface DiscoverLayoutProps { navigateTo: (url: string) => void; stateContainer: DiscoverStateContainer; - persistDataView: (dataView: DataView) => Promise; } -export function DiscoverLayout({ - navigateTo, - stateContainer, - persistDataView, -}: DiscoverLayoutProps) { +export function DiscoverLayout({ navigateTo, stateContainer }: DiscoverLayoutProps) { const { trackUiMetric, capabilities, @@ -180,11 +175,6 @@ export function DiscoverLayout({ const contentCentered = resultState === 'uninitialized' || resultState === 'none'; - const savedSearchTitle = useRef(null); - useEffect(() => { - savedSearchTitle.current?.focus(); - }, []); - const textBasedLanguageModeErrors = useMemo(() => { if (isPlainRecord) { return dataState.error; @@ -260,8 +250,6 @@ export function DiscoverLayout({ id="savedSearchTitle" className="euiScreenReaderOnly" data-test-subj="discoverSavedSearchTitle" - tabIndex={-1} - ref={savedSearchTitle} > {savedSearch.title ? i18n.translate('discover.pageTitleWithSavedSearch', { @@ -284,7 +272,6 @@ export function DiscoverLayout({ isPlainRecord={isPlainRecord} textBasedLanguageModeErrors={textBasedLanguageModeErrors} onFieldEdited={onFieldEdited} - persistDataView={persistDataView} /> ['field']; isSelected: FieldItemButtonProps['isSelected']; - dataTestSubj: FieldItemButtonProps['dataTestSubj']; buttonAddFieldToWorkspaceProps: FieldItemButtonProps['buttonAddFieldToWorkspaceProps']; buttonRemoveFieldFromWorkspaceProps: FieldItemButtonProps['buttonRemoveFieldFromWorkspaceProps']; onAddFieldToWorkspace: FieldItemButtonProps['onAddFieldToWorkspace']; onRemoveFieldFromWorkspace: FieldItemButtonProps['onRemoveFieldFromWorkspace']; } { - const dataTestSubj = `fieldToggle-${field.name}`; const handler = field.name === '_source' ? undefined : (f: DataViewField) => toggleDisplay(f, isSelected); return { field, isSelected, - dataTestSubj: `field-${field.name}-showDetails`, buttonAddFieldToWorkspaceProps: { 'aria-label': i18n.translate('discover.fieldChooser.discoverField.addFieldTooltip', { defaultMessage: 'Add field as column', }), - 'data-test-subj': dataTestSubj, }, buttonRemoveFieldFromWorkspaceProps: { 'aria-label': i18n.translate('discover.fieldChooser.discoverField.removeFieldTooltip', { defaultMessage: 'Remove field from table', }), - 'data-test-subj': dataTestSubj, }, onAddFieldToWorkspace: handler, onRemoveFieldFromWorkspace: handler, diff --git a/src/plugins/discover/public/application/main/components/top_nav/discover_topnav.test.tsx b/src/plugins/discover/public/application/main/components/top_nav/discover_topnav.test.tsx index 122476b815310..65ea3e81365a6 100644 --- a/src/plugins/discover/public/application/main/components/top_nav/discover_topnav.test.tsx +++ b/src/plugins/discover/public/application/main/components/top_nav/discover_topnav.test.tsx @@ -40,7 +40,6 @@ function getProps(savePermissions = true): DiscoverTopNavProps { onOpenInspector: jest.fn(), onFieldEdited: jest.fn(), isPlainRecord: false, - persistDataView: jest.fn(), }; } diff --git a/src/plugins/discover/public/application/main/components/top_nav/discover_topnav.tsx b/src/plugins/discover/public/application/main/components/top_nav/discover_topnav.tsx index 4892f696477fe..286b8a6113b27 100644 --- a/src/plugins/discover/public/application/main/components/top_nav/discover_topnav.tsx +++ b/src/plugins/discover/public/application/main/components/top_nav/discover_topnav.tsx @@ -31,7 +31,6 @@ export type DiscoverTopNavProps = Pick & { isPlainRecord: boolean; textBasedLanguageModeErrors?: Error; onFieldEdited: () => Promise; - persistDataView: (dataView: DataView) => Promise; }; export const DiscoverTopNav = ({ @@ -44,16 +43,18 @@ export const DiscoverTopNav = ({ isPlainRecord, textBasedLanguageModeErrors, onFieldEdited, - persistDataView, }: DiscoverTopNavProps) => { const adHocDataViews = useInternalStateSelector((state) => state.adHocDataViews); const dataView = useInternalStateSelector((state) => state.dataView!); const savedDataViews = useInternalStateSelector((state) => state.savedDataViews); const savedSearch = useSavedSearchInitial(); - const showDatePicker = useMemo( - () => dataView.isTimeBased() && dataView.type !== DataViewType.ROLLUP, - [dataView] - ); + const showDatePicker = useMemo(() => { + // always show the timepicker for text based languages + return ( + isPlainRecord || + (!isPlainRecord && dataView.isTimeBased() && dataView.type !== DataViewType.ROLLUP) + ); + }, [dataView, isPlainRecord]); const services = useDiscoverServices(); const { dataViewEditor, navigation, dataViewFieldEditor, data, uiSettings, dataViews } = services; @@ -120,18 +121,8 @@ export const DiscoverTopNav = ({ onOpenInspector, isPlainRecord, adHocDataViews, - persistDataView, }), - [ - dataView, - navigateTo, - services, - stateContainer, - onOpenInspector, - isPlainRecord, - adHocDataViews, - persistDataView, - ] + [dataView, navigateTo, services, stateContainer, onOpenInspector, isPlainRecord, adHocDataViews] ); const onEditDataView = async (editedDataView: DataView) => { diff --git a/src/plugins/discover/public/application/main/components/top_nav/get_top_nav_links.test.ts b/src/plugins/discover/public/application/main/components/top_nav/get_top_nav_links.test.ts index ba56d565ca1c4..52c0be0969545 100644 --- a/src/plugins/discover/public/application/main/components/top_nav/get_top_nav_links.test.ts +++ b/src/plugins/discover/public/application/main/components/top_nav/get_top_nav_links.test.ts @@ -32,7 +32,6 @@ test('getTopNavLinks result', () => { services, state, isPlainRecord: false, - persistDataView: jest.fn(), adHocDataViews: [], }); expect(topNavLinks).toMatchInlineSnapshot(` @@ -93,7 +92,6 @@ test('getTopNavLinks result for sql mode', () => { services, state, isPlainRecord: true, - persistDataView: jest.fn(), adHocDataViews: [], }); expect(topNavLinks).toMatchInlineSnapshot(` diff --git a/src/plugins/discover/public/application/main/components/top_nav/get_top_nav_links.tsx b/src/plugins/discover/public/application/main/components/top_nav/get_top_nav_links.tsx index 9442d32b302ca..e21eed8df57c4 100644 --- a/src/plugins/discover/public/application/main/components/top_nav/get_top_nav_links.tsx +++ b/src/plugins/discover/public/application/main/components/top_nav/get_top_nav_links.tsx @@ -8,8 +8,8 @@ import { i18n } from '@kbn/i18n'; import type { DataView } from '@kbn/data-views-plugin/public'; -import { unhashUrl } from '@kbn/kibana-utils-plugin/public'; import type { TopNavMenuData } from '@kbn/navigation-plugin/public'; +import type { DiscoverAppLocatorParams } from '../../../../../common'; import { showOpenSearchPanel } from './show_open_search_panel'; import { getSharingData, showPublicUrlSwitch } from '../../../../utils/get_sharing_data'; import { DiscoverServices } from '../../../../build_services'; @@ -28,7 +28,6 @@ export const getTopNavLinks = ({ state, onOpenInspector, isPlainRecord, - persistDataView, adHocDataViews, }: { dataView: DataView; @@ -38,7 +37,6 @@ export const getTopNavLinks = ({ onOpenInspector: () => void; isPlainRecord: boolean; adHocDataViews: DataView[]; - persistDataView: (dataView: DataView) => Promise; }): TopNavMenuData[] => { const options = { id: 'options', @@ -143,17 +141,7 @@ export const getTopNavLinks = ({ }), testId: 'shareTopNavButton', run: async (anchorElement: HTMLElement) => { - if (!services.share) { - return; - } - // this prompts the user to save the dataview if adhoc dataview is detected - // for text based languages we don't want this check - if (!isPlainRecord) { - const updatedDataView = await persistDataView(dataView); - if (!updatedDataView) { - return; - } - } + if (!services.share) return; const savedSearch = state.savedSearchState.getState(); const sharingData = await getSharingData( savedSearch.searchSource, @@ -162,11 +150,46 @@ export const getTopNavLinks = ({ isPlainRecord ); + const { locator } = services; + const appState = state.appState.getState(); + const { timefilter } = services.data.query.timefilter; + const timeRange = timefilter.getTime(); + const refreshInterval = timefilter.getRefreshInterval(); + const { grid, ...otherState } = appState; + const filters = services.filterManager.getFilters(); + + // Share -> Get links -> Snapshot + const params: DiscoverAppLocatorParams = { + ...otherState, + ...(savedSearch.id ? { savedSearchId: savedSearch.id } : {}), + ...(dataView?.isPersisted() + ? { dataViewId: dataView?.id } + : { dataViewSpec: dataView?.toSpec() }), + filters, + timeRange, + refreshInterval, + }; + const relativeUrl = locator.getRedirectUrl(params); + + // This logic is duplicated from `relativeToAbsolute` (for bundle size reasons). Ultimately, this should be + // replaced when https://github.com/elastic/kibana/issues/153323 is implemented. + const link = document.createElement('a'); + link.setAttribute('href', relativeUrl); + const shareableUrl = link.href; + + // Share -> Get links -> Saved object + const shareableUrlForSavedObject = await locator.getUrl( + { savedSearchId: savedSearch.id }, + { absolute: true } + ); + services.share.toggleShareContextMenu({ anchorElement, allowEmbed: false, allowShortUrl: !!services.capabilities.discover.createShortUrl, - shareableUrl: unhashUrl(window.location.href), + shareableUrl, + shareableUrlForSavedObject, + shareableUrlLocatorParams: { locator, params }, objectId: savedSearch.id, objectType: 'search', sharingData: { diff --git a/src/plugins/discover/public/application/main/discover_main_app.tsx b/src/plugins/discover/public/application/main/discover_main_app.tsx index 47eac24fb48b5..3b8ac280360a1 100644 --- a/src/plugins/discover/public/application/main/discover_main_app.tsx +++ b/src/plugins/discover/public/application/main/discover_main_app.tsx @@ -9,7 +9,6 @@ import React, { useCallback, useEffect } from 'react'; import { RootDragDropProvider } from '@kbn/dom-drag-drop'; import { useHistory } from 'react-router-dom'; import { useUrlTracking } from './hooks/use_url_tracking'; -import { useSearchSession } from './hooks/use_search_session'; import { DiscoverStateContainer } from './services/discover_state'; import { DiscoverLayout } from './components/layout'; import { setBreadcrumbsTitle } from '../../utils/breadcrumbs'; @@ -44,18 +43,10 @@ export function DiscoverMainApp(props: DiscoverMainProps) { useUrlTracking(stateContainer.savedSearchState); - /** - * Search session logic - */ - useSearchSession({ services, stateContainer }); - /** * Adhoc data views functionality */ - const { persistDataView } = useAdHocDataViews({ - stateContainer, - services, - }); + useAdHocDataViews({ stateContainer, services }); /** * State changes (data view, columns), when a text base query result is returned @@ -97,11 +88,7 @@ export function DiscoverMainApp(props: DiscoverMainProps) { return ( - + ); } diff --git a/src/plugins/discover/public/application/main/hooks/use_adhoc_data_views.test.tsx b/src/plugins/discover/public/application/main/hooks/use_adhoc_data_views.test.tsx deleted file mode 100644 index 09c5c9f1d2d31..0000000000000 --- a/src/plugins/discover/public/application/main/hooks/use_adhoc_data_views.test.tsx +++ /dev/null @@ -1,97 +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 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 type { DataView } from '@kbn/data-views-plugin/public'; -import { renderHook } from '@testing-library/react-hooks'; -import { useAdHocDataViews } from './use_adhoc_data_views'; -import * as persistencePromptModule from '../../../hooks/use_confirm_persistence_prompt'; -import { urlTrackerMock } from '../../../__mocks__/url_tracker.mock'; -import { setUrlTracker } from '../../../kibana_services'; -import { getDiscoverStateMock } from '../../../__mocks__/discover_state.mock'; -import { DiscoverMainProvider } from '../services/discover_state_provider'; -import { discoverServiceMock } from '../../../__mocks__/services'; - -jest.mock('../../../hooks/use_confirm_persistence_prompt', () => { - const createdDataView = { - id: 'updated-mock-id', - }; - const mocks = { - openConfirmSavePrompt: jest.fn(() => Promise.resolve(createdDataView)), - updateSavedSearch: jest.fn(() => Promise.resolve({})), - }; - - return { - useConfirmPersistencePrompt: () => mocks, - mocks, - }; -}); - -jest.mock('../../../kibana_services', () => { - const actual = jest.requireActual('../../../kibana_services'); - return { - ...actual, - getUiActions: jest.fn(() => ({ - getTrigger: jest.fn(() => {}), - getAction: jest.fn(() => ({ execute: jest.fn() })), - })), - }; -}); - -setUrlTracker(urlTrackerMock); - -interface ConfirmPromptMocks { - openConfirmSavePrompt: jest.Mock; - updateSavedSearch: jest.Mock; -} - -const persistencePromptMocks = ( - persistencePromptModule as unknown as { - useConfirmPersistencePrompt: () => ConfirmPromptMocks; - mocks: ConfirmPromptMocks; - } -).mocks; - -const mockDataView = { - id: 'mock-id', - title: 'mock-title', - timeFieldName: 'mock-time-field-name', - isPersisted: () => false, - getName: () => 'mock-data-view', - toSpec: () => ({}), - isTimeBased: () => true, -} as DataView; - -describe('useAdHocDataViews', () => { - it('should save data view with new id and update saved search', async () => { - const stateContainer = getDiscoverStateMock({ - isTimeBased: true, - }); - stateContainer.actions.setDataView(mockDataView); - - const hook = renderHook( - () => - useAdHocDataViews({ - stateContainer, - services: discoverServiceMock, - }), - { - wrapper: ({ children }: { children: React.ReactElement }) => ( - {children} - ), - } - ); - - const savedDataView = await hook.result.current.persistDataView(); - - expect(persistencePromptMocks.openConfirmSavePrompt).toHaveBeenCalledWith(mockDataView); - const updateSavedSearchCall = persistencePromptMocks.updateSavedSearch.mock.calls[0]; - expect(updateSavedSearchCall[0].dataView.id).toEqual('updated-mock-id'); - expect(savedDataView!.id).toEqual('updated-mock-id'); - }); -}); diff --git a/src/plugins/discover/public/application/main/hooks/use_adhoc_data_views.ts b/src/plugins/discover/public/application/main/hooks/use_adhoc_data_views.ts index 646861efdf255..5b5aac2310e6a 100644 --- a/src/plugins/discover/public/application/main/hooks/use_adhoc_data_views.ts +++ b/src/plugins/discover/public/application/main/hooks/use_adhoc_data_views.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { useCallback, useEffect } from 'react'; +import { useEffect } from 'react'; import { METRIC_TYPE } from '@kbn/analytics'; import { DiscoverServices } from '../../../build_services'; import { useSavedSearch } from '../services/discover_state_provider'; @@ -14,12 +14,10 @@ import { isTextBasedQuery } from '../utils/is_text_based_query'; import { useAppStateSelector } from '../services/discover_app_state_container'; import { useInternalStateSelector } from '../services/discover_internal_state_container'; import { ADHOC_DATA_VIEW_RENDER_EVENT } from '../../../constants'; -import { useConfirmPersistencePrompt } from '../../../hooks/use_confirm_persistence_prompt'; import { DiscoverStateContainer } from '../services/discover_state'; import { useFiltersValidation } from './use_filters_validation'; export const useAdHocDataViews = ({ - stateContainer, services, }: { stateContainer: DiscoverStateContainer; @@ -41,27 +39,4 @@ export const useAdHocDataViews = ({ * Takes care of checking data view id references in filters */ useFiltersValidation({ savedSearch, filterManager, toastNotifications }); - - const { openConfirmSavePrompt, updateSavedSearch } = useConfirmPersistencePrompt(stateContainer); - const persistDataView = useCallback(async () => { - const currentDataView = stateContainer.internalState.getState().dataView; - if (!currentDataView || currentDataView.isPersisted()) { - return currentDataView; - } - - const createdDataView = await openConfirmSavePrompt(currentDataView); - if (!createdDataView) { - return; // persistance cancelled - } - - if (savedSearch.id) { - // update saved search with saved data view - const currentState = stateContainer.appState.getState(); - await updateSavedSearch({ savedSearch, dataView: createdDataView, state: currentState }); - } - - return createdDataView; - }, [stateContainer, openConfirmSavePrompt, updateSavedSearch, savedSearch]); - - return { persistDataView }; }; diff --git a/src/plugins/discover/public/application/main/hooks/use_search_session.test.ts b/src/plugins/discover/public/application/main/hooks/use_search_session.test.ts deleted file mode 100644 index 0e2606c063f75..0000000000000 --- a/src/plugins/discover/public/application/main/hooks/use_search_session.test.ts +++ /dev/null @@ -1,32 +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 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 { useSearchSession } from './use_search_session'; -import { renderHook } from '@testing-library/react-hooks'; -import { discoverServiceMock } from '../../../__mocks__/services'; -import { savedSearchMock } from '../../../__mocks__/saved_search'; -import { getDiscoverStateMock } from '../../../__mocks__/discover_state.mock'; - -describe('test useSearchSession', () => { - test('getting the next session id', async () => { - const stateContainer = getDiscoverStateMock({ - savedSearch: savedSearchMock, - }); - - const nextId = 'id'; - discoverServiceMock.data.search.session.start = jest.fn(() => nextId); - - renderHook(() => { - return useSearchSession({ - services: discoverServiceMock, - stateContainer, - }); - }); - expect(stateContainer.searchSessionManager.getNextSearchSessionId()).toBe('id'); - }); -}); diff --git a/src/plugins/discover/public/application/main/hooks/use_search_session.ts b/src/plugins/discover/public/application/main/hooks/use_search_session.ts deleted file mode 100644 index dc08eb7fe0b4c..0000000000000 --- a/src/plugins/discover/public/application/main/hooks/use_search_session.ts +++ /dev/null @@ -1,43 +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 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 { useEffect } from 'react'; -import { noSearchSessionStorageCapabilityMessage } from '@kbn/data-plugin/public'; -import { - createSearchSessionRestorationDataProvider, - DiscoverStateContainer, -} from '../services/discover_state'; -import { DiscoverServices } from '../../../build_services'; - -export function useSearchSession({ - services, - stateContainer, -}: { - services: DiscoverServices; - stateContainer: DiscoverStateContainer; -}) { - const { data, capabilities } = services; - - useEffect(() => { - data.search.session.enableStorage( - createSearchSessionRestorationDataProvider({ - appStateContainer: stateContainer.appState, - data, - getSavedSearch: () => stateContainer.savedSearchState.getState(), - }), - { - isDisabled: () => - capabilities.discover.storeSearchSession - ? { disabled: false } - : { - disabled: true, - reasonText: noSearchSessionStorageCapabilityMessage, - }, - } - ); - }, [capabilities.discover.storeSearchSession, data, stateContainer]); -} diff --git a/src/plugins/discover/public/application/main/hooks/use_test_based_query_language.test.tsx b/src/plugins/discover/public/application/main/hooks/use_test_based_query_language.test.tsx index edf69444ac5e3..05ef44a03f01b 100644 --- a/src/plugins/discover/public/application/main/hooks/use_test_based_query_language.test.tsx +++ b/src/plugins/discover/public/application/main/hooks/use_test_based_query_language.test.tsx @@ -23,6 +23,7 @@ import { DiscoverMainProvider } from '../services/discover_state_provider'; import { DiscoverAppState } from '../services/discover_app_state_container'; import { DiscoverStateContainer } from '../services/discover_state'; import { VIEW_MODE } from '@kbn/saved-search-plugin/public'; +import { dataViewAdHoc } from '../../../__mocks__/data_view_complex'; function getHookProps( query: AggregateQuery | Query | undefined, @@ -84,6 +85,7 @@ const renderHookWithContext = ( appState?: DiscoverAppState ) => { const props = getHookProps(query, useDataViewsService ? getDataViewsService() : undefined); + props.stateContainer.actions.setDataView(dataViewMock); if (appState) { props.stateContainer.appState.getState = jest.fn(() => { return appState; @@ -98,7 +100,7 @@ const renderHookWithContext = ( describe('useTextBasedQueryLanguage', () => { test('a text based query should change state when loading and finished', async () => { - const { replaceUrlState, stateContainer } = renderHookWithContext(false); + const { replaceUrlState, stateContainer } = renderHookWithContext(true); await waitFor(() => expect(replaceUrlState).toHaveBeenCalledTimes(1)); expect(replaceUrlState).toHaveBeenCalledWith({ index: 'the-data-view-id' }); @@ -191,11 +193,7 @@ describe('useTextBasedQueryLanguage', () => { query: { sql: 'SELECT field1 from the-data-view-title WHERE field1=1' }, }); - await waitFor(() => { - expect(replaceUrlState).toHaveBeenCalledWith({ - index: 'the-data-view-id', - }); - }); + await waitFor(() => expect(replaceUrlState).toHaveBeenCalledTimes(0)); }); test('if its not a text based query coming along, it should be ignored', async () => { const { replaceUrlState, stateContainer } = renderHookWithContext(false); @@ -270,7 +268,7 @@ describe('useTextBasedQueryLanguage', () => { ], query: { sql: 'SELECT field1 from the-data-view-title' }, }); - await waitFor(() => expect(replaceUrlState).toHaveBeenCalledTimes(1)); + await waitFor(() => expect(replaceUrlState).toHaveBeenCalledTimes(2)); expect(replaceUrlState).toHaveBeenCalledWith({ columns: ['field1'], }); @@ -288,7 +286,7 @@ describe('useTextBasedQueryLanguage', () => { fetchStatus: FetchStatus.LOADING, query: { sql: 'SELECT * from the-data-view-title WHERE field1=2' }, }); - await waitFor(() => expect(replaceUrlState).toHaveBeenCalledTimes(0)); + await waitFor(() => expect(replaceUrlState).toHaveBeenCalledTimes(1)); documents$.next({ recordRawType: RecordRawType.PLAIN, fetchStatus: FetchStatus.COMPLETE, @@ -301,7 +299,7 @@ describe('useTextBasedQueryLanguage', () => { ], query: { sql: 'SELECT * from the-data-view-title WHERE field1=2' }, }); - await waitFor(() => expect(replaceUrlState).toHaveBeenCalledTimes(1)); + await waitFor(() => expect(replaceUrlState).toHaveBeenCalledTimes(2)); stateContainer.appState.getState = jest.fn(() => { return { columns: ['field1', 'field2'], index: 'the-data-view-id' }; }); @@ -344,17 +342,10 @@ describe('useTextBasedQueryLanguage', () => { }); test('changing a text based query with an index pattern that not corresponds to a dataview should return results', async () => { - const dataViewsCreateMock = discoverServiceMock.dataViews.create as jest.Mock; - dataViewsCreateMock.mockImplementation(() => ({ - ...dataViewMock, - })); - const dataViewsService = { - ...discoverServiceMock.dataViews, - create: dataViewsCreateMock, - }; - const props = getHookProps(query, dataViewsService); + const props = getHookProps(query, discoverServiceMock.dataViews); const { stateContainer, replaceUrlState } = props; const documents$ = stateContainer.dataState.data$.documents$; + props.stateContainer.actions.setDataView(dataViewMock); renderHook(() => useTextBasedQueryLanguage(props), { wrapper: getHookContext(stateContainer) }); @@ -374,6 +365,7 @@ describe('useTextBasedQueryLanguage', () => { ], query: { sql: 'SELECT field1 from the-data-view-*' }, }); + props.stateContainer.actions.setDataView(dataViewAdHoc); await waitFor(() => expect(replaceUrlState).toHaveBeenCalledTimes(1)); await waitFor(() => { diff --git a/src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts b/src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts index b82b749d2acba..ca1c094594759 100644 --- a/src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts +++ b/src/plugins/discover/public/application/main/hooks/use_text_based_query_language.ts @@ -37,6 +37,7 @@ export function useTextBasedQueryLanguage({ columns: [], query: undefined, }); + const indexTitle = useRef(''); const savedSearch = useSavedSearchInitial(); const cleanup = useCallback(() => { @@ -80,36 +81,24 @@ export function useTextBasedQueryLanguage({ } } const indexPatternFromQuery = getIndexPatternFromSQLQuery(query.sql); - const internalState = stateContainer.internalState.getState(); - const dataViewList = [...internalState.savedDataViews, ...internalState.adHocDataViews]; - let dataViewObj = dataViewList.find(({ title }) => title === indexPatternFromQuery); - // no dataview found but the index pattern is valid - // create an adhoc instance instead - if (!dataViewObj) { - dataViewObj = await dataViews.create({ - title: indexPatternFromQuery, - }); - stateContainer.internalState.transitions.setAdHocDataViews([dataViewObj]); - - if (dataViewObj.fields.getByName('@timestamp')?.type === 'date') { - dataViewObj.timeFieldName = '@timestamp'; - } else if (dataViewObj.fields.getByType('date')?.length) { - const dateFields = dataViewObj.fields.getByType('date'); - dataViewObj.timeFieldName = dateFields[0].name; - } - } + const dataViewObj = stateContainer.internalState.getState().dataView!; // don't set the columns on initial fetch, to prevent overwriting existing state const addColumnsToState = Boolean( nextColumns.length && (!initialFetch || !stateColumns?.length) ); // no need to reset index to state if it hasn't changed - const addDataViewToState = Boolean(dataViewObj.id !== index); - if (!addColumnsToState && !addDataViewToState) { + const addDataViewToState = Boolean(dataViewObj?.id !== index) || initialFetch; + const queryChanged = indexPatternFromQuery !== indexTitle.current; + if (!addColumnsToState && !queryChanged) { return; } + if (queryChanged) { + indexTitle.current = indexPatternFromQuery; + } + const nextState = { ...(addDataViewToState && { index: dataViewObj.id }), ...(addColumnsToState && { columns: nextColumns }), diff --git a/src/plugins/discover/public/application/main/hooks/utils/build_state_subscribe.ts b/src/plugins/discover/public/application/main/hooks/utils/build_state_subscribe.ts index 1799e5146c803..dac3f4cfc6c62 100644 --- a/src/plugins/discover/public/application/main/hooks/utils/build_state_subscribe.ts +++ b/src/plugins/discover/public/application/main/hooks/utils/build_state_subscribe.ts @@ -17,6 +17,7 @@ import { isEqualState, } from '../../services/discover_app_state_container'; import { addLog } from '../../../../utils/add_log'; +import { isTextBasedQuery } from '../../utils/is_text_based_query'; import { FetchStatus } from '../../../types'; import { loadAndResolveDataView } from '../../utils/resolve_data_view'; @@ -61,7 +62,7 @@ export const buildStateSubscribe = // NOTE: this is also called when navigating from discover app to context app if (nextState.index && dataViewChanged) { const { dataView: nextDataView, fallback } = await loadAndResolveDataView( - { id: nextState.index, savedSearch }, + { id: nextState.index, savedSearch, isTextBasedQuery: isTextBasedQuery(nextState?.query) }, { internalStateContainer: internalState, services } ); diff --git a/src/plugins/discover/public/application/main/services/discover_data_state_container.ts b/src/plugins/discover/public/application/main/services/discover_data_state_container.ts index 07e1f089bcd13..3f3a6427431cc 100644 --- a/src/plugins/discover/public/application/main/services/discover_data_state_container.ts +++ b/src/plugins/discover/public/application/main/services/discover_data_state_container.ts @@ -12,6 +12,9 @@ import { RequestAdapter } from '@kbn/inspector-plugin/common'; import { SavedSearch } from '@kbn/saved-search-plugin/public'; import { AggregateQuery, Query } from '@kbn/es-query'; import type { SearchResponse } from '@elastic/elasticsearch/lib/api/types'; +import { DataView } from '@kbn/data-views-plugin/common'; +import { getDataViewByTextBasedQueryLang } from '../utils/get_data_view_by_text_based_query_lang'; +import { isTextBasedQuery } from '../utils/is_text_based_query'; import { getRawRecordType } from '../utils/get_raw_record_type'; import { DiscoverAppState } from './discover_app_state_container'; import { DiscoverServices } from '../../../build_services'; @@ -129,11 +132,13 @@ export function getDataStateContainer({ searchSessionManager, getAppState, getSavedSearch, + setDataView, }: { services: DiscoverServices; searchSessionManager: DiscoverSearchSessionManager; getAppState: () => DiscoverAppState; getSavedSearch: () => SavedSearch; + setDataView: (dataView: DataView) => void; }): DiscoverDataStateContainer { const { data, uiSettings, toastNotifications } = services; const { timefilter } = data.query.timefilter; @@ -226,7 +231,17 @@ export function getDataStateContainer({ }; } - const fetchQuery = (resetQuery?: boolean) => { + const fetchQuery = async (resetQuery?: boolean) => { + const query = getAppState().query; + const currentDataView = getSavedSearch().searchSource.getField('index'); + + if (isTextBasedQuery(query)) { + const nextDataView = await getDataViewByTextBasedQueryLang(query, currentDataView, services); + if (nextDataView !== currentDataView) { + setDataView(nextDataView); + } + } + if (resetQuery) { refetch$.next('reset'); } else { diff --git a/src/plugins/discover/public/application/main/services/discover_saved_search_container.test.ts b/src/plugins/discover/public/application/main/services/discover_saved_search_container.test.ts index fea276a4e1c86..bf74e58346ebf 100644 --- a/src/plugins/discover/public/application/main/services/discover_saved_search_container.test.ts +++ b/src/plugins/discover/public/application/main/services/discover_saved_search_container.test.ts @@ -6,17 +6,6 @@ * Side Public License, v 1. */ -import { SavedObjectSaveOpts } from '@kbn/saved-objects-plugin/public'; - -const mockSaveSavedSearch = jest.fn().mockResolvedValue('123'); -jest.mock('@kbn/saved-search-plugin/public', () => { - const actualPlugin = jest.requireActual('@kbn/saved-search-plugin/public'); - return { - ...actualPlugin, - saveSavedSearch: (val: SavedSearch, opts?: SavedObjectSaveOpts) => - mockSaveSavedSearch(val, opts), - }; -}); import { getSavedSearchContainer, isEqualSavedSearch } from './discover_saved_search_container'; import type { SavedSearch } from '@kbn/saved-search-plugin/public'; import { discoverServiceMock } from '../../../__mocks__/services'; @@ -92,32 +81,7 @@ describe('DiscoverSavedSearchContainer', () => { discoverServiceMock.data.search.searchSource.create = jest .fn() .mockReturnValue(savedSearchMock.searchSource); - discoverServiceMock.core.savedObjects.client.resolve = jest.fn().mockReturnValue({ - saved_object: { - attributes: { - kibanaSavedObjectMeta: { - searchSourceJSON: - '{"query":{"query":"","language":"kuery"},"filter":[],"indexRefName":"kibanaSavedObjectMeta.searchSourceJSON.index"}', - }, - title: 'The saved search that will save the world', - sort: [], - columns: ['test123'], - description: 'description', - hideChart: false, - }, - id: 'the-saved-search-id', - type: 'search', - references: [ - { - name: 'kibanaSavedObjectMeta.searchSourceJSON.index', - id: 'the-data-view-id', - type: 'index-pattern', - }, - ], - namespaces: ['default'], - }, - outcome: 'exactMatch', - }); + discoverServiceMock.savedSearch.get = jest.fn().mockReturnValue(savedSearchMock); it('loads a saved search', async () => { const savedSearchContainer = getSavedSearchContainer({ @@ -143,7 +107,10 @@ describe('DiscoverSavedSearchContainer', () => { }; await savedSearchContainer.persist(savedSearchToPersist, saveOptions); - expect(mockSaveSavedSearch).toHaveBeenCalledWith(savedSearchToPersist, saveOptions); + expect(discoverServiceMock.savedSearch.save).toHaveBeenCalledWith( + savedSearchToPersist, + saveOptions + ); }); it('sets the initial and current saved search to the persisted saved search', async () => { @@ -152,6 +119,9 @@ describe('DiscoverSavedSearchContainer', () => { ...savedSearch, title, }; + + discoverServiceMock.savedSearch.save = jest.fn().mockResolvedValue('123'); + const savedSearchContainer = getSavedSearchContainer({ services: discoverServiceMock, }); @@ -200,7 +170,7 @@ describe('DiscoverSavedSearchContainer', () => { }); it('Error thrown on persistence layer bubbling up, no changes to the initial saved search ', async () => { - mockSaveSavedSearch.mockImplementation(() => { + discoverServiceMock.savedSearch.save = jest.fn().mockImplementation(() => { throw new Error('oh-noes'); }); diff --git a/src/plugins/discover/public/application/main/services/discover_saved_search_container.ts b/src/plugins/discover/public/application/main/services/discover_saved_search_container.ts index 21bb8f626605c..cad0170cf874d 100644 --- a/src/plugins/discover/public/application/main/services/discover_saved_search_container.ts +++ b/src/plugins/discover/public/application/main/services/discover_saved_search_container.ts @@ -6,12 +6,7 @@ * Side Public License, v 1. */ -import { - getNewSavedSearch, - getSavedSearch, - SavedSearch, - saveSavedSearch, -} from '@kbn/saved-search-plugin/public'; +import { SavedSearch } from '@kbn/saved-search-plugin/public'; import { BehaviorSubject } from 'rxjs'; import type { DataView } from '@kbn/data-views-plugin/common'; import { SavedObjectSaveOpts } from '@kbn/saved-objects-plugin/public'; @@ -114,7 +109,7 @@ export function getSavedSearchContainer({ }: { services: DiscoverServices; }): DiscoverSavedSearchContainer { - const initialSavedSearch = getNewSavedSearch(services.data); + const initialSavedSearch = services.savedSearch.getNew(); const savedSearchInitial$ = new BehaviorSubject(initialSavedSearch); const savedSearchCurrent$ = new BehaviorSubject(copySavedSearch(initialSavedSearch)); const hasChanged$ = new BehaviorSubject(false); @@ -135,7 +130,7 @@ export function getSavedSearchContainer({ const newSavedSearch = async (nextDataView: DataView | undefined) => { addLog('[savedSearch] new', { nextDataView }); const dataView = nextDataView ?? getState().searchSource.getField('index'); - const nextSavedSearch = await getNewSavedSearch(services.data); + const nextSavedSearch = services.savedSearch.getNew(); nextSavedSearch.searchSource.setField('index', dataView); const newAppState = getDefaultAppState(nextSavedSearch, services); const nextSavedSearchToSet = updateSavedSearch({ @@ -151,12 +146,7 @@ export function getSavedSearchContainer({ addLog('[savedSearch] persist', { nextSavedSearch, saveOptions }); updateSavedSearch({ savedSearch: nextSavedSearch, services }, true); - const id = await saveSavedSearch( - nextSavedSearch, - saveOptions || {}, - services.core.savedObjects.client, - services.savedObjectsTagging - ); + const id = await services.savedSearch.save(nextSavedSearch, saveOptions || {}); if (id) { set(nextSavedSearch); @@ -191,12 +181,9 @@ export function getSavedSearchContainer({ const load = async (id: string, dataView: DataView | undefined): Promise => { addLog('[savedSearch] load', { id, dataView }); - const loadedSavedSearch = await getSavedSearch(id, { - search: services.data.search, - savedObjectsClient: services.core.savedObjects.client, - spaces: services.spaces, - savedObjectsTagging: services.savedObjectsTagging, - }); + + const loadedSavedSearch = await services.savedSearch.get(id); + if (!loadedSavedSearch.searchSource.getField('index') && dataView) { loadedSavedSearch.searchSource.setField('index', dataView); } diff --git a/src/plugins/discover/public/application/main/services/discover_state.test.ts b/src/plugins/discover/public/application/main/services/discover_state.test.ts index ec0db6bdc290d..928e3d431b65e 100644 --- a/src/plugins/discover/public/application/main/services/discover_state.test.ts +++ b/src/plugins/discover/public/application/main/services/discover_state.test.ts @@ -34,9 +34,17 @@ const startSync = (appState: DiscoverAppStateContainer) => { return stop; }; -async function getState(url: string, savedSearch?: SavedSearch) { +async function getState(url: string = '/', savedSearch?: SavedSearch) { const nextHistory = createBrowserHistory(); nextHistory.push(url); + + discoverServiceMock.dataViews.create = jest.fn().mockReturnValue({ + ...dataViewMock, + isPersisted: () => false, + id: 'ad-hoc-id', + title: 'test', + }); + const nextState = getDiscoverStateContainer({ services: discoverServiceMock, history: nextHistory, @@ -86,7 +94,7 @@ describe('Test discover state', () => { }); test('setting app state and syncing to URL', async () => { state.appState.update({ index: 'modified' }); - state.kbnUrlStateStorage.kbnUrlControls.flush(); + await new Promise(process.nextTick); expect(getCurrentUrl()).toMatchInlineSnapshot( `"/#?_a=(columns:!(default_column),index:modified,interval:auto,sort:!())"` ); @@ -171,7 +179,7 @@ describe('Test discover state with legacy migration', () => { }); }); -describe('createSearchSessionRestorationDataProvider', () => { +describe('Test createSearchSessionRestorationDataProvider', () => { let mockSavedSearch: SavedSearch = {} as unknown as SavedSearch; const history = createBrowserHistory(); const mockDataPlugin = dataPluginMock.createStartContract(); @@ -237,7 +245,17 @@ describe('createSearchSessionRestorationDataProvider', () => { }); }); -describe('actions', () => { +describe('Test discover searchSessionManager', () => { + test('getting the next session id', async () => { + const { state } = await getState(); + const nextId = 'id'; + discoverServiceMock.data.search.session.start = jest.fn(() => nextId); + state.actions.initializeAndSync(); + expect(state.searchSessionManager.getNextSearchSessionId()).toBe(nextId); + }); +}); + +describe('Test discover state actions', () => { beforeEach(async () => { discoverServiceMock.data.query.timefilter.timefilter.getTime = jest.fn(() => { return { from: 'now-15d', to: 'now' }; @@ -309,7 +327,7 @@ describe('actions', () => { const newSavedSearch = await state.actions.loadSavedSearch(); expect(newSavedSearch?.id).toBeUndefined(); const unsubscribe = state.actions.initializeAndSync(); - state.kbnUrlStateStorage.kbnUrlControls.flush(); + await new Promise(process.nextTick); expect(getCurrentUrl()).toMatchInlineSnapshot( `"/#?_g=(refreshInterval:(pause:!t,value:1000),time:(from:now-15d,to:now))&_a=(columns:!(default_column),index:the-data-view-id,interval:auto,sort:!())"` ); @@ -336,7 +354,7 @@ describe('actions', () => { const newSavedSearch = await state.actions.loadSavedSearch(); expect(newSavedSearch?.id).toBeUndefined(); const unsubscribe = state.actions.initializeAndSync(); - state.kbnUrlStateStorage.kbnUrlControls.flush(); + await new Promise(process.nextTick); expect(getCurrentUrl()).toMatchInlineSnapshot( `"/#?_g=(refreshInterval:(pause:!t,value:1000),time:(from:now-15d,to:now))&_a=(columns:!(default_column),index:the-data-view-id,interval:auto,sort:!())"` ); @@ -350,7 +368,7 @@ describe('actions', () => { const newSavedSearch = await state.actions.loadSavedSearch({ useAppState: true }); expect(newSavedSearch?.id).toBeUndefined(); const unsubscribe = state.actions.initializeAndSync(); - state.kbnUrlStateStorage.kbnUrlControls.flush(); + await new Promise(process.nextTick); expect(getCurrentUrl()).toMatchInlineSnapshot( `"/#?_a=(columns:!(bytes),index:the-data-view-id,interval:month,sort:!())&_g=()"` ); @@ -364,7 +382,7 @@ describe('actions', () => { const newSavedSearch = await state.actions.loadSavedSearch({ useAppState: true }); expect(newSavedSearch?.id).toBeUndefined(); const unsubscribe = state.actions.initializeAndSync(); - state.kbnUrlStateStorage.kbnUrlControls.flush(); + await new Promise(process.nextTick); expect(getCurrentUrl()).toMatchInlineSnapshot( `"/#?_a=(columns:!(bytes),index:the-data-view-id,interval:month,sort:!())&_g=()"` ); @@ -377,7 +395,7 @@ describe('actions', () => { savedSearchId: 'the-saved-search-id', }); const unsubscribe = state.actions.initializeAndSync(); - state.kbnUrlStateStorage.kbnUrlControls.flush(); + await new Promise(process.nextTick); expect(newSavedSearch?.id).toBe('the-saved-search-id'); expect(getCurrentUrl()).toMatchInlineSnapshot( `"/#?_g=(refreshInterval:(pause:!t,value:1000),time:(from:now-15d,to:now))&_a=(columns:!(default_column),index:the-data-view-id,interval:auto,sort:!())"` @@ -390,7 +408,7 @@ describe('actions', () => { const { state, getCurrentUrl } = await getState(url, savedSearchMock); await state.actions.loadSavedSearch({ savedSearchId: savedSearchMock.id, useAppState: true }); const unsubscribe = state.actions.initializeAndSync(); - state.kbnUrlStateStorage.kbnUrlControls.flush(); + await new Promise(process.nextTick); expect(getCurrentUrl()).toMatchInlineSnapshot( `"/#?_a=(columns:!(message),index:the-data-view-id,interval:month,sort:!())&_g=()"` ); @@ -523,23 +541,28 @@ describe('actions', () => { test('onChangeDataView', async () => { const { state, getCurrentUrl } = await getState('/', savedSearchMock); - await state.actions.loadSavedSearch({ savedSearchId: savedSearchMock.id }); - expect(state.savedSearchState.getState().searchSource.getField('index')!.id).toBe( - dataViewMock.id - ); - const unsubscribe = state.actions.initializeAndSync(); - state.kbnUrlStateStorage.kbnUrlControls.flush(); - expect(getCurrentUrl()).toMatchInlineSnapshot( - `"/#?_g=(refreshInterval:(pause:!t,value:1000),time:(from:now-15d,to:now))&_a=(columns:!(default_column),index:the-data-view-id,interval:auto,sort:!())"` - ); - await state.actions.onChangeDataView(dataViewComplexMock.id!); - await waitFor(() => { - expect(state.internalState.getState().dataView?.id).toBe(dataViewComplexMock.id); - }); - expect(state.appState.get().index).toBe(dataViewComplexMock.id); - expect(state.savedSearchState.getState().searchSource.getField('index')!.id).toBe( + const { actions, savedSearchState, dataState, appState } = state; + + await actions.loadSavedSearch({ savedSearchId: savedSearchMock.id }); + const unsubscribe = actions.initializeAndSync(); + await new Promise(process.nextTick); + // test initial state + expect(dataState.fetch).toHaveBeenCalledTimes(0); + expect(savedSearchState.getState().searchSource.getField('index')!.id).toBe(dataViewMock.id); + expect(getCurrentUrl()).toContain(dataViewMock.id); + + // change data view + await actions.onChangeDataView(dataViewComplexMock.id!); + await new Promise(process.nextTick); + + // test changed state, fetch should be called once and URL should be updated + expect(dataState.fetch).toHaveBeenCalledTimes(1); + expect(appState.get().index).toBe(dataViewComplexMock.id); + expect(savedSearchState.getState().searchSource.getField('index')!.id).toBe( dataViewComplexMock.id ); + // check if the changed data view is reflected in the URL + expect(getCurrentUrl()).toContain(dataViewComplexMock.id); unsubscribe(); }); test('onDataViewCreated - persisted data view', async () => { @@ -620,12 +643,6 @@ describe('actions', () => { }); test('onCreateDefaultAdHocDataView', async () => { - discoverServiceMock.dataViews.create = jest.fn().mockReturnValue({ - ...dataViewMock, - isPersisted: () => false, - id: 'ad-hoc-id', - title: 'test', - }); const { state } = await getState('/', savedSearchMock); await state.actions.loadSavedSearch({ savedSearchId: savedSearchMock.id }); const unsubscribe = state.actions.initializeAndSync(); @@ -639,7 +656,7 @@ describe('actions', () => { // Load a given persisted saved search await state.actions.loadSavedSearch({ savedSearchId: savedSearchMock.id }); const unsubscribe = state.actions.initializeAndSync(); - state.kbnUrlStateStorage.kbnUrlControls.flush(); + await new Promise(process.nextTick); const initialUrlState = '/#?_g=(refreshInterval:(pause:!t,value:1000),time:(from:now-15d,to:now))&_a=(columns:!(default_column),index:the-data-view-id,interval:auto,sort:!())'; expect(getCurrentUrl()).toBe(initialUrlState); @@ -647,7 +664,7 @@ describe('actions', () => { // Change the data view, this should change the URL and trigger a fetch await state.actions.onChangeDataView(dataViewComplexMock.id!); - state.kbnUrlStateStorage.kbnUrlControls.flush(); + await new Promise(process.nextTick); expect(getCurrentUrl()).toMatchInlineSnapshot( `"/#?_g=(refreshInterval:(pause:!t,value:1000),time:(from:now-15d,to:now))&_a=(columns:!(default_column),index:data-view-with-various-field-types-id,interval:auto,sort:!(!(data,desc)))"` ); @@ -658,7 +675,7 @@ describe('actions', () => { // Undo all changes to the saved search, this should trigger a fetch, again await state.actions.undoSavedSearchChanges(); - state.kbnUrlStateStorage.kbnUrlControls.flush(); + await new Promise(process.nextTick); expect(getCurrentUrl()).toBe(initialUrlState); await waitFor(() => { expect(state.dataState.fetch).toHaveBeenCalledTimes(2); diff --git a/src/plugins/discover/public/application/main/services/discover_state.ts b/src/plugins/discover/public/application/main/services/discover_state.ts index a8736bc82edde..24ca0e38a4d34 100644 --- a/src/plugins/discover/public/application/main/services/discover_state.ts +++ b/src/plugins/discover/public/application/main/services/discover_state.ts @@ -10,12 +10,12 @@ import { i18n } from '@kbn/i18n'; import { History } from 'history'; import { createKbnUrlStateStorage, - IKbnUrlStateStorage, StateContainer, withNotifyOnErrors, } from '@kbn/kibana-utils-plugin/public'; import { DataPublicPluginStart, + noSearchSessionStorageCapabilityMessage, QueryState, SearchSessionInfoProvider, } from '@kbn/data-plugin/public'; @@ -99,10 +99,6 @@ export interface DiscoverStateContainer { * Internal shared state that's used at several places in the UI */ internalState: DiscoverInternalStateContainer; - /** - * kbnUrlStateStorage - it keeps the state in sync with the URL - */ - kbnUrlStateStorage: IKbnUrlStateStorage; /** * State of saved search, the saved object of Discover */ @@ -169,11 +165,6 @@ export interface DiscoverStateContainer { * @param id - id of the data view */ onChangeDataView: (id: string) => Promise; - /** - * Triggered when an ad-hoc data view is persisted to allow sharing links and CSV - * @param dataView - */ - persistAdHocDataView: (dataView: DataView) => Promise; /** * Set the currently selected data view * @param dataView @@ -237,13 +228,6 @@ export function getDiscoverStateContainer({ */ const internalStateContainer = getInternalStateContainer(); - const dataStateContainer = getDataStateContainer({ - services, - searchSessionManager, - getAppState: appStateContainer.getState, - getSavedSearch: savedSearchContainer.getState, - }); - const pauseAutoRefreshInterval = async (dataView: DataView) => { if (dataView && (!dataView.isTimeBased() || dataView.type === DataViewType.ROLLUP)) { const state = stateStorage.get(GLOBAL_STATE_URL_KEY); @@ -256,13 +240,20 @@ export function getDiscoverStateContainer({ } } }; - const setDataView = (dataView: DataView) => { internalStateContainer.transitions.setDataView(dataView); pauseAutoRefreshInterval(dataView); savedSearchContainer.getState().searchSource.setField('index', dataView); }; + const dataStateContainer = getDataStateContainer({ + services, + searchSessionManager, + getAppState: appStateContainer.getState, + getSavedSearch: savedSearchContainer.getState, + setDataView, + }); + const loadDataViewList = async () => { const dataViewList = await services.dataViews.getIdsWithTitle(true); internalStateContainer.transitions.setSavedDataViews(dataViewList); @@ -324,18 +315,6 @@ export function getDiscoverStateContainer({ fetchData(); }; - const persistAdHocDataView = async (adHocDataView: DataView) => { - const persistedDataView = await services.dataViews.createAndSave({ - ...adHocDataView.toSpec(), - id: uuidv4(), - }); - services.dataViews.clearInstanceCache(adHocDataView.id); - updateFiltersReferences(adHocDataView, persistedDataView); - internalStateContainer.transitions.removeAdHocDataViewById(adHocDataView.id!); - await appStateContainer.update({ index: persistedDataView.id }, true); - return persistedDataView; - }; - const loadSavedSearch = async (params?: LoadParams): Promise => { return loadSavedSearchFn(params ?? {}, { appStateContainer, @@ -382,6 +361,23 @@ export function getDiscoverStateContainer({ fetchData(); }); + services.data.search.session.enableStorage( + createSearchSessionRestorationDataProvider({ + appStateContainer, + data: services.data, + getSavedSearch: () => savedSearchContainer.getState(), + }), + { + isDisabled: () => + services.capabilities.discover.storeSearchSession + ? { disabled: false } + : { + disabled: true, + reasonText: noSearchSessionStorageCapabilityMessage, + }, + } + ); + return () => { unsubscribeData(); appStateUnsubscribe(); @@ -448,7 +444,6 @@ export function getDiscoverStateContainer({ }; return { - kbnUrlStateStorage: stateStorage, appState: appStateContainer, internalState: internalStateContainer, dataState: dataStateContainer, @@ -465,7 +460,6 @@ export function getDiscoverStateContainer({ onDataViewEdited, onOpenSavedSearch, onUpdateQuery, - persistAdHocDataView, setDataView, undoSavedSearchChanges, updateAdHocDataViewId, diff --git a/src/plugins/discover/public/application/main/services/load_saved_search.ts b/src/plugins/discover/public/application/main/services/load_saved_search.ts index 5bae488754322..a4503b0a59e00 100644 --- a/src/plugins/discover/public/application/main/services/load_saved_search.ts +++ b/src/plugins/discover/public/application/main/services/load_saved_search.ts @@ -7,6 +7,7 @@ */ import type { SavedSearch } from '@kbn/saved-search-plugin/public'; import { cloneDeep, isEqual } from 'lodash'; +import { getDataViewByTextBasedQueryLang } from '../utils/get_data_view_by_text_based_query_lang'; import { isTextBasedQuery } from '../utils/is_text_based_query'; import { loadAndResolveDataView } from '../utils/resolve_data_view'; import { DiscoverInternalStateContainer } from './discover_internal_state_container'; @@ -151,6 +152,11 @@ const getStateDataView = async ( if (dataView) { return dataView; } + const query = appState?.query; + + if (isTextBasedQuery(query)) { + return await getDataViewByTextBasedQueryLang(query, dataView, services); + } const result = await loadAndResolveDataView( { diff --git a/src/plugins/discover/public/application/main/utils/get_data_view_by_text_based_query_lang.test.ts b/src/plugins/discover/public/application/main/utils/get_data_view_by_text_based_query_lang.test.ts new file mode 100644 index 0000000000000..3d12a3421e6c4 --- /dev/null +++ b/src/plugins/discover/public/application/main/utils/get_data_view_by_text_based_query_lang.test.ts @@ -0,0 +1,48 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 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 { getDataViewByTextBasedQueryLang } from './get_data_view_by_text_based_query_lang'; +import { dataViewAdHoc } from '../../../__mocks__/data_view_complex'; +import { dataViewMock } from '../../../__mocks__/data_view'; +import { discoverServiceMock } from '../../../__mocks__/services'; + +describe('getDataViewByTextBasedQueryLang', () => { + discoverServiceMock.dataViews.create = jest.fn().mockReturnValue({ + ...dataViewMock, + isPersisted: () => false, + id: 'ad-hoc-id', + title: 'test', + }); + const services = discoverServiceMock; + it('returns the current dataview if is adhoc and query has not changed', async () => { + const query = { sql: 'Select * from data-view-ad-hoc-title' }; + const dataView = await getDataViewByTextBasedQueryLang(query, dataViewAdHoc, services); + expect(dataView).toStrictEqual(dataViewAdHoc); + }); + + it('creates an adhoc dataview if the current dataview is persistent and query has not changed', async () => { + const query = { sql: 'Select * from the-data-view-title' }; + const dataView = await getDataViewByTextBasedQueryLang(query, dataViewMock, services); + expect(dataView.isPersisted()).toEqual(false); + expect(dataView.timeFieldName).toBe('@timestamp'); + }); + + it('creates an adhoc dataview if the current dataview is ad hoc and query has changed', async () => { + discoverServiceMock.dataViews.create = jest.fn().mockReturnValue({ + ...dataViewAdHoc, + isPersisted: () => false, + id: 'ad-hoc-id-1', + title: 'test-1', + timeFieldName: undefined, + }); + const query = { sql: 'Select * from the-data-view-title' }; + const dataView = await getDataViewByTextBasedQueryLang(query, dataViewAdHoc, services); + expect(dataView.isPersisted()).toEqual(false); + expect(dataView.timeFieldName).toBeUndefined(); + }); +}); diff --git a/src/plugins/discover/public/application/main/utils/get_data_view_by_text_based_query_lang.ts b/src/plugins/discover/public/application/main/utils/get_data_view_by_text_based_query_lang.ts new file mode 100644 index 0000000000000..3b38b95dfceb1 --- /dev/null +++ b/src/plugins/discover/public/application/main/utils/get_data_view_by_text_based_query_lang.ts @@ -0,0 +1,34 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ +import { AggregateQuery, getIndexPatternFromSQLQuery } from '@kbn/es-query'; +import { DataView } from '@kbn/data-views-plugin/common'; +import { DiscoverServices } from '../../../build_services'; + +export async function getDataViewByTextBasedQueryLang( + query: AggregateQuery, + currentDataView: DataView | undefined, + services: DiscoverServices +) { + const text = 'sql' in query ? query.sql : undefined; + + const indexPatternFromQuery = getIndexPatternFromSQLQuery(text); + if ( + currentDataView?.isPersisted() || + indexPatternFromQuery !== currentDataView?.getIndexPattern() + ) { + const dataViewObj = await services.dataViews.create({ + title: indexPatternFromQuery, + }); + + if (dataViewObj.fields.getByName('@timestamp')?.type === 'date') { + dataViewObj.timeFieldName = '@timestamp'; + } + return dataViewObj; + } + return currentDataView; +} diff --git a/src/plugins/discover/public/application/main/utils/resolve_data_view.ts b/src/plugins/discover/public/application/main/utils/resolve_data_view.ts index 7a7884e6295ad..d846f7b949513 100644 --- a/src/plugins/discover/public/application/main/utils/resolve_data_view.ts +++ b/src/plugins/discover/public/application/main/utils/resolve_data_view.ts @@ -123,7 +123,8 @@ export function resolveDataView( return ownDataView; } - if (stateVal && !stateValFound) { + // no warnings for text based mode + if (stateVal && !stateValFound && !Boolean(isTextBasedQuery)) { const warningTitle = i18n.translate('discover.valueIsNotConfiguredDataViewIDWarningTitle', { defaultMessage: '{stateVal} is not a configured data view ID', values: { @@ -146,20 +147,18 @@ export function resolveDataView( }); return ownDataView; } - if (!Boolean(isTextBasedQuery)) { - toastNotifications.addWarning({ - title: warningTitle, - text: i18n.translate('discover.showingDefaultDataViewWarningDescription', { - defaultMessage: - 'Showing the default data view: "{loadedDataViewTitle}" ({loadedDataViewId})', - values: { - loadedDataViewTitle: loadedDataView.getIndexPattern(), - loadedDataViewId: loadedDataView.id, - }, - }), - 'data-test-subj': 'dscDataViewNotFoundShowDefaultWarning', - }); - } + toastNotifications.addWarning({ + title: warningTitle, + text: i18n.translate('discover.showingDefaultDataViewWarningDescription', { + defaultMessage: + 'Showing the default data view: "{loadedDataViewTitle}" ({loadedDataViewId})', + values: { + loadedDataViewTitle: loadedDataView.getIndexPattern(), + loadedDataViewId: loadedDataView.id, + }, + }), + 'data-test-subj': 'dscDataViewNotFoundShowDefaultWarning', + }); } return loadedDataView; diff --git a/src/plugins/discover/public/build_services.ts b/src/plugins/discover/public/build_services.ts index d4b83c2a57b3c..f3cda1707d4a9 100644 --- a/src/plugins/discover/public/build_services.ts +++ b/src/plugins/discover/public/build_services.ts @@ -39,6 +39,7 @@ import { NavigationPublicPluginStart } from '@kbn/navigation-plugin/public'; import { IndexPatternFieldEditorStart } from '@kbn/data-view-field-editor-plugin/public'; import { FieldFormatsStart } from '@kbn/field-formats-plugin/public'; import { EmbeddableStart } from '@kbn/embeddable-plugin/public'; +import { SavedSearchPublicPluginStart } from '@kbn/saved-search-plugin/public'; import type { SpacesApi } from '@kbn/spaces-plugin/public'; import { DataViewEditorStart } from '@kbn/data-view-editor-plugin/public'; @@ -99,6 +100,7 @@ export interface DiscoverServices { charts: ChartsPluginStart; savedObjectsManagement: SavedObjectsManagementPluginStart; savedObjectsTagging?: SavedObjectsTaggingApi; + savedSearch: SavedSearchPublicPluginStart; unifiedSearch: UnifiedSearchPublicPluginStart; lens: LensPublicStart; } @@ -154,6 +156,7 @@ export const buildServices = memoize(function ( charts: plugins.charts, savedObjectsTagging: plugins.savedObjectsTaggingOss?.getTaggingApi(), savedObjectsManagement: plugins.savedObjectsManagement, + savedSearch: plugins.savedSearch, unifiedSearch: plugins.unifiedSearch, lens: plugins.lens, }; diff --git a/src/plugins/discover/public/components/discover_grid/discover_grid.scss b/src/plugins/discover/public/components/discover_grid/discover_grid.scss index a80f2cd6b5534..18fc15f024fa4 100644 --- a/src/plugins/discover/public/components/discover_grid/discover_grid.scss +++ b/src/plugins/discover/public/components/discover_grid/discover_grid.scss @@ -15,16 +15,12 @@ padding: 0; } - .dscDiscoverGrid__textLanguageMode .euiDataGridRowCell.euiDataGridRowCell--firstColumn { - padding: $euiSizeXS; - } - .euiDataGridRowCell.euiDataGridRowCell--lastColumn { border-right: none; } - .dscDiscoverGrid__documentsMode .euiDataGridRowCell:first-of-type, - .dscDiscoverGrid__documentsMode .euiDataGrid--headerShade.euiDataGrid--bordersAll .euiDataGridHeaderCell:first-of-type { + .dscDiscoverGrid__table .euiDataGridRowCell:first-of-type, + .dscDiscoverGrid__table .euiDataGrid--headerShade.euiDataGrid--bordersAll .euiDataGridHeaderCell:first-of-type { border-left: none; border-right: none; } diff --git a/src/plugins/discover/public/components/discover_grid/discover_grid.test.tsx b/src/plugins/discover/public/components/discover_grid/discover_grid.test.tsx index 97e951635288f..33f507b43333b 100644 --- a/src/plugins/discover/public/components/discover_grid/discover_grid.test.tsx +++ b/src/plugins/discover/public/components/discover_grid/discover_grid.test.tsx @@ -209,4 +209,27 @@ describe('DiscoverGrid', () => { expect(findTestSubject(component, 'gridEditFieldButton').exists()).toBe(false); }); }); + + describe('sorting', () => { + it('should enable in memory sorting with plain records', () => { + const component = getComponent({ + ...getProps(), + columns: ['message'], + isPlainRecord: true, + }); + + expect( + ( + findTestSubject(component, 'docTable') + .find('EuiDataGridInMemoryRenderer') + .first() + .props() as Record + ).inMemory + ).toMatchInlineSnapshot(` + Object { + "level": "sorting", + } + `); + }); + }); }); diff --git a/src/plugins/discover/public/components/discover_grid/discover_grid.tsx b/src/plugins/discover/public/components/discover_grid/discover_grid.tsx index 35c51ab4c996c..69748b449b05c 100644 --- a/src/plugins/discover/public/components/discover_grid/discover_grid.tsx +++ b/src/plugins/discover/public/components/discover_grid/discover_grid.tsx @@ -9,6 +9,8 @@ import React, { useCallback, useMemo, useState, useRef, useEffect } from 'react'; import classnames from 'classnames'; import { FormattedMessage } from '@kbn/i18n-react'; +import { of } from 'rxjs'; +import useObservable from 'react-use/lib/useObservable'; import './discover_grid.scss'; import { EuiDataGridSorting, @@ -23,9 +25,9 @@ import { } from '@elastic/eui'; import type { DataView } from '@kbn/data-views-plugin/public'; import type { SortOrder } from '@kbn/saved-search-plugin/public'; -import { Filter } from '@kbn/es-query'; +import type { AggregateQuery, Filter, Query } from '@kbn/es-query'; import { FieldFormatsStart } from '@kbn/field-formats-plugin/public'; -import { ToastsStart, IUiSettingsClient, HttpStart } from '@kbn/core/public'; +import type { ToastsStart, IUiSettingsClient, HttpStart, CoreStart } from '@kbn/core/public'; import { DataViewFieldEditorStart } from '@kbn/data-view-field-editor-plugin/public'; import { DocViewFilterFn } from '../../services/doc_views/doc_views_types'; import { getSchemaDetectors } from './discover_grid_schema'; @@ -52,6 +54,8 @@ import { useRowHeightsOptions } from '../../hooks/use_row_heights_options'; import { convertValueToString } from '../../utils/convert_value_to_string'; import { getRowsPerPageOptions, getDefaultRowsPerPage } from '../../utils/rows_per_page'; +const themeDefault = { darkMode: false }; + interface SortObj { id: string; direction: string; @@ -187,6 +191,10 @@ export interface DiscoverGridProps { * Filters applied by saved search embeddable */ filters?: Filter[]; + /** + * Query applied by KQL bar or text based editor + */ + query?: Query | AggregateQuery; /** * Saved search id used for links to single doc and surrounding docs in the flyout */ @@ -199,6 +207,7 @@ export interface DiscoverGridProps { * Service dependencies */ services: { + core: CoreStart; fieldFormats: FieldFormatsStart; addBasePath: HttpStart['basePath']['prepend']; uiSettings: IUiSettingsClient; @@ -219,6 +228,7 @@ export const DiscoverGrid = ({ expandedDoc, onAddColumn, filters, + query, savedSearchId, onFilter, onRemoveColumn, @@ -249,6 +259,7 @@ export const DiscoverGrid = ({ services, }: DiscoverGridProps) => { const { fieldFormats, toastNotifications, dataViewFieldEditor, uiSettings } = services; + const { darkMode } = useObservable(services.core.theme?.theme$ ?? of(themeDefault), themeDefault); const dataGridRef = useRef(null); const [selectedDocs, setSelectedDocs] = useState([]); const [isFilterActive, setIsFilterActive] = useState(false); @@ -351,13 +362,18 @@ export const DiscoverGrid = ({ */ const sortingColumns = useMemo(() => sort.map(([id, direction]) => ({ id, direction })), [sort]); + const [inmemorySortingColumns, setInmemorySortingColumns] = useState([]); const onTableSort = useCallback( (sortingColumnsData) => { - if (isSortEnabled && onSort) { - onSort(sortingColumnsData.map(({ id, direction }: SortObj) => [id, direction])); + if (isSortEnabled) { + if (isPlainRecord) { + setInmemorySortingColumns(sortingColumnsData); + } else if (onSort) { + onSort(sortingColumnsData.map(({ id, direction }: SortObj) => [id, direction])); + } } }, - [onSort, isSortEnabled] + [onSort, isSortEnabled, isPlainRecord, setInmemorySortingColumns] ); const showMultiFields = services.uiSettings.get(SHOW_MULTIFIELDS); @@ -426,6 +442,7 @@ export const DiscoverGrid = ({ showTimeCol, defaultColumns, isSortEnabled, + isPlainRecord, services: { uiSettings, toastNotifications, @@ -444,6 +461,7 @@ export const DiscoverGrid = ({ settings, defaultColumns, isSortEnabled, + isPlainRecord, uiSettings, toastNotifications, dataViewFieldEditor, @@ -468,10 +486,13 @@ export const DiscoverGrid = ({ ); const sorting = useMemo(() => { if (isSortEnabled) { - return { columns: sortingColumns, onSort: onTableSort }; + return { + columns: isPlainRecord ? inmemorySortingColumns : sortingColumns, + onSort: onTableSort, + }; } return { columns: sortingColumns, onSort: () => {} }; - }, [sortingColumns, onTableSort, isSortEnabled]); + }, [isSortEnabled, sortingColumns, isPlainRecord, inmemorySortingColumns, onTableSort]); const canSetExpandedDoc = Boolean(setExpandedDoc && DocumentView); @@ -571,7 +592,7 @@ export const DiscoverGrid = ({ rows: displayedRows, onFilter, dataView, - isDarkMode: services.uiSettings.get('theme:darkMode'), + isDarkMode: darkMode, selectedDocs: usedSelectedDocs, setSelectedDocs: (newSelectedDocs) => { setSelectedDocs(newSelectedDocs); @@ -590,11 +611,7 @@ export const DiscoverGrid = ({ data-title={searchTitle} data-description={searchDescription} data-document-number={displayedRows.length} - className={classnames( - className, - 'dscDiscoverGrid__table', - isPlainRecord ? 'dscDiscoverGrid__textLanguageMode' : 'dscDiscoverGrid__documentsMode' - )} + className={classnames(className, 'dscDiscoverGrid__table')} >
    @@ -659,6 +677,7 @@ export const DiscoverGrid = ({ onAddColumn={onAddColumn} onClose={() => setExpandedDoc(undefined)} setExpandedDoc={setExpandedDoc} + query={query} /> )} diff --git a/src/plugins/discover/public/components/discover_grid/discover_grid_columns.test.tsx b/src/plugins/discover/public/components/discover_grid/discover_grid_columns.test.tsx index fd7122fccbd95..c4c68bf0132d0 100644 --- a/src/plugins/discover/public/components/discover_grid/discover_grid_columns.test.tsx +++ b/src/plugins/discover/public/components/discover_grid/discover_grid_columns.test.tsx @@ -21,6 +21,7 @@ describe('Discover grid columns', function () { showTimeCol: false, defaultColumns: false, isSortEnabled: true, + isPlainRecord: false, valueToStringConverter: discoverGridContextMock.valueToStringConverter, rowsCount: 100, services: { @@ -140,6 +141,7 @@ describe('Discover grid columns', function () { showTimeCol: false, defaultColumns: true, isSortEnabled: true, + isPlainRecord: false, valueToStringConverter: discoverGridContextMock.valueToStringConverter, rowsCount: 100, services: { @@ -253,6 +255,7 @@ describe('Discover grid columns', function () { showTimeCol: true, defaultColumns: false, isSortEnabled: true, + isPlainRecord: false, valueToStringConverter: discoverGridContextMock.valueToStringConverter, rowsCount: 100, services: { @@ -429,4 +432,190 @@ describe('Discover grid columns', function () { ] `); }); + + it('returns eui grid with inmemory sorting', async () => { + const actual = getEuiGridColumns({ + columns: ['extension', 'message'], + settings: {}, + dataView: dataViewWithTimefieldMock, + showTimeCol: true, + defaultColumns: false, + isSortEnabled: true, + isPlainRecord: true, + valueToStringConverter: discoverGridContextMock.valueToStringConverter, + rowsCount: 100, + services: { + uiSettings: discoverServiceMock.uiSettings, + toastNotifications: discoverServiceMock.toastNotifications, + }, + hasEditDataViewPermission: () => + discoverServiceMock.dataViewFieldEditor.userPermissions.editIndexPattern(), + onFilter: () => {}, + }); + expect(actual).toMatchInlineSnapshot(` + Array [ + Object { + "actions": Object { + "additional": Array [ + Object { + "data-test-subj": "gridCopyColumnNameToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", + }, + Object { + "data-test-subj": "gridCopyColumnValuesToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", + }, + ], + "showHide": false, + "showMoveLeft": true, + "showMoveRight": true, + }, + "cellActions": Array [ + [Function], + [Function], + [Function], + ], + "display":
    + + + timestamp + + + + +
    , + "displayAsText": "timestamp", + "id": "timestamp", + "initialWidth": 210, + "isSortable": true, + "schema": "datetime", + }, + Object { + "actions": Object { + "additional": Array [ + Object { + "data-test-subj": "gridCopyColumnNameToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", + }, + Object { + "data-test-subj": "gridCopyColumnValuesToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", + }, + ], + "showHide": Object { + "iconType": "cross", + "label": "Remove column", + }, + "showMoveLeft": true, + "showMoveRight": true, + }, + "cellActions": Array [ + [Function], + [Function], + [Function], + ], + "displayAsText": "extension", + "id": "extension", + "isSortable": true, + "schema": "string", + }, + Object { + "actions": Object { + "additional": Array [ + Object { + "data-test-subj": "gridCopyColumnNameToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", + }, + Object { + "data-test-subj": "gridCopyColumnValuesToClipBoardButton", + "iconProps": Object { + "size": "m", + }, + "iconType": "copyClipboard", + "label": , + "onClick": [Function], + "size": "xs", + }, + ], + "showHide": Object { + "iconType": "cross", + "label": "Remove column", + }, + "showMoveLeft": true, + "showMoveRight": true, + }, + "cellActions": Array [ + [Function], + ], + "displayAsText": "message", + "id": "message", + "isSortable": true, + "schema": "string", + }, + ] + `); + }); }); diff --git a/src/plugins/discover/public/components/discover_grid/discover_grid_columns.tsx b/src/plugins/discover/public/components/discover_grid/discover_grid_columns.tsx index 6e4c0ec619e2b..b341d6236d235 100644 --- a/src/plugins/discover/public/components/discover_grid/discover_grid_columns.tsx +++ b/src/plugins/discover/public/components/discover_grid/discover_grid_columns.tsx @@ -65,6 +65,7 @@ function buildEuiGridColumn({ dataView, defaultColumns, isSortEnabled, + isPlainRecord, toastNotifications, hasEditDataViewPermission, valueToStringConverter, @@ -77,6 +78,7 @@ function buildEuiGridColumn({ dataView: DataView; defaultColumns: boolean; isSortEnabled: boolean; + isPlainRecord?: boolean; toastNotifications: ToastsStart; hasEditDataViewPermission: () => boolean; valueToStringConverter: ValueToStringConverter; @@ -99,7 +101,7 @@ function buildEuiGridColumn({ const column: EuiDataGridColumn = { id: columnName, schema: getSchemaByKbnType(dataViewField?.type), - isSortable: isSortEnabled && dataViewField?.sortable === true, + isSortable: isSortEnabled && (isPlainRecord || dataViewField?.sortable === true), displayAsText: columnDisplayName, actions: { showHide: @@ -176,6 +178,7 @@ export function getEuiGridColumns({ showTimeCol, defaultColumns, isSortEnabled, + isPlainRecord, services, hasEditDataViewPermission, valueToStringConverter, @@ -189,6 +192,7 @@ export function getEuiGridColumns({ showTimeCol: boolean; defaultColumns: boolean; isSortEnabled: boolean; + isPlainRecord?: boolean; services: { uiSettings: IUiSettingsClient; toastNotifications: ToastsStart; @@ -213,6 +217,7 @@ export function getEuiGridColumns({ dataView, defaultColumns, isSortEnabled, + isPlainRecord, toastNotifications: services.toastNotifications, hasEditDataViewPermission, valueToStringConverter, diff --git a/src/plugins/discover/public/components/discover_grid/discover_grid_flyout.test.tsx b/src/plugins/discover/public/components/discover_grid/discover_grid_flyout.test.tsx index bdda6d80436c8..22ed742dd3f94 100644 --- a/src/plugins/discover/public/components/discover_grid/discover_grid_flyout.test.tsx +++ b/src/plugins/discover/public/components/discover_grid/discover_grid_flyout.test.tsx @@ -9,6 +9,7 @@ import React from 'react'; import { findTestSubject } from '@elastic/eui/lib/test'; import { mountWithIntl } from '@kbn/test-jest-helpers'; +import type { Query, AggregateQuery } from '@kbn/es-query'; import { DiscoverGridFlyout, DiscoverGridFlyoutProps } from './discover_grid_flyout'; import { esHits } from '../../__mocks__/es_hits'; import { createFilterManagerMock } from '@kbn/data-plugin/public/query/filter_manager/filter_manager.mock'; @@ -40,10 +41,12 @@ describe('Discover flyout', function () { dataView, hits, hitIndex, + query, }: { dataView?: DataView; hits?: DataTableRecord[]; hitIndex?: number; + query?: Query | AggregateQuery; }) => { const onClose = jest.fn(); const services = { @@ -71,6 +74,7 @@ describe('Discover flyout', function () { hits: hits || esHits.map((entry: EsHitRecord) => buildDataTableRecord(entry, dataView || dataViewMock)), + query, onAddColumn: jest.fn(), onClose, onFilter: jest.fn(), @@ -192,4 +196,14 @@ describe('Discover flyout', function () { findTestSubject(component, 'docTableDetailsFlyout').simulate('keydown', { key: 'ArrowRight' }); expect(props.setExpandedDoc).not.toHaveBeenCalled(); }); + + it('should not render single/surrounding views for text based', async () => { + const { component } = await mountComponent({ + query: { sql: 'Select * from indexpattern' }, + }); + const singleDocumentView = findTestSubject(component, 'docTableRowAction'); + expect(singleDocumentView.length).toBeFalsy(); + const flyoutTitle = findTestSubject(component, 'docTableRowDetailsTitle'); + expect(flyoutTitle.text()).toBe('Expanded row'); + }); }); diff --git a/src/plugins/discover/public/components/discover_grid/discover_grid_flyout.tsx b/src/plugins/discover/public/components/discover_grid/discover_grid_flyout.tsx index ade63023dd7bc..b2ff52600793f 100644 --- a/src/plugins/discover/public/components/discover_grid/discover_grid_flyout.tsx +++ b/src/plugins/discover/public/components/discover_grid/discover_grid_flyout.tsx @@ -25,16 +25,18 @@ import { EuiHideFor, keys, } from '@elastic/eui'; -import { Filter } from '@kbn/es-query'; +import type { Filter, Query, AggregateQuery } from '@kbn/es-query'; import { DocViewer } from '../../services/doc_views/components/doc_viewer/doc_viewer'; import { DocViewFilterFn } from '../../services/doc_views/doc_views_types'; import { useNavigationProps } from '../../hooks/use_navigation_props'; import { useDiscoverServices } from '../../hooks/use_discover_services'; +import { isTextBasedQuery } from '../../application/main/utils/is_text_based_query'; import type { DataTableRecord } from '../../types'; export interface DiscoverGridFlyoutProps { savedSearchId?: string; filters?: Filter[]; + query?: Query | AggregateQuery; columns: string[]; hit: DataTableRecord; hits?: DataTableRecord[]; @@ -61,6 +63,7 @@ export function DiscoverGridFlyout({ columns, savedSearchId, filters, + query, onFilter, onClose, onRemoveColumn, @@ -68,6 +71,7 @@ export function DiscoverGridFlyout({ setExpandedDoc, }: DiscoverGridFlyoutProps) { const services = useDiscoverServices(); + const isPlainRecord = isTextBasedQuery(query); // Get actual hit with updated highlighted searches const actualHit = useMemo(() => hits?.find(({ id }) => id === hit?.id) || hit, [hit, hits]); const pageCount = useMemo(() => (hits ? hits.length : 0), [hits]); @@ -120,80 +124,88 @@ export function DiscoverGridFlyout({ data-test-subj="docTableRowDetailsTitle" >

    - {i18n.translate('discover.grid.tableRow.detailHeading', { - defaultMessage: 'Expanded document', - })} + {isPlainRecord + ? i18n.translate('discover.grid.tableRow.textBasedDetailHeading', { + defaultMessage: 'Expanded row', + }) + : i18n.translate('discover.grid.tableRow.detailHeading', { + defaultMessage: 'Expanded document', + })}

    - - - - - {i18n.translate('discover.grid.tableRow.viewText', { - defaultMessage: 'View:', - })} - - - - - - {/* eslint-disable-next-line @elastic/eui/href-or-on-click */} - - {i18n.translate('discover.grid.tableRow.viewSingleDocumentLinkTextSimple', { - defaultMessage: 'Single document', - })} - - - {dataView.isTimeBased() && dataView.id && ( - + {!isPlainRecord && ( + <> + + + + + {i18n.translate('discover.grid.tableRow.viewText', { + defaultMessage: 'View:', + })} + + + + {/* eslint-disable-next-line @elastic/eui/href-or-on-click */} - {i18n.translate( - 'discover.grid.tableRow.viewSurroundingDocumentsLinkTextSimple', - { - defaultMessage: 'Surrounding documents', - } - )} + {i18n.translate('discover.grid.tableRow.viewSingleDocumentLinkTextSimple', { + defaultMessage: 'Single document', + })} - - - - + {dataView.isTimeBased() && dataView.id && ( + + + {/* eslint-disable-next-line @elastic/eui/href-or-on-click */} + + {i18n.translate( + 'discover.grid.tableRow.viewSurroundingDocumentsLinkTextSimple', + { + defaultMessage: 'Surrounding documents', + } + )} + + + + + + + )} + )} {activePage !== -1 && ( @@ -236,6 +248,7 @@ export function DiscoverGridFlyout({ }) ); }} + textBasedHits={isPlainRecord ? hits : undefined} /> diff --git a/src/plugins/discover/public/components/doc_table/components/table_row.test.tsx b/src/plugins/discover/public/components/doc_table/components/table_row.test.tsx index 0ada6a3c09ed5..d6a94a5e766f0 100644 --- a/src/plugins/discover/public/components/doc_table/components/table_row.test.tsx +++ b/src/plugins/discover/public/components/doc_table/components/table_row.test.tsx @@ -132,5 +132,17 @@ describe('Doc table row component', () => { toggleButton.simulate('click'); expect(findTestSubject(component, 'docTableRowDetailsTitle').exists()).toBeTruthy(); }); + + it('should hide the single/surrounding views for text based languages', () => { + const props = { + ...defaultProps, + isPlainRecord: true, + }; + const component = mountComponent(props); + const toggleButton = findTestSubject(component, 'docTableExpandToggleColumn'); + toggleButton.simulate('click'); + expect(findTestSubject(component, 'docTableRowDetailsTitle').text()).toBe('Expanded row'); + expect(findTestSubject(component, 'docTableRowAction').length).toBeFalsy(); + }); }); }); diff --git a/src/plugins/discover/public/components/doc_table/components/table_row.tsx b/src/plugins/discover/public/components/doc_table/components/table_row.tsx index 34ceaa1d5c5e9..fe1dd59e825b5 100644 --- a/src/plugins/discover/public/components/doc_table/components/table_row.tsx +++ b/src/plugins/discover/public/components/doc_table/components/table_row.tsx @@ -31,8 +31,10 @@ export interface TableRowProps { columns: string[]; filter: DocViewFilterFn; filters?: Filter[]; + isPlainRecord?: boolean; savedSearchId?: string; row: DataTableRecord; + rows: DataTableRecord[]; dataView: DataView; useNewFieldsApi: boolean; shouldShowFieldHandler: ShouldShowFieldInTableHandler; @@ -43,10 +45,12 @@ export interface TableRowProps { export const TableRow = ({ filters, + isPlainRecord, columns, filter, savedSearchId, row, + rows, dataView, useNewFieldsApi, shouldShowFieldHandler, @@ -212,6 +216,7 @@ export const TableRow = ({ columns={columns} filters={filters} savedSearchId={savedSearchId} + isPlainRecord={isPlainRecord} > )} diff --git a/src/plugins/discover/public/components/doc_table/components/table_row_details.tsx b/src/plugins/discover/public/components/doc_table/components/table_row_details.tsx index 08ebd3072b17e..1ef01a7094ef9 100644 --- a/src/plugins/discover/public/components/doc_table/components/table_row_details.tsx +++ b/src/plugins/discover/public/components/doc_table/components/table_row_details.tsx @@ -23,6 +23,7 @@ interface TableRowDetailsProps { dataView: DataView; filters?: Filter[]; savedSearchId?: string; + isPlainRecord?: boolean; } export const TableRowDetails = ({ @@ -35,6 +36,7 @@ export const TableRowDetails = ({ columns, filters, savedSearchId, + isPlainRecord, }: TableRowDetailsProps) => { const { singleDocHref, contextViewHref, onOpenSingleDoc, onOpenContextView } = useNavigationProps( { @@ -58,55 +60,65 @@ export const TableRowDetails = ({

    - + {isPlainRecord && ( + + )} + {!isPlainRecord && ( + + )}

    - - - - {isTimeBased && ( - /* eslint-disable-next-line @elastic/eui/href-or-on-click */ + {!isPlainRecord && ( + + + + {isTimeBased && ( + /* eslint-disable-next-line @elastic/eui/href-or-on-click */ + + + + )} + + + {/* eslint-disable-next-line @elastic/eui/href-or-on-click */} - )} - - - {/* eslint-disable-next-line @elastic/eui/href-or-on-click */} - - - - - - + + + + )}
    {children}
    diff --git a/src/plugins/discover/public/components/doc_table/create_doc_table_embeddable.tsx b/src/plugins/discover/public/components/doc_table/create_doc_table_embeddable.tsx index d629c6f61f469..e45faec8cbaa1 100644 --- a/src/plugins/discover/public/components/doc_table/create_doc_table_embeddable.tsx +++ b/src/plugins/discover/public/components/doc_table/create_doc_table_embeddable.tsx @@ -32,6 +32,7 @@ export function DiscoverDocTableEmbeddable(renderProps: DocTableEmbeddableProps) searchDescription={renderProps.searchDescription} sharedItemTitle={renderProps.sharedItemTitle} isLoading={renderProps.isLoading} + isPlainRecord={renderProps.isPlainRecord} dataTestSubj="embeddedSavedSearchDocTable" DocViewer={DocViewer} /> diff --git a/src/plugins/discover/public/components/doc_table/doc_table_wrapper.tsx b/src/plugins/discover/public/components/doc_table/doc_table_wrapper.tsx index 23558a4979490..b824a70ceb862 100644 --- a/src/plugins/discover/public/components/doc_table/doc_table_wrapper.tsx +++ b/src/plugins/discover/public/components/doc_table/doc_table_wrapper.tsx @@ -61,6 +61,11 @@ export interface DocTableProps { * Filters applied by embeddalbe */ filters?: Filter[]; + /** + * Flag which identifies if Discover operates + * in text based mode (ESQL) + */ + isPlainRecord?: boolean; /** * Saved search id */ @@ -114,6 +119,7 @@ export const DocTableWrapper = forwardRef( render, columns, filters, + isPlainRecord, savedSearchId, rows, dataView, @@ -187,6 +193,8 @@ export const DocTableWrapper = forwardRef( onAddColumn={onAddColumn} onRemoveColumn={onRemoveColumn} DocViewer={DocViewer} + isPlainRecord={isPlainRecord} + rows={rows} /> )); }, @@ -201,6 +209,8 @@ export const DocTableWrapper = forwardRef( onAddColumn, onRemoveColumn, DocViewer, + isPlainRecord, + rows, ] ); diff --git a/src/plugins/discover/public/embeddable/saved_search_embeddable.test.ts b/src/plugins/discover/public/embeddable/saved_search_embeddable.test.ts index a797a78ba6875..96edd34596706 100644 --- a/src/plugins/discover/public/embeddable/saved_search_embeddable.test.ts +++ b/src/plugins/discover/public/embeddable/saved_search_embeddable.test.ts @@ -9,7 +9,8 @@ import { ReactElement } from 'react'; import { FilterManager } from '@kbn/data-plugin/public'; import { createFilterManagerMock } from '@kbn/data-plugin/public/query/filter_manager/filter_manager.mock'; -import { getSavedSearchUrl, SearchInput } from '..'; +import { SearchInput } from '..'; +import { getSavedSearchUrl } from '@kbn/saved-search-plugin/public'; import { DiscoverServices } from '../build_services'; import { dataViewMock } from '../__mocks__/data_view'; import { discoverServiceMock } from '../__mocks__/services'; diff --git a/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx b/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx index 1317916588184..eb6788f9bfe7e 100644 --- a/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx +++ b/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx @@ -258,7 +258,7 @@ export class SavedSearchEmbeddable this.searchProps!.isLoading = false; this.searchProps!.isPlainRecord = true; this.searchProps!.showTimeCol = false; - this.searchProps!.isSortEnabled = false; + this.searchProps!.isSortEnabled = true; return; } @@ -556,10 +556,13 @@ export class SavedSearchEmbeddable return; } const useLegacyTable = this.services.uiSettings.get(DOC_TABLE_LEGACY); + const query = this.savedSearch.searchSource.getField('query'); + const props = { savedSearch: this.savedSearch, searchProps, useLegacyTable, + query, }; if (searchProps.services) { ReactDOM.render( diff --git a/src/plugins/discover/public/embeddable/saved_search_embeddable_component.tsx b/src/plugins/discover/public/embeddable/saved_search_embeddable_component.tsx index f19dff31b8c0a..03ab602cd760a 100644 --- a/src/plugins/discover/public/embeddable/saved_search_embeddable_component.tsx +++ b/src/plugins/discover/public/embeddable/saved_search_embeddable_component.tsx @@ -7,15 +7,17 @@ */ import React from 'react'; - +import { AggregateQuery, Query } from '@kbn/es-query'; import { DiscoverGridEmbeddable, DiscoverGridEmbeddableProps } from './saved_search_grid'; import { DiscoverDocTableEmbeddable } from '../components/doc_table/create_doc_table_embeddable'; import { DocTableEmbeddableProps } from '../components/doc_table/doc_table_embeddable'; +import { isTextBasedQuery } from '../application/main/utils/is_text_based_query'; import { SearchProps } from './saved_search_embeddable'; interface SavedSearchEmbeddableComponentProps { searchProps: SearchProps; useLegacyTable: boolean; + query?: AggregateQuery | Query; } const DiscoverDocTableEmbeddableMemoized = React.memo(DiscoverDocTableEmbeddable); @@ -24,14 +26,22 @@ const DiscoverGridEmbeddableMemoized = React.memo(DiscoverGridEmbeddable); export function SavedSearchEmbeddableComponent({ searchProps, useLegacyTable, + query, }: SavedSearchEmbeddableComponentProps) { if (useLegacyTable) { - return ; + const isPlainRecord = isTextBasedQuery(query); + return ( + + ); } return ( ); diff --git a/src/plugins/discover/public/embeddable/saved_search_grid.tsx b/src/plugins/discover/public/embeddable/saved_search_grid.tsx index 21514a61c87a9..8428d6a488fbc 100644 --- a/src/plugins/discover/public/embeddable/saved_search_grid.tsx +++ b/src/plugins/discover/public/embeddable/saved_search_grid.tsx @@ -29,7 +29,7 @@ export function DiscoverGridEmbeddable(props: DiscoverGridEmbeddableProps) { > diff --git a/src/plugins/discover/public/embeddable/search_embeddable_factory.test.ts b/src/plugins/discover/public/embeddable/search_embeddable_factory.test.ts index fa621879df591..09d851e329767 100644 --- a/src/plugins/discover/public/embeddable/search_embeddable_factory.test.ts +++ b/src/plugins/discover/public/embeddable/search_embeddable_factory.test.ts @@ -8,18 +8,10 @@ import { discoverServiceMock } from '../__mocks__/services'; import { SearchEmbeddableFactory, type StartServices } from './search_embeddable_factory'; -import { getSavedSearch } from '@kbn/saved-search-plugin/public'; import { createSearchSourceMock } from '@kbn/data-plugin/public/mocks'; import { dataViewMock } from '../__mocks__/data_view'; import { ErrorEmbeddable } from '@kbn/embeddable-plugin/public'; -jest.mock('@kbn/saved-search-plugin/public', () => { - return { - ...jest.requireActual('@kbn/saved-search-plugin/public'), - getSavedSearch: jest.fn(), - }; -}); - jest.mock('@kbn/embeddable-plugin/public', () => { return { ...jest.requireActual('@kbn/embeddable-plugin/public'), @@ -35,7 +27,6 @@ const input = { rowsPerPage: 50, }; -const getSavedSearchMock = getSavedSearch as unknown as jest.Mock; const ErrorEmbeddableMock = ErrorEmbeddable as unknown as jest.Mock; describe('SearchEmbeddableFactory', () => { @@ -45,7 +36,9 @@ describe('SearchEmbeddableFactory', () => { sort: [['message', 'asc']] as Array<[string, string]>, searchSource: createSearchSourceMock({ index: dataViewMock }, undefined), }; - getSavedSearchMock.mockResolvedValue(savedSearchMock); + + const mockGet = jest.fn().mockResolvedValue(savedSearchMock); + discoverServiceMock.savedSearch.get = mockGet; const factory = new SearchEmbeddableFactory( () => Promise.resolve({ executeTriggerActions: jest.fn() } as unknown as StartServices), @@ -53,12 +46,13 @@ describe('SearchEmbeddableFactory', () => { ); const embeddable = await factory.createFromSavedObject('saved-object-id', input); - expect(getSavedSearchMock.mock.calls[0][0]).toEqual('saved-object-id'); + expect(mockGet.mock.calls[0][0]).toEqual('saved-object-id'); expect(embeddable).toBeDefined(); }); it('should throw an error when saved search could not be found', async () => { - getSavedSearchMock.mockRejectedValue('Could not find saved search'); + const mockGet = jest.fn().mockRejectedValue('Could not find saved search'); + discoverServiceMock.savedSearch.get = mockGet; const factory = new SearchEmbeddableFactory( () => Promise.resolve({ executeTriggerActions: jest.fn() } as unknown as StartServices), diff --git a/src/plugins/discover/public/embeddable/search_embeddable_factory.ts b/src/plugins/discover/public/embeddable/search_embeddable_factory.ts index bdf0371aceaa8..695a1e830115f 100644 --- a/src/plugins/discover/public/embeddable/search_embeddable_factory.ts +++ b/src/plugins/discover/public/embeddable/search_embeddable_factory.ts @@ -16,11 +16,7 @@ import { import type { TimeRange } from '@kbn/es-query'; -import { - getSavedSearch, - getSavedSearchUrl, - throwErrorOnSavedSearchUrlConflict, -} from '@kbn/saved-search-plugin/public'; +import { getSavedSearchUrl } from '@kbn/saved-search-plugin/public'; import { SearchInput, SearchOutput } from './types'; import { SEARCH_EMBEDDABLE_TYPE } from './constants'; import { SavedSearchEmbeddable } from './saved_search_embeddable'; @@ -72,14 +68,7 @@ export class SearchEmbeddableFactory const url = getSavedSearchUrl(savedObjectId); const editUrl = services.addBasePath(`/app/discover${url}`); try { - const savedSearch = await getSavedSearch(savedObjectId, { - search: services.data.search, - savedObjectsClient: services.core.savedObjects.client, - spaces: services.spaces, - savedObjectsTagging: services.savedObjectsTagging, - }); - - await throwErrorOnSavedSearchUrlConflict(savedSearch); + const savedSearch = await services.savedSearch.get(savedObjectId); const dataView = savedSearch.searchSource.getField('index'); const { executeTriggerActions } = await this.getStartServices(); diff --git a/src/plugins/discover/public/hooks/use_confirm_persistence_prompt.test.tsx b/src/plugins/discover/public/hooks/use_confirm_persistence_prompt.test.tsx deleted file mode 100644 index 127d0b90d71c9..0000000000000 --- a/src/plugins/discover/public/hooks/use_confirm_persistence_prompt.test.tsx +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 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 type { DataView } from '@kbn/data-views-plugin/public'; -import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; -import { renderHook } from '@testing-library/react-hooks'; -import type { UiActionsStart } from '@kbn/ui-actions-plugin/public'; -import { discoverServiceMock as mockDiscoverServices } from '../__mocks__/services'; -import { useConfirmPersistencePrompt } from './use_confirm_persistence_prompt'; -import { getDiscoverStateMock } from '../__mocks__/discover_state.mock'; -import { setUiActions } from '../kibana_services'; - -jest.mock('./show_confirm_panel', () => { - return { - showConfirmPanel: ({ onConfirm }: { onConfirm: () => void }) => onConfirm(), - }; -}); - -const mockDataView = { - id: 'mock-id', - title: 'mock-title', - timeFieldName: 'mock-time-field-name', - isPersisted: () => false, - getName: () => 'mock-data-view', - toSpec: () => ({}), -} as DataView; - -setUiActions({ - getTrigger: jest.fn(() => {}), - getAction: jest.fn(() => ({ execute: jest.fn() })), -} as unknown as UiActionsStart); - -describe('useConfirmPersistencePrompt', () => { - it('should save data view correctly', async () => { - mockDiscoverServices.dataViews.createAndSave = jest.fn().mockResolvedValue(mockDataView); - const hook = renderHook( - (d: DataView) => useConfirmPersistencePrompt(getDiscoverStateMock({})), - { - initialProps: mockDataView, - wrapper: ({ children }) => ( - {children} - ), - } - ); - - const result = await hook.result.current.openConfirmSavePrompt(mockDataView); - - expect(mockDiscoverServices.dataViews.createAndSave).toHaveBeenCalled(); - expect(result).toEqual(mockDataView); - }); - - it('should show error toast if creation failed', async () => { - mockDiscoverServices.dataViews.createAndSave = jest - .fn() - .mockRejectedValue(new Error('failed to save')); - const hook = renderHook( - (d: DataView) => useConfirmPersistencePrompt(getDiscoverStateMock({})), - { - initialProps: mockDataView, - wrapper: ({ children }) => ( - {children} - ), - } - ); - - try { - await hook.result.current.openConfirmSavePrompt(mockDataView); - } catch (e) { - expect(mockDiscoverServices.toastNotifications.addDanger).toHaveBeenCalled(); - expect(e.message).toEqual('failed to save'); - } - }); -}); diff --git a/src/plugins/discover/public/hooks/use_confirm_persistence_prompt.ts b/src/plugins/discover/public/hooks/use_confirm_persistence_prompt.ts deleted file mode 100644 index 17aeb5bbeea37..0000000000000 --- a/src/plugins/discover/public/hooks/use_confirm_persistence_prompt.ts +++ /dev/null @@ -1,102 +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 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 { useCallback } from 'react'; -import { i18n } from '@kbn/i18n'; -import type { DataView } from '@kbn/data-views-plugin/public'; -import { SavedSearch } from '@kbn/saved-search-plugin/public'; -import { useDiscoverServices } from './use_discover_services'; -import { showConfirmPanel } from './show_confirm_panel'; -import { DiscoverStateContainer } from '../application/main/services/discover_state'; - -export const useConfirmPersistencePrompt = (stateContainer: DiscoverStateContainer) => { - const services = useDiscoverServices(); - - const persistDataView: (adHocDataView: DataView) => Promise = useCallback( - async (adHocDataView) => { - try { - const persistedDataView = await stateContainer.actions.persistAdHocDataView(adHocDataView); - - const message = i18n.translate('discover.dataViewPersist.message', { - defaultMessage: "Saved '{dataViewName}'", - values: { dataViewName: persistedDataView.getName() }, - }); - services.toastNotifications.addSuccess(message); - return persistedDataView; - } catch (error) { - services.toastNotifications.addDanger({ - title: i18n.translate('discover.dataViewPersistError.title', { - defaultMessage: 'Unable to create data view', - }), - text: error.message, - }); - throw new Error(error); - } - }, - [services.toastNotifications, stateContainer] - ); - - const openConfirmSavePrompt: (dataView: DataView) => Promise = useCallback( - async (dataView) => { - return new Promise((resolve) => - showConfirmPanel({ - onConfirm: () => - persistDataView(dataView) - .then((createdDataView) => resolve(createdDataView)) - .catch(() => resolve(undefined)), - onCancel: () => resolve(undefined), - }) - ); - }, - [persistDataView] - ); - - const onUpdateSuccess = useCallback( - (savedSearch: SavedSearch) => { - services.toastNotifications.addSuccess({ - title: i18n.translate('discover.notifications.updateSavedSearchTitle', { - defaultMessage: `Search '{savedSearchTitle}' updated with saved data view`, - values: { - savedSearchTitle: savedSearch.title, - }, - }), - 'data-test-subj': 'updateSearchSuccess', - }); - }, - [services.toastNotifications] - ); - - const onUpdateError = useCallback( - (error: Error, savedSearch: SavedSearch) => { - services.toastNotifications.addDanger({ - title: i18n.translate('discover.notifications.notUpdatedSavedSearchTitle', { - defaultMessage: `Search '{savedSearchTitle}' was not updated with savedDataView.`, - values: { - savedSearchTitle: savedSearch.title, - }, - }), - text: error.message, - }); - }, - [services.toastNotifications] - ); - - const updateSavedSearch = useCallback( - async ({ savedSearch }) => { - try { - await stateContainer.savedSearchState.persist(savedSearch); - onUpdateSuccess(savedSearch); - } catch (e) { - onUpdateError(e, savedSearch); - } - }, - [onUpdateError, onUpdateSuccess, stateContainer.savedSearchState] - ); - - return { openConfirmSavePrompt, updateSavedSearch }; -}; diff --git a/src/plugins/discover/public/hooks/use_es_doc_search.test.tsx b/src/plugins/discover/public/hooks/use_es_doc_search.test.tsx index 007512d235657..f095ae8bc3a24 100644 --- a/src/plugins/discover/public/hooks/use_es_doc_search.test.tsx +++ b/src/plugins/discover/public/hooks/use_es_doc_search.test.tsx @@ -286,4 +286,39 @@ describe('Test of helper / hook', () => { buildDataTableRecord(record), ]); }); + + test('useEsDocSearch for text based languages', async () => { + const dataView = { + getComputedFields: () => [], + getIndexPattern: () => index, + }; + const props = { + id: '1', + index: 'index1', + dataView, + textBasedHits: [ + { + id: '1', + raw: { field1: 1, field2: 2 }, + flattened: { field1: 1, field2: 2 }, + }, + ], + } as unknown as DocProps; + + const hook = renderHook((p: DocProps) => useEsDocSearch(p), { + initialProps: props, + wrapper: ({ children }) => ( + {children} + ), + }); + + expect(hook.result.current.slice(0, 2)).toEqual([ + ElasticRequestState.Found, + { + id: '1', + raw: { field1: 1, field2: 2 }, + flattened: { field1: 1, field2: 2 }, + }, + ]); + }); }); diff --git a/src/plugins/discover/public/hooks/use_es_doc_search.ts b/src/plugins/discover/public/hooks/use_es_doc_search.ts index f2a5e3b112371..59538bb62ebe1 100644 --- a/src/plugins/discover/public/hooks/use_es_doc_search.ts +++ b/src/plugins/discover/public/hooks/use_es_doc_search.ts @@ -27,6 +27,7 @@ export function useEsDocSearch({ index, dataView, requestSource, + textBasedHits, }: DocProps): [ElasticRequestState, DataTableRecord | null, () => void] { const [status, setStatus] = useState(ElasticRequestState.Loading); const [hit, setHit] = useState(null); @@ -65,8 +66,16 @@ export function useEsDocSearch({ }, [id, index, dataView, data.search, useNewFieldsApi, requestSource]); useEffect(() => { - requestData(); - }, [requestData]); + if (textBasedHits) { + const selectedHit = textBasedHits?.find((r) => r.id === id); + if (selectedHit) { + setStatus(ElasticRequestState.Found); + setHit(selectedHit); + } + } else { + requestData(); + } + }, [id, requestData, textBasedHits]); return [status, hit, requestData]; } diff --git a/src/plugins/discover/public/index.ts b/src/plugins/discover/public/index.ts index 6b3dc0999410e..cb90cc9931660 100644 --- a/src/plugins/discover/public/index.ts +++ b/src/plugins/discover/public/index.ts @@ -17,13 +17,3 @@ export function plugin(initializerContext: PluginInitializerContext) { export type { ISearchEmbeddable, SearchInput } from './embeddable'; export { SEARCH_EMBEDDABLE_TYPE } from './embeddable'; export { loadSharingDataHelpers } from './utils'; - -// re-export types and static functions to give other plugins time to migrate away -export { - type SavedSearch, - getSavedSearch, - getSavedSearchFullPathUrl, - getSavedSearchUrl, - getSavedSearchUrlConflictMessage, - throwErrorOnSavedSearchUrlConflict, -} from '@kbn/saved-search-plugin/public'; diff --git a/src/plugins/discover/public/plugin.tsx b/src/plugins/discover/public/plugin.tsx index 969ec70a104f2..e6c4d5e8552c3 100644 --- a/src/plugins/discover/public/plugin.tsx +++ b/src/plugins/discover/public/plugin.tsx @@ -39,6 +39,7 @@ import { DataViewEditorStart } from '@kbn/data-view-editor-plugin/public'; import { TriggersAndActionsUIPublicPluginStart } from '@kbn/triggers-actions-ui-plugin/public'; import type { SavedObjectTaggingOssPluginStart } from '@kbn/saved-objects-tagging-oss-plugin/public'; import type { SavedObjectsManagementPluginStart } from '@kbn/saved-objects-management-plugin/public'; +import type { SavedSearchPublicPluginStart } from '@kbn/saved-search-plugin/public'; import type { UnifiedSearchPublicPluginStart } from '@kbn/unified-search-plugin/public'; import { setStateToKbnUrl } from '@kbn/kibana-utils-plugin/public'; import type { LensPublicStart } from '@kbn/lens-plugin/public'; @@ -193,6 +194,7 @@ export interface DiscoverStartPlugins { expressions: ExpressionsStart; savedObjectsTaggingOss?: SavedObjectTaggingOssPluginStart; savedObjectsManagement: SavedObjectsManagementPluginStart; + savedSearch: SavedSearchPublicPluginStart; unifiedSearch: UnifiedSearchPublicPluginStart; lens: LensPublicStart; } @@ -262,22 +264,25 @@ export class DiscoverPlugin defaultMessage: 'JSON', }), order: 20, - component: ({ hit, dataView }) => ( - - - - } - > - - - ), + component: ({ hit, dataView, query, textBasedHits }) => { + return ( + + + + } + > + + + ); + }, }); const { diff --git a/src/plugins/discover/public/services/doc_views/components/doc_viewer_source/source.tsx b/src/plugins/discover/public/services/doc_views/components/doc_viewer_source/source.tsx index 98a242c20ea91..7a28934dab424 100644 --- a/src/plugins/discover/public/services/doc_views/components/doc_viewer_source/source.tsx +++ b/src/plugins/discover/public/services/doc_views/components/doc_viewer_source/source.tsx @@ -16,6 +16,7 @@ import { DataView } from '@kbn/data-views-plugin/public'; import { useDiscoverServices } from '../../../../hooks/use_discover_services'; import { JSONCodeEditorCommonMemoized } from '../../../../components/json_code_editor/json_code_editor_common'; import { DOC_TABLE_LEGACY, SEARCH_FIELDS_FROM_SOURCE } from '../../../../../common'; +import type { DataTableRecord } from '../../../../types'; import { useEsDocSearch } from '../../../../hooks/use_es_doc_search'; import { ElasticRequestState } from '../../../../application/doc/types'; import { getHeight } from './get_height'; @@ -24,6 +25,7 @@ interface SourceViewerProps { id: string; index: string; dataView: DataView; + textBasedHits?: DataTableRecord[]; hasLineNumbers: boolean; width?: number; } @@ -40,6 +42,7 @@ export const DocViewerSource = ({ dataView, width, hasLineNumbers, + textBasedHits, }: SourceViewerProps) => { const [editor, setEditor] = useState(); const [editorHeight, setEditorHeight] = useState(); @@ -52,6 +55,7 @@ export const DocViewerSource = ({ index, dataView, requestSource: useNewFieldsApi, + textBasedHits, }); useEffect(() => { diff --git a/src/plugins/discover/public/services/doc_views/doc_views_types.ts b/src/plugins/discover/public/services/doc_views/doc_views_types.ts index 80ee0c724edd1..c91285e144b38 100644 --- a/src/plugins/discover/public/services/doc_views/doc_views_types.ts +++ b/src/plugins/discover/public/services/doc_views/doc_views_types.ts @@ -7,6 +7,7 @@ */ import { DataView, DataViewField } from '@kbn/data-views-plugin/public'; +import type { AggregateQuery, Query } from '@kbn/es-query'; import { DataTableRecord } from '../../types'; import { IgnoredReason } from '../../utils/get_ignored_reason'; @@ -29,6 +30,8 @@ export interface DocViewRenderProps { hit: DataTableRecord; dataView: DataView; columns?: string[]; + query?: Query | AggregateQuery; + textBasedHits?: DataTableRecord[]; filter?: DocViewFilterFn; onAddColumn?: (columnName: string) => void; onRemoveColumn?: (columnName: string) => void; diff --git a/src/plugins/discover/public/utils/get_sharing_data.ts b/src/plugins/discover/public/utils/get_sharing_data.ts index c9c8dd5c7bb1c..0cc407a822163 100644 --- a/src/plugins/discover/public/utils/get_sharing_data.ts +++ b/src/plugins/discover/public/utils/get_sharing_data.ts @@ -107,7 +107,7 @@ export async function getSharingData( searchSource.setField('fields', fields); } - return searchSource.getSerializedFields(true); + return searchSource.getSerializedFields(true, false); }, columns, }; diff --git a/src/plugins/embeddable/public/lib/embeddables/embeddable.tsx b/src/plugins/embeddable/public/lib/embeddables/embeddable.tsx index 75c666d4e2903..695c23fa0a2e2 100644 --- a/src/plugins/embeddable/public/lib/embeddables/embeddable.tsx +++ b/src/plugins/embeddable/public/lib/embeddables/embeddable.tsx @@ -277,6 +277,11 @@ export abstract class Embeddable< } } + /** + * Call this **only** when your embeddable has encountered a non-recoverable error; recoverable errors + * should be handled by the individual embeddable types + * @param e The fatal, unrecoverable Error that was thrown + */ protected onFatalError(e: Error) { this.fatalError = e; this.outputSubject.error(e); diff --git a/src/plugins/embeddable/public/lib/panel/_embeddable_panel.scss b/src/plugins/embeddable/public/lib/panel/_embeddable_panel.scss index 5656bb7566775..c638310673996 100644 --- a/src/plugins/embeddable/public/lib/panel/_embeddable_panel.scss +++ b/src/plugins/embeddable/public/lib/panel/_embeddable_panel.scss @@ -19,6 +19,9 @@ flex: 1 1 100%; z-index: 1; min-height: 0; // Absolute must for Firefox to scroll contents + border-bottom-left-radius: $euiBorderRadius; + border-bottom-right-radius: $euiBorderRadius; + overflow: hidden; &[data-error] { display: none; diff --git a/src/plugins/es_ui_shared/__packages_do_not_import__/ace/use_ui_ace_keyboard_mode.tsx b/src/plugins/es_ui_shared/__packages_do_not_import__/ace/use_ui_ace_keyboard_mode.tsx index 97ff4011f9df0..528f3a68ca134 100644 --- a/src/plugins/es_ui_shared/__packages_do_not_import__/ace/use_ui_ace_keyboard_mode.tsx +++ b/src/plugins/es_ui_shared/__packages_do_not_import__/ace/use_ui_ace_keyboard_mode.tsx @@ -17,15 +17,19 @@ const OverlayText = () => ( // in this case // <> - Press Enter to start editing. + + Press Enter to start editing. + When you’re done, press Escape to stop editing. ); -export function useUIAceKeyboardMode(aceTextAreaElement: HTMLTextAreaElement | null) { +export function useUIAceKeyboardMode( + aceTextAreaElement: HTMLTextAreaElement | null, + isAccessibilityOverlayEnabled: boolean = true +) { const overlayMountNode = useRef(null); const autoCompleteVisibleRef = useRef(false); - useEffect(() => { function onDismissOverlay(event: KeyboardEvent) { if (event.key === keys.ENTER) { @@ -60,7 +64,7 @@ export function useUIAceKeyboardMode(aceTextAreaElement: HTMLTextAreaElement | n enableOverlay(); } }; - if (aceTextAreaElement) { + if (aceTextAreaElement && isAccessibilityOverlayEnabled) { // We don't control HTML elements inside of ace so we imperatively create an element // that acts as a container and insert it just before ace's textarea element // so that the overlay lives at the correct spot in the DOM hierarchy. @@ -86,7 +90,7 @@ export function useUIAceKeyboardMode(aceTextAreaElement: HTMLTextAreaElement | n aceTextAreaElement.addEventListener('keydown', aceKeydownListener); } return () => { - if (aceTextAreaElement) { + if (aceTextAreaElement && isAccessibilityOverlayEnabled) { document.removeEventListener('keydown', documentKeyDownListener, { capture: true }); aceTextAreaElement.removeEventListener('keydown', aceKeydownListener); const textAreaContainer = aceTextAreaElement.parentElement; @@ -95,5 +99,5 @@ export function useUIAceKeyboardMode(aceTextAreaElement: HTMLTextAreaElement | n } } }; - }, [aceTextAreaElement]); + }, [aceTextAreaElement, isAccessibilityOverlayEnabled]); } diff --git a/src/plugins/es_ui_shared/public/request/send_request.ts b/src/plugins/es_ui_shared/public/request/send_request.ts index 518ae5fb14bc6..ef224a69e08b7 100644 --- a/src/plugins/es_ui_shared/public/request/send_request.ts +++ b/src/plugins/es_ui_shared/public/request/send_request.ts @@ -18,6 +18,7 @@ export interface SendRequestConfig { * HttpFetchOptions#asSystemRequest. */ asSystemRequest?: boolean; + version?: string; } export interface SendRequestResponse { @@ -27,13 +28,14 @@ export interface SendRequestResponse { export const sendRequest = async ( httpClient: HttpSetup, - { path, method, body, query, asSystemRequest }: SendRequestConfig + { path, method, body, query, version, asSystemRequest }: SendRequestConfig ): Promise> => { try { const stringifiedBody = typeof body === 'string' ? body : JSON.stringify(body); const response = await httpClient[method]<{ data?: D } & D>(path, { body: stringifiedBody, query, + version, asSystemRequest, }); diff --git a/src/plugins/es_ui_shared/public/request/use_request.ts b/src/plugins/es_ui_shared/public/request/use_request.ts index d03ad222d20bf..095e02137c2d8 100644 --- a/src/plugins/es_ui_shared/public/request/use_request.ts +++ b/src/plugins/es_ui_shared/public/request/use_request.ts @@ -27,7 +27,16 @@ export interface UseRequestResponse { export const useRequest = ( httpClient: HttpSetup, - { path, method, query, body, pollIntervalMs, initialData, deserializer }: UseRequestConfig + { + path, + method, + query, + body, + pollIntervalMs, + initialData, + deserializer, + version, + }: UseRequestConfig ): UseRequestResponse => { const isMounted = useRef(false); @@ -60,10 +69,11 @@ export const useRequest = ( method, query: queryStringified ? query : undefined, body: bodyStringified ? body : undefined, + version, }; // queryStringified and bodyStringified stand in for query and body as dependencies. /* eslint-disable-next-line react-hooks/exhaustive-deps */ - }, [path, method, queryStringified, bodyStringified]); + }, [path, method, queryStringified, bodyStringified, version]); const resendRequest = useCallback( async (asSystemRequest?: boolean) => { diff --git a/src/plugins/es_ui_shared/static/forms/components/field.tsx b/src/plugins/es_ui_shared/static/forms/components/field.tsx index a6df98f32453f..56527bd702e78 100644 --- a/src/plugins/es_ui_shared/static/forms/components/field.tsx +++ b/src/plugins/es_ui_shared/static/forms/components/field.tsx @@ -28,6 +28,11 @@ import { SuperSelectField, ToggleField, JsonEditorField, + ButtonGroupField, + MultiButtonGroupField, + DatePickerField, + PasswordField, + HiddenField, } from './fields'; const mapTypeToFieldComponent: { [key: string]: ComponentType } = { @@ -43,6 +48,11 @@ const mapTypeToFieldComponent: { [key: string]: ComponentType } = { [FIELD_TYPES.SUPER_SELECT]: SuperSelectField, [FIELD_TYPES.TOGGLE]: ToggleField, [FIELD_TYPES.JSON]: JsonEditorField, + [FIELD_TYPES.BUTTON_GROUP]: ButtonGroupField, + [FIELD_TYPES.MULTI_BUTTON_GROUP]: MultiButtonGroupField, + [FIELD_TYPES.DATE_PICKER]: DatePickerField, + [FIELD_TYPES.PASSWORD]: PasswordField, + [FIELD_TYPES.HIDDEN]: HiddenField, }; export const Field = (props: Props) => { diff --git a/src/plugins/es_ui_shared/static/forms/components/fields/button_group_field.tsx b/src/plugins/es_ui_shared/static/forms/components/fields/button_group_field.tsx new file mode 100644 index 0000000000000..edd3ddffe45f3 --- /dev/null +++ b/src/plugins/es_ui_shared/static/forms/components/fields/button_group_field.tsx @@ -0,0 +1,50 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 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 { EuiButtonGroup, EuiButtonGroupOptionProps, EuiFormRow } from '@elastic/eui'; + +import { FieldHook, getFieldValidityAndErrorMessage } from '../../hook_form_lib'; + +interface Props { + field: FieldHook; + euiFieldProps: { + options: EuiButtonGroupOptionProps[]; + legend: string; + [key: string]: any; + }; + idAria?: string; + [key: string]: any; +} + +export const ButtonGroupField = ({ field, euiFieldProps, idAria, ...rest }: Props) => { + const { isInvalid, errorMessage } = getFieldValidityAndErrorMessage(field); + + return ( + + { + field.setValue(e); + }} + idSelected={field.value as string} + type="single" + data-test-subj="button-group" + {...euiFieldProps} + /> + + ); +}; diff --git a/src/plugins/es_ui_shared/static/forms/components/fields/date_picker_field.tsx b/src/plugins/es_ui_shared/static/forms/components/fields/date_picker_field.tsx new file mode 100644 index 0000000000000..9295f64d8ae05 --- /dev/null +++ b/src/plugins/es_ui_shared/static/forms/components/fields/date_picker_field.tsx @@ -0,0 +1,46 @@ +/* + * Copyright 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 { Moment } from 'moment'; +import { EuiDatePicker, EuiFormRow } from '@elastic/eui'; + +import { FieldHook, getFieldValidityAndErrorMessage } from '../../hook_form_lib'; + +interface Props { + field: FieldHook; + euiFieldProps: Record; + idAria?: string; + [key: string]: any; +} + +export const DatePickerField = ({ field, euiFieldProps, idAria, ...rest }: Props) => { + const { isInvalid, errorMessage } = getFieldValidityAndErrorMessage(field); + + return ( + + { + field.setValue(e); + }} + data-test-subj="input" + {...euiFieldProps} + /> + + ); +}; diff --git a/src/plugins/es_ui_shared/static/forms/components/fields/hidden_field.tsx b/src/plugins/es_ui_shared/static/forms/components/fields/hidden_field.tsx new file mode 100644 index 0000000000000..466f027345114 --- /dev/null +++ b/src/plugins/es_ui_shared/static/forms/components/fields/hidden_field.tsx @@ -0,0 +1,15 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export const HiddenField = () => { + /** + * This is a hidden field. We return null so we do not render + * any field on the form + */ + return null; +}; diff --git a/src/plugins/es_ui_shared/static/forms/components/fields/index.ts b/src/plugins/es_ui_shared/static/forms/components/fields/index.ts index e3ef06888b335..91c4bf3db70fb 100644 --- a/src/plugins/es_ui_shared/static/forms/components/fields/index.ts +++ b/src/plugins/es_ui_shared/static/forms/components/fields/index.ts @@ -18,3 +18,8 @@ export * from './super_select_field'; export * from './toggle_field'; export * from './text_area_field'; export * from './json_editor_field'; +export * from './button_group_field'; +export * from './multi_button_group_field'; +export * from './date_picker_field'; +export * from './password_field'; +export * from './hidden_field'; diff --git a/src/plugins/es_ui_shared/static/forms/components/fields/multi_button_group_field.tsx b/src/plugins/es_ui_shared/static/forms/components/fields/multi_button_group_field.tsx new file mode 100644 index 0000000000000..dc106f57a084e --- /dev/null +++ b/src/plugins/es_ui_shared/static/forms/components/fields/multi_button_group_field.tsx @@ -0,0 +1,55 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 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 { EuiButtonGroup, EuiButtonGroupOptionProps, EuiFormRow } from '@elastic/eui'; + +import { FieldHook, getFieldValidityAndErrorMessage } from '../../hook_form_lib'; + +export interface MultiButtonGroupFieldValue { + [id: string]: boolean; +} + +interface Props { + field: FieldHook; + euiFieldProps: { + options: EuiButtonGroupOptionProps[]; + legend: string; + [key: string]: any; + }; + idAria?: string; + [key: string]: any; +} + +export const MultiButtonGroupField = ({ field, euiFieldProps, idAria, ...rest }: Props) => { + const { isInvalid, errorMessage } = getFieldValidityAndErrorMessage(field); + + return ( + + { + const value = field.value as MultiButtonGroupFieldValue; + field.setValue({ ...value, [e]: !value[e] }); + }} + idToSelectedMap={field.value as MultiButtonGroupFieldValue} + type="multi" + data-test-subj="button-group" + {...euiFieldProps} + /> + + ); +}; diff --git a/src/plugins/es_ui_shared/static/forms/components/fields/password_field.tsx b/src/plugins/es_ui_shared/static/forms/components/fields/password_field.tsx new file mode 100644 index 0000000000000..fee6592568bb9 --- /dev/null +++ b/src/plugins/es_ui_shared/static/forms/components/fields/password_field.tsx @@ -0,0 +1,44 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { EuiFieldPassword, EuiFormRow } from '@elastic/eui'; + +import { FieldHook, getFieldValidityAndErrorMessage } from '../../hook_form_lib'; + +interface Props { + field: FieldHook; + euiFieldProps: Record; + idAria?: string; + [key: string]: any; +} + +export const PasswordField = ({ field, euiFieldProps, idAria, ...rest }: Props) => { + const { isInvalid, errorMessage } = getFieldValidityAndErrorMessage(field); + + return ( + + + + ); +}; diff --git a/src/plugins/es_ui_shared/static/forms/docs/helpers/components.mdx b/src/plugins/es_ui_shared/static/forms/docs/helpers/components.mdx index 97ea955aaecb1..ed2b06523af4e 100644 --- a/src/plugins/es_ui_shared/static/forms/docs/helpers/components.mdx +++ b/src/plugins/es_ui_shared/static/forms/docs/helpers/components.mdx @@ -46,6 +46,11 @@ This is the list of component we currently have. This list might grow in the fut * MultiSelectField * RadioGroupField * RangeField +* ButtonGroupField +* MultiButtonGroupField +* DatePickerField +* PasswordField +* HiddenField (*) Currently the `` only support the free form entry of items (e.g a list of "tags" that the user enters). This means that it does not work (yet) **with predefined selections** to chose from. diff --git a/src/plugins/es_ui_shared/static/forms/hook_form_lib/constants.ts b/src/plugins/es_ui_shared/static/forms/hook_form_lib/constants.ts index 93bcd590749e9..42261430c05c8 100644 --- a/src/plugins/es_ui_shared/static/forms/hook_form_lib/constants.ts +++ b/src/plugins/es_ui_shared/static/forms/hook_form_lib/constants.ts @@ -20,6 +20,11 @@ export const FIELD_TYPES = { SUPER_SELECT: 'superSelect', MULTI_SELECT: 'multiSelect', JSON: 'json', + BUTTON_GROUP: 'buttonGroup', + MULTI_BUTTON_GROUP: 'multiButtonGroup', + DATE_PICKER: 'datePicker', + PASSWORD: 'password', + HIDDEN: 'hidden', }; // Validation types diff --git a/src/plugins/es_ui_shared/static/forms/hook_form_lib/hooks/use_form_is_modified.ts b/src/plugins/es_ui_shared/static/forms/hook_form_lib/hooks/use_form_is_modified.ts index ea8b1602711c1..b84ebb4581db4 100644 --- a/src/plugins/es_ui_shared/static/forms/hook_form_lib/hooks/use_form_is_modified.ts +++ b/src/plugins/es_ui_shared/static/forms/hook_form_lib/hooks/use_form_is_modified.ts @@ -61,10 +61,10 @@ export const useFormIsModified = ({ return; } - return fieldPathsToDiscard.reduce( - (acc, path) => ({ ...acc, [path]: true }), - {} as { [key: string]: {} } - ); + return fieldPathsToDiscard.reduce((acc, path) => { + acc[path] = true; + return acc; + }, {} as { [key: string]: {} }); // discardArrayToString === discard, we don't want to add it to the dependencies so // the consumer does not need to memoize the "discard" array they provide. diff --git a/src/plugins/es_ui_shared/static/forms/hook_form_lib/lib/utils.ts b/src/plugins/es_ui_shared/static/forms/hook_form_lib/lib/utils.ts index fe41de2947795..4d2fcd4e8f7d8 100644 --- a/src/plugins/es_ui_shared/static/forms/hook_form_lib/lib/utils.ts +++ b/src/plugins/es_ui_shared/static/forms/hook_form_lib/lib/utils.ts @@ -67,10 +67,11 @@ export const stripOutUndefinedValues = (obj: GenericObject): R => { .filter(({ 1: value }) => value !== undefined) .reduce((acc, [key, value]) => { if (typeof value === 'object' && value !== null && !Array.isArray(value)) { - return { ...acc, [key]: stripOutUndefinedValues(value) }; + acc[key as keyof R] = stripOutUndefinedValues(value); + } else { + acc[key as keyof R] = value; } - - return { ...acc, [key]: value }; + return acc; }, {} as R); }; diff --git a/src/plugins/es_ui_shared/static/validators/string/contains_chars.ts b/src/plugins/es_ui_shared/static/validators/string/contains_chars.ts index 6a8e297e6bf98..320448515a8c7 100644 --- a/src/plugins/es_ui_shared/static/validators/string/contains_chars.ts +++ b/src/plugins/es_ui_shared/static/validators/string/contains_chars.ts @@ -9,10 +9,12 @@ export const containsChars = (chars: string | string[]) => (value: string) => { const charToArray = Array.isArray(chars) ? (chars as string[]) : ([chars] as string[]); - const charsFound = charToArray.reduce( - (acc, char) => (value.includes(char) ? [...acc, char] : acc), - [] as string[] - ); + const charsFound = charToArray.reduce((acc, char) => { + if (value.includes(char)) { + acc.push(char); + } + return acc; + }, [] as string[]); return { charsFound, diff --git a/src/plugins/event_annotation/common/constants.ts b/src/plugins/event_annotation/common/constants.ts index 3f3f9877b9786..04255cee00c22 100644 --- a/src/plugins/event_annotation/common/constants.ts +++ b/src/plugins/event_annotation/common/constants.ts @@ -23,3 +23,5 @@ export const AvailableAnnotationIcons = { TAG: 'tag', TRIANGLE: 'triangle', } as const; + +export const EVENT_ANNOTATION_GROUP_TYPE = 'event-annotation-group'; diff --git a/src/plugins/event_annotation/common/fetch_event_annotations/utils.ts b/src/plugins/event_annotation/common/fetch_event_annotations/utils.ts index 7af00db63160e..b8658b8b81565 100644 --- a/src/plugins/event_annotation/common/fetch_event_annotations/utils.ts +++ b/src/plugins/event_annotation/common/fetch_event_annotations/utils.ts @@ -179,10 +179,10 @@ export const postprocessAnnotations = ( let extraFields: Record = {}; if (annotationConfig?.extraFields?.length) { - extraFields = annotationConfig.extraFields.reduce( - (acc, field) => ({ ...acc, [`field:${field}`]: row[fieldsColIdMap[field]] }), - {} - ); + extraFields = annotationConfig.extraFields.reduce((acc, field) => { + acc[`field:${field}`] = row[fieldsColIdMap[field]]; + return acc; + }, {} as typeof extraFields); } if (annotationConfig?.textField) { extraFields[`field:${annotationConfig.textField}`] = diff --git a/src/plugins/event_annotation/common/index.ts b/src/plugins/event_annotation/common/index.ts index 779d0e13e7813..f7a62d4f3918a 100644 --- a/src/plugins/event_annotation/common/index.ts +++ b/src/plugins/event_annotation/common/index.ts @@ -33,4 +33,7 @@ export type { QueryPointEventAnnotationConfig, AvailableAnnotationIcon, EventAnnotationOutput, + EventAnnotationGroupAttributes, } from './types'; + +export { EVENT_ANNOTATION_GROUP_TYPE } from './constants'; diff --git a/src/plugins/event_annotation/common/types.ts b/src/plugins/event_annotation/common/types.ts index 5f869cbee5520..b3e704ef647e5 100644 --- a/src/plugins/event_annotation/common/types.ts +++ b/src/plugins/event_annotation/common/types.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { KibanaQueryOutput } from '@kbn/data-plugin/common'; +import { DataViewSpec, KibanaQueryOutput } from '@kbn/data-plugin/common'; import { DatatableColumn } from '@kbn/expressions-plugin/common'; import { $Values } from '@kbn/utility-types'; import { AvailableAnnotationIcons } from './constants'; @@ -82,10 +82,23 @@ export type EventAnnotationConfig = | RangeEventAnnotationConfig | QueryPointEventAnnotationConfig; +export interface EventAnnotationGroupAttributes { + title: string; + description: string; + tags: string[]; + ignoreGlobalFilters: boolean; + annotations: EventAnnotationConfig[]; + dataViewSpec?: DataViewSpec; +} + export interface EventAnnotationGroupConfig { annotations: EventAnnotationConfig[]; indexPatternId: string; - ignoreGlobalFilters?: boolean; + ignoreGlobalFilters: boolean; + title: string; + description: string; + tags: string[]; + dataViewSpec?: DataViewSpec; } export type EventAnnotationArgs = diff --git a/src/plugins/event_annotation/kibana.jsonc b/src/plugins/event_annotation/kibana.jsonc index f4f2a4791cfbb..b4df5edf135af 100644 --- a/src/plugins/event_annotation/kibana.jsonc +++ b/src/plugins/event_annotation/kibana.jsonc @@ -9,7 +9,12 @@ "browser": true, "requiredPlugins": [ "expressions", - "data" + "savedObjectsManagement", + "data", + ], + "requiredBundles": [ + "savedObjectsFinder", + "dataViews" ], "extraPublicDirs": [ "common" diff --git a/src/plugins/event_annotation/public/components/event_annotation_group_saved_object_finder.tsx b/src/plugins/event_annotation/public/components/event_annotation_group_saved_object_finder.tsx new file mode 100644 index 0000000000000..34b1ce7eb0694 --- /dev/null +++ b/src/plugins/event_annotation/public/components/event_annotation_group_saved_object_finder.tsx @@ -0,0 +1,133 @@ +/* + * Copyright 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, { useEffect, useState } from 'react'; +import { i18n } from '@kbn/i18n'; +import { CoreStart } from '@kbn/core/public'; +import { FormattedMessage } from '@kbn/i18n-react'; +import { IUiSettingsClient } from '@kbn/core-ui-settings-browser'; +import type { SavedObjectCommon } from '@kbn/saved-objects-finder-plugin/common'; +import { SavedObjectFinder } from '@kbn/saved-objects-finder-plugin/public'; +import { SavedObjectsManagementPluginStart } from '@kbn/saved-objects-management-plugin/public'; +import { + EuiButton, + EuiEmptyPrompt, + EuiFlexGroup, + EuiFlexItem, + EuiLoadingSpinner, + EuiText, +} from '@elastic/eui'; +import { css } from '@emotion/react'; +import { EVENT_ANNOTATION_GROUP_TYPE } from '../../common'; + +export const EventAnnotationGroupSavedObjectFinder = ({ + uiSettings, + http, + savedObjectsManagement, + fixedPageSize = 10, + checkHasAnnotationGroups, + onChoose, + onCreateNew, +}: { + uiSettings: IUiSettingsClient; + http: CoreStart['http']; + savedObjectsManagement: SavedObjectsManagementPluginStart; + fixedPageSize?: number; + checkHasAnnotationGroups: () => Promise; + onChoose: (value: { + id: string; + type: string; + fullName: string; + savedObject: SavedObjectCommon; + }) => void; + onCreateNew: () => void; +}) => { + const [hasAnnotationGroups, setHasAnnotationGroups] = useState(); + + useEffect(() => { + checkHasAnnotationGroups().then(setHasAnnotationGroups); + }, [checkHasAnnotationGroups]); + + return hasAnnotationGroups === undefined ? ( + + + + + + ) : hasAnnotationGroups === false ? ( + + + + + } + body={ + +

    + +

    +
    + } + actions={ + onCreateNew()} size="s"> + + + } + /> +
    + ) : ( + { + onChoose({ id, type, fullName, savedObject }); + }} + showFilter={false} + noItemsMessage={ + + } + savedObjectMetaData={savedObjectMetaData} + services={{ + uiSettings, + http, + savedObjectsManagement, + }} + /> + ); +}; + +const savedObjectMetaData = [ + { + type: EVENT_ANNOTATION_GROUP_TYPE, + getIconForSavedObject: () => 'annotation', + name: i18n.translate('eventAnnotation.eventAnnotationGroup.metadata.name', { + defaultMessage: 'Annotations Groups', + }), + includeFields: ['*'], + }, +]; diff --git a/src/plugins/event_annotation/public/event_annotation_service/__snapshots__/service.test.ts.snap b/src/plugins/event_annotation/public/event_annotation_service/__snapshots__/service.test.ts.snap new file mode 100644 index 0000000000000..73073c0e7ea16 --- /dev/null +++ b/src/plugins/event_annotation/public/event_annotation_service/__snapshots__/service.test.ts.snap @@ -0,0 +1,13 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Event Annotation Service loadAnnotationGroup should properly load an annotation group with a multiple annotation 1`] = ` +Object { + "annotations": undefined, + "dataViewSpec": undefined, + "description": undefined, + "ignoreGlobalFilters": undefined, + "indexPatternId": "ipid", + "tags": undefined, + "title": "groupTitle", +} +`; diff --git a/src/plugins/event_annotation/public/event_annotation_service/index.tsx b/src/plugins/event_annotation/public/event_annotation_service/index.tsx index e967a7cb0f0a2..18ef89681d621 100644 --- a/src/plugins/event_annotation/public/event_annotation_service/index.tsx +++ b/src/plugins/event_annotation/public/event_annotation_service/index.tsx @@ -6,14 +6,28 @@ * Side Public License, v 1. */ +import { CoreStart } from '@kbn/core/public'; +import { SavedObjectsManagementPluginStart } from '@kbn/saved-objects-management-plugin/public'; import { EventAnnotationServiceType } from './types'; export class EventAnnotationService { private eventAnnotationService?: EventAnnotationServiceType; + + private core: CoreStart; + private savedObjectsManagement: SavedObjectsManagementPluginStart; + + constructor(core: CoreStart, savedObjectsManagement: SavedObjectsManagementPluginStart) { + this.core = core; + this.savedObjectsManagement = savedObjectsManagement; + } + public async getService() { if (!this.eventAnnotationService) { const { getEventAnnotationService } = await import('./service'); - this.eventAnnotationService = getEventAnnotationService(); + this.eventAnnotationService = getEventAnnotationService( + this.core, + this.savedObjectsManagement + ); } return this.eventAnnotationService; } diff --git a/src/plugins/event_annotation/public/event_annotation_service/service.test.ts b/src/plugins/event_annotation/public/event_annotation_service/service.test.ts index 5df25bc69d308..c131ca288a88d 100644 --- a/src/plugins/event_annotation/public/event_annotation_service/service.test.ts +++ b/src/plugins/event_annotation/public/event_annotation_service/service.test.ts @@ -6,14 +6,150 @@ * Side Public License, v 1. */ +import { CoreStart, SimpleSavedObject } from '@kbn/core/public'; +import { coreMock } from '@kbn/core/public/mocks'; +import { SavedObjectsManagementPluginStart } from '@kbn/saved-objects-management-plugin/public'; +import { EventAnnotationConfig, EventAnnotationGroupAttributes } from '../../common'; import { getEventAnnotationService } from './service'; import { EventAnnotationServiceType } from './types'; +type AnnotationGroupSavedObject = SimpleSavedObject; + +const annotationGroupResolveMocks: Record = { + nonExistingGroup: { + attributes: {} as EventAnnotationGroupAttributes, + references: [], + id: 'nonExistingGroup', + error: { + error: 'Saved object not found', + statusCode: 404, + message: 'Not found', + }, + } as Partial as AnnotationGroupSavedObject, + noAnnotations: { + attributes: { + title: 'groupTitle', + description: '', + tags: [], + ignoreGlobalFilters: false, + annotations: [], + }, + type: 'event-annotation-group', + references: [ + { + id: 'ipid', + name: 'ipid', + type: 'index-pattern', + }, + ], + } as Partial as AnnotationGroupSavedObject, + multiAnnotations: { + attributes: { + title: 'groupTitle', + }, + id: 'multiAnnotations', + type: 'event-annotation-group', + references: [ + { + id: 'ipid', + name: 'ipid', + type: 'index-pattern', + }, + ], + } as Partial as AnnotationGroupSavedObject, + withAdHocDataView: { + attributes: { + title: 'groupTitle', + dataViewSpec: { + id: 'my-id', + }, + } as Partial, + id: 'multiAnnotations', + type: 'event-annotation-group', + references: [], + } as Partial as AnnotationGroupSavedObject, +}; + +const annotationResolveMocks = { + nonExistingGroup: { savedObjects: [] }, + noAnnotations: { savedObjects: [] }, + multiAnnotations: { + savedObjects: [ + { + id: 'annotation1', + attributes: { + id: 'annotation1', + type: 'manual', + key: { type: 'point_in_time' as const, timestamp: '2022-03-18T08:25:00.000Z' }, + label: 'Event', + icon: 'triangle' as const, + color: 'red', + lineStyle: 'dashed' as const, + lineWidth: 3, + } as EventAnnotationConfig, + type: 'event-annotation', + references: [ + { + id: 'multiAnnotations', + name: 'event_annotation_group_ref', + type: 'event-annotation-group', + }, + ], + }, + { + id: 'annotation2', + attributes: { + id: 'ann2', + label: 'Query based event', + icon: 'triangle', + color: 'red', + type: 'query', + timeField: 'timestamp', + key: { + type: 'point_in_time', + }, + lineStyle: 'dashed', + lineWidth: 3, + filter: { type: 'kibana_query', query: '', language: 'kuery' }, + } as EventAnnotationConfig, + type: 'event-annotation', + references: [ + { + id: 'multiAnnotations', + name: 'event_annotation_group_ref', + type: 'event-annotation-group', + }, + ], + }, + ], + }, +}; + +let core: CoreStart; + describe('Event Annotation Service', () => { let eventAnnotationService: EventAnnotationServiceType; - beforeAll(() => { - eventAnnotationService = getEventAnnotationService(); + beforeEach(() => { + core = coreMock.createStart(); + (core.savedObjects.client.create as jest.Mock).mockImplementation(() => { + return annotationGroupResolveMocks.multiAnnotations; + }); + (core.savedObjects.client.get as jest.Mock).mockImplementation((_type, id) => { + const typedId = id as keyof typeof annotationGroupResolveMocks; + return annotationGroupResolveMocks[typedId]; + }); + (core.savedObjects.client.bulkCreate as jest.Mock).mockImplementation(() => { + return annotationResolveMocks.multiAnnotations; + }); + eventAnnotationService = getEventAnnotationService( + core, + {} as SavedObjectsManagementPluginStart + ); }); + afterEach(() => { + jest.clearAllMocks(); + }); + describe('toExpression', () => { it('should work for an empty list', () => { expect(eventAnnotationService.toExpression([])).toEqual([]); @@ -318,4 +454,190 @@ describe('Event Annotation Service', () => { } ); }); + describe('loadAnnotationGroup', () => { + it('should throw error when loading group doesnt exist', async () => { + expect(() => eventAnnotationService.loadAnnotationGroup('nonExistingGroup')).rejects + .toMatchInlineSnapshot(` + Object { + "error": "Saved object not found", + "message": "Not found", + "statusCode": 404, + } + `); + }); + it('should properly load an annotation group with no annotation', async () => { + expect(await eventAnnotationService.loadAnnotationGroup('noAnnotations')) + .toMatchInlineSnapshot(` + Object { + "annotations": Array [], + "dataViewSpec": undefined, + "description": "", + "ignoreGlobalFilters": false, + "indexPatternId": "ipid", + "tags": Array [], + "title": "groupTitle", + } + `); + }); + it('should properly load an annotation group with a multiple annotation', async () => { + expect( + await eventAnnotationService.loadAnnotationGroup('multiAnnotations') + ).toMatchSnapshot(); + }); + it('populates id if group has ad-hoc data view', async () => { + const group = await eventAnnotationService.loadAnnotationGroup('withAdHocDataView'); + + expect(group.indexPatternId).toBe(group.dataViewSpec?.id); + }); + }); + // describe.skip('deleteAnnotationGroup', () => { + // it('deletes annotation group along with annotations that reference them', async () => { + // await eventAnnotationService.deleteAnnotationGroup('multiAnnotations'); + // expect(core.savedObjects.client.bulkDelete).toHaveBeenCalledWith([ + // { id: 'multiAnnotations', type: 'event-annotation-group' }, + // { id: 'annotation1', type: 'event-annotation' }, + // { id: 'annotation2', type: 'event-annotation' }, + // ]); + // }); + // }); + describe('createAnnotationGroup', () => { + it('creates annotation group along with annotations', async () => { + const annotations = [ + annotationResolveMocks.multiAnnotations.savedObjects[0].attributes, + annotationResolveMocks.multiAnnotations.savedObjects[1].attributes, + ]; + await eventAnnotationService.createAnnotationGroup({ + title: 'newGroupTitle', + description: 'my description', + tags: ['my', 'many', 'tags'], + indexPatternId: 'ipid', + ignoreGlobalFilters: false, + annotations, + }); + expect(core.savedObjects.client.create).toHaveBeenCalledWith( + 'event-annotation-group', + { + title: 'newGroupTitle', + description: 'my description', + tags: ['my', 'many', 'tags'], + ignoreGlobalFilters: false, + dataViewSpec: null, + annotations, + }, + { + references: [ + { + id: 'ipid', + name: 'event-annotation-group_dataView-ref-ipid', + type: 'index-pattern', + }, + ], + } + ); + }); + }); + describe('updateAnnotationGroup', () => { + it('updates annotation group attributes', async () => { + await eventAnnotationService.updateAnnotationGroup( + { + title: 'newTitle', + description: '', + tags: [], + indexPatternId: 'newId', + annotations: [], + ignoreGlobalFilters: false, + }, + 'multiAnnotations' + ); + expect(core.savedObjects.client.update).toHaveBeenCalledWith( + 'event-annotation-group', + 'multiAnnotations', + { + title: 'newTitle', + description: '', + tags: [], + annotations: [], + dataViewSpec: null, + ignoreGlobalFilters: false, + }, + { + references: [ + { + id: 'newId', + name: 'event-annotation-group_dataView-ref-newId', + type: 'index-pattern', + }, + ], + } + ); + }); + }); + // describe.skip('updateAnnotations', () => { + // const upsert = [ + // { + // id: 'annotation2', + // label: 'Query based event', + // icon: 'triangle', + // color: 'red', + // type: 'query', + // timeField: 'timestamp', + // key: { + // type: 'point_in_time', + // }, + // lineStyle: 'dashed', + // lineWidth: 3, + // filter: { type: 'kibana_query', query: '', language: 'kuery' }, + // }, + // { + // id: 'annotation4', + // label: 'Query based event', + // type: 'query', + // timeField: 'timestamp', + // key: { + // type: 'point_in_time', + // }, + // filter: { type: 'kibana_query', query: '', language: 'kuery' }, + // }, + // ] as EventAnnotationConfig[]; + // it('updates annotations - deletes annotations', async () => { + // await eventAnnotationService.updateAnnotations('multiAnnotations', { + // delete: ['annotation1', 'annotation2'], + // }); + // expect(core.savedObjects.client.bulkDelete).toHaveBeenCalledWith([ + // { id: 'annotation1', type: 'event-annotation' }, + // { id: 'annotation2', type: 'event-annotation' }, + // ]); + // }); + // it('updates annotations - inserts new annotations', async () => { + // await eventAnnotationService.updateAnnotations('multiAnnotations', { upsert }); + // expect(core.savedObjects.client.bulkCreate).toHaveBeenCalledWith([ + // { + // id: 'annotation2', + // type: 'event-annotation', + // attributes: upsert[0], + // overwrite: true, + // references: [ + // { + // id: 'multiAnnotations', + // name: 'event-annotation-group-ref-annotation2', + // type: 'event-annotation-group', + // }, + // ], + // }, + // { + // id: 'annotation4', + // type: 'event-annotation', + // attributes: upsert[1], + // overwrite: true, + // references: [ + // { + // id: 'multiAnnotations', + // name: 'event-annotation-group-ref-annotation4', + // type: 'event-annotation-group', + // }, + // ], + // }, + // ]); + // }); + // }); }); diff --git a/src/plugins/event_annotation/public/event_annotation_service/service.tsx b/src/plugins/event_annotation/public/event_annotation_service/service.tsx index 1b2bdbc9611cc..a5ac2e265b0f7 100644 --- a/src/plugins/event_annotation/public/event_annotation_service/service.tsx +++ b/src/plugins/event_annotation/public/event_annotation_service/service.tsx @@ -6,10 +6,19 @@ * Side Public License, v 1. */ +import React from 'react'; import { partition } from 'lodash'; import { queryToAst } from '@kbn/data-plugin/common'; import { ExpressionAstExpression } from '@kbn/expressions-plugin/common'; -import { EventAnnotationConfig } from '../../common'; +import { CoreStart, SavedObjectReference, SavedObjectsClientContract } from '@kbn/core/public'; +import { SavedObjectsManagementPluginStart } from '@kbn/saved-objects-management-plugin/public'; +import { DataViewPersistableStateService } from '@kbn/data-views-plugin/common'; +import { + EventAnnotationConfig, + EventAnnotationGroupAttributes, + EventAnnotationGroupConfig, + EVENT_ANNOTATION_GROUP_TYPE, +} from '../../common'; import { EventAnnotationServiceType } from './types'; import { defaultAnnotationColor, @@ -18,108 +27,138 @@ import { isRangeAnnotationConfig, isQueryAnnotationConfig, } from './helpers'; +import { EventAnnotationGroupSavedObjectFinder } from '../components/event_annotation_group_saved_object_finder'; export function hasIcon(icon: string | undefined): icon is string { return icon != null && icon !== 'empty'; } -export function getEventAnnotationService(): EventAnnotationServiceType { - const annotationsToExpression = (annotations: EventAnnotationConfig[]) => { - const [queryBasedAnnotations, manualBasedAnnotations] = partition( - annotations, - isQueryAnnotationConfig +export function getEventAnnotationService( + core: CoreStart, + savedObjectsManagement: SavedObjectsManagementPluginStart +): EventAnnotationServiceType { + const client: SavedObjectsClientContract = core.savedObjects.client; + + const loadAnnotationGroup = async ( + savedObjectId: string + ): Promise => { + const savedObject = await client.get( + EVENT_ANNOTATION_GROUP_TYPE, + savedObjectId ); - const expressions = []; - - for (const annotation of manualBasedAnnotations) { - if (isRangeAnnotationConfig(annotation)) { - const { label, color, key, outside, id } = annotation; - const { timestamp: time, endTimestamp: endTime } = key; - expressions.push({ - type: 'expression' as const, - chain: [ - { - type: 'function' as const, - function: 'manual_range_event_annotation', - arguments: { - id: [id], - time: [time], - endTime: [endTime], - label: [label || defaultAnnotationLabel], - color: [color || defaultAnnotationRangeColor], - outside: [Boolean(outside)], - isHidden: [Boolean(annotation.isHidden)], - }, - }, - ], - }); - } else { - const { label, color, lineStyle, lineWidth, icon, key, textVisibility, id } = annotation; - expressions.push({ - type: 'expression' as const, - chain: [ - { - type: 'function' as const, - function: 'manual_point_event_annotation', - arguments: { - id: [id], - time: [key.timestamp], - label: [label || defaultAnnotationLabel], - color: [color || defaultAnnotationColor], - lineWidth: [lineWidth || 1], - lineStyle: [lineStyle || 'solid'], - icon: hasIcon(icon) ? [icon] : ['triangle'], - textVisibility: [textVisibility || false], - isHidden: [Boolean(annotation.isHidden)], - }, - }, - ], - }); - } + if (savedObject.error) { + throw savedObject.error; } - for (const annotation of queryBasedAnnotations) { - const { - id, - label, - color, - lineStyle, - lineWidth, - icon, - timeField, - textVisibility, - textField, - filter, - extraFields, - } = annotation; - expressions.push({ - type: 'expression' as const, - chain: [ - { - type: 'function' as const, - function: 'query_point_event_annotation', - arguments: { - id: [id], - timeField: timeField ? [timeField] : [], - label: [label || defaultAnnotationLabel], - color: [color || defaultAnnotationColor], - lineWidth: [lineWidth || 1], - lineStyle: [lineStyle || 'solid'], - icon: hasIcon(icon) ? [icon] : ['triangle'], - textVisibility: [textVisibility || false], - textField: textVisibility && textField ? [textField] : [], - filter: filter ? [queryToAst(filter)] : [], - extraFields: extraFields || [], - isHidden: [Boolean(annotation.isHidden)], - }, - }, - ], - }); + const adHocDataViewSpec = savedObject.attributes.dataViewSpec + ? DataViewPersistableStateService.inject( + savedObject.attributes.dataViewSpec, + savedObject.references + ) + : undefined; + + return { + title: savedObject.attributes.title, + description: savedObject.attributes.description, + tags: savedObject.attributes.tags, + ignoreGlobalFilters: savedObject.attributes.ignoreGlobalFilters, + indexPatternId: adHocDataViewSpec + ? adHocDataViewSpec.id! + : savedObject.references.find((ref) => ref.type === 'index-pattern')?.id!, + annotations: savedObject.attributes.annotations, + dataViewSpec: adHocDataViewSpec, + }; + }; + + const extractDataViewInformation = (group: EventAnnotationGroupConfig) => { + let { dataViewSpec = null } = group; + + let references: SavedObjectReference[]; + + if (dataViewSpec) { + if (!dataViewSpec.id) + throw new Error( + 'tried to create annotation group with a data view spec that did not include an ID!' + ); + + const { state, references: refsFromDataView } = + DataViewPersistableStateService.extract(dataViewSpec); + dataViewSpec = state; + references = refsFromDataView; + } else { + references = [ + { + type: 'index-pattern', + id: group.indexPatternId, + name: `event-annotation-group_dataView-ref-${group.indexPatternId}`, + }, + ]; } - return expressions; + + return { references, dataViewSpec }; + }; + + const createAnnotationGroup = async ( + group: EventAnnotationGroupConfig + ): Promise<{ id: string }> => { + const { references, dataViewSpec } = extractDataViewInformation(group); + const { title, description, tags, ignoreGlobalFilters, annotations } = group; + + const groupSavedObjectId = ( + await client.create( + EVENT_ANNOTATION_GROUP_TYPE, + { title, description, tags, ignoreGlobalFilters, annotations, dataViewSpec }, + { + references, + } + ) + ).id; + + return { id: groupSavedObjectId }; + }; + + const updateAnnotationGroup = async ( + group: EventAnnotationGroupConfig, + annotationGroupId: string + ): Promise => { + const { references, dataViewSpec } = extractDataViewInformation(group); + const { title, description, tags, ignoreGlobalFilters, annotations } = group; + + await client.update( + EVENT_ANNOTATION_GROUP_TYPE, + annotationGroupId, + { title, description, tags, ignoreGlobalFilters, annotations, dataViewSpec }, + { + references, + } + ); }; + + const checkHasAnnotationGroups = async (): Promise => { + const response = await client.find({ + type: EVENT_ANNOTATION_GROUP_TYPE, + perPage: 0, + }); + + return response.total > 0; + }; + return { + loadAnnotationGroup, + updateAnnotationGroup, + createAnnotationGroup, + renderEventAnnotationGroupSavedObjectFinder: (props) => { + return ( + + ); + }, toExpression: annotationsToExpression, toFetchExpression: ({ interval, groups }) => { if (groups.length === 0) { @@ -177,3 +216,99 @@ export function getEventAnnotationService(): EventAnnotationServiceType { }, }; } + +const annotationsToExpression = (annotations: EventAnnotationConfig[]) => { + const [queryBasedAnnotations, manualBasedAnnotations] = partition( + annotations, + isQueryAnnotationConfig + ); + + const expressions = []; + + for (const annotation of manualBasedAnnotations) { + if (isRangeAnnotationConfig(annotation)) { + const { label, color, key, outside, id } = annotation; + const { timestamp: time, endTimestamp: endTime } = key; + expressions.push({ + type: 'expression' as const, + chain: [ + { + type: 'function' as const, + function: 'manual_range_event_annotation', + arguments: { + id: [id], + time: [time], + endTime: [endTime], + label: [label || defaultAnnotationLabel], + color: [color || defaultAnnotationRangeColor], + outside: [Boolean(outside)], + isHidden: [Boolean(annotation.isHidden)], + }, + }, + ], + }); + } else { + const { label, color, lineStyle, lineWidth, icon, key, textVisibility, id } = annotation; + expressions.push({ + type: 'expression' as const, + chain: [ + { + type: 'function' as const, + function: 'manual_point_event_annotation', + arguments: { + id: [id], + time: [key.timestamp], + label: [label || defaultAnnotationLabel], + color: [color || defaultAnnotationColor], + lineWidth: [lineWidth || 1], + lineStyle: [lineStyle || 'solid'], + icon: hasIcon(icon) ? [icon] : ['triangle'], + textVisibility: [textVisibility || false], + isHidden: [Boolean(annotation.isHidden)], + }, + }, + ], + }); + } + } + + for (const annotation of queryBasedAnnotations) { + const { + id, + label, + color, + lineStyle, + lineWidth, + icon, + timeField, + textVisibility, + textField, + filter, + extraFields, + } = annotation; + expressions.push({ + type: 'expression' as const, + chain: [ + { + type: 'function' as const, + function: 'query_point_event_annotation', + arguments: { + id: [id], + timeField: timeField ? [timeField] : [], + label: [label || defaultAnnotationLabel], + color: [color || defaultAnnotationColor], + lineWidth: [lineWidth || 1], + lineStyle: [lineStyle || 'solid'], + icon: hasIcon(icon) ? [icon] : ['triangle'], + textVisibility: [textVisibility || false], + textField: textVisibility && textField ? [textField] : [], + filter: filter ? [queryToAst(filter)] : [], + extraFields: extraFields || [], + isHidden: [Boolean(annotation.isHidden)], + }, + }, + ], + }); + } + return expressions; +}; diff --git a/src/plugins/event_annotation/public/event_annotation_service/types.ts b/src/plugins/event_annotation/public/event_annotation_service/types.ts index cf3d759b7a324..603cc20c34bc8 100644 --- a/src/plugins/event_annotation/public/event_annotation_service/types.ts +++ b/src/plugins/event_annotation/public/event_annotation_service/types.ts @@ -7,12 +7,31 @@ */ import { ExpressionAstExpression } from '@kbn/expressions-plugin/common/ast'; +import type { SavedObjectCommon } from '@kbn/saved-objects-finder-plugin/common'; import { EventAnnotationConfig, EventAnnotationGroupConfig } from '../../common'; export interface EventAnnotationServiceType { + loadAnnotationGroup: (savedObjectId: string) => Promise; + createAnnotationGroup: (group: EventAnnotationGroupConfig) => Promise<{ id: string }>; + updateAnnotationGroup: ( + group: EventAnnotationGroupConfig, + savedObjectId: string + ) => Promise; toExpression: (props: EventAnnotationConfig[]) => ExpressionAstExpression[]; toFetchExpression: (props: { interval: string; - groups: EventAnnotationGroupConfig[]; + groups: Array< + Pick + >; }) => ExpressionAstExpression[]; + renderEventAnnotationGroupSavedObjectFinder: (props: { + fixedPageSize?: number; + onChoose: (value: { + id: string; + type: string; + fullName: string; + savedObject: SavedObjectCommon; + }) => void; + onCreateNew: () => void; + }) => JSX.Element; } diff --git a/src/plugins/event_annotation/public/mocks.ts b/src/plugins/event_annotation/public/mocks.ts index e78d4e8f75de7..100b5d3f1c3e2 100644 --- a/src/plugins/event_annotation/public/mocks.ts +++ b/src/plugins/event_annotation/public/mocks.ts @@ -6,7 +6,12 @@ * Side Public License, v 1. */ +import { coreMock } from '@kbn/core/public/mocks'; +import { SavedObjectsManagementPluginStart } from '@kbn/saved-objects-management-plugin/public'; import { getEventAnnotationService } from './event_annotation_service/service'; // not really mocking but avoiding async loading -export const eventAnnotationServiceMock = getEventAnnotationService(); +export const eventAnnotationServiceMock = getEventAnnotationService( + coreMock.createStart(), + {} as SavedObjectsManagementPluginStart +); diff --git a/src/plugins/event_annotation/public/plugin.ts b/src/plugins/event_annotation/public/plugin.ts index 47df586e061d7..4d390f308a474 100644 --- a/src/plugins/event_annotation/public/plugin.ts +++ b/src/plugins/event_annotation/public/plugin.ts @@ -6,8 +6,9 @@ * Side Public License, v 1. */ -import { Plugin, CoreSetup, CoreStart, IUiSettingsClient } from '@kbn/core/public'; +import { Plugin, CoreSetup, CoreStart } from '@kbn/core/public'; import { ExpressionsSetup } from '@kbn/expressions-plugin/public'; +import { SavedObjectsManagementPluginStart } from '@kbn/saved-objects-management-plugin/public'; import { DataPublicPluginStart } from '@kbn/data-plugin/public'; import { EventAnnotationService } from './event_annotation_service'; import { @@ -19,8 +20,8 @@ import { import { getFetchEventAnnotations } from './fetch_event_annotations'; export interface EventAnnotationStartDependencies { + savedObjectsManagement: SavedObjectsManagementPluginStart; data: DataPublicPluginStart; - uiSettings: IUiSettingsClient; } interface SetupDependencies { @@ -29,14 +30,12 @@ interface SetupDependencies { /** @public */ export type EventAnnotationPluginStart = EventAnnotationService; -export type EventAnnotationPluginSetup = EventAnnotationService; +export type EventAnnotationPluginSetup = void; /** @public */ export class EventAnnotationPlugin implements Plugin { - private readonly eventAnnotationService = new EventAnnotationService(); - public setup( core: CoreSetup, dependencies: SetupDependencies @@ -48,13 +47,12 @@ export class EventAnnotationPlugin dependencies.expressions.registerFunction( getFetchEventAnnotations({ getStartServices: core.getStartServices }) ); - return this.eventAnnotationService; } public start( core: CoreStart, startDependencies: EventAnnotationStartDependencies ): EventAnnotationService { - return this.eventAnnotationService; + return new EventAnnotationService(core, startDependencies.savedObjectsManagement); } } diff --git a/src/plugins/event_annotation/server/plugin.ts b/src/plugins/event_annotation/server/plugin.ts index 4d59f0e6800dd..0ae55744016e6 100644 --- a/src/plugins/event_annotation/server/plugin.ts +++ b/src/plugins/event_annotation/server/plugin.ts @@ -15,6 +15,7 @@ import { manualRangeEventAnnotation, queryPointEventAnnotation, } from '../common'; +import { setupSavedObjects } from './saved_objects'; // import { getFetchEventAnnotations } from './fetch_event_annotations'; interface SetupDependencies { @@ -33,9 +34,8 @@ export class EventAnnotationServerPlugin implements Plugin { dependencies.expressions.registerFunction(manualRangeEventAnnotation); dependencies.expressions.registerFunction(queryPointEventAnnotation); dependencies.expressions.registerFunction(eventAnnotationGroup); - // dependencies.expressions.registerFunction( - // getFetchEventAnnotations({ getStartServices: core.getStartServices }) - // ); + + setupSavedObjects(core); return {}; } diff --git a/src/plugins/event_annotation/server/saved_objects.ts b/src/plugins/event_annotation/server/saved_objects.ts new file mode 100644 index 0000000000000..768def6b27f79 --- /dev/null +++ b/src/plugins/event_annotation/server/saved_objects.ts @@ -0,0 +1,50 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 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 { ANALYTICS_SAVED_OBJECT_INDEX } from '@kbn/core-saved-objects-server'; +import { + CoreSetup, + mergeSavedObjectMigrationMaps, + SavedObjectMigrationMap, +} from '@kbn/core/server'; + +import { DataViewPersistableStateService } from '@kbn/data-views-plugin/common'; +import { EVENT_ANNOTATION_GROUP_TYPE } from '../common/constants'; +import { EventAnnotationGroupAttributes } from '../common/types'; + +export function setupSavedObjects(coreSetup: CoreSetup) { + coreSetup.savedObjects.registerType({ + name: EVENT_ANNOTATION_GROUP_TYPE, + indexPattern: ANALYTICS_SAVED_OBJECT_INDEX, + hidden: false, + namespaceType: 'multiple', + management: { + icon: 'flag', + defaultSearchField: 'title', + importableAndExportable: true, + getTitle: (obj: { attributes: EventAnnotationGroupAttributes }) => obj.attributes.title, + }, + migrations: () => { + const dataViewMigrations = DataViewPersistableStateService.getAllMigrations(); + return mergeSavedObjectMigrationMaps(eventAnnotationGroupMigrations, dataViewMigrations); + }, + mappings: { + dynamic: false, + properties: { + title: { + type: 'text', + }, + description: { + type: 'text', + }, + }, + }, + }); +} + +const eventAnnotationGroupMigrations: SavedObjectMigrationMap = {}; diff --git a/src/plugins/event_annotation/tsconfig.json b/src/plugins/event_annotation/tsconfig.json index 0b5e98d364fed..562bf05259c44 100644 --- a/src/plugins/event_annotation/tsconfig.json +++ b/src/plugins/event_annotation/tsconfig.json @@ -19,6 +19,10 @@ "@kbn/core-ui-settings-browser", "@kbn/datemath", "@kbn/ui-theme", + "@kbn/saved-objects-finder-plugin", + "@kbn/saved-objects-management-plugin", + "@kbn/i18n-react", + "@kbn/core-saved-objects-server" ], "exclude": [ "target/**/*", diff --git a/src/plugins/expressions/common/expression_renderers/expression_renderer_registry.ts b/src/plugins/expressions/common/expression_renderers/expression_renderer_registry.ts index 8335e31187b41..30ef4877ef399 100644 --- a/src/plugins/expressions/common/expression_renderers/expression_renderer_registry.ts +++ b/src/plugins/expressions/common/expression_renderers/expression_renderer_registry.ts @@ -27,13 +27,10 @@ export class ExpressionRendererRegistry implements IRegistry } public toJS(): Record { - return this.toArray().reduce( - (acc, renderer) => ({ - ...acc, - [renderer.name]: renderer, - }), - {} as Record - ); + return this.toArray().reduce((acc, renderer) => { + acc[renderer.name] = renderer; + return acc; + }, {} as Record); } public toArray(): ExpressionRenderer[] { diff --git a/src/plugins/field_formats/common/utils/as_pretty_string.test.ts b/src/plugins/field_formats/common/utils/as_pretty_string.test.ts index 09d966804436a..9a68c83c66ce0 100644 --- a/src/plugins/field_formats/common/utils/as_pretty_string.test.ts +++ b/src/plugins/field_formats/common/utils/as_pretty_string.test.ts @@ -30,4 +30,8 @@ describe('asPrettyString', () => { expect(asPrettyString(true)).toBe('true'); expect(asPrettyString(123)).toBe('123'); }); + + test('Converts Symbol into strings', () => { + expect(asPrettyString(Symbol('hello'))).toBe('Symbol(hello)'); + }); }); diff --git a/src/plugins/field_formats/common/utils/as_pretty_string.ts b/src/plugins/field_formats/common/utils/as_pretty_string.ts index 61f80e5645623..caff94f18570b 100644 --- a/src/plugins/field_formats/common/utils/as_pretty_string.ts +++ b/src/plugins/field_formats/common/utils/as_pretty_string.ts @@ -22,6 +22,6 @@ export function asPrettyString( ? JSON.stringify(val) : JSON.stringify(val, null, ' '); default: - return '' + val; + return String(val); } } diff --git a/src/plugins/files/server/mocks.ts b/src/plugins/files/server/mocks.ts index 2edf314923464..ded83c061615f 100644 --- a/src/plugins/files/server/mocks.ts +++ b/src/plugins/files/server/mocks.ts @@ -10,7 +10,7 @@ import { KibanaRequest } from '@kbn/core/server'; import { DeeplyMockedKeys } from '@kbn/utility-types-jest'; import * as stream from 'stream'; import { clone } from 'lodash'; -import { File } from '../common'; +import { File, FileJSON } from '../common'; import { FileClient, FileServiceFactory, FileServiceStart, FilesSetup } from '.'; export const createFileServiceMock = (): DeeplyMockedKeys => ({ @@ -34,7 +34,9 @@ export const createFileServiceFactoryMock = (): DeeplyMockedKeys createFileServiceMock()), }); -export const createFileMock = (): DeeplyMockedKeys => { +export const createFileMock = ( + fileDataOverride: Partial> = {} +): DeeplyMockedKeys => { const fileMock: DeeplyMockedKeys = { id: '123', data: { @@ -49,6 +51,8 @@ export const createFileMock = (): DeeplyMockedKeys => { alt: undefined, fileKind: 'none', status: 'READY', + + ...fileDataOverride, }, update: jest.fn(), uploadContent: jest.fn(), @@ -68,8 +72,10 @@ export const createFileMock = (): DeeplyMockedKeys => { return fileMock; }; -export const createFileClientMock = (): DeeplyMockedKeys => { - const fileMock = createFileMock(); +export const createFileClientMock = ( + fileDataOverride: Partial> = {} +): DeeplyMockedKeys => { + const fileMock = createFileMock(fileDataOverride); return { fileKind: 'none', diff --git a/src/plugins/guided_onboarding/public/components/get_step_location.ts b/src/plugins/guided_onboarding/public/components/get_step_location.ts index 3e68b3af47eb5..fdd2b501a3a03 100644 --- a/src/plugins/guided_onboarding/public/components/get_step_location.ts +++ b/src/plugins/guided_onboarding/public/components/get_step_location.ts @@ -9,15 +9,21 @@ import { PluginState } from '../../common'; // regex matches everything between an opening and a closing curly braces -// without matching the braces themselves -const paramsBetweenCurlyBraces = /(?<=\{)[^\{\}]+(?=\})/g; +// and the braces themselves +const paramsWithBraces = /\{(.*?)\}/g; +// regex matches both curly braces +const curlyBraces = /[\{\}]/g; export const getStepLocationPath = (path: string, pluginState: PluginState): string | undefined => { if (pluginState.activeGuide?.params) { let dynamicPath = path; - const matchedParams = path.match(paramsBetweenCurlyBraces); + const matchedParams = path.match(paramsWithBraces); if (matchedParams) { for (const param of matchedParams) { - dynamicPath = dynamicPath.replace(`{${param}}`, pluginState.activeGuide?.params[param]); + const paramWithoutBraces = param.replace(curlyBraces, ''); + dynamicPath = dynamicPath.replace( + `${param}`, + pluginState.activeGuide?.params[paramWithoutBraces] + ); } return dynamicPath; } diff --git a/src/plugins/guided_onboarding/public/components/guide_panel_flyout/guide_panel_flyout_body.tsx b/src/plugins/guided_onboarding/public/components/guide_panel_flyout/guide_panel_flyout_body.tsx index c32ab1f63497c..3a1885b8b2991 100644 --- a/src/plugins/guided_onboarding/public/components/guide_panel_flyout/guide_panel_flyout_body.tsx +++ b/src/plugins/guided_onboarding/public/components/guide_panel_flyout/guide_panel_flyout_body.tsx @@ -156,6 +156,8 @@ export const GuidePanelFlyoutBody = ({ + + ); } diff --git a/src/plugins/input_control_vis/config.ts b/src/plugins/input_control_vis/config.ts new file mode 100644 index 0000000000000..cfbc9e7c19fe9 --- /dev/null +++ b/src/plugins/input_control_vis/config.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 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 { schema, TypeOf } from '@kbn/config-schema'; + +export const configSchema = schema.object({ + readOnly: schema.conditional( + schema.contextRef('serverless'), + true, + schema.maybe(schema.boolean({ defaultValue: false })), + schema.never() + ), +}); + +export type InputControlConfig = TypeOf; + +export interface InputControlPublicConfig { + readOnly?: boolean; +} diff --git a/src/plugins/input_control_vis/kibana.jsonc b/src/plugins/input_control_vis/kibana.jsonc index 939bb9e592f95..c4a0df59b8e15 100644 --- a/src/plugins/input_control_vis/kibana.jsonc +++ b/src/plugins/input_control_vis/kibana.jsonc @@ -5,7 +5,7 @@ "description": "Adds Input Control visualization to Kibana", "plugin": { "id": "inputControlVis", - "server": false, + "server": true, "browser": true, "requiredPlugins": [ "data", diff --git a/src/plugins/input_control_vis/public/index.ts b/src/plugins/input_control_vis/public/index.ts index 41f7e4a4afd31..fe76e6bc05fc1 100644 --- a/src/plugins/input_control_vis/public/index.ts +++ b/src/plugins/input_control_vis/public/index.ts @@ -8,7 +8,8 @@ import { PluginInitializerContext } from '@kbn/core/public'; import { InputControlVisPlugin as Plugin } from './plugin'; +import { InputControlPublicConfig } from '../config'; -export function plugin(initializerContext: PluginInitializerContext) { +export function plugin(initializerContext: PluginInitializerContext) { return new Plugin(initializerContext); } diff --git a/src/plugins/input_control_vis/public/input_control_vis_type.ts b/src/plugins/input_control_vis/public/input_control_vis_type.ts index a0cfa84902dce..875f87041e1e9 100644 --- a/src/plugins/input_control_vis/public/input_control_vis_type.ts +++ b/src/plugins/input_control_vis/public/input_control_vis_type.ts @@ -14,7 +14,8 @@ import { toExpressionAst } from './to_ast'; import { InputControlVisParams } from './types'; export function createInputControlVisTypeDefinition( - deps: InputControlVisDependencies + deps: InputControlVisDependencies, + readOnly: boolean ): VisTypeDefinition { const ControlsTab = getControlsTab(deps); @@ -29,7 +30,8 @@ export function createInputControlVisTypeDefinition( defaultMessage: 'Input controls are deprecated and will be removed in a future version.', }), stage: 'experimental', - hidden: true, + disableCreate: true, // input controls are deprecated and input control creation has been permanently disabled + disableEdit: readOnly, isDeprecated: true, visConfig: { defaults: { diff --git a/src/plugins/input_control_vis/public/plugin.ts b/src/plugins/input_control_vis/public/plugin.ts index f1f3cf609d728..07a71e450ac72 100644 --- a/src/plugins/input_control_vis/public/plugin.ts +++ b/src/plugins/input_control_vis/public/plugin.ts @@ -18,6 +18,7 @@ import { VisualizationsSetup, VisualizationsStart } from '@kbn/visualizations-pl import { createInputControlVisFn } from './input_control_fn'; import { getInputControlVisRenderer } from './input_control_vis_renderer'; import { createInputControlVisTypeDefinition } from './input_control_vis_type'; +import { InputControlPublicConfig } from '../config'; type InputControlVisCoreSetup = CoreSetup; @@ -51,7 +52,7 @@ export interface InputControlVisPluginStartDependencies { /** @internal */ export class InputControlVisPlugin implements Plugin { - constructor(public initializerContext: PluginInitializerContext) {} + constructor(public initializerContext: PluginInitializerContext) {} public setup( core: InputControlVisCoreSetup, @@ -69,8 +70,9 @@ export class InputControlVisPlugin implements Plugin { expressions.registerFunction(createInputControlVisFn); expressions.registerRenderer(getInputControlVisRenderer(visualizationDependencies)); + const { readOnly } = this.initializerContext.config.get(); visualizations.createBaseVisualization( - createInputControlVisTypeDefinition(visualizationDependencies) + createInputControlVisTypeDefinition(visualizationDependencies, Boolean(readOnly)) ); } diff --git a/src/plugins/input_control_vis/server/index.ts b/src/plugins/input_control_vis/server/index.ts new file mode 100644 index 0000000000000..5054ac1ea2db5 --- /dev/null +++ b/src/plugins/input_control_vis/server/index.ts @@ -0,0 +1,36 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { CoreSetup, PluginConfigDescriptor, PluginInitializerContext } from '@kbn/core/server'; +import type { VisualizationsServerSetup } from '@kbn/visualizations-plugin/server'; + +import { configSchema, InputControlConfig } from '../config'; + +export const config: PluginConfigDescriptor = { + exposeToBrowser: { + readOnly: true, + }, + schema: configSchema, +}; + +interface PluginSetupDependencies { + visualizations: VisualizationsServerSetup; +} + +export const plugin = (initializerContext: PluginInitializerContext) => ({ + setup(core: CoreSetup, plugins: PluginSetupDependencies) { + const { readOnly } = initializerContext.config.get(); + if (readOnly) { + plugins.visualizations.registerReadOnlyVisType('input_control_vis'); + } + + return {}; + }, + + start() {}, +}); diff --git a/src/plugins/input_control_vis/tsconfig.json b/src/plugins/input_control_vis/tsconfig.json index 1e3e1f4f00593..dbe5d4e2f28d7 100644 --- a/src/plugins/input_control_vis/tsconfig.json +++ b/src/plugins/input_control_vis/tsconfig.json @@ -6,6 +6,7 @@ "include": [ "public/**/*", "server/**/*", + "*.ts", ], "kbn_references": [ "@kbn/kibana-react-plugin", @@ -21,6 +22,7 @@ "@kbn/expect", "@kbn/i18n-react", "@kbn/test-jest-helpers", + "@kbn/config-schema", ], "exclude": [ "target/**/*", diff --git a/src/plugins/kibana_usage_collection/server/collectors/application_usage/rollups/total.ts b/src/plugins/kibana_usage_collection/server/collectors/application_usage/rollups/total.ts index c8a83deba52e8..8487c0ea8418e 100644 --- a/src/plugins/kibana_usage_collection/server/collectors/application_usage/rollups/total.ts +++ b/src/plugins/kibana_usage_collection/server/collectors/application_usage/rollups/total.ts @@ -48,11 +48,9 @@ export async function rollTotals(logger: Logger, savedObjectsClient?: ISavedObje ) => { const key = viewId === MAIN_APP_DEFAULT_VIEW_ID ? appId : serializeKey(appId, viewId); - return { - ...acc, - // No need to sum because there should be 1 document per appId only - [key]: { appId, viewId, numberOfClicks, minutesOnScreen }, - }; + // No need to sum because there should be 1 document per appId only + acc[key] = { appId, viewId, numberOfClicks, minutesOnScreen }; + return acc; }, {} as Record< string, @@ -60,26 +58,27 @@ export async function rollTotals(logger: Logger, savedObjectsClient?: ISavedObje > ); - const totals = rawApplicationUsageDaily.reduce((acc, { attributes }) => { - const { - appId, - viewId = MAIN_APP_DEFAULT_VIEW_ID, - numberOfClicks, - minutesOnScreen, - } = attributes; - const key = viewId === MAIN_APP_DEFAULT_VIEW_ID ? appId : serializeKey(appId, viewId); - const existing = acc[key] || { minutesOnScreen: 0, numberOfClicks: 0 }; + const totals = rawApplicationUsageDaily.reduce( + (acc, { attributes }) => { + const { + appId, + viewId = MAIN_APP_DEFAULT_VIEW_ID, + numberOfClicks, + minutesOnScreen, + } = attributes; + const key = viewId === MAIN_APP_DEFAULT_VIEW_ID ? appId : serializeKey(appId, viewId); + const existing = acc[key] || { minutesOnScreen: 0, numberOfClicks: 0 }; - return { - ...acc, - [key]: { + acc[key] = { appId, viewId, numberOfClicks: numberOfClicks + existing.numberOfClicks, minutesOnScreen: minutesOnScreen + existing.minutesOnScreen, - }, - }; - }, existingTotals); + }; + return acc; + }, + { ...existingTotals } + ); await Promise.all([ Object.entries(totals).length && diff --git a/src/plugins/kibana_usage_collection/server/collectors/application_usage/telemetry_application_usage_collector.ts b/src/plugins/kibana_usage_collection/server/collectors/application_usage/telemetry_application_usage_collector.ts index 1d93a05ed9d09..b689582ee2b72 100644 --- a/src/plugins/kibana_usage_collection/server/collectors/application_usage/telemetry_application_usage_collector.ts +++ b/src/plugins/kibana_usage_collection/server/collectors/application_usage/telemetry_application_usage_collector.ts @@ -90,21 +90,19 @@ export function registerApplicationUsageCollector( } ) => { const existing = acc[appId] || { clicks_total: 0, minutes_on_screen_total: 0 }; - return { - ...acc, - [serializeKey(appId, viewId)]: { - appId, - viewId, - clicks_total: numberOfClicks + existing.clicks_total, - clicks_7_days: 0, - clicks_30_days: 0, - clicks_90_days: 0, - minutes_on_screen_total: minutesOnScreen + existing.minutes_on_screen_total, - minutes_on_screen_7_days: 0, - minutes_on_screen_30_days: 0, - minutes_on_screen_90_days: 0, - }, + acc[serializeKey(appId, viewId)] = { + appId, + viewId, + clicks_total: numberOfClicks + existing.clicks_total, + clicks_7_days: 0, + clicks_30_days: 0, + clicks_90_days: 0, + minutes_on_screen_total: minutesOnScreen + existing.minutes_on_screen_total, + minutes_on_screen_7_days: 0, + minutes_on_screen_30_days: 0, + minutes_on_screen_90_days: 0, }; + return acc; }, {} as ApplicationUsageTelemetryReport ); @@ -156,17 +154,15 @@ export function registerApplicationUsageCollector( minutes_on_screen_90_days: existing.minutes_on_screen_90_days + minutesOnScreen, }; - return { - ...acc, - [serializeKey(appId, viewId)]: { - ...existing, - clicks_total: existing.clicks_total + numberOfClicks, - minutes_on_screen_total: existing.minutes_on_screen_total + minutesOnScreen, - ...(isInLast7Days ? last7Days : {}), - ...(isInLast30Days ? last30Days : {}), - ...(isInLast90Days ? last90Days : {}), - }, + acc[serializeKey(appId, viewId)] = { + ...existing, + clicks_total: existing.clicks_total + numberOfClicks, + minutes_on_screen_total: existing.minutes_on_screen_total + minutesOnScreen, + ...(isInLast7Days ? last7Days : {}), + ...(isInLast30Days ? last30Days : {}), + ...(isInLast90Days ? last90Days : {}), }; + return acc; }, applicationUsageFromTotals ); diff --git a/src/plugins/kibana_usage_collection/server/collectors/management/schema.ts b/src/plugins/kibana_usage_collection/server/collectors/management/schema.ts index ee43c0b003cb1..bc115bde7c84c 100644 --- a/src/plugins/kibana_usage_collection/server/collectors/management/schema.ts +++ b/src/plugins/kibana_usage_collection/server/collectors/management/schema.ts @@ -42,11 +42,6 @@ export const stackManagementSchema: MakeSchemaFrom = { type: 'keyword', _meta: { description: 'Default value of the setting was changed.' }, }, - // non-sensitive - 'visualize:enableLabs': { - type: 'boolean', - _meta: { description: 'Non-default value of setting.' }, - }, 'visualization:heatmap:maxBuckets': { type: 'long', _meta: { description: 'Non-default value of setting.' }, @@ -450,10 +445,6 @@ export const stackManagementSchema: MakeSchemaFrom = { type: 'integer', _meta: { description: 'Non-default value of setting.' }, }, - 'observability:profilingElasticsearchPlugin': { - type: 'boolean', - _meta: { description: 'Non-default value of setting.' }, - }, 'banners:placement': { type: 'keyword', _meta: { description: 'Non-default value of setting.' }, diff --git a/src/plugins/kibana_usage_collection/server/collectors/management/types.ts b/src/plugins/kibana_usage_collection/server/collectors/management/types.ts index 5d8946b5aeb60..b50c9d1e94a08 100644 --- a/src/plugins/kibana_usage_collection/server/collectors/management/types.ts +++ b/src/plugins/kibana_usage_collection/server/collectors/management/types.ts @@ -46,8 +46,6 @@ export interface UsageStats { 'observability:apmAWSLambdaRequestCostPerMillion': number; 'observability:enableInfrastructureHostsView': boolean; 'observability:apmAgentExplorerView': boolean; - 'observability:profilingElasticsearchPlugin': boolean; - 'visualize:enableLabs': boolean; 'visualization:heatmap:maxBuckets': number; 'visualization:colorMapping': string; 'visualization:useLegacyTimeAxis': boolean; diff --git a/src/plugins/kibana_utils/public/render_complete/render_complete_dispatcher.ts b/src/plugins/kibana_utils/public/render_complete/render_complete_dispatcher.ts index 8ae5cfbe0ca84..597ddcaefc500 100644 --- a/src/plugins/kibana_utils/public/render_complete/render_complete_dispatcher.ts +++ b/src/plugins/kibana_utils/public/render_complete/render_complete_dispatcher.ts @@ -64,7 +64,6 @@ export class RenderCompleteDispatcher { if (!this.el) return; this.count++; this.el.setAttribute('data-render-complete', 'true'); - this.el.setAttribute('data-loading', 'false'); this.el.setAttribute('data-rendering-count', String(this.count)); } diff --git a/src/plugins/presentation_util/public/components/field_picker/field_picker.scss b/src/plugins/presentation_util/public/components/field_picker/field_picker.scss index cb81739118249..74e29b409b5f4 100644 --- a/src/plugins/presentation_util/public/components/field_picker/field_picker.scss +++ b/src/plugins/presentation_util/public/components/field_picker/field_picker.scss @@ -6,9 +6,7 @@ .fieldPickerSelectable { height: $euiSizeXXL * 9; // 40 * 9 = 360px - &.fieldPickerSelectableLoading { - .euiSelectableMessage { - height: 100%; - } + .euiSelectableMessage { + height: 100%; } } \ No newline at end of file diff --git a/src/plugins/saved_objects/public/save_modal/__snapshots__/saved_object_save_modal.test.tsx.snap b/src/plugins/saved_objects/public/save_modal/__snapshots__/saved_object_save_modal.test.tsx.snap index 0f2367910cefd..70ba2d5619d03 100644 --- a/src/plugins/saved_objects/public/save_modal/__snapshots__/saved_object_save_modal.test.tsx.snap +++ b/src/plugins/saved_objects/public/save_modal/__snapshots__/saved_object_save_modal.test.tsx.snap @@ -62,17 +62,45 @@ exports[`SavedObjectSaveModal should render matching snapshot 1`] = ` values={Object {}} /> } + labelAppend={ + + + + } labelType="label" > - + + } + labelAppend={ + + + + } labelType="label" > - + + } + labelAppend={ + + + + } labelType="label" > - + + } + labelAppend={ + + + + } labelType="label" > @@ -383,7 +477,22 @@ exports[`SavedObjectSaveModal should render matching snapshot when given options - + + hasTitleDuplicate: false, isLoading: false, visualizationDescription: this.props.description ? this.props.description : '', + hasAttemptedSubmit: false, }; public render() { - const { isTitleDuplicateConfirmed, hasTitleDuplicate, title } = this.state; + const { isTitleDuplicateConfirmed, hasTitleDuplicate, title, hasAttemptedSubmit } = this.state; const duplicateWarningId = generateId(); const hasColumns = !!this.props.rightOptions; @@ -101,7 +105,10 @@ export class SavedObjectSaveModal extends React.Component data-test-subj="savedObjectTitle" value={title} onChange={this.onTitleChange} - isInvalid={(!isTitleDuplicateConfirmed && hasTitleDuplicate) || title.length === 0} + isInvalid={ + hasAttemptedSubmit && + ((!isTitleDuplicateConfirmed && hasTitleDuplicate) || title.length === 0) + } aria-describedby={this.state.hasTitleDuplicate ? duplicateWarningId : undefined} /> @@ -135,11 +142,15 @@ export class SavedObjectSaveModal extends React.Component > - + {this.props.customModalTitle ? ( + this.props.customModalTitle + ) : ( + + )} @@ -153,11 +164,15 @@ export class SavedObjectSaveModal extends React.Component )} {formBody} - {this.renderCopyOnSave()} - + + {this.renderCopyOnSave()} return ( + + + } label={ } > private onFormSubmit = (event: React.FormEvent) => { event.preventDefault(); - this.saveSavedObject(); + + const { hasAttemptedSubmit, title } = this.state; + + if (!hasAttemptedSubmit) { + this.setState({ hasAttemptedSubmit: true }); + } + + const isValid = this.props.isValid !== undefined ? this.props.isValid : true; + + if (title.length !== 0 && isValid) { + this.saveSavedObject(); + } }; private renderConfirmButton = () => { - const { isLoading, title } = this.state; + const { isLoading } = this.state; let confirmLabel: string | React.ReactNode = i18n.translate( 'savedObjects.saveModal.saveButtonLabel', @@ -269,14 +301,11 @@ export class SavedObjectSaveModal extends React.Component confirmLabel = this.props.confirmButtonLabel; } - const isValid = this.props.isValid !== undefined ? this.props.isValid : true; - return ( @@ -327,21 +356,18 @@ export class SavedObjectSaveModal extends React.Component } return ( - <> - - - } - /> - + + } + /> ); }; } diff --git a/src/plugins/saved_objects_tagging_oss/public/api.ts b/src/plugins/saved_objects_tagging_oss/public/api.ts index 54afed5d6203c..50508b4f5a0c3 100644 --- a/src/plugins/saved_objects_tagging_oss/public/api.ts +++ b/src/plugins/saved_objects_tagging_oss/public/api.ts @@ -268,6 +268,11 @@ export type SavedObjectSaveModalTagSelectorComponentProps = EuiComboBoxProps< * tags selection callback */ onTagsSelected: (ids: string[]) => void; + + /** + * Add "Optional" to the label + */ + markOptional?: boolean; }; /** diff --git a/src/plugins/saved_search/common/constants.ts b/src/plugins/saved_search/common/constants.ts new file mode 100644 index 0000000000000..57e3cfff51ebb --- /dev/null +++ b/src/plugins/saved_search/common/constants.ts @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export const SavedSearchType = 'search'; + +export const LATEST_VERSION = 1; + +export type SavedSearchContentType = typeof SavedSearchType; diff --git a/src/plugins/saved_search/common/content_management/cm_services.ts b/src/plugins/saved_search/common/content_management/cm_services.ts new file mode 100644 index 0000000000000..af32d57e0437f --- /dev/null +++ b/src/plugins/saved_search/common/content_management/cm_services.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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { + ContentManagementServicesDefinition as ServicesDefinition, + Version, +} from '@kbn/object-versioning'; + +// We export the versionned service definition from this file and not the barrel to avoid adding +// the schemas in the "public" js bundle + +import { serviceDefinition as v1 } from './v1/cm_services'; + +export const cmServicesDefinition: { [version: Version]: ServicesDefinition } = { + 1: v1, +}; diff --git a/src/plugins/saved_search/common/content_management/index.ts b/src/plugins/saved_search/common/content_management/index.ts new file mode 100644 index 0000000000000..e9c79f0f50f93 --- /dev/null +++ b/src/plugins/saved_search/common/content_management/index.ts @@ -0,0 +1,9 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export * from './v1'; diff --git a/src/plugins/saved_search/common/content_management/v1/cm_services.ts b/src/plugins/saved_search/common/content_management/v1/cm_services.ts new file mode 100644 index 0000000000000..a59645b3ad4ac --- /dev/null +++ b/src/plugins/saved_search/common/content_management/v1/cm_services.ts @@ -0,0 +1,140 @@ +/* + * Copyright 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 { schema } from '@kbn/config-schema'; +import type { ContentManagementServicesDefinition as ServicesDefinition } from '@kbn/object-versioning'; +import { + savedObjectSchema, + objectTypeToGetResultSchema, + createOptionsSchemas, + updateOptionsSchema, + createResultSchema, +} from '@kbn/content-management-utils'; + +const sortSchema = schema.arrayOf(schema.string(), { minSize: 2, maxSize: 2 }); + +const savedSearchAttributesSchema = schema.object( + { + title: schema.string(), + sort: schema.oneOf([sortSchema, schema.arrayOf(sortSchema)]), + columns: schema.arrayOf(schema.string()), + description: schema.string(), + grid: schema.object({ + columns: schema.maybe( + schema.recordOf( + schema.string(), + schema.object({ + width: schema.maybe(schema.number()), + }) + ) + ), + }), + hideChart: schema.maybe(schema.boolean()), + isTextBasedQuery: schema.maybe(schema.boolean()), + usesAdHocDataView: schema.maybe(schema.boolean()), + kibanaSavedObjectMeta: schema.object({ + searchSourceJSON: schema.string(), + }), + viewMode: schema.maybe( + schema.oneOf([schema.literal('documents'), schema.literal('aggregated')]) + ), + hideAggregatedPreview: schema.maybe(schema.boolean()), + rowHeight: schema.maybe(schema.number()), + hits: schema.maybe(schema.number()), + timeRestore: schema.maybe(schema.boolean()), + timeRange: schema.maybe( + schema.object({ + from: schema.string(), + to: schema.string(), + }) + ), + refreshInterval: schema.maybe( + schema.object({ + pause: schema.boolean(), + value: schema.number(), + }) + ), + rowsPerPage: schema.maybe(schema.number()), + breakdownField: schema.maybe(schema.string()), + version: schema.maybe(schema.number()), + }, + { unknowns: 'forbid' } +); + +const savedSearchSavedObjectSchema = savedObjectSchema(savedSearchAttributesSchema); + +const savedSearchCreateOptionsSchema = schema.maybe( + schema.object({ + id: createOptionsSchemas.id, + references: createOptionsSchemas.references, + overwrite: createOptionsSchemas.overwrite, + }) +); + +const savedSearchUpdateOptionsSchema = schema.maybe( + schema.object({ + references: updateOptionsSchema.references, + }) +); +const savedSearchSearchOptionsSchema = schema.maybe( + schema.object({ + searchFields: schema.maybe(schema.arrayOf(schema.string())), + fields: schema.maybe(schema.arrayOf(schema.string())), + }) +); + +// Content management service definition. +// We need it for BWC support between different versions of the content +export const serviceDefinition: ServicesDefinition = { + get: { + out: { + result: { + schema: objectTypeToGetResultSchema(savedSearchSavedObjectSchema), + }, + }, + }, + create: { + in: { + options: { + schema: savedSearchCreateOptionsSchema, + }, + data: { + schema: savedSearchAttributesSchema, + }, + }, + out: { + result: { + schema: createResultSchema(savedSearchSavedObjectSchema), + }, + }, + }, + update: { + in: { + options: { + schema: savedSearchUpdateOptionsSchema, + }, + data: { + schema: savedSearchAttributesSchema, + }, + }, + }, + search: { + in: { + options: { + schema: savedSearchSearchOptionsSchema, + }, + }, + }, + mSearch: { + out: { + result: { + schema: savedSearchSavedObjectSchema, + }, + }, + }, +}; diff --git a/src/plugins/saved_search/common/content_management/v1/index.ts b/src/plugins/saved_search/common/content_management/v1/index.ts new file mode 100644 index 0000000000000..666449faab9b0 --- /dev/null +++ b/src/plugins/saved_search/common/content_management/v1/index.ts @@ -0,0 +1,11 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export { LATEST_VERSION, type SavedSearchContentType, SavedSearchType } from '../../constants'; + +export type { SavedSearchCrudTypes } from './types'; diff --git a/src/plugins/saved_search/common/content_management/v1/types.ts b/src/plugins/saved_search/common/content_management/v1/types.ts new file mode 100644 index 0000000000000..e0983c77aeb14 --- /dev/null +++ b/src/plugins/saved_search/common/content_management/v1/types.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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { + ContentManagementCrudTypes, + SavedObjectCreateOptions, + SavedObjectSearchOptions, + SavedObjectUpdateOptions, +} from '@kbn/content-management-utils'; +import { SavedSearchAttributes } from '../../types'; +import { SavedSearchContentType } from '../../constants'; + +interface SavedSearchCreateOptions { + id?: SavedObjectCreateOptions['id']; + overwrite?: SavedObjectCreateOptions['overwrite']; + references?: SavedObjectCreateOptions['references']; +} + +interface SavedSearchUpdateOptions { + references?: SavedObjectUpdateOptions['references']; +} + +interface SavedSearchSearchOptions { + searchFields?: SavedObjectSearchOptions['searchFields']; + fields?: SavedObjectSearchOptions['fields']; +} + +export type SavedSearchCrudTypes = ContentManagementCrudTypes< + SavedSearchContentType, + SavedSearchAttributes, + SavedSearchCreateOptions, + SavedSearchUpdateOptions, + SavedSearchSearchOptions +>; diff --git a/src/plugins/saved_search/common/index.ts b/src/plugins/saved_search/common/index.ts index 8eac1650434d8..2a888c3067edd 100644 --- a/src/plugins/saved_search/common/index.ts +++ b/src/plugins/saved_search/common/index.ts @@ -20,3 +20,6 @@ export enum VIEW_MODE { DOCUMENT_LEVEL = 'documents', AGGREGATED_LEVEL = 'aggregated', } + +export { SavedSearchType } from './constants'; +export { LATEST_VERSION } from './constants'; diff --git a/src/plugins/saved_search/common/types.ts b/src/plugins/saved_search/common/types.ts index 319ff420c1697..51c016b7dfbda 100644 --- a/src/plugins/saved_search/common/types.ts +++ b/src/plugins/saved_search/common/types.ts @@ -7,6 +7,7 @@ */ import type { ISearchSource, RefreshInterval, TimeRange } from '@kbn/data-plugin/common'; +import type { SavedObjectReference } from '@kbn/core-saved-objects-server'; import { VIEW_MODE } from '.'; export interface DiscoverGridSettings { @@ -73,4 +74,5 @@ export interface SavedSearch { rowsPerPage?: number; breakdownField?: string; + references?: SavedObjectReference[]; } diff --git a/src/plugins/saved_search/kibana.jsonc b/src/plugins/saved_search/kibana.jsonc index 64346d0908ef8..908a397bd590d 100644 --- a/src/plugins/saved_search/kibana.jsonc +++ b/src/plugins/saved_search/kibana.jsonc @@ -8,10 +8,14 @@ "server": true, "browser": true, "requiredPlugins": [ - "data" + "data", + "contentManagement" + ], + "optionalPlugins": [ + "spaces", + "savedObjectsTaggingOss" ], "requiredBundles": [ - "kibanaUtils" ], "extraPublicDirs": [ "common" diff --git a/src/plugins/saved_search/public/index.ts b/src/plugins/saved_search/public/index.ts index 4857b0fd153cf..e5161bb040d7b 100644 --- a/src/plugins/saved_search/public/index.ts +++ b/src/plugins/saved_search/public/index.ts @@ -8,20 +8,13 @@ export type { SortOrder } from '../common/types'; export type { SavedSearch, SaveSavedSearchOptions } from './services/saved_searches'; -export { - getSavedSearch, - getSavedSearchFullPathUrl, - getSavedSearchUrl, - getSavedSearchUrlConflictMessage, - throwErrorOnSavedSearchUrlConflict, - saveSavedSearch, - getNewSavedSearch, -} from './services/saved_searches'; + +export { getSavedSearchFullPathUrl, getSavedSearchUrl } from './services/saved_searches'; + export { VIEW_MODE } from '../common'; +import { SavedSearchPublicPlugin } from './plugin'; +export type { SavedSearchPublicPluginStart } from './plugin'; export function plugin() { - return { - setup: () => {}, - start: () => {}, - }; + return new SavedSearchPublicPlugin(); } diff --git a/src/plugins/saved_search/public/mocks.ts b/src/plugins/saved_search/public/mocks.ts new file mode 100644 index 0000000000000..60019c7f68ca1 --- /dev/null +++ b/src/plugins/saved_search/public/mocks.ts @@ -0,0 +1,48 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 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 { of } from 'rxjs'; +import { SearchSource, IKibanaSearchResponse } from '@kbn/data-plugin/public'; +import { SearchSourceDependencies } from '@kbn/data-plugin/common/search'; +import type { SearchResponse } from '@elastic/elasticsearch/lib/api/types'; + +const createEmptySearchSource = jest.fn(() => { + const deps = { + getConfig: jest.fn(), + } as unknown as SearchSourceDependencies; + const searchSource = new SearchSource({}, deps); + searchSource.fetch$ = jest.fn().mockReturnValue(of({ rawResponse: { hits: { total: 2 } } })); + searchSource.createChild = jest.fn((options = {}) => { + const childSearchSource = new SearchSource({}, deps); + childSearchSource.setParent(searchSource, options); + childSearchSource.fetch$ = () => + of({ rawResponse: { hits: { hits: [] } } } as unknown as IKibanaSearchResponse< + SearchResponse + >); + return childSearchSource; + }); + return searchSource; +}); + +const savedSearchStartMock = () => ({ + get: jest.fn().mockImplementation(() => ({ + id: 'savedSearch', + title: 'savedSearchTitle', + searchSource: createEmptySearchSource(), + })), + getAll: jest.fn(), + getNew: jest.fn().mockImplementation(() => ({ + searchSource: createEmptySearchSource(), + })), + save: jest.fn(), + find: jest.fn(), +}); + +export const savedSearchPluginMock = { + createStartContract: savedSearchStartMock, +}; diff --git a/src/plugins/saved_search/public/plugin.ts b/src/plugins/saved_search/public/plugin.ts new file mode 100644 index 0000000000000..80fe6b6fbc0e7 --- /dev/null +++ b/src/plugins/saved_search/public/plugin.ts @@ -0,0 +1,99 @@ +/* + * Copyright 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 { CoreSetup, CoreStart, Plugin } from '@kbn/core/public'; +import type { DataPublicPluginStart } from '@kbn/data-plugin/public'; +import type { SpacesApi } from '@kbn/spaces-plugin/public'; +import type { SavedObjectTaggingOssPluginStart } from '@kbn/saved-objects-tagging-oss-plugin/public'; +import { i18n } from '@kbn/i18n'; +import type { + ContentManagementPublicSetup, + ContentManagementPublicStart, +} from '@kbn/content-management-plugin/public'; +import type { SOWithMetadata } from '@kbn/content-management-utils'; +import { + getSavedSearch, + saveSavedSearch, + SaveSavedSearchOptions, + getNewSavedSearch, +} from './services/saved_searches'; +import { SavedSearch, SavedSearchAttributes } from '../common/types'; +import { SavedSearchType, LATEST_VERSION } from '../common'; +import { SavedSearchesService } from './services/saved_searches/saved_searches_service'; + +/** + * Saved search plugin public Setup contract + */ +// eslint-disable-next-line @typescript-eslint/no-empty-interface +export interface SavedSearchPublicPluginSetup {} + +/** + * Saved search plugin public Setup contract + */ +export interface SavedSearchPublicPluginStart { + get: (savedSearchId: string) => ReturnType; + getNew: () => ReturnType; + getAll: () => Promise>>; + save: ( + savedSearch: SavedSearch, + options?: SaveSavedSearchOptions + ) => ReturnType; +} + +/** + * Saved search plugin public Setup contract + */ +export interface SavedSearchPublicSetupDependencies { + contentManagement: ContentManagementPublicSetup; +} + +/** + * Saved search plugin public Setup contract + */ +export interface SavedSearchPublicStartDependencies { + data: DataPublicPluginStart; + spaces?: SpacesApi; + savedObjectsTaggingOss?: SavedObjectTaggingOssPluginStart; + contentManagement: ContentManagementPublicStart; +} + +export class SavedSearchPublicPlugin + implements + Plugin< + SavedSearchPublicPluginSetup, + SavedSearchPublicPluginStart, + SavedSearchPublicSetupDependencies, + SavedSearchPublicStartDependencies + > +{ + public setup(core: CoreSetup, { contentManagement }: SavedSearchPublicSetupDependencies) { + contentManagement.registry.register({ + id: SavedSearchType, + version: { + latest: LATEST_VERSION, + }, + name: i18n.translate('savedSearch.contentManagementType', { + defaultMessage: 'Saved search', + }), + }); + + return {}; + } + + public start( + core: CoreStart, + { + data: { search }, + spaces, + savedObjectsTaggingOss, + contentManagement: { client: contentManagement }, + }: SavedSearchPublicStartDependencies + ): SavedSearchPublicPluginStart { + return new SavedSearchesService({ search, spaces, savedObjectsTaggingOss, contentManagement }); + } +} diff --git a/src/plugins/saved_search/public/services/saved_searches/get_saved_searches.test.ts b/src/plugins/saved_search/public/services/saved_searches/get_saved_searches.test.ts index f64d0ef659f00..e2de4581b15db 100644 --- a/src/plugins/saved_search/public/services/saved_searches/get_saved_searches.test.ts +++ b/src/plugins/saved_search/public/services/saved_searches/get_saved_searches.test.ts @@ -5,10 +5,10 @@ * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ -import type { SavedObjectsStart } from '@kbn/core/public'; import type { DataPublicPluginStart } from '@kbn/data-plugin/public'; +import { contentManagementMock } from '@kbn/content-management-plugin/public/mocks'; +import type { ContentManagementPublicStart } from '@kbn/content-management-plugin/public'; -import { savedObjectsServiceMock } from '@kbn/core/public/mocks'; import { dataPluginMock } from '@kbn/data-plugin/public/mocks'; import { getSavedSearch } from './get_saved_searches'; @@ -16,42 +16,24 @@ import { SavedObjectsTaggingApi } from '@kbn/saved-objects-tagging-oss-plugin/pu describe('getSavedSearch', () => { let search: DataPublicPluginStart['search']; - let savedObjectsClient: SavedObjectsStart['client']; + let cmClient: ContentManagementPublicStart['client']; beforeEach(() => { - savedObjectsClient = savedObjectsServiceMock.createStartContract().client; + cmClient = contentManagementMock.createStartContract().client; search = dataPluginMock.createStartContract().search; }); - test('should return empty saved search in case of no id', async () => { - const savedSearch = await getSavedSearch(undefined, { - savedObjectsClient, - search, - }); - - expect(search.searchSource.createEmpty).toHaveBeenCalled(); - expect(savedSearch).toHaveProperty('searchSource'); - }); - test('should throw an error if so not found', async () => { let errorMessage = 'No error thrown.'; - savedObjectsClient.resolve = jest.fn().mockReturnValue({ - saved_object: { - attributes: {}, - error: { - statusCode: 404, - error: 'Not Found', - message: 'Saved object [search/ccf1af80-2297-11ec-86e0-1155ffb9c7a7] not found', - }, - id: 'ccf1af80-2297-11ec-86e0-1155ffb9c7a7', - type: 'search', - references: [], - }, + cmClient.get = jest.fn().mockReturnValue({ + statusCode: 404, + error: 'Not Found', + message: 'Saved object [ccf1af80-2297-11ec-86e0-1155ffb9c7a7] not found', }); try { await getSavedSearch('ccf1af80-2297-11ec-86e0-1155ffb9c7a7', { - savedObjectsClient, + contentManagement: cmClient, search, }); } catch (error) { @@ -64,8 +46,8 @@ describe('getSavedSearch', () => { }); test('should find saved search', async () => { - savedObjectsClient.resolve = jest.fn().mockReturnValue({ - saved_object: { + cmClient.get = jest.fn().mockReturnValue({ + item: { attributes: { kibanaSavedObjectMeta: { searchSourceJSON: @@ -89,15 +71,17 @@ describe('getSavedSearch', () => { ], namespaces: ['default'], }, - outcome: 'exactMatch', + meta: { + outcome: 'exactMatch', + }, }); const savedSearch = await getSavedSearch('ccf1af80-2297-11ec-86e0-1155ffb9c7a7', { - savedObjectsClient, + contentManagement: cmClient, search, }); - expect(savedObjectsClient.resolve).toHaveBeenCalled(); + expect(cmClient.get).toHaveBeenCalled(); expect(savedSearch).toMatchInlineSnapshot(` Object { "breakdownField": undefined, @@ -110,6 +94,13 @@ describe('getSavedSearch', () => { "hideChart": false, "id": "ccf1af80-2297-11ec-86e0-1155ffb9c7a7", "isTextBasedQuery": undefined, + "references": Array [ + Object { + "id": "ff959d40-b880-11e8-a6d9-e546fe2bba5f", + "name": "kibanaSavedObjectMeta.searchSourceJSON.index", + "type": "index-pattern", + }, + ], "refreshInterval": undefined, "rowHeight": undefined, "rowsPerPage": undefined, @@ -140,9 +131,6 @@ describe('getSavedSearch', () => { "toExpressionAst": [MockFunction], }, "sharingSavedObjectProps": Object { - "aliasPurpose": undefined, - "aliasTargetId": undefined, - "errorJSON": undefined, "outcome": "exactMatch", }, "sort": Array [ @@ -162,8 +150,8 @@ describe('getSavedSearch', () => { }); test('should find saved search with sql mode', async () => { - savedObjectsClient.resolve = jest.fn().mockReturnValue({ - saved_object: { + cmClient.get = jest.fn().mockReturnValue({ + item: { attributes: { kibanaSavedObjectMeta: { searchSourceJSON: @@ -188,15 +176,17 @@ describe('getSavedSearch', () => { ], namespaces: ['default'], }, - outcome: 'exactMatch', + meta: { + outcome: 'exactMatch', + }, }); const savedSearch = await getSavedSearch('ccf1af80-2297-11ec-86e0-1155ffb9c7a7', { - savedObjectsClient, + contentManagement: cmClient, search, }); - expect(savedObjectsClient.resolve).toHaveBeenCalled(); + expect(cmClient.get).toHaveBeenCalled(); expect(savedSearch).toMatchInlineSnapshot(` Object { "breakdownField": undefined, @@ -209,6 +199,13 @@ describe('getSavedSearch', () => { "hideChart": true, "id": "ccf1af80-2297-11ec-86e0-1155ffb9c7a7", "isTextBasedQuery": true, + "references": Array [ + Object { + "id": "ff959d40-b880-11e8-a6d9-e546fe2bba5f", + "name": "kibanaSavedObjectMeta.searchSourceJSON.index", + "type": "index-pattern", + }, + ], "refreshInterval": undefined, "rowHeight": undefined, "rowsPerPage": undefined, @@ -239,9 +236,6 @@ describe('getSavedSearch', () => { "toExpressionAst": [MockFunction], }, "sharingSavedObjectProps": Object { - "aliasPurpose": undefined, - "aliasTargetId": undefined, - "errorJSON": undefined, "outcome": "exactMatch", }, "sort": Array [ @@ -261,8 +255,8 @@ describe('getSavedSearch', () => { }); it('should call savedObjectsTagging.ui.getTagIdsFromReferences', async () => { - savedObjectsClient.resolve = jest.fn().mockReturnValue({ - saved_object: { + cmClient.get = jest.fn().mockReturnValue({ + item: { attributes: { kibanaSavedObjectMeta: { searchSourceJSON: @@ -292,7 +286,9 @@ describe('getSavedSearch', () => { ], namespaces: ['default'], }, - outcome: 'exactMatch', + meta: { + outcome: 'exactMatch', + }, }); const savedObjectsTagging = { ui: { @@ -300,7 +296,7 @@ describe('getSavedSearch', () => { }, } as unknown as SavedObjectsTaggingApi; await getSavedSearch('ccf1af80-2297-11ec-86e0-1155ffb9c7a7', { - savedObjectsClient, + contentManagement: cmClient, search, savedObjectsTagging, }); diff --git a/src/plugins/saved_search/public/services/saved_searches/get_saved_searches.ts b/src/plugins/saved_search/public/services/saved_searches/get_saved_searches.ts index d90bbed57e2f5..a6129d05d07bb 100644 --- a/src/plugins/saved_search/public/services/saved_searches/get_saved_searches.ts +++ b/src/plugins/saved_search/public/services/saved_searches/get_saved_searches.ts @@ -6,38 +6,60 @@ * Side Public License, v 1. */ -import type { SavedObjectsClientContract } from '@kbn/core/public'; import type { DataPublicPluginStart } from '@kbn/data-plugin/public'; import { injectSearchSourceReferences, parseSearchSourceJSON } from '@kbn/data-plugin/public'; -import { SavedObjectNotFound } from '@kbn/kibana-utils-plugin/public'; import type { SpacesApi } from '@kbn/spaces-plugin/public'; import type { SavedObjectsTaggingApi } from '@kbn/saved-objects-tagging-oss-plugin/public'; -import type { SavedSearchAttributes } from '../../../common'; +import { i18n } from '@kbn/i18n'; +import type { ContentManagementPublicStart } from '@kbn/content-management-plugin/public'; import type { SavedSearch } from './types'; import { SAVED_SEARCH_TYPE } from './constants'; import { fromSavedSearchAttributes } from './saved_searches_utils'; +import type { SavedSearchCrudTypes } from '../../../common/content_management'; interface GetSavedSearchDependencies { search: DataPublicPluginStart['search']; - savedObjectsClient: SavedObjectsClientContract; + contentManagement: ContentManagementPublicStart['client']; spaces?: SpacesApi; savedObjectsTagging?: SavedObjectsTaggingApi; } -const findSavedSearch = async ( +const getSavedSearchUrlConflictMessage = async (json: string) => + i18n.translate('savedSearch.legacyURLConflict.errorMessage', { + defaultMessage: `This search has the same URL as a legacy alias. Disable the alias to resolve this error : {json}`, + values: { json }, + }); + +export const getSavedSearch = async ( savedSearchId: string, - { search, savedObjectsClient, spaces, savedObjectsTagging }: GetSavedSearchDependencies + { search, spaces, savedObjectsTagging, contentManagement }: GetSavedSearchDependencies ) => { - const so = await savedObjectsClient.resolve( - SAVED_SEARCH_TYPE, - savedSearchId - ); + const so = await contentManagement.get< + SavedSearchCrudTypes['GetIn'], + SavedSearchCrudTypes['GetOut'] + >({ + contentTypeId: SAVED_SEARCH_TYPE, + id: savedSearchId, + }); - if (!so.saved_object || so.saved_object.error) { - throw new SavedObjectNotFound(SAVED_SEARCH_TYPE, savedSearchId); + // @ts-expect-error + if (so.error) { + throw new Error(`Could not locate that search (id: ${savedSearchId})`); } - const savedSearch = so.saved_object; + if (so.meta.outcome === 'conflict') { + throw new Error( + await getSavedSearchUrlConflictMessage( + JSON.stringify({ + targetType: SAVED_SEARCH_TYPE, + sourceId: savedSearchId, + targetSpace: (await spaces?.getActiveSpace())?.id, + }) + ) + ); + } + + const savedSearch = so.item; const parsedSearchSourceJSON = parseSearchSourceJSON( savedSearch.attributes.kibanaSavedObjectMeta?.searchSourceJSON ?? '{}' @@ -52,28 +74,17 @@ const findSavedSearch = async ( ? savedObjectsTagging.ui.getTagIdsFromReferences(savedSearch.references) : undefined; - return fromSavedSearchAttributes( + const returnVal = fromSavedSearchAttributes( savedSearchId, savedSearch.attributes, tags, + savedSearch.references, await search.searchSource.create(searchSourceValues), - { - outcome: so.outcome, - aliasTargetId: so.alias_target_id, - aliasPurpose: so.alias_purpose, - errorJSON: - so.outcome === 'conflict' && spaces - ? JSON.stringify({ - targetType: SAVED_SEARCH_TYPE, - sourceId: savedSearchId, - targetSpace: (await spaces.getActiveSpace()).id, - }) - : undefined, - } + so.meta ); -}; -/** @public **/ + return returnVal; +}; /** * Returns a new saved search @@ -87,16 +98,3 @@ export const getNewSavedSearch = ({ }): SavedSearch => ({ searchSource: search.searchSource.createEmpty(), }); -/** - * Returns a persisted or a new saved search - * @param savedSearchId - when undefined a new saved search is returned - * @param dependencies - */ -export const getSavedSearch = async ( - savedSearchId: string | undefined, - dependencies: GetSavedSearchDependencies -) => { - return savedSearchId - ? findSavedSearch(savedSearchId, dependencies) - : getNewSavedSearch(dependencies); -}; diff --git a/src/plugins/saved_search/public/services/saved_searches/index.ts b/src/plugins/saved_search/public/services/saved_searches/index.ts index 53f486e79bb15..e09ce932345b3 100644 --- a/src/plugins/saved_search/public/services/saved_searches/index.ts +++ b/src/plugins/saved_search/public/services/saved_searches/index.ts @@ -7,12 +7,7 @@ */ export { getSavedSearch, getNewSavedSearch } from './get_saved_searches'; -export { - getSavedSearchUrl, - getSavedSearchFullPathUrl, - getSavedSearchUrlConflictMessage, - throwErrorOnSavedSearchUrlConflict, -} from './saved_searches_utils'; +export { getSavedSearchUrl, getSavedSearchFullPathUrl } from './saved_searches_utils'; export type { SaveSavedSearchOptions } from './save_saved_searches'; export { saveSavedSearch } from './save_saved_searches'; export { SAVED_SEARCH_TYPE } from './constants'; diff --git a/src/plugins/saved_search/public/services/saved_searches/save_saved_searches.test.ts b/src/plugins/saved_search/public/services/saved_searches/save_saved_searches.test.ts index 0d7769b46c19d..9c7eb23c98e0a 100644 --- a/src/plugins/saved_search/public/services/saved_searches/save_saved_searches.test.ts +++ b/src/plugins/saved_search/public/services/saved_searches/save_saved_searches.test.ts @@ -6,23 +6,21 @@ * Side Public License, v 1. */ -import type { SavedObjectsStart } from '@kbn/core/public'; - -import { savedObjectsServiceMock } from '@kbn/core/public/mocks'; import { dataPluginMock } from '@kbn/data-plugin/public/mocks'; import { saveSavedSearch } from './save_saved_searches'; import type { SavedSearch } from './types'; import type { SavedObjectsTaggingApi } from '@kbn/saved-objects-tagging-oss-plugin/public'; +import type { ContentManagementPublicStart } from '@kbn/content-management-plugin/public'; +import { contentManagementMock } from '@kbn/content-management-plugin/public/mocks'; describe('saveSavedSearch', () => { - let savedObjectsClient: SavedObjectsStart['client']; + let cmApi: ContentManagementPublicStart['client']; let savedSearch: SavedSearch; beforeEach(() => { - savedObjectsClient = savedObjectsServiceMock.createStartContract().client; + cmApi = contentManagementMock.createStartContract().client; const searchSource = dataPluginMock.createStartContract().search.searchSource.createEmpty(); - savedSearch = { id: 'id', title: 'title', @@ -41,8 +39,14 @@ describe('saveSavedSearch', () => { describe('onTitleDuplicate', () => { test('should check for title duplicating', async () => { - savedObjectsClient.find = jest.fn().mockReturnValue({ - savedObjects: [{ get: () => 'title' }], + cmApi.search = jest.fn().mockReturnValue({ + hits: [ + { + attributes: { + title: 'title', + }, + }, + ], }); const onTitleDuplicate = jest.fn(); @@ -52,7 +56,7 @@ describe('saveSavedSearch', () => { onTitleDuplicate, copyOnSave: true, }, - savedObjectsClient, + cmApi, undefined ); @@ -60,8 +64,19 @@ describe('saveSavedSearch', () => { }); test('should not check for title duplicating for saving existing search', async () => { - savedObjectsClient.find = jest.fn().mockReturnValue({ - savedObjects: [{ get: () => 'title' }], + cmApi.search = jest.fn().mockReturnValue({ + hits: [ + { + attributes: { + title: 'title', + }, + }, + ], + }); + cmApi.update = jest.fn().mockReturnValue({ + item: { + id: 'id', + }, }); const onTitleDuplicate = jest.fn(); @@ -71,7 +86,7 @@ describe('saveSavedSearch', () => { onTitleDuplicate, copyOnSave: false, }, - savedObjectsClient, + cmApi, undefined ); @@ -80,49 +95,92 @@ describe('saveSavedSearch', () => { }); test('should call savedObjectsClient.create for saving new search', async () => { + cmApi.search = jest.fn().mockReturnValue({ + hits: [ + { + attributes: { + title: 'title', + }, + }, + ], + }); + cmApi.create = jest.fn().mockReturnValue({ + item: { + id: 'id', + }, + }); + delete savedSearch.id; - await saveSavedSearch(savedSearch, {}, savedObjectsClient, undefined); + await saveSavedSearch(savedSearch, {}, cmApi, undefined); - expect(savedObjectsClient.create).toHaveBeenCalledWith( - 'search', - { + expect(cmApi.create).toHaveBeenCalledWith({ + contentTypeId: 'search', + data: { + breakdownField: undefined, columns: [], description: '', grid: {}, - isTextBasedQuery: false, + hideAggregatedPreview: undefined, hideChart: false, + isTextBasedQuery: false, kibanaSavedObjectMeta: { searchSourceJSON: '{}' }, + refreshInterval: undefined, + rowHeight: undefined, + rowsPerPage: undefined, sort: [], - title: 'title', + timeRange: undefined, timeRestore: false, + title: 'title', + usesAdHocDataView: undefined, + viewMode: undefined, }, - { references: [] } - ); + options: { references: [] }, + }); }); test('should call savedObjectsClient.update for saving existing search', async () => { - await saveSavedSearch(savedSearch, {}, savedObjectsClient, undefined); + cmApi.update = jest.fn().mockReturnValue({ + item: { + id: 'id', + }, + }); - expect(savedObjectsClient.update).toHaveBeenCalledWith( - 'search', - 'id', - { + await saveSavedSearch(savedSearch, {}, cmApi, undefined); + + expect(cmApi.update).toHaveBeenCalledWith({ + contentTypeId: 'search', + data: { + breakdownField: undefined, columns: [], description: '', grid: {}, + hideAggregatedPreview: undefined, isTextBasedQuery: false, hideChart: false, kibanaSavedObjectMeta: { searchSourceJSON: '{}' }, + refreshInterval: undefined, + rowHeight: undefined, + rowsPerPage: undefined, + timeRange: undefined, sort: [], title: 'title', timeRestore: false, + usesAdHocDataView: undefined, + viewMode: undefined, }, - { references: [] } - ); + id: 'id', + options: { references: [] }, + }); }); test('should call savedObjectsTagging.ui.updateTagsReferences', async () => { + cmApi.update = jest.fn().mockReturnValue({ + item: { + id: 'id', + }, + }); + const savedObjectsTagging = { ui: { updateTagsReferences: jest.fn((_, tags) => tags), @@ -131,7 +189,7 @@ describe('saveSavedSearch', () => { await saveSavedSearch( { ...savedSearch, tags: ['tag-1', 'tag-2'] }, {}, - savedObjectsClient, + cmApi, savedObjectsTagging ); @@ -139,21 +197,29 @@ describe('saveSavedSearch', () => { [], ['tag-1', 'tag-2'] ); - expect(savedObjectsClient.update).toHaveBeenCalledWith( - 'search', - 'id', - { + expect(cmApi.update).toHaveBeenCalledWith({ + contentTypeId: 'search', + data: { + breakdownField: undefined, columns: [], description: '', grid: {}, - isTextBasedQuery: false, + hideAggregatedPreview: undefined, hideChart: false, + isTextBasedQuery: false, kibanaSavedObjectMeta: { searchSourceJSON: '{}' }, + refreshInterval: undefined, + rowHeight: undefined, + rowsPerPage: undefined, sort: [], - title: 'title', + timeRange: undefined, timeRestore: false, + title: 'title', + usesAdHocDataView: undefined, + viewMode: undefined, }, - { references: ['tag-1', 'tag-2'] } - ); + id: 'id', + options: { references: ['tag-1', 'tag-2'] }, + }); }); }); diff --git a/src/plugins/saved_search/public/services/saved_searches/save_saved_searches.ts b/src/plugins/saved_search/public/services/saved_searches/save_saved_searches.ts index a7d11ab69166e..9ea35b8389f00 100644 --- a/src/plugins/saved_search/public/services/saved_searches/save_saved_searches.ts +++ b/src/plugins/saved_search/public/services/saved_searches/save_saved_searches.ts @@ -5,12 +5,13 @@ * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ -import type { SavedObjectsClientContract, SavedObjectsStart } from '@kbn/core/public'; + import type { SavedObjectsTaggingApi } from '@kbn/saved-objects-tagging-oss-plugin/public'; -import type { SavedSearchAttributes } from '../../../common'; +import type { ContentManagementPublicStart } from '@kbn/content-management-plugin/public'; import type { SavedSearch } from './types'; import { SAVED_SEARCH_TYPE } from './constants'; import { toSavedSearchAttributes } from './saved_searches_utils'; +import type { SavedSearchCrudTypes } from '../../../common/content_management'; export interface SaveSavedSearchOptions { onTitleDuplicate?: () => void; @@ -20,30 +21,34 @@ export interface SaveSavedSearchOptions { const hasDuplicatedTitle = async ( title: string, - savedObjectsClient: SavedObjectsStart['client'] + contentManagement: ContentManagementPublicStart['client'] ): Promise => { if (!title) { return; } - const response = await savedObjectsClient.find({ - type: SAVED_SEARCH_TYPE, - perPage: 10, - search: `"${title}"`, - searchFields: ['title'], - fields: ['title'], + const response = await contentManagement.search< + SavedSearchCrudTypes['SearchIn'], + SavedSearchCrudTypes['SearchOut'] + >({ + contentTypeId: SAVED_SEARCH_TYPE, + query: { + text: `"${title}"`, + }, + options: { + searchFields: ['title'], + fields: ['title'], + }, }); - return response.savedObjects.some( - (obj) => obj.get('title').toLowerCase() === title.toLowerCase() - ); + return response.hits.some((obj) => obj.attributes.title.toLowerCase() === title.toLowerCase()); }; /** @internal **/ export const saveSavedSearch = async ( savedSearch: SavedSearch, options: SaveSavedSearchOptions, - savedObjectsClient: SavedObjectsClientContract, + contentManagement: ContentManagementPublicStart['client'], savedObjectsTagging: SavedObjectsTaggingApi | undefined ): Promise => { const isNew = options.copyOnSave || !savedSearch.id; @@ -53,7 +58,7 @@ export const saveSavedSearch = async ( isNew && !options.isTitleDuplicateConfirmed && options.onTitleDuplicate && - (await hasDuplicatedTitle(savedSearch.title, savedObjectsClient)) + (await hasDuplicatedTitle(savedSearch.title, contentManagement)) ) { options.onTitleDuplicate(); return; @@ -65,21 +70,27 @@ export const saveSavedSearch = async ( ? savedObjectsTagging.ui.updateTagsReferences(originalReferences, savedSearch.tags ?? []) : originalReferences; const resp = isNew - ? await savedObjectsClient.create( - SAVED_SEARCH_TYPE, - toSavedSearchAttributes(savedSearch, searchSourceJSON), - { + ? await contentManagement.create< + SavedSearchCrudTypes['CreateIn'], + SavedSearchCrudTypes['CreateOut'] + >({ + contentTypeId: SAVED_SEARCH_TYPE, + data: toSavedSearchAttributes(savedSearch, searchSourceJSON), + options: { references, - } - ) - : await savedObjectsClient.update( - SAVED_SEARCH_TYPE, - savedSearch.id!, - toSavedSearchAttributes(savedSearch, searchSourceJSON), - { + }, + }) + : await contentManagement.update< + SavedSearchCrudTypes['UpdateIn'], + SavedSearchCrudTypes['UpdateOut'] + >({ + contentTypeId: SAVED_SEARCH_TYPE, + id: savedSearch.id!, + data: toSavedSearchAttributes(savedSearch, searchSourceJSON), + options: { references, - } - ); + }, + }); - return resp?.id; + return resp.item.id; }; diff --git a/src/plugins/saved_search/public/services/saved_searches/saved_searches_service.ts b/src/plugins/saved_search/public/services/saved_searches/saved_searches_service.ts new file mode 100644 index 0000000000000..35a7ea5c571af --- /dev/null +++ b/src/plugins/saved_search/public/services/saved_searches/saved_searches_service.ts @@ -0,0 +1,77 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { DataPublicPluginStart } from '@kbn/data-plugin/public'; +import type { ContentManagementPublicStart } from '@kbn/content-management-plugin/public'; +import type { SpacesApi } from '@kbn/spaces-plugin/public'; +import type { SavedObjectTaggingOssPluginStart } from '@kbn/saved-objects-tagging-oss-plugin/public'; +import { getSavedSearch, saveSavedSearch, SaveSavedSearchOptions, getNewSavedSearch } from '.'; +import type { SavedSearchCrudTypes } from '../../../common/content_management'; +import { SavedSearchType } from '../../../common'; +import type { SavedSearch } from '../../../common/types'; + +interface SavedSearchesServiceDeps { + search: DataPublicPluginStart['search']; + contentManagement: ContentManagementPublicStart['client']; + spaces?: SpacesApi; + savedObjectsTaggingOss?: SavedObjectTaggingOssPluginStart; +} + +export class SavedSearchesService { + constructor(private deps: SavedSearchesServiceDeps) {} + + get = (savedSearchId: string) => { + const { search, contentManagement, spaces, savedObjectsTaggingOss } = this.deps; + return getSavedSearch(savedSearchId, { + search, + contentManagement, + spaces, + savedObjectsTagging: savedObjectsTaggingOss?.getTaggingApi(), + }); + }; + getAll = async () => { + const { contentManagement } = this.deps; + const result = await contentManagement.search< + SavedSearchCrudTypes['SearchIn'], + SavedSearchCrudTypes['SearchOut'] + >({ + contentTypeId: SavedSearchType, + query: {}, + }); + return result.hits; + }; + getNew = () => getNewSavedSearch({ search: this.deps.search }); + + find = async (search: string) => { + const { contentManagement } = this.deps; + const result = await contentManagement.search< + SavedSearchCrudTypes['SearchIn'], + SavedSearchCrudTypes['SearchOut'] + >({ + contentTypeId: SavedSearchType, + query: { + text: search, + }, + options: { + searchFields: ['title'], + fields: ['title'], + }, + }); + return result.hits; + }; + + save = (savedSearch: SavedSearch, options: SaveSavedSearchOptions = {}) => { + const { contentManagement, savedObjectsTaggingOss } = this.deps; + return saveSavedSearch( + savedSearch, + options, + contentManagement, + savedObjectsTaggingOss?.getTaggingApi() + ); + }; +} diff --git a/src/plugins/saved_search/public/services/saved_searches/saved_searches_utils.test.ts b/src/plugins/saved_search/public/services/saved_searches/saved_searches_utils.test.ts index 511385276ab11..4ebf62dffb443 100644 --- a/src/plugins/saved_search/public/services/saved_searches/saved_searches_utils.test.ts +++ b/src/plugins/saved_search/public/services/saved_searches/saved_searches_utils.test.ts @@ -6,11 +6,7 @@ * Side Public License, v 1. */ -import { - fromSavedSearchAttributes, - toSavedSearchAttributes, - throwErrorOnSavedSearchUrlConflict, -} from './saved_searches_utils'; +import { fromSavedSearchAttributes, toSavedSearchAttributes } from './saved_searches_utils'; import { createSearchSourceMock } from '@kbn/data-plugin/public/mocks'; @@ -37,6 +33,7 @@ describe('saved_searches_utils', () => { 'id', attributes, ['tags-1', 'tags-2'], + [], createSearchSourceMock(), {} ) @@ -53,6 +50,7 @@ describe('saved_searches_utils', () => { "hideChart": true, "id": "id", "isTextBasedQuery": false, + "references": Array [], "refreshInterval": undefined, "rowHeight": undefined, "rowsPerPage": undefined, @@ -91,28 +89,6 @@ describe('saved_searches_utils', () => { }); }); - describe('throwErrorOnSavedSearchUrlConflict', () => { - test('should throw an error on url conflict', async () => { - let error = 'no error'; - - try { - await throwErrorOnSavedSearchUrlConflict({ - id: 'id', - sharingSavedObjectProps: { - outcome: 'conflict', - errorJSON: '{}', - }, - } as SavedSearch); - } catch (e) { - error = e.message; - } - - expect(error).toBe( - 'This search has the same URL as a legacy alias. Disable the alias to resolve this error : {}' - ); - }); - }); - describe('toSavedSearchAttributes', () => { test('should serialize SavedSearch attributes', () => { const savedSearch: SavedSearch = { diff --git a/src/plugins/saved_search/public/services/saved_searches/saved_searches_utils.ts b/src/plugins/saved_search/public/services/saved_searches/saved_searches_utils.ts index fe15f630318c1..129e1e5ff6dc6 100644 --- a/src/plugins/saved_search/public/services/saved_searches/saved_searches_utils.ts +++ b/src/plugins/saved_search/public/services/saved_searches/saved_searches_utils.ts @@ -5,37 +5,26 @@ * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ -import { i18n } from '@kbn/i18n'; + import { pick } from 'lodash'; +import type { SavedObjectReference } from '@kbn/core-saved-objects-server'; import type { SavedSearchAttributes } from '../../../common'; import { fromSavedSearchAttributes as fromSavedSearchAttributesCommon } from '../../../common'; import type { SavedSearch } from './types'; export { getSavedSearchUrl, getSavedSearchFullPathUrl } from '../../../common'; -export const getSavedSearchUrlConflictMessage = async (savedSearch: SavedSearch) => - i18n.translate('savedSearch.legacyURLConflict.errorMessage', { - defaultMessage: `This search has the same URL as a legacy alias. Disable the alias to resolve this error : {json}`, - values: { - json: savedSearch.sharingSavedObjectProps?.errorJSON, - }, - }); - -export const throwErrorOnSavedSearchUrlConflict = async (savedSearch: SavedSearch) => { - if (savedSearch.sharingSavedObjectProps?.errorJSON) { - throw new Error(await getSavedSearchUrlConflictMessage(savedSearch)); - } -}; - export const fromSavedSearchAttributes = ( id: string, attributes: SavedSearchAttributes, tags: string[] | undefined, + references: SavedObjectReference[] | undefined, searchSource: SavedSearch['searchSource'], sharingSavedObjectProps: SavedSearch['sharingSavedObjectProps'] ): SavedSearch => ({ ...fromSavedSearchAttributesCommon(id, attributes, tags, searchSource), sharingSavedObjectProps, + references, }); export const toSavedSearchAttributes = ( diff --git a/src/plugins/saved_search/server/content_management/index.ts b/src/plugins/saved_search/server/content_management/index.ts new file mode 100644 index 0000000000000..4a339267ad4af --- /dev/null +++ b/src/plugins/saved_search/server/content_management/index.ts @@ -0,0 +1,9 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export { SavedSearchStorage } from './saved_search_storage'; diff --git a/src/plugins/saved_search/server/content_management/saved_search_storage.ts b/src/plugins/saved_search/server/content_management/saved_search_storage.ts new file mode 100644 index 0000000000000..9d13d52db0271 --- /dev/null +++ b/src/plugins/saved_search/server/content_management/saved_search_storage.ts @@ -0,0 +1,42 @@ +/* + * Copyright 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 { SOContentStorage } from '@kbn/content-management-utils'; + +import type { SavedSearchCrudTypes } from '../../common/content_management'; +import { SavedSearchType } from '../../common/content_management'; +import { cmServicesDefinition } from '../../common/content_management/cm_services'; + +export class SavedSearchStorage extends SOContentStorage { + constructor() { + super({ + savedObjectType: SavedSearchType, + cmServicesDefinition, + enableMSearch: true, + allowedSavedObjectAttributes: [ + 'title', + 'sort', + 'columns', + 'description', + 'grid', + 'hideChart', + 'isTextBasedQuery', + 'usesAdHocDataView', + 'kibanaSavedObjectMeta', + 'viewMode', + 'hideAggregatedPreview', + 'rowHeight', + 'timeRestore', + 'timeRange', + 'refreshInterval', + 'rowsPerPage', + 'breakdownField', + ], + }); + } +} diff --git a/src/plugins/saved_search/server/plugin.ts b/src/plugins/saved_search/server/plugin.ts index ca41ed81e4088..adb6492eae42e 100644 --- a/src/plugins/saved_search/server/plugin.ts +++ b/src/plugins/saved_search/server/plugin.ts @@ -8,15 +8,27 @@ import { CoreSetup, CoreStart, Plugin } from '@kbn/core/server'; import type { PluginSetup as DataPluginSetup } from '@kbn/data-plugin/server'; +import type { ContentManagementServerSetup } from '@kbn/content-management-plugin/server'; import { getSavedSearchObjectType } from './saved_objects'; +import { SavedSearchType, LATEST_VERSION } from '../common'; +import { SavedSearchStorage } from './content_management'; export class SavedSearchServerPlugin implements Plugin { public setup( core: CoreSetup, plugins: { data: DataPluginSetup; + contentManagement: ContentManagementServerSetup; } ) { + plugins.contentManagement.register({ + id: SavedSearchType, + storage: new SavedSearchStorage(), + version: { + latest: LATEST_VERSION, + }, + }); + const getSearchSourceMigrations = plugins.data.search.searchSource.getAllMigrations.bind( plugins.data.search.searchSource ); diff --git a/src/plugins/saved_search/server/saved_objects/search_migrations.test.ts b/src/plugins/saved_search/server/saved_objects/search_migrations.test.ts index 49a8cb45edfd3..9d72fecb926d3 100644 --- a/src/plugins/saved_search/server/saved_objects/search_migrations.test.ts +++ b/src/plugins/saved_search/server/saved_objects/search_migrations.test.ts @@ -7,6 +7,7 @@ */ import { SavedObjectMigrationContext, SavedObjectUnsanitizedDoc } from '@kbn/core/server'; +import { SavedObjectsUtils } from '@kbn/core-saved-objects-utils-server'; import { getAllMigrations, searchMigrations } from './search_migrations'; const savedObjectMigrationContext = null as unknown as SavedObjectMigrationContext; @@ -369,7 +370,12 @@ Object { [versionToTest]: (state) => ({ ...state, migrated: true }), }); - expect(migrations[versionToTest](savedSearch, {} as SavedObjectMigrationContext)).toEqual({ + expect( + SavedObjectsUtils.getMigrationFunction(migrations[versionToTest])( + savedSearch, + {} as SavedObjectMigrationContext + ) + ).toEqual({ attributes: { kibanaSavedObjectMeta: { searchSourceJSON: JSON.stringify({ @@ -395,7 +401,12 @@ Object { [versionToTest]: (state) => ({ ...state, migrated: true }), }); - expect(migrations[versionToTest](savedSearch, {} as SavedObjectMigrationContext)).toEqual({ + expect( + SavedObjectsUtils.getMigrationFunction(migrations[versionToTest])( + savedSearch, + {} as SavedObjectMigrationContext + ) + ).toEqual({ attributes: { kibanaSavedObjectMeta: { searchSourceJSON: '5', diff --git a/src/plugins/saved_search/tsconfig.json b/src/plugins/saved_search/tsconfig.json index 7ecf44063dac7..b1c9253b1fd25 100644 --- a/src/plugins/saved_search/tsconfig.json +++ b/src/plugins/saved_search/tsconfig.json @@ -18,6 +18,10 @@ "@kbn/i18n", "@kbn/config-schema", "@kbn/core-saved-objects-server", + "@kbn/core-saved-objects-utils-server", + "@kbn/object-versioning", + "@kbn/content-management-utils", + "@kbn/content-management-plugin", ], "exclude": [ "target/**/*", diff --git a/src/plugins/share/public/components/share_context_menu.tsx b/src/plugins/share/public/components/share_context_menu.tsx index 10ed027e204c6..0e73437914bc9 100644 --- a/src/plugins/share/public/components/share_context_menu.tsx +++ b/src/plugins/share/public/components/share_context_menu.tsx @@ -14,6 +14,7 @@ import { EuiContextMenu, EuiContextMenuPanelDescriptor } from '@elastic/eui'; import type { Capabilities } from '@kbn/core/public'; +import type { LocatorPublic } from '../../common'; import { UrlPanelContent } from './url_panel_content'; import { ShareMenuItem, ShareContextMenuPanelItem, UrlParamExtension } from '../types'; import { AnonymousAccessServiceContract } from '../../common/anonymous_access'; @@ -26,6 +27,10 @@ export interface ShareContextMenuProps { objectType: string; shareableUrl?: string; shareableUrlForSavedObject?: string; + shareableUrlLocatorParams?: { + locator: LocatorPublic; + params: any; + }; shareMenuItems: ShareMenuItem[]; sharingData: any; onClose: () => void; @@ -68,6 +73,7 @@ export class ShareContextMenu extends Component { objectType={this.props.objectType} shareableUrl={this.props.shareableUrl} shareableUrlForSavedObject={this.props.shareableUrlForSavedObject} + shareableUrlLocatorParams={this.props.shareableUrlLocatorParams} anonymousAccess={this.props.anonymousAccess} showPublicUrlSwitch={this.props.showPublicUrlSwitch} urlService={this.props.urlService} @@ -102,6 +108,7 @@ export class ShareContextMenu extends Component { objectType={this.props.objectType} shareableUrl={this.props.shareableUrl} shareableUrlForSavedObject={this.props.shareableUrlForSavedObject} + shareableUrlLocatorParams={this.props.shareableUrlLocatorParams} urlParamExtensions={this.props.embedUrlParamExtensions} anonymousAccess={this.props.anonymousAccess} showPublicUrlSwitch={this.props.showPublicUrlSwitch} diff --git a/src/plugins/share/public/components/url_panel_content.tsx b/src/plugins/share/public/components/url_panel_content.tsx index 49a1182e8eb00..081e707134266 100644 --- a/src/plugins/share/public/components/url_panel_content.tsx +++ b/src/plugins/share/public/components/url_panel_content.tsx @@ -28,6 +28,7 @@ import { FormattedMessage, I18nProvider } from '@kbn/i18n-react'; import { i18n } from '@kbn/i18n'; import type { Capabilities } from '@kbn/core/public'; +import type { LocatorPublic } from '../../common'; import { UrlParamExtension } from '../types'; import { AnonymousAccessServiceContract, @@ -42,6 +43,10 @@ export interface UrlPanelContentProps { objectType: string; shareableUrl?: string; shareableUrlForSavedObject?: string; + shareableUrlLocatorParams?: { + locator: LocatorPublic; + params: any; + }; urlParamExtensions?: UrlParamExtension[]; anonymousAccess?: AnonymousAccessServiceContract; showPublicUrlSwitch?: (anonymousUserCapabilities: Capabilities) => boolean; @@ -351,16 +356,23 @@ export class UrlPanelContent extends Component { }); try { - const snapshotUrl = this.getSnapshotUrl(); - const shortUrl = await this.props.urlService.shortUrls - .get(null) - .createFromLongUrl(snapshotUrl); + const { shareableUrlLocatorParams } = this.props; + if (shareableUrlLocatorParams) { + const shortUrls = this.props.urlService.shortUrls.get(null); + const shortUrl = await shortUrls.createWithLocator(shareableUrlLocatorParams); + this.shortUrlCache = await shortUrl.locator.getUrl(shortUrl.params, { absolute: true }); + } else { + const snapshotUrl = this.getSnapshotUrl(); + const shortUrl = await this.props.urlService.shortUrls + .get(null) + .createFromLongUrl(snapshotUrl); + this.shortUrlCache = shortUrl.url; + } if (!this.mounted) { return; } - this.shortUrlCache = shortUrl.url; this.setState( { isCreatingShortUrl: false, diff --git a/src/plugins/share/public/services/share_menu_manager.tsx b/src/plugins/share/public/services/share_menu_manager.tsx index d63ceaf115e10..45720157d93df 100644 --- a/src/plugins/share/public/services/share_menu_manager.tsx +++ b/src/plugins/share/public/services/share_menu_manager.tsx @@ -70,6 +70,7 @@ export class ShareMenuManager { menuItems, shareableUrl, shareableUrlForSavedObject, + shareableUrlLocatorParams, embedUrlParamExtensions, theme, showPublicUrlSwitch, @@ -115,6 +116,7 @@ export class ShareMenuManager { sharingData={sharingData} shareableUrl={shareableUrl} shareableUrlForSavedObject={shareableUrlForSavedObject} + shareableUrlLocatorParams={shareableUrlLocatorParams} onClose={onClose} embedUrlParamExtensions={embedUrlParamExtensions} anonymousAccess={anonymousAccess} diff --git a/src/plugins/share/public/types.ts b/src/plugins/share/public/types.ts index bbf857e9847aa..6e59b582a2458 100644 --- a/src/plugins/share/public/types.ts +++ b/src/plugins/share/public/types.ts @@ -10,7 +10,7 @@ import { ComponentType } from 'react'; import { EuiContextMenuPanelDescriptor } from '@elastic/eui'; import { EuiContextMenuPanelItemDescriptorEntry } from '@elastic/eui/src/components/context_menu/context_menu'; import type { Capabilities } from '@kbn/core/public'; -import type { UrlService } from '../common/url_service'; +import type { UrlService, LocatorPublic } from '../common/url_service'; import type { BrowserShortUrlClientFactoryCreateParams } from './url_service/short_urls/short_url_client_factory'; import type { BrowserShortUrlClient } from './url_service/short_urls/short_url_client'; @@ -42,6 +42,10 @@ export interface ShareContext { */ shareableUrl: string; shareableUrlForSavedObject?: string; + shareableUrlLocatorParams?: { + locator: LocatorPublic; + params: any; + }; sharingData: { [key: string]: unknown }; isDirty: boolean; onClose: () => void; diff --git a/src/plugins/share/server/url_service/saved_objects/register_url_service_saved_object_type.test.ts b/src/plugins/share/server/url_service/saved_objects/register_url_service_saved_object_type.test.ts index d68040ffb5471..adf355d2a87c8 100644 --- a/src/plugins/share/server/url_service/saved_objects/register_url_service_saved_object_type.test.ts +++ b/src/plugins/share/server/url_service/saved_objects/register_url_service_saved_object_type.test.ts @@ -12,6 +12,7 @@ import type { SavedObjectsType, SavedObjectUnsanitizedDoc, } from '@kbn/core/server'; +import { SavedObjectsUtils } from '@kbn/core-saved-objects-utils-server'; import { ServerShortUrlClientFactory } from '..'; import { UrlService, LocatorDefinition } from '../../../common/url_service'; import { LegacyShortUrlLocatorDefinition } from '../../../common/url_service/locators/legacy_short_url_locator'; @@ -101,9 +102,9 @@ describe('migrations', () => { service.locators.create(new FooLocatorDefinition()); - const migrationFunction = (type.migrations as () => SavedObjectMigrationMap)()['8.0.0']; - - expect(typeof migrationFunction).toBe('function'); + const migrationFunction = SavedObjectsUtils.getMigrationFunction( + (type.migrations as () => SavedObjectMigrationMap)()['8.0.0'] + ); const doc1: SavedObjectUnsanitizedDoc = { id: 'foo', diff --git a/src/plugins/share/tsconfig.json b/src/plugins/share/tsconfig.json index 914c4661d0ead..396c751fccbcc 100644 --- a/src/plugins/share/tsconfig.json +++ b/src/plugins/share/tsconfig.json @@ -13,6 +13,7 @@ "@kbn/i18n-react", "@kbn/config-schema", "@kbn/core-custom-branding-browser", + "@kbn/core-saved-objects-utils-server", ], "exclude": [ "target/**/*", diff --git a/src/plugins/telemetry/public/components/__snapshots__/opt_in_banner.test.tsx.snap b/src/plugins/telemetry/public/components/__snapshots__/opt_in_banner.test.tsx.snap deleted file mode 100644 index e243b83527eb6..0000000000000 --- a/src/plugins/telemetry/public/components/__snapshots__/opt_in_banner.test.tsx.snap +++ /dev/null @@ -1,62 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`OptInDetailsComponent renders as expected 1`] = ` - - } -> - - - - - - - - - - - - - - - -`; diff --git a/src/plugins/telemetry/public/components/__snapshots__/opt_in_message.test.tsx.snap b/src/plugins/telemetry/public/components/__snapshots__/opt_in_message.test.tsx.snap deleted file mode 100644 index ed0fbaa6407f0..0000000000000 --- a/src/plugins/telemetry/public/components/__snapshots__/opt_in_message.test.tsx.snap +++ /dev/null @@ -1,25 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`OptInMessage renders as expected 1`] = ` - - - - , - } - } - /> - -`; diff --git a/src/plugins/telemetry/public/components/__snapshots__/opted_in_notice_banner.test.tsx.snap b/src/plugins/telemetry/public/components/__snapshots__/opted_in_notice_banner.test.tsx.snap deleted file mode 100644 index 122764b27bd29..0000000000000 --- a/src/plugins/telemetry/public/components/__snapshots__/opted_in_notice_banner.test.tsx.snap +++ /dev/null @@ -1,52 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`OptInDetailsComponent renders as expected 1`] = ` - - - - , - "privacyStatementLink": - - , - } - } - /> - - - - - -`; diff --git a/src/plugins/telemetry/public/components/opt_in_banner.test.tsx b/src/plugins/telemetry/public/components/opt_in_banner.test.tsx deleted file mode 100644 index 4ec057d8d268e..0000000000000 --- a/src/plugins/telemetry/public/components/opt_in_banner.test.tsx +++ /dev/null @@ -1,65 +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 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 { EuiButton } from '@elastic/eui'; -import { shallowWithIntl } from '@kbn/test-jest-helpers'; -import { OptInBanner } from './opt_in_banner'; -import { mockTelemetryConstants } from '../mocks'; - -describe('OptInDetailsComponent', () => { - const telemetryConstants = mockTelemetryConstants(); - - it('renders as expected', () => { - expect( - shallowWithIntl( - {}} telemetryConstants={telemetryConstants} /> - ) - ).toMatchSnapshot(); - }); - - it('fires the "onChangeOptInClick" prop with true when a enable is clicked', () => { - const onClick = jest.fn(); - const component = shallowWithIntl( - - ); - - const enableButton = component.findWhere((n) => { - const props = n.props(); - return n.type() === EuiButton && props['data-test-subj'] === 'enable'; - }); - - if (!enableButton) { - throw new Error(`Couldn't find any opt in enable button.`); - } - - enableButton.simulate('click'); - expect(onClick).toHaveBeenCalled(); - expect(onClick).toBeCalledWith(true); - }); - - it('fires the "onChangeOptInClick" with false when a disable is clicked', () => { - const onClick = jest.fn(); - const component = shallowWithIntl( - - ); - - const disableButton = component.findWhere((n) => { - const props = n.props(); - return n.type() === EuiButton && props['data-test-subj'] === 'disable'; - }); - - if (!disableButton) { - throw new Error(`Couldn't find any opt in disable button.`); - } - - disableButton.simulate('click'); - expect(onClick).toHaveBeenCalled(); - expect(onClick).toBeCalledWith(false); - }); -}); diff --git a/src/plugins/telemetry/public/components/opt_in_banner.tsx b/src/plugins/telemetry/public/components/opt_in_banner.tsx deleted file mode 100644 index de45b4419a5ee..0000000000000 --- a/src/plugins/telemetry/public/components/opt_in_banner.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 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 * as React from 'react'; -import { EuiButton, EuiCallOut, EuiFlexGroup, EuiFlexItem, EuiSpacer } from '@elastic/eui'; -import { FormattedMessage } from '@kbn/i18n-react'; -import { OptInMessage } from './opt_in_message'; -import { TelemetryConstants } from '..'; - -interface Props { - onChangeOptInClick: (isOptIn: boolean) => void; - telemetryConstants: TelemetryConstants; -} - -export class OptInBanner extends React.PureComponent { - render() { - const { onChangeOptInClick, telemetryConstants } = this.props; - const title = ( - - ); - return ( - - - - - - onChangeOptInClick(true)}> - - - - - onChangeOptInClick(false)}> - - - - - - ); - } -} diff --git a/src/plugins/telemetry/public/components/opt_in_message.test.tsx b/src/plugins/telemetry/public/components/opt_in_message.test.tsx index ddba6cc517c2b..ddbf4b8473454 100644 --- a/src/plugins/telemetry/public/components/opt_in_message.test.tsx +++ b/src/plugins/telemetry/public/components/opt_in_message.test.tsx @@ -7,16 +7,97 @@ */ import React from 'react'; -import { shallowWithIntl } from '@kbn/test-jest-helpers'; +import type { ReactWrapper } from 'enzyme'; +import { mountWithIntl } from '@kbn/test-jest-helpers'; +import { httpServiceMock } from '@kbn/core-http-browser-mocks'; +import { mockTelemetryConstants, mockTelemetryService } from '../mocks'; import { OptInMessage } from './opt_in_message'; -import { mockTelemetryConstants } from '../mocks'; - -const telemetryConstants = mockTelemetryConstants(); describe('OptInMessage', () => { - it('renders as expected', () => { - expect( - shallowWithIntl() - ).toMatchSnapshot(); + const addBasePath = httpServiceMock.createBasePath().prepend; + const telemetryConstants = mockTelemetryConstants(); + + describe('when opted-in', () => { + const telemetryService = mockTelemetryService({ config: { optIn: true } }); + + let dom: ReactWrapper; + + beforeAll(() => { + dom = mountWithIntl( + + ); + }); + + afterAll(() => { + dom.unmount(); + }); + + it('claims that telemetry is enabled', () => { + expect(dom.text()).toContain('Usage collection (also known as Telemetry) is enabled.'); + }); + + it('offers the link to disable it', () => { + expect(dom.text()).toContain('Disable usage collection.'); + }); + }); + + describe('when opted-out', () => { + const telemetryService = mockTelemetryService({ config: { optIn: false } }); + + let dom: ReactWrapper; + + beforeAll(() => { + dom = mountWithIntl( + + ); + }); + + afterAll(() => { + dom.unmount(); + }); + + it('claims that telemetry is disabled', () => { + expect(dom.text()).toContain('Usage collection (also known as Telemetry) is disabled.'); + }); + + it('offers the link to enable it', () => { + expect(dom.text()).toContain('Enable usage collection.'); + }); + }); + + describe('when null', () => { + const telemetryService = mockTelemetryService({ config: { optIn: null } }); + + let dom: ReactWrapper; + + beforeAll(() => { + dom = mountWithIntl( + + ); + }); + + afterAll(() => { + dom.unmount(); + }); + + it('claims that telemetry is disabled', () => { + expect(dom.text()).toContain('Usage collection (also known as Telemetry) is disabled.'); + }); + + it('offers the link to enable it', () => { + expect(dom.text()).toContain('Enable usage collection.'); + }); }); }); diff --git a/src/plugins/telemetry/public/components/opt_in_message.tsx b/src/plugins/telemetry/public/components/opt_in_message.tsx index 32e58e6a71ca2..e9e167c888e4b 100644 --- a/src/plugins/telemetry/public/components/opt_in_message.tsx +++ b/src/plugins/telemetry/public/components/opt_in_message.tsx @@ -9,35 +9,87 @@ import * as React from 'react'; import { EuiLink } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n-react'; -import { TelemetryConstants } from '..'; +import type { IBasePath } from '@kbn/core-http-browser'; +import type { TelemetryService } from '../services'; +import type { TelemetryConstants } from '..'; -interface Props { +export interface OptInMessageProps { telemetryConstants: TelemetryConstants; + telemetryService: TelemetryService; + addBasePath: IBasePath['prepend']; + onClick?: () => unknown; } -export class OptInMessage extends React.PureComponent { - render() { - return ( - - - - - ), - }} - /> - - ); +export const OptInMessage: React.FC = ({ + addBasePath, + telemetryService, + telemetryConstants, + onClick, +}) => { + return ( + + + {telemetryService.isOptedIn ? ( + + ) : ( + + )} + + ), + privacyStatementLink: ( + /* eslint-disable-next-line @elastic/eui/href-or-on-click */ + + + + ), + }} + />{' '} + {renderTelemetryEnabledOrDisabledText(telemetryService, addBasePath, onClick)} + + ); +}; + +function renderTelemetryEnabledOrDisabledText( + telemetryService: TelemetryService, + addBasePath: (url: string) => string, + onClick?: () => unknown +) { + if (!telemetryService.userCanChangeSettings || !telemetryService.getCanChangeOptInStatus()) { + return null; } + + const isOptedIn = telemetryService.getIsOptedIn(); + const actionMessage = isOptedIn ? ( + + ) : ( + + ); + + return ( + /* eslint-disable-next-line @elastic/eui/href-or-on-click */ + + {actionMessage} + + ); } diff --git a/src/plugins/telemetry/public/components/opt_in_status_notice_banner.test.tsx b/src/plugins/telemetry/public/components/opt_in_status_notice_banner.test.tsx new file mode 100644 index 0000000000000..7017d2795d587 --- /dev/null +++ b/src/plugins/telemetry/public/components/opt_in_status_notice_banner.test.tsx @@ -0,0 +1,65 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 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 { EuiButton } from '@elastic/eui'; +import { httpServiceMock } from '@kbn/core/public/mocks'; +import { shallowWithIntl } from '@kbn/test-jest-helpers'; +import { mockTelemetryConstants, mockTelemetryService } from '../mocks'; +import { OptInStatusNoticeBanner } from './opt_in_status_notice_banner'; +import { OptInMessage } from './opt_in_message'; + +const mockHttp = httpServiceMock.createStartContract(); +const telemetryConstants = mockTelemetryConstants(); +const telemetryService = mockTelemetryService(); + +describe('OptInStatusNoticeBanner', () => { + it('renders as expected', () => { + const onSeenBanner = () => {}; + const dom = shallowWithIntl( + + ); + expect( + dom.containsMatchingElement( + + ) + ).toBe(true); + }); + + it('fires the "onSeenBanner" prop when a link is clicked', () => { + const onLinkClick = jest.fn(); + const component = shallowWithIntl( + + ); + + const button = component.findWhere((n) => n.type() === EuiButton); + + if (!button) { + throw new Error(`Couldn't find any buttons in opt-in notice`); + } + + button.simulate('click'); + + expect(onLinkClick).toHaveBeenCalled(); + }); +}); diff --git a/src/plugins/telemetry/public/components/opt_in_status_notice_banner.tsx b/src/plugins/telemetry/public/components/opt_in_status_notice_banner.tsx new file mode 100644 index 0000000000000..3cc2172370447 --- /dev/null +++ b/src/plugins/telemetry/public/components/opt_in_status_notice_banner.tsx @@ -0,0 +1,53 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +/* eslint @elastic/eui/href-or-on-click:0 */ + +import * as React from 'react'; +import { EuiButton, EuiCallOut, EuiSpacer } from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n-react'; +import { i18n } from '@kbn/i18n'; +import { HttpSetup } from '@kbn/core/public'; +import { OptInMessage } from './opt_in_message'; +import { TelemetryService } from '../services'; +import { TelemetryConstants } from '..'; + +interface Props { + http: HttpSetup; + onSeenBanner: () => unknown; + telemetryConstants: TelemetryConstants; + telemetryService: TelemetryService; +} + +export const OptInStatusNoticeBanner: React.FC = ({ + onSeenBanner, + http, + telemetryConstants, + telemetryService, +}) => { + const addBasePath = http.basePath.prepend; + + const bannerTitle = i18n.translate('telemetry.telemetryOptedInNoticeTitle', { + defaultMessage: 'Help us improve the Elastic Stack', + }); + + return ( + + + + + + + + ); +}; diff --git a/src/plugins/telemetry/public/components/opted_in_notice_banner.test.tsx b/src/plugins/telemetry/public/components/opted_in_notice_banner.test.tsx deleted file mode 100644 index 3e60534ce410a..0000000000000 --- a/src/plugins/telemetry/public/components/opted_in_notice_banner.test.tsx +++ /dev/null @@ -1,52 +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 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 { EuiButton } from '@elastic/eui'; -import { shallowWithIntl } from '@kbn/test-jest-helpers'; -import { OptedInNoticeBanner } from './opted_in_notice_banner'; -import { httpServiceMock } from '@kbn/core/public/mocks'; -import { mockTelemetryConstants } from '../mocks'; - -const mockHttp = httpServiceMock.createStartContract(); -const telemetryConstants = mockTelemetryConstants(); - -describe('OptInDetailsComponent', () => { - it('renders as expected', () => { - expect( - shallowWithIntl( - {}} - http={mockHttp} - telemetryConstants={telemetryConstants} - /> - ) - ).toMatchSnapshot(); - }); - - it('fires the "onSeenBanner" prop when a link is clicked', () => { - const onLinkClick = jest.fn(); - const component = shallowWithIntl( - - ); - - const button = component.findWhere((n) => n.type() === EuiButton); - - if (!button) { - throw new Error(`Couldn't find any buttons in opt-in notice`); - } - - button.simulate('click'); - - expect(onLinkClick).toHaveBeenCalled(); - }); -}); diff --git a/src/plugins/telemetry/public/components/opted_in_notice_banner.tsx b/src/plugins/telemetry/public/components/opted_in_notice_banner.tsx deleted file mode 100644 index da9db9eec7321..0000000000000 --- a/src/plugins/telemetry/public/components/opted_in_notice_banner.tsx +++ /dev/null @@ -1,73 +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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -/* eslint @elastic/eui/href-or-on-click:0 */ - -import * as React from 'react'; -import { EuiButton, EuiLink, EuiCallOut, EuiSpacer } from '@elastic/eui'; -import { FormattedMessage } from '@kbn/i18n-react'; -import { i18n } from '@kbn/i18n'; -import { HttpSetup } from '@kbn/core/public'; -import { PATH_TO_ADVANCED_SETTINGS } from '../../common/constants'; -import { TelemetryConstants } from '..'; - -interface Props { - http: HttpSetup; - onSeenBanner: () => unknown; - telemetryConstants: TelemetryConstants; -} - -export class OptedInNoticeBanner extends React.PureComponent { - render() { - const { onSeenBanner, http, telemetryConstants } = this.props; - const basePath = http.basePath.get(); - - const bannerTitle = i18n.translate('telemetry.telemetryOptedInNoticeTitle', { - defaultMessage: 'Help us improve the Elastic Stack', - }); - - return ( - - - - - ), - disableLink: ( - - - - ), - }} - /> - - - - - - ); - } -} diff --git a/src/plugins/telemetry/public/components/welcome_telemetry_notice.tsx b/src/plugins/telemetry/public/components/welcome_telemetry_notice.tsx index 3923016637cfb..e6b6dd411637b 100644 --- a/src/plugins/telemetry/public/components/welcome_telemetry_notice.tsx +++ b/src/plugins/telemetry/public/components/welcome_telemetry_notice.tsx @@ -7,81 +7,16 @@ */ import React from 'react'; -import { EuiLink, EuiSpacer, EuiTextColor } from '@elastic/eui'; -import { FormattedMessage } from '@kbn/i18n-react'; -import type { TelemetryConstants } from '../plugin'; -import type { TelemetryService } from '../services'; +import { EuiSpacer, EuiTextColor } from '@elastic/eui'; +import { OptInMessage, type OptInMessageProps } from './opt_in_message'; -interface Props { - telemetryService: TelemetryService; - addBasePath: (url: string) => string; - telemetryConstants: TelemetryConstants; -} - -export const WelcomeTelemetryNotice: React.FC = ({ - telemetryService, - addBasePath, - telemetryConstants, -}: Props) => { +export const WelcomeTelemetryNotice: React.FC = (props) => { return ( <> - - - - - {renderTelemetryEnabledOrDisabledText(telemetryService, addBasePath)} + ); }; - -function renderTelemetryEnabledOrDisabledText( - telemetryService: TelemetryService, - addBasePath: (url: string) => string -) { - if (!telemetryService.userCanChangeSettings || !telemetryService.getCanChangeOptInStatus()) { - return null; - } - - const isOptedIn = telemetryService.getIsOptedIn(); - - if (isOptedIn) { - return ( - <> - - - - - - ); - } else { - return ( - <> - - - - - - ); - } -} diff --git a/src/plugins/telemetry/public/mocks.ts b/src/plugins/telemetry/public/mocks.ts index 297563460e888..afe8f7037dca5 100644 --- a/src/plugins/telemetry/public/mocks.ts +++ b/src/plugins/telemetry/public/mocks.ts @@ -12,10 +12,9 @@ import { notificationServiceMock, themeServiceMock, } from '@kbn/core/public/mocks'; -import { TelemetryService } from './services/telemetry_service'; -import { TelemetryNotifications } from './services/telemetry_notifications/telemetry_notifications'; -import { TelemetryPluginStart, TelemetryPluginSetup, TelemetryPluginConfig } from './plugin'; -import { TelemetryConstants } from '.'; +import type { TelemetryConstants } from '.'; +import type { TelemetryPluginStart, TelemetryPluginSetup, TelemetryPluginConfig } from './plugin'; +import { TelemetryService, TelemetryNotifications } from './services'; // The following is to be able to access private methods /* eslint-disable dot-notation */ @@ -102,12 +101,13 @@ function createSetupContract(): Setup { function createStartContract(): Start { const telemetryService = mockTelemetryService(); - const telemetryNotifications = mockTelemetryNotifications({ telemetryService }); const telemetryConstants = mockTelemetryConstants(); const startContract: Start = { telemetryService, - telemetryNotifications, + telemetryNotifications: { + setOptedInNoticeSeen: jest.fn(), + }, telemetryConstants, }; diff --git a/src/plugins/telemetry/public/plugin.ts b/src/plugins/telemetry/public/plugin.ts index 15b581c498366..9411212abebe9 100644 --- a/src/plugins/telemetry/public/plugin.ts +++ b/src/plugins/telemetry/public/plugin.ts @@ -171,7 +171,7 @@ export class TelemetryPlugin implements Plugin { if (this.telemetryService?.userCanChangeSettings) { - this.telemetryNotifications?.setOptedInNoticeSeen(); + this.telemetryNotifications?.setOptInStatusNoticeSeen(); } }); @@ -230,14 +230,13 @@ export class TelemetryPlugin implements Plugin telemetryNotifications.setOptedInNoticeSeen(), + setOptedInNoticeSeen: () => telemetryNotifications.setOptInStatusNoticeSeen(), }, telemetryConstants, }; @@ -300,19 +299,9 @@ export class TelemetryPlugin implements Plugin { - it('adds a banner to banners with priority of 10000', () => { - const bannerID = 'brucer-wayne'; - const overlays = overlayServiceMock.createStartContract(); - const telemetryConstants = mockTelemetryConstants(); - overlays.banners.add.mockReturnValue(bannerID); - - const returnedBannerId = renderOptInBanner({ - setOptIn: jest.fn(), - overlays, - telemetryConstants, - }); - - expect(overlays.banners.add).toBeCalledTimes(1); - - expect(returnedBannerId).toBe(bannerID); - const bannerConfig = overlays.banners.add.mock.calls[0]; - - expect(bannerConfig[0]).not.toBe(undefined); - expect(bannerConfig[1]).toBe(10000); - }); -}); diff --git a/src/plugins/telemetry/public/services/telemetry_notifications/render_opt_in_banner.tsx b/src/plugins/telemetry/public/services/telemetry_notifications/render_opt_in_banner.tsx deleted file mode 100644 index e2aca2fafd2f9..0000000000000 --- a/src/plugins/telemetry/public/services/telemetry_notifications/render_opt_in_banner.tsx +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 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 type { OverlayStart } from '@kbn/core/public'; -import { toMountPoint } from '@kbn/kibana-react-plugin/public'; -import { withSuspense } from '@kbn/shared-ux-utility'; -import type { TelemetryConstants } from '../..'; - -interface RenderBannerConfig { - overlays: OverlayStart; - setOptIn: (isOptIn: boolean) => Promise; - telemetryConstants: TelemetryConstants; -} - -export function renderOptInBanner({ setOptIn, overlays, telemetryConstants }: RenderBannerConfig) { - const OptInBannerLazy = withSuspense( - React.lazy(() => - import('../../components/opt_in_banner').then(({ OptInBanner }) => ({ default: OptInBanner })) - ) - ); - - const mount = toMountPoint( - - ); - const bannerId = overlays.banners.add(mount, 10000); - - return bannerId; -} diff --git a/src/plugins/telemetry/public/services/telemetry_notifications/render_opt_in_status_notice_banner.test.ts b/src/plugins/telemetry/public/services/telemetry_notifications/render_opt_in_status_notice_banner.test.ts new file mode 100644 index 0000000000000..74e5d8f488495 --- /dev/null +++ b/src/plugins/telemetry/public/services/telemetry_notifications/render_opt_in_status_notice_banner.test.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 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 { renderOptInStatusNoticeBanner } from './render_opt_in_status_notice_banner'; +import { overlayServiceMock, httpServiceMock, themeServiceMock } from '@kbn/core/public/mocks'; +import { mockTelemetryConstants, mockTelemetryService } from '../../mocks'; + +describe('renderOptInStatusNoticeBanner', () => { + it('adds a banner to banners with priority of 10000', () => { + const bannerID = 'brucer-wayne'; + const overlays = overlayServiceMock.createStartContract(); + const mockHttp = httpServiceMock.createStartContract(); + const theme = themeServiceMock.createStartContract(); + const telemetryConstants = mockTelemetryConstants(); + const telemetryService = mockTelemetryService(); + overlays.banners.add.mockReturnValue(bannerID); + + const returnedBannerId = renderOptInStatusNoticeBanner({ + http: mockHttp, + onSeen: jest.fn(), + overlays, + theme, + telemetryConstants, + telemetryService, + }); + + expect(overlays.banners.add).toBeCalledTimes(1); + + expect(returnedBannerId).toBe(bannerID); + const bannerConfig = overlays.banners.add.mock.calls[0]; + + expect(bannerConfig[0]).not.toBe(undefined); + expect(bannerConfig[1]).toBe(10000); + }); +}); diff --git a/src/plugins/telemetry/public/services/telemetry_notifications/render_opt_in_status_notice_banner.tsx b/src/plugins/telemetry/public/services/telemetry_notifications/render_opt_in_status_notice_banner.tsx new file mode 100644 index 0000000000000..7b48e0646d4e8 --- /dev/null +++ b/src/plugins/telemetry/public/services/telemetry_notifications/render_opt_in_status_notice_banner.tsx @@ -0,0 +1,55 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 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 type { HttpStart, OverlayStart, ThemeServiceStart } from '@kbn/core/public'; +import { toMountPoint } from '@kbn/kibana-react-plugin/public'; +import { withSuspense } from '@kbn/shared-ux-utility'; +import { TelemetryService } from '..'; +import type { TelemetryConstants } from '../..'; + +interface RenderBannerConfig { + http: HttpStart; + overlays: OverlayStart; + theme: ThemeServiceStart; + onSeen: () => void; + telemetryConstants: TelemetryConstants; + telemetryService: TelemetryService; +} + +export function renderOptInStatusNoticeBanner({ + onSeen, + overlays, + http, + theme, + telemetryConstants, + telemetryService, +}: RenderBannerConfig) { + const OptedInNoticeBannerLazy = withSuspense( + React.lazy(() => + import('../../components/opt_in_status_notice_banner').then( + ({ OptInStatusNoticeBanner }) => ({ + default: OptInStatusNoticeBanner, + }) + ) + ) + ); + + const mount = toMountPoint( + , + { theme$: theme.theme$ } + ); + + const bannerId = overlays.banners.add(mount, 10000); + return bannerId; +} diff --git a/src/plugins/telemetry/public/services/telemetry_notifications/render_opted_in_notice_banner.test.ts b/src/plugins/telemetry/public/services/telemetry_notifications/render_opted_in_notice_banner.test.ts deleted file mode 100644 index 3a631b02127bb..0000000000000 --- a/src/plugins/telemetry/public/services/telemetry_notifications/render_opted_in_notice_banner.test.ts +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 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 { renderOptedInNoticeBanner } from './render_opted_in_notice_banner'; -import { overlayServiceMock, httpServiceMock, themeServiceMock } from '@kbn/core/public/mocks'; -import { mockTelemetryConstants } from '../../mocks'; - -describe('renderOptedInNoticeBanner', () => { - it('adds a banner to banners with priority of 10000', () => { - const bannerID = 'brucer-wayne'; - const overlays = overlayServiceMock.createStartContract(); - const mockHttp = httpServiceMock.createStartContract(); - const theme = themeServiceMock.createStartContract(); - const telemetryConstants = mockTelemetryConstants(); - overlays.banners.add.mockReturnValue(bannerID); - - const returnedBannerId = renderOptedInNoticeBanner({ - http: mockHttp, - onSeen: jest.fn(), - overlays, - theme, - telemetryConstants, - }); - - expect(overlays.banners.add).toBeCalledTimes(1); - - expect(returnedBannerId).toBe(bannerID); - const bannerConfig = overlays.banners.add.mock.calls[0]; - - expect(bannerConfig[0]).not.toBe(undefined); - expect(bannerConfig[1]).toBe(10000); - }); -}); diff --git a/src/plugins/telemetry/public/services/telemetry_notifications/render_opted_in_notice_banner.tsx b/src/plugins/telemetry/public/services/telemetry_notifications/render_opted_in_notice_banner.tsx deleted file mode 100644 index b6693f8963587..0000000000000 --- a/src/plugins/telemetry/public/services/telemetry_notifications/render_opted_in_notice_banner.tsx +++ /dev/null @@ -1,48 +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 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 type { HttpStart, OverlayStart, ThemeServiceStart } from '@kbn/core/public'; -import { toMountPoint } from '@kbn/kibana-react-plugin/public'; -import { withSuspense } from '@kbn/shared-ux-utility'; -import type { TelemetryConstants } from '../..'; - -interface RenderBannerConfig { - http: HttpStart; - overlays: OverlayStart; - theme: ThemeServiceStart; - onSeen: () => void; - telemetryConstants: TelemetryConstants; -} - -export function renderOptedInNoticeBanner({ - onSeen, - overlays, - http, - theme, - telemetryConstants, -}: RenderBannerConfig) { - const OptedInNoticeBannerLazy = withSuspense( - React.lazy(() => - import('../../components/opted_in_notice_banner').then(({ OptedInNoticeBanner }) => ({ - default: OptedInNoticeBanner, - })) - ) - ); - const mount = toMountPoint( - , - { theme$: theme.theme$ } - ); - const bannerId = overlays.banners.add(mount, 10000); - - return bannerId; -} diff --git a/src/plugins/telemetry/public/services/telemetry_notifications/telemetry_notifications.test.ts b/src/plugins/telemetry/public/services/telemetry_notifications/telemetry_notifications.test.ts index dfbc23281c2ce..4515e5757cb0f 100644 --- a/src/plugins/telemetry/public/services/telemetry_notifications/telemetry_notifications.test.ts +++ b/src/plugins/telemetry/public/services/telemetry_notifications/telemetry_notifications.test.ts @@ -9,24 +9,6 @@ /* eslint-disable dot-notation */ import { mockTelemetryNotifications, mockTelemetryService } from '../../mocks'; -describe('onSetOptInClick', () => { - it('sets setting successfully and removes banner', async () => { - const optIn = true; - const bannerId = 'bruce-banner'; - - const telemetryService = mockTelemetryService(); - telemetryService.setOptIn = jest.fn(); - const telemetryNotifications = mockTelemetryNotifications({ telemetryService }); - telemetryNotifications['optInBannerId'] = bannerId; - - await telemetryNotifications['onSetOptInClick'](optIn); - expect(telemetryNotifications['overlays'].banners.remove).toBeCalledTimes(1); - expect(telemetryNotifications['overlays'].banners.remove).toBeCalledWith(bannerId); - expect(telemetryService.setOptIn).toBeCalledTimes(1); - expect(telemetryService.setOptIn).toBeCalledWith(optIn); - }); -}); - describe('setOptedInNoticeSeen', () => { it('sets setting successfully and removes banner', async () => { const bannerId = 'bruce-banner'; @@ -34,8 +16,8 @@ describe('setOptedInNoticeSeen', () => { const telemetryService = mockTelemetryService(); telemetryService.setUserHasSeenNotice = jest.fn(); const telemetryNotifications = mockTelemetryNotifications({ telemetryService }); - telemetryNotifications['optedInNoticeBannerId'] = bannerId; - await telemetryNotifications.setOptedInNoticeSeen(); + telemetryNotifications['optInStatusNoticeBannerId'] = bannerId; + await telemetryNotifications.setOptInStatusNoticeSeen(); expect(telemetryNotifications['overlays'].banners.remove).toBeCalledTimes(1); expect(telemetryNotifications['overlays'].banners.remove).toBeCalledWith(bannerId); @@ -44,25 +26,38 @@ describe('setOptedInNoticeSeen', () => { }); describe('shouldShowOptedInNoticeBanner', () => { - it("should return true because a banner hasn't been shown, the notice hasn't been seen and the user has privileges to edit saved objects", () => { + describe(`when the banner isn't visible yet`, () => { const telemetryService = mockTelemetryService(); - telemetryService.getUserShouldSeeOptInNotice = jest.fn().mockReturnValue(true); + const getUserShouldSeeOptInNotice = jest.fn(); + telemetryService.getUserShouldSeeOptInNotice = getUserShouldSeeOptInNotice; const telemetryNotifications = mockTelemetryNotifications({ telemetryService }); - expect(telemetryNotifications.shouldShowOptedInNoticeBanner()).toBe(true); - }); - it('should return false because the banner is already on screen', () => { - const telemetryService = mockTelemetryService(); - telemetryService.getUserShouldSeeOptInNotice = jest.fn().mockReturnValue(true); - const telemetryNotifications = mockTelemetryNotifications({ telemetryService }); - telemetryNotifications['optedInNoticeBannerId'] = 'bruce-banner'; - expect(telemetryNotifications.shouldShowOptedInNoticeBanner()).toBe(false); + it('should return true when `telemetryService.getUserShouldSeeOptInNotice returns true', () => { + getUserShouldSeeOptInNotice.mockReturnValue(true); + expect(telemetryNotifications.shouldShowOptInStatusNoticeBanner()).toBe(true); + }); + + it('should return false when `telemetryService.getUserShouldSeeOptInNotice returns false', () => { + getUserShouldSeeOptInNotice.mockReturnValue(false); + expect(telemetryNotifications.shouldShowOptInStatusNoticeBanner()).toBe(false); + }); }); - it("should return false because the banner has already been seen or the user doesn't have privileges to change saved objects", () => { + describe(`when the banner is already visible`, () => { const telemetryService = mockTelemetryService(); - telemetryService.getUserShouldSeeOptInNotice = jest.fn().mockReturnValue(false); + const getUserShouldSeeOptInNotice = jest.fn(); + telemetryService.getUserShouldSeeOptInNotice = getUserShouldSeeOptInNotice; const telemetryNotifications = mockTelemetryNotifications({ telemetryService }); - expect(telemetryNotifications.shouldShowOptedInNoticeBanner()).toBe(false); + telemetryNotifications['optInStatusNoticeBannerId'] = 'bruce-banner'; + + it('should return false when `telemetryService.getUserShouldSeeOptInNotice` returns true', () => { + getUserShouldSeeOptInNotice.mockReturnValue(true); + expect(telemetryNotifications.shouldShowOptInStatusNoticeBanner()).toBe(false); + }); + + it('should return false when `telemetryService.getUserShouldSeeOptInNotice returns false', () => { + getUserShouldSeeOptInNotice.mockReturnValue(false); + expect(telemetryNotifications.shouldShowOptInStatusNoticeBanner()).toBe(false); + }); }); }); diff --git a/src/plugins/telemetry/public/services/telemetry_notifications/telemetry_notifications.ts b/src/plugins/telemetry/public/services/telemetry_notifications/telemetry_notifications.ts index 2a3daf14f8414..9259735170bf4 100644 --- a/src/plugins/telemetry/public/services/telemetry_notifications/telemetry_notifications.ts +++ b/src/plugins/telemetry/public/services/telemetry_notifications/telemetry_notifications.ts @@ -6,11 +6,10 @@ * Side Public License, v 1. */ -import { HttpStart, OverlayStart, ThemeServiceStart } from '@kbn/core/public'; -import { renderOptedInNoticeBanner } from './render_opted_in_notice_banner'; -import { renderOptInBanner } from './render_opt_in_banner'; -import { TelemetryService } from '../telemetry_service'; -import { TelemetryConstants } from '../..'; +import type { HttpStart, OverlayStart, ThemeServiceStart } from '@kbn/core/public'; +import type { TelemetryService } from '../telemetry_service'; +import type { TelemetryConstants } from '../..'; +import { renderOptInStatusNoticeBanner } from './render_opt_in_status_notice_banner'; interface TelemetryNotificationsConstructor { http: HttpStart; @@ -29,8 +28,7 @@ export class TelemetryNotifications { private readonly theme: ThemeServiceStart; private readonly telemetryConstants: TelemetryConstants; private readonly telemetryService: TelemetryService; - private optedInNoticeBannerId?: string; - private optInBannerId?: string; + private optInStatusNoticeBannerId?: string; constructor({ http, @@ -49,70 +47,35 @@ export class TelemetryNotifications { /** * Should the opted-in banner be shown to the user? */ - public shouldShowOptedInNoticeBanner = (): boolean => { + public shouldShowOptInStatusNoticeBanner = (): boolean => { const userShouldSeeOptInNotice = this.telemetryService.getUserShouldSeeOptInNotice(); - const bannerOnScreen = typeof this.optedInNoticeBannerId !== 'undefined'; + const bannerOnScreen = typeof this.optInStatusNoticeBannerId !== 'undefined'; return !bannerOnScreen && userShouldSeeOptInNotice; }; /** * Renders the banner that claims the cluster is opted-in, and gives the option to opt-out. */ - public renderOptedInNoticeBanner = (): void => { - const bannerId = renderOptedInNoticeBanner({ + public renderOptInStatusNoticeBanner = (): void => { + const bannerId = renderOptInStatusNoticeBanner({ http: this.http, - onSeen: this.setOptedInNoticeSeen, + onSeen: this.setOptInStatusNoticeSeen, overlays: this.overlays, theme: this.theme, telemetryConstants: this.telemetryConstants, + telemetryService: this.telemetryService, }); - this.optedInNoticeBannerId = bannerId; - }; - - /** - * Should the banner to opt-in be shown to the user? - */ - public shouldShowOptInBanner = (): boolean => { - // Using `config.optIn` instead of the getter `getIsOptedIn()` because the latter only returns boolean, and we want to compare it against `null`. - const isOptedIn = this.telemetryService.config.optIn; - const bannerOnScreen = typeof this.optInBannerId !== 'undefined'; - return !bannerOnScreen && isOptedIn === null; - }; - - /** - * Renders the banner that claims the cluster is opted-out, and gives the option to opt-in. - */ - public renderOptInBanner = (): void => { - const bannerId = renderOptInBanner({ - setOptIn: this.onSetOptInClick, - overlays: this.overlays, - telemetryConstants: this.telemetryConstants, - }); - - this.optInBannerId = bannerId; - }; - - /** - * Opt-in/out button handler - * @param isOptIn true/false whether the user opts-in/out - */ - private onSetOptInClick = async (isOptIn: boolean) => { - if (this.optInBannerId) { - this.overlays.banners.remove(this.optInBannerId); - this.optInBannerId = undefined; - } - - await this.telemetryService.setOptIn(isOptIn); + this.optInStatusNoticeBannerId = bannerId; }; /** * Clears the banner and stores the user's dismissal of the banner. */ - public setOptedInNoticeSeen = async (): Promise => { - if (this.optedInNoticeBannerId) { - this.overlays.banners.remove(this.optedInNoticeBannerId); - this.optedInNoticeBannerId = undefined; + public setOptInStatusNoticeSeen = async (): Promise => { + if (this.optInStatusNoticeBannerId) { + this.overlays.banners.remove(this.optInStatusNoticeBannerId); + this.optInStatusNoticeBannerId = undefined; } await this.telemetryService.setUserHasSeenNotice(); diff --git a/src/plugins/telemetry/public/services/telemetry_service.test.ts b/src/plugins/telemetry/public/services/telemetry_service.test.ts index 03564f5b6f632..a43df3d2bd654 100644 --- a/src/plugins/telemetry/public/services/telemetry_service.test.ts +++ b/src/plugins/telemetry/public/services/telemetry_service.test.ts @@ -232,6 +232,19 @@ describe('TelemetryService', () => { expect(telemetryService.getUserShouldSeeOptInNotice()).toBe(false); }); + it('should return true when optIn: null even when previously seen', () => { + const telemetryService = mockTelemetryService({ + config: { + userCanChangeSettings: true, + telemetryNotifyUserAboutOptInDefault: false, + optIn: null, + }, + }); + expect(telemetryService.config.userCanChangeSettings).toBe(true); + expect(telemetryService.userCanChangeSettings).toBe(true); + expect(telemetryService.getUserShouldSeeOptInNotice()).toBe(true); + }); + it('returns whether the user can update the telemetry config (has SavedObjects access)', () => { const telemetryService = mockTelemetryService({ config: { userCanChangeSettings: undefined }, diff --git a/src/plugins/telemetry/public/services/telemetry_service.ts b/src/plugins/telemetry/public/services/telemetry_service.ts index e7b3e69ab9e83..58e60d0db1f30 100644 --- a/src/plugins/telemetry/public/services/telemetry_service.ts +++ b/src/plugins/telemetry/public/services/telemetry_service.ts @@ -7,8 +7,8 @@ */ import { i18n } from '@kbn/i18n'; -import { CoreSetup, CoreStart } from '@kbn/core/public'; -import { TelemetryPluginConfig } from '../plugin'; +import type { CoreSetup, CoreStart } from '@kbn/core/public'; +import type { TelemetryPluginConfig } from '../plugin'; import { getTelemetryChannelEndpoint } from '../../common/telemetry_config/get_telemetry_channel_endpoint'; import type { UnencryptedTelemetryPayload, @@ -110,15 +110,19 @@ export class TelemetryService { }; /** - * Returns if an user should be shown the notice about Opt-In/Out telemetry. - * The decision is made based on whether any user has already dismissed the message or - * the user can't actually change the settings (in which case, there's no point on bothering them) + * Returns whether a user should be shown the notice about Opt-In/Out telemetry. + * The decision is made based on: + * 1. The config hidePrivacyStatement is unset + * 2. The user has enough privileges to change the settings + * 3. At least one of the following: + * * It is opted-in, and the user has already been notified at any given point in the deployment's life. + * * It is opted-out, and the user has been notified for this version (excluding patch updates) */ public getUserShouldSeeOptInNotice(): boolean { return ( (!this.config.hidePrivacyStatement && - this.config.telemetryNotifyUserAboutOptInDefault && - this.config.userCanChangeSettings) ?? + this.config.userCanChangeSettings && + (this.config.telemetryNotifyUserAboutOptInDefault || this.config.optIn === null)) ?? false ); } diff --git a/src/plugins/telemetry/schema/oss_plugins.json b/src/plugins/telemetry/schema/oss_plugins.json index 27e4f1c22c04a..7f781116db7e9 100644 --- a/src/plugins/telemetry/schema/oss_plugins.json +++ b/src/plugins/telemetry/schema/oss_plugins.json @@ -8581,12 +8581,6 @@ "description": "Default value of the setting was changed." } }, - "visualize:enableLabs": { - "type": "boolean", - "_meta": { - "description": "Non-default value of setting." - } - }, "visualization:heatmap:maxBuckets": { "type": "long", "_meta": { @@ -9136,13 +9130,13 @@ "description": "Non-default value of setting." } }, - "observability:enableInspectEsQueries": { + "observability:syntheticsThrottlingEnabled": { "type": "boolean", "_meta": { "description": "Non-default value of setting." } }, - "observability:syntheticsThrottlingEnabled": { + "observability:enableInspectEsQueries": { "type": "boolean", "_meta": { "description": "Non-default value of setting." @@ -9196,12 +9190,6 @@ "description": "Non-default value of setting." } }, - "observability:profilingElasticsearchPlugin": { - "type": "boolean", - "_meta": { - "description": "Non-default value of setting." - } - }, "banners:placement": { "type": "keyword", "_meta": { diff --git a/src/plugins/telemetry/server/fetcher.ts b/src/plugins/telemetry/server/fetcher.ts index 65f367c095998..66f75f8582ec3 100644 --- a/src/plugins/telemetry/server/fetcher.ts +++ b/src/plugins/telemetry/server/fetcher.ts @@ -190,7 +190,7 @@ export class FetcherTask { } catch (err) { await this.updateReportFailure(telemetryConfig); - this.logger.warn(`Error sending telemetry usage data. (${err})`); + this.logger.warn(`Error sending usage to Elastic. (${err})`); } } diff --git a/src/plugins/telemetry/server/plugin.ts b/src/plugins/telemetry/server/plugin.ts index 0660e69c7b6cb..49ec1fdf27756 100644 --- a/src/plugins/telemetry/server/plugin.ts +++ b/src/plugins/telemetry/server/plugin.ts @@ -84,7 +84,7 @@ export interface TelemetryPluginSetup { */ export interface TelemetryPluginStart { /** - * Resolves `true` if the user has opted into send Elastic usage data. + * Resolves `true` if sending usage to Elastic is enabled. * Resolves `false` if the user explicitly opted out of sending usage data to Elastic * or did not choose to opt-in or out -yet- after a minor or major upgrade (only when previously opted-out). * @@ -149,9 +149,16 @@ export class TelemetryPlugin implements Plugin { + const optInStatusMsg = optedIn ? 'enabled' : 'disabled'; + this.logger.info( + `Telemetry collection is ${optInStatusMsg}. For more information on telemetry settings, refer to ${docLinks.links.telemetry.settings}.` + ); + }); + if (this.isOptedIn !== undefined) { analytics.optIn({ global: { enabled: this.isOptedIn } }); } diff --git a/src/plugins/telemetry/server/telemetry_collection/get_kibana.ts b/src/plugins/telemetry/server/telemetry_collection/get_kibana.ts index 15ca075175cb5..c8d5e80ab5361 100644 --- a/src/plugins/telemetry/server/telemetry_collection/get_kibana.ts +++ b/src/plugins/telemetry/server/telemetry_collection/get_kibana.ts @@ -43,15 +43,12 @@ export function handleKibanaStats( ...kibanaStats.os, }; const formattedOsStats = Object.entries(os).reduce((acc, [key, value]) => { - if (typeof value !== 'string') { - // There are new fields reported now from the "os" property like "load", "memory", etc. They are objects. - return acc; + // There are new fields reported now from the "os" property like "load", "memory", etc. They are objects. + if (typeof value === 'string') { + acc[`${key}s`] = [{ [key]: value, count: 1 }]; } - return { - ...acc, - [`${key}s`]: [{ [key]: value, count: 1 }], - }; - }, {}); + return acc; + }, {} as Record); const version = serverVersion.replace(/-snapshot/i, ''); // Shouldn't we better maintain the -snapshot so we can differentiate between actual final releases and snapshots? diff --git a/src/plugins/telemetry/tsconfig.json b/src/plugins/telemetry/tsconfig.json index fd016d03f72c0..7da7e89bae02f 100644 --- a/src/plugins/telemetry/tsconfig.json +++ b/src/plugins/telemetry/tsconfig.json @@ -32,6 +32,8 @@ "@kbn/core-saved-objects-server", "@kbn/core-saved-objects-api-server", "@kbn/std", + "@kbn/core-http-browser-mocks", + "@kbn/core-http-browser", ], "exclude": [ "target/**/*", diff --git a/src/plugins/telemetry_management_section/public/components/__snapshots__/telemetry_management_section.test.tsx.snap b/src/plugins/telemetry_management_section/public/components/__snapshots__/telemetry_management_section.test.tsx.snap index 322a698e9bdaf..0babaac94cb48 100644 --- a/src/plugins/telemetry_management_section/public/components/__snapshots__/telemetry_management_section.test.tsx.snap +++ b/src/plugins/telemetry_management_section/public/components/__snapshots__/telemetry_management_section.test.tsx.snap @@ -12,7 +12,7 @@ exports[`TelemetryManagementSectionComponent renders as expected 1`] = `

    @@ -57,13 +57,13 @@ exports[`TelemetryManagementSectionComponent renders as expected 1`] = ` loading={false} setting={ Object { - "ariaName": "Provide usage data", + "ariaName": "Share usage with Elastic", "category": Array [], "defVal": true, "description":

    , - "displayName": "Provide usage data", + "displayName": "Share usage with Elastic", "isCustom": true, "isOverridden": false, "name": "telemetry:enabled", diff --git a/src/plugins/telemetry_management_section/public/components/telemetry_management_section.tsx b/src/plugins/telemetry_management_section/public/components/telemetry_management_section.tsx index b972d2c469406..511b52a43325f 100644 --- a/src/plugins/telemetry_management_section/public/components/telemetry_management_section.tsx +++ b/src/plugins/telemetry_management_section/public/components/telemetry_management_section.tsx @@ -27,7 +27,21 @@ import { OptInExampleFlyout } from './opt_in_example_flyout'; type TelemetryService = TelemetryPluginSetup['telemetryService']; -const SEARCH_TERMS = ['telemetry', 'usage', 'data', 'usage data']; +const SEARCH_TERMS: string[] = [ + 'telemetry', + 'usage data', // Keeping this term for BWC + 'usage collection', + i18n.translate('telemetry.telemetryConstant', { + defaultMessage: 'telemetry', + }), + i18n.translate('telemetry.usageCollectionConstant', { + defaultMessage: 'usage collection', + }), +].flatMap((term) => { + // Automatically lower-case and split by space the terms from above + const lowerCased = term.toLowerCase(); + return [lowerCased, ...lowerCased.split(' ')]; +}); interface Props { telemetryService: TelemetryService; @@ -113,7 +127,10 @@ export class TelemetryManagementSection extends Component {

    - +

    @@ -126,13 +143,13 @@ export class TelemetryManagementSection extends Component { type: 'boolean', name: 'telemetry:enabled', displayName: i18n.translate('telemetry.provideUsageDataTitle', { - defaultMessage: 'Provide usage data', + defaultMessage: 'Share usage with Elastic', }), value: enabled, description: this.renderDescription(), defVal: true, ariaName: i18n.translate('telemetry.provideUsageDataAriaName', { - defaultMessage: 'Provide usage data', + defaultMessage: 'Share usage with Elastic', }), requiresPageReload: false, category: [], @@ -204,8 +221,9 @@ export class TelemetryManagementSection extends Component {

    @@ -249,10 +267,10 @@ export class TelemetryManagementSection extends Component { toasts.addSuccess( newOptInValue ? i18n.translate('telemetry.optInSuccessOn', { - defaultMessage: 'Usage data collection turned on.', + defaultMessage: 'Sharing usage with Elastic is enabled.', }) : i18n.translate('telemetry.optInSuccessOff', { - defaultMessage: 'Usage data collection turned off.', + defaultMessage: 'No longer sharing usage with Elastic.', }) ); resolve(true); diff --git a/src/plugins/text_based_languages/.i18nrc.json b/src/plugins/text_based_languages/.i18nrc.json new file mode 100755 index 0000000000000..d5a020d5dd392 --- /dev/null +++ b/src/plugins/text_based_languages/.i18nrc.json @@ -0,0 +1,6 @@ +{ + "prefix": "textBasedLanguages", + "paths": { + "textBasedLanguages": "." + } +} diff --git a/src/plugins/text_based_languages/README.md b/src/plugins/text_based_languages/README.md new file mode 100644 index 0000000000000..99155161173d7 --- /dev/null +++ b/src/plugins/text_based_languages/README.md @@ -0,0 +1,34 @@ +# @kbn/text-based-languages + +## Component properties +The editor accepts the following properties: +- query: This is the **AggregateQuery** query. i.e. (`{esql: from index1 | limit 10}`) +- onTextLangQueryChange: callback that is called every time the query is updated +- expandCodeEditor: flag that opens the editor on the expanded mode +- errors: array of `Error`. +- onTextLangQuerySubmit: callback that is called when the user submits the query +``` + +To use it on your application, you need to add the textBasedLanguages to your requiredBundles and the @kbn/text-based-languages to your tsconfig.json and use the component like that: +import { TextBasedLangEditor } from '@kbn/text-based-languages/public'; + + setCodeEditorIsExpanded(status)} + isCodeEditorExpanded={codeEditorIsExpandedFlag} + errors={props.textBasedLanguageModeErrors} + isDisabled={false} + onTextLangQuerySubmit={onTextLangQuerySubmit} + /> +``` + +## Usage so far +The TextBasedLanguagesEditor is currently part of the unified search component. +If your application uses the dataview picker then it can be enabled by adding + +``` +textBasedLanguages: ['ESQL'], +``` + +om the dataViewPickerProps property. \ No newline at end of file diff --git a/src/plugins/text_based_languages/jest.config.js b/src/plugins/text_based_languages/jest.config.js new file mode 100644 index 0000000000000..a5ee4c0f463a4 --- /dev/null +++ b/src/plugins/text_based_languages/jest.config.js @@ -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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +module.exports = { + preset: '@kbn/test', + rootDir: '../../..', + roots: ['/src/plugins/text_based_languages'], + coverageDirectory: '/target/kibana-coverage/jest/src/plugins/text_based_languages', + coverageReporters: ['text', 'html'], + collectCoverageFrom: [ + '/src/plugins/text_based_languages/{common,public,server}/**/*.{js,ts,tsx}', + ], + setupFiles: ['jest-canvas-mock'], +}; diff --git a/src/plugins/text_based_languages/kibana.jsonc b/src/plugins/text_based_languages/kibana.jsonc new file mode 100644 index 0000000000000..472560aa3b488 --- /dev/null +++ b/src/plugins/text_based_languages/kibana.jsonc @@ -0,0 +1,13 @@ +{ + "type": "plugin", + "id": "@kbn/text-based-languages", + "owner": "@elastic/kibana-visualizations", + "plugin": { + "id": "textBasedLanguages", + "server": false, + "browser": true, + "requiredBundles": [ + "kibanaReact", + ] + } +} diff --git a/src/plugins/text_based_languages/package.json b/src/plugins/text_based_languages/package.json new file mode 100644 index 0000000000000..a13edb1990192 --- /dev/null +++ b/src/plugins/text_based_languages/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/text-based-languages", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} diff --git a/src/plugins/text_based_languages/public/create_editor.tsx b/src/plugins/text_based_languages/public/create_editor.tsx new file mode 100644 index 0000000000000..1fefff765f9b2 --- /dev/null +++ b/src/plugins/text_based_languages/public/create_editor.tsx @@ -0,0 +1,36 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ +import React from 'react'; +import { EuiLoadingSpinner } from '@elastic/eui'; +import useAsync from 'react-use/lib/useAsync'; +import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; +import { TextBasedLanguagesEditorProps } from '@kbn/text-based-editor'; +import { untilPluginStartServicesReady } from './kibana_services'; + +export const TextBasedLangEditor = (props: TextBasedLanguagesEditorProps) => { + const { loading, value } = useAsync(() => { + const startServicesPromise = untilPluginStartServicesReady(); + const modulePromise = import('@kbn/text-based-editor'); + return Promise.all([startServicesPromise, modulePromise]); + }, []); + + const TextBasedLanguagesEditor = value?.[1]?.default; + const deps = value?.[0]; + + if (loading || !deps || !TextBasedLanguagesEditor) return ; + + return ( + + + + ); +}; diff --git a/src/plugins/text_based_languages/public/index.ts b/src/plugins/text_based_languages/public/index.ts new file mode 100644 index 0000000000000..697e1d0e1d319 --- /dev/null +++ b/src/plugins/text_based_languages/public/index.ts @@ -0,0 +1,16 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 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 { TextBasedLanguagesPlugin } from './plugin'; +export type { TextBasedLanguagesEditorProps } from '@kbn/text-based-editor'; +export type { TextBasedLanguagesPluginStart } from './types'; +export { TextBasedLangEditor } from './create_editor'; + +export function plugin() { + return new TextBasedLanguagesPlugin(); +} diff --git a/src/plugins/text_based_languages/public/kibana_services.ts b/src/plugins/text_based_languages/public/kibana_services.ts new file mode 100644 index 0000000000000..01f0dd4a823d3 --- /dev/null +++ b/src/plugins/text_based_languages/public/kibana_services.ts @@ -0,0 +1,35 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 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 { BehaviorSubject } from 'rxjs'; + +import { CoreStart } from '@kbn/core/public'; + +export let core: CoreStart; + +const servicesReady$ = new BehaviorSubject<{ core: CoreStart; darkMode: boolean } | undefined>( + undefined +); +export const untilPluginStartServicesReady = () => { + if (servicesReady$.value) return Promise.resolve(servicesReady$.value); + return new Promise<{ core: CoreStart; darkMode: boolean }>((resolve) => { + const subscription = servicesReady$.subscribe((deps) => { + if (deps) { + subscription.unsubscribe(); + resolve(deps); + } + }); + }); +}; + +export const setKibanaServices = (kibanaCore: CoreStart) => { + core = kibanaCore; + core.theme.theme$.subscribe(({ darkMode }) => { + servicesReady$.next({ core, darkMode }); + }); +}; diff --git a/src/plugins/text_based_languages/public/plugin.ts b/src/plugins/text_based_languages/public/plugin.ts new file mode 100755 index 0000000000000..f983baf517f8c --- /dev/null +++ b/src/plugins/text_based_languages/public/plugin.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 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 { Plugin, CoreStart } from '@kbn/core/public'; +import { setKibanaServices } from './kibana_services'; + +export class TextBasedLanguagesPlugin implements Plugin<{}, void> { + public setup() { + return {}; + } + + public start(core: CoreStart): void { + setKibanaServices(core); + } + + public stop() {} +} diff --git a/src/plugins/text_based_languages/public/types.ts b/src/plugins/text_based_languages/public/types.ts new file mode 100644 index 0000000000000..c2dd5249d3d19 --- /dev/null +++ b/src/plugins/text_based_languages/public/types.ts @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ +import { TextBasedLanguagesEditorProps } from '@kbn/text-based-editor'; + +export interface TextBasedLanguagesPluginStart { + Editor: React.ComponentType; +} diff --git a/src/plugins/text_based_languages/tsconfig.json b/src/plugins/text_based_languages/tsconfig.json new file mode 100644 index 0000000000000..d8b5cbd5e965b --- /dev/null +++ b/src/plugins/text_based_languages/tsconfig.json @@ -0,0 +1,21 @@ +{ + "extends": "../../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + }, + "include": [ + "../../typings/**/*", + "common/**/*", + "public/**/*", + "server/**/*", + ], + "kbn_references": [ + "@kbn/text-based-editor", + "@kbn/kibana-react-plugin", + "@kbn/core", + ], + "exclude": [ + "target/**/*", + ] +} + diff --git a/src/plugins/ui_actions/public/service/ui_actions_service.ts b/src/plugins/ui_actions/public/service/ui_actions_service.ts index 567ef6f080a03..729448b9bf426 100644 --- a/src/plugins/ui_actions/public/service/ui_actions_service.ts +++ b/src/plugins/ui_actions/public/service/ui_actions_service.ts @@ -162,10 +162,12 @@ export class UiActionsService { }) ) ); - return actions.reduce( - (acc: Action[], action, i) => (isCompatibles[i] ? [...acc, action] : acc), - [] - ); + return actions.reduce((acc: Action[], action, i) => { + if (isCompatibles[i]) { + acc.push(action); + } + return acc; + }, []); }; /** diff --git a/src/plugins/unified_field_list/README.md b/src/plugins/unified_field_list/README.md index 7f1ce38d6c4cf..9432e9e52f2fc 100755 --- a/src/plugins/unified_field_list/README.md +++ b/src/plugins/unified_field_list/README.md @@ -141,9 +141,9 @@ const hasData = hasFieldData(currentDataViewId, fieldName) // returns a boolean ## Server APIs -* `/api/unified_field_list/field_stats` - returns the loaded field stats (except for Ad-hoc data views) +* `/internal/unified_field_list/field_stats` - returns the loaded field stats (except for Ad-hoc data views) -* `/api/unified_field_list/existing_fields/{dataViewId}` - returns the loaded existing fields (except for Ad-hoc data views) +* `/internal/unified_field_list/existing_fields/{dataViewId}` - returns the loaded existing fields (except for Ad-hoc data views) ## Development diff --git a/src/plugins/unified_field_list/common/constants.ts b/src/plugins/unified_field_list/common/constants.ts deleted file mode 100644 index f8723792759d7..0000000000000 --- a/src/plugins/unified_field_list/common/constants.ts +++ /dev/null @@ -1,11 +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 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -export const BASE_API_PATH = '/api/unified_field_list'; -export const FIELD_STATS_API_PATH = `${BASE_API_PATH}/field_stats`; -export const FIELD_EXISTING_API_PATH = `${BASE_API_PATH}/existing_fields/{dataViewId}`; diff --git a/src/plugins/unified_field_list/common/utils/field_existing_utils.test.ts b/src/plugins/unified_field_list/common/utils/field_existing_utils.test.ts deleted file mode 100644 index 79b2b2d10ec35..0000000000000 --- a/src/plugins/unified_field_list/common/utils/field_existing_utils.test.ts +++ /dev/null @@ -1,177 +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 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 { DataView } from '@kbn/data-views-plugin/common'; -import { - legacyExistingFields, - existingFields, - Field, - buildFieldList, -} from './field_existing_utils'; - -describe('existingFields', () => { - it('should remove missing fields by matching names', () => { - expect( - existingFields( - [ - { name: 'a', aggregatable: true, searchable: true, type: 'string' }, - { name: 'b', aggregatable: true, searchable: true, type: 'string' }, - ], - [ - { name: 'a', isScript: false, isMeta: false }, - { name: 'b', isScript: false, isMeta: true }, - { name: 'c', isScript: false, isMeta: false }, - ] - ) - ).toEqual(['a', 'b']); - }); - - it('should keep scripted and runtime fields', () => { - expect( - existingFields( - [{ name: 'a', aggregatable: true, searchable: true, type: 'string' }], - [ - { name: 'a', isScript: false, isMeta: false }, - { name: 'b', isScript: true, isMeta: false }, - { name: 'c', runtimeField: { type: 'keyword' }, isMeta: false, isScript: false }, - { name: 'd', isMeta: true, isScript: false }, - ] - ) - ).toEqual(['a', 'b', 'c']); - }); -}); - -describe('legacyExistingFields', () => { - function field(opts: string | Partial): Field { - const obj = typeof opts === 'object' ? opts : {}; - const name = (typeof opts === 'string' ? opts : opts.name) || 'test'; - - return { - name, - isScript: false, - isMeta: false, - ...obj, - }; - } - - function searchResults(fields: Record = {}) { - return { fields, _index: '_index', _id: '_id' }; - } - - it('should handle root level fields', () => { - const result = legacyExistingFields( - [searchResults({ foo: ['bar'] }), searchResults({ baz: [0] })], - [field('foo'), field('bar'), field('baz')] - ); - - expect(result).toEqual(['foo', 'baz']); - }); - - it('should handle basic arrays, ignoring empty ones', () => { - const result = legacyExistingFields( - [searchResults({ stuff: ['heyo', 'there'], empty: [] })], - [field('stuff'), field('empty')] - ); - - expect(result).toEqual(['stuff']); - }); - - it('should handle objects with dotted fields', () => { - const result = legacyExistingFields( - [searchResults({ 'geo.country_name': ['US'] })], - [field('geo.country_name')] - ); - - expect(result).toEqual(['geo.country_name']); - }); - - it('supports scripted fields', () => { - const result = legacyExistingFields( - [searchResults({ bar: ['scriptvalue'] })], - [field({ name: 'bar', isScript: true })] - ); - - expect(result).toEqual(['bar']); - }); - - it('supports runtime fields', () => { - const result = legacyExistingFields( - [searchResults({ runtime_foo: ['scriptvalue'] })], - [ - field({ - name: 'runtime_foo', - runtimeField: { type: 'long', script: { source: '2+2' } }, - }), - ] - ); - - expect(result).toEqual(['runtime_foo']); - }); - - it('supports meta fields', () => { - const result = legacyExistingFields( - [ - { - // @ts-expect-error _mymeta is not defined on estypes.SearchHit - _mymeta: 'abc', - ...searchResults({ bar: ['scriptvalue'] }), - }, - ], - [field({ name: '_mymeta', isMeta: true })] - ); - - expect(result).toEqual(['_mymeta']); - }); -}); - -describe('buildFieldList', () => { - const indexPattern = { - title: 'testpattern', - type: 'type', - typeMeta: 'typemeta', - fields: [ - { name: 'foo', scripted: true, lang: 'painless', script: '2+2' }, - { - name: 'runtime_foo', - isMapped: false, - runtimeField: { type: 'long', script: { source: '2+2' } }, - }, - { name: 'bar' }, - { name: '@bar' }, - { name: 'baz' }, - { name: '_mymeta' }, - ], - }; - - it('supports scripted fields', () => { - const fields = buildFieldList(indexPattern as unknown as DataView, []); - expect(fields.find((f) => f.isScript)).toMatchObject({ - isScript: true, - name: 'foo', - lang: 'painless', - script: '2+2', - }); - }); - - it('supports runtime fields', () => { - const fields = buildFieldList(indexPattern as unknown as DataView, []); - expect(fields.find((f) => f.runtimeField)).toMatchObject({ - name: 'runtime_foo', - runtimeField: { type: 'long', script: { source: '2+2' } }, - }); - }); - - it('supports meta fields', () => { - const fields = buildFieldList(indexPattern as unknown as DataView, ['_mymeta']); - expect(fields.find((f) => f.isMeta)).toMatchObject({ - isScript: false, - isMeta: true, - name: '_mymeta', - }); - }); -}); diff --git a/src/plugins/unified_field_list/kibana.jsonc b/src/plugins/unified_field_list/kibana.jsonc index da5654d449ae0..474bea32a2a46 100644 --- a/src/plugins/unified_field_list/kibana.jsonc +++ b/src/plugins/unified_field_list/kibana.jsonc @@ -5,7 +5,7 @@ "description": "Contains functionality for the field list which can be integrated into apps", "plugin": { "id": "unifiedFieldList", - "server": true, + "server": false, "browser": true, "requiredPlugins": [ "dataViews", diff --git a/src/plugins/unified_field_list/public/components/field_item_button/__snapshots__/field_item_button.test.tsx.snap b/src/plugins/unified_field_list/public/components/field_item_button/__snapshots__/field_item_button.test.tsx.snap index 899d6a7579123..0f327bb0bb6a5 100644 --- a/src/plugins/unified_field_list/public/components/field_item_button/__snapshots__/field_item_button.test.tsx.snap +++ b/src/plugins/unified_field_list/public/components/field_item_button/__snapshots__/field_item_button.test.tsx.snap @@ -8,6 +8,7 @@ exports[`UnifiedFieldList renders properly 1`] = ` } } className="unifiedFieldListItemButton unifiedFieldListItemButton--number unifiedFieldListItemButton--exists" + dataTestSubj="field-bytes-showDetails" fieldIcon={ renders properly for Records (Lens } } className="unifiedFieldListItemButton unifiedFieldListItemButton--document unifiedFieldListItemButton--exists" + dataTestSubj="field-___records___-showDetails" fieldIcon={ renders properly for text-based co } } className="unifiedFieldListItemButton unifiedFieldListItemButton--string unifiedFieldListItemButton--exists" + dataTestSubj="field-agent-showDetails" fieldIcon={ renders properly for wildcard sear } } className="unifiedFieldListItemButton unifiedFieldListItemButton--date unifiedFieldListItemButton--exists" + dataTestSubj="field-script date-showDetails" fieldIcon={ renders properly when a conflict f } } className="unifiedFieldListItemButton unifiedFieldListItemButton--conflict unifiedFieldListItemButton--exists" + dataTestSubj="field-custom_user_field-showDetails" fieldIcon={ renders properly when empty 1`] = } } className="unifiedFieldListItemButton unifiedFieldListItemButton--date unifiedFieldListItemButton--missing" + dataTestSubj="field-script date-showDetails" fieldIcon={ renders properly with an action wh } } className="unifiedFieldListItemButton unifiedFieldListItemButton--number unifiedFieldListItemButton--exists" + dataTestSubj="field-bytes-showDetails" fieldAction={ renders properly with an action wh aria-label="Add \\"bytes\\" field" className="unifiedFieldListItemButton__action unifiedFieldListItemButton__action--always" color="text" - data-test-subj="unifiedFieldListItem_addField-bytes" + data-test-subj="fieldToggle-bytes" iconType="plusInCircle" onClick={[Function]} /> @@ -267,6 +274,7 @@ exports[`UnifiedFieldList renders properly with an action wh } } className="unifiedFieldListItemButton unifiedFieldListItemButton--number unifiedFieldListItemButton--exists" + dataTestSubj="field-bytes-showDetails" fieldAction={ renders properly with an action wh aria-label="Remove \\"bytes\\" field" className="unifiedFieldListItemButton__action" color="danger" - data-test-subj="unifiedFieldListItem_removeField-bytes" + data-test-subj="fieldToggle-bytes" iconType="cross" onClick={[Function]} /> diff --git a/src/plugins/unified_field_list/public/components/field_item_button/field_item_button.tsx b/src/plugins/unified_field_list/public/components/field_item_button/field_item_button.tsx index ec0078431a8bc..086db539487ec 100644 --- a/src/plugins/unified_field_list/public/components/field_item_button/field_item_button.tsx +++ b/src/plugins/unified_field_list/public/components/field_item_button/field_item_button.tsx @@ -136,7 +136,7 @@ export function FieldItemButton({ content={removeFieldFromWorkspaceTooltip} > ({ content={addFieldToWorkspaceTooltip} > ({ return ( { @@ -35,14 +35,7 @@ export interface FieldsAccordionProps { groupName: FieldsGroupNames; fieldSearchHighlight?: string; paginatedFields: T[]; - renderFieldItem: (params: { - field: T; - hideDetails?: boolean; - itemIndex: number; - groupIndex: number; - groupName: FieldsGroupNames; - fieldSearchHighlight?: string; - }) => JSX.Element; + renderFieldItem: (params: RenderFieldItemParams) => JSX.Element; renderCallout: () => JSX.Element; showExistenceFetchError?: boolean; showExistenceFetchTimeout?: boolean; diff --git a/src/plugins/unified_field_list/public/components/field_popover/field_popover.scss b/src/plugins/unified_field_list/public/components/field_popover/field_popover.scss index 14ce3768f0bea..8e5a7d5963a8b 100644 --- a/src/plugins/unified_field_list/public/components/field_popover/field_popover.scss +++ b/src/plugins/unified_field_list/public/components/field_popover/field_popover.scss @@ -1,4 +1,7 @@ +/* 1 - `important` is to ensure that even if styles ordering is different (like for some reason on Developer Examples page), + this one will be used instead of eui defaults */ + .unifiedFieldList__fieldPopover__fieldPopoverPanel { - min-width: $euiSizeXXL * 6.5; - max-width: $euiSizeXXL * 7.5; + min-width: $euiSizeXXL * 6.5 !important; /* 1 */ + max-width: $euiSizeXXL * 7.5 !important; } diff --git a/src/plugins/unified_field_list/public/components/field_stats/field_stats.tsx b/src/plugins/unified_field_list/public/components/field_stats/field_stats.tsx index 7589db074f016..b7374369f97c0 100755 --- a/src/plugins/unified_field_list/public/components/field_stats/field_stats.tsx +++ b/src/plugins/unified_field_list/public/components/field_stats/field_stats.tsx @@ -34,13 +34,13 @@ import { } from '@elastic/charts'; import { i18n } from '@kbn/i18n'; import { buildEsQuery, Query, Filter, AggregateQuery } from '@kbn/es-query'; -import { showExamplesForField } from '../../../common/utils/field_examples_calculator'; +import { showExamplesForField } from '../../services/field_stats/field_examples_calculator'; import { OverrideFieldTopValueBarCallback } from './field_top_values_bucket'; import type { BucketedAggregation, NumberSummary } from '../../../common/types'; import { canProvideStatsForField, canProvideNumberSummaryForField, -} from '../../../common/utils/field_stats_utils'; +} from '../../services/field_stats/field_stats_utils'; import { loadFieldStats } from '../../services/field_stats'; import type { AddFieldFilterHandler } from '../../types'; import { @@ -284,6 +284,7 @@ const FieldStatsComponent: React.FC = ({ let title = <>; function combineWithTitleAndFooter(el: React.ReactElement) { + const dataTestSubjDocsCount = 'unifiedFieldStats-statsFooter-docsCount'; const countsElement = totalDocuments ? ( {sampledDocuments && sampledDocuments < totalDocuments ? ( @@ -293,7 +294,7 @@ const FieldStatsComponent: React.FC = ({ values={{ sampledDocuments, sampledDocumentsFormatted: ( - + {fieldFormats .getDefaultInstance(KBN_FIELD_TYPES.NUMBER, [ES_FIELD_TYPES.INTEGER]) .convert(sampledDocuments)} @@ -308,7 +309,7 @@ const FieldStatsComponent: React.FC = ({ values={{ totalDocuments, totalDocumentsFormatted: ( - + {fieldFormats .getDefaultInstance(KBN_FIELD_TYPES.NUMBER, [ES_FIELD_TYPES.INTEGER]) .convert(totalDocuments)} @@ -418,6 +419,7 @@ const FieldStatsComponent: React.FC = ({ title = ( <> = ({ if (field.type === 'date') { return combineWithTitleAndFooter( -

    - +
    +
    + + + + + + + +
    +
    + ); + } + + if (showingHistogram || !topValues || !topValues.buckets.length) { + return combineWithTitleAndFooter( +
    + formatter.convert(d)} /> = ({ id={specId} xAccessor={'key'} yAccessors={['count']} - xScaleType={ScaleType.Time} + xScaleType={ScaleType.Linear} yScaleType={ScaleType.Linear} - timeZone="local" />
    ); } - - if (showingHistogram || !topValues || !topValues.buckets.length) { - return combineWithTitleAndFooter( - - - - formatter.convert(d)} - /> - - - - ); - } } if (topValues && topValues.buckets.length) { return combineWithTitleAndFooter( ', () => { } as unknown as DataView; defaultProps = { + areExamples: false, dataView, field: dataView.fields.find((f) => f.name === 'source')!, sampledValuesCount: 5000, diff --git a/src/plugins/unified_field_list/public/components/field_stats/field_top_values.tsx b/src/plugins/unified_field_list/public/components/field_stats/field_top_values.tsx index 1820b610fc581..490e303d73265 100755 --- a/src/plugins/unified_field_list/public/components/field_stats/field_top_values.tsx +++ b/src/plugins/unified_field_list/public/components/field_stats/field_top_values.tsx @@ -15,6 +15,7 @@ import FieldTopValuesBucket from './field_top_values_bucket'; import type { OverrideFieldTopValueBarCallback } from './field_top_values_bucket'; export interface FieldTopValuesProps { + areExamples: boolean; // real top values or only examples buckets: BucketedAggregation['buckets']; dataView: DataView; field: DataViewField; @@ -26,6 +27,7 @@ export interface FieldTopValuesProps { } export const FieldTopValues: React.FC = ({ + areExamples, buckets, dataView, field, @@ -46,54 +48,60 @@ export const FieldTopValues: React.FC = ({ ); return ( -
    - {buckets.map((bucket, index) => { - const fieldValue = bucket.key; - const formatted = formatter.convert(fieldValue); +
    +
    + {buckets.map((bucket, index) => { + const fieldValue = bucket.key; + const formatted = formatter.convert(fieldValue); - return ( - - {index > 0 && } + return ( + + {index > 0 && } + + + ); + })} + {otherCount > 0 && ( + <> + - - ); - })} - {otherCount > 0 && ( - <> - - - - )} + + )} +
    ); }; diff --git a/src/plugins/unified_field_list/public/hooks/use_query_subscriber.ts b/src/plugins/unified_field_list/public/hooks/use_query_subscriber.ts index 44101d206a2de..7a3c9788ab162 100644 --- a/src/plugins/unified_field_list/public/hooks/use_query_subscriber.ts +++ b/src/plugins/unified_field_list/public/hooks/use_query_subscriber.ts @@ -16,6 +16,7 @@ import { getResolvedDateRange } from '../utils/get_resolved_date_range'; */ export interface QuerySubscriberParams { data: DataPublicPluginStart; + listenToSearchSessionUpdates?: boolean; } /** @@ -31,9 +32,13 @@ export interface QuerySubscriberResult { /** * Memorizes current query, filters and absolute date range * @param data + * @param listenToSearchSessionUpdates * @public */ -export const useQuerySubscriber = ({ data }: QuerySubscriberParams) => { +export const useQuerySubscriber = ({ + data, + listenToSearchSessionUpdates = true, +}: QuerySubscriberParams) => { const timefilter = data.query.timefilter.timefilter; const [result, setResult] = useState(() => { const state = data.query.getState(); @@ -47,6 +52,10 @@ export const useQuerySubscriber = ({ data }: QuerySubscriberParams) => { }); useEffect(() => { + if (!listenToSearchSessionUpdates) { + return; + } + const subscription = data.search.session.state$.subscribe((sessionState) => { const dateRange = getResolvedDateRange(timefilter); setResult((prevState) => ({ @@ -57,7 +66,24 @@ export const useQuerySubscriber = ({ data }: QuerySubscriberParams) => { }); return () => subscription.unsubscribe(); - }, [setResult, timefilter, data.search.session.state$]); + }, [setResult, timefilter, data.search.session.state$, listenToSearchSessionUpdates]); + + useEffect(() => { + if (listenToSearchSessionUpdates) { + return; + } + + const subscription = timefilter.getTimeUpdate$().subscribe(() => { + const dateRange = getResolvedDateRange(timefilter); + setResult((prevState) => ({ + ...prevState, + fromDate: dateRange.fromDate, + toDate: dateRange.toDate, + })); + }); + + return () => subscription.unsubscribe(); + }, [setResult, timefilter, listenToSearchSessionUpdates]); useEffect(() => { const subscription = data.query.state$.subscribe(({ state, changes }) => { diff --git a/src/plugins/unified_field_list/public/index.ts b/src/plugins/unified_field_list/public/index.ts index 28ef9dd38c9da..803fc1e6ae9e7 100755 --- a/src/plugins/unified_field_list/public/index.ts +++ b/src/plugins/unified_field_list/public/index.ts @@ -57,6 +57,7 @@ export type { FieldTypeKnown, FieldListItem, GetCustomFieldType, + RenderFieldItemParams, } from './types'; export { ExistenceFetchStatus, FieldsGroupNames } from './types'; diff --git a/src/plugins/unified_field_list/public/services/field_existing/field_existing_utils.test.ts b/src/plugins/unified_field_list/public/services/field_existing/field_existing_utils.test.ts new file mode 100644 index 0000000000000..a40780b2b5773 --- /dev/null +++ b/src/plugins/unified_field_list/public/services/field_existing/field_existing_utils.test.ts @@ -0,0 +1,89 @@ +/* + * Copyright 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 { DataView } from '@kbn/data-views-plugin/common'; +import { existingFields, buildFieldList } from './field_existing_utils'; + +describe('existingFields', () => { + it('should remove missing fields by matching names', () => { + expect( + existingFields( + [ + { name: 'a', aggregatable: true, searchable: true, type: 'string' }, + { name: 'b', aggregatable: true, searchable: true, type: 'string' }, + ], + [ + { name: 'a', isScript: false, isMeta: false }, + { name: 'b', isScript: false, isMeta: true }, + { name: 'c', isScript: false, isMeta: false }, + ] + ) + ).toEqual(['a', 'b']); + }); + + it('should keep scripted and runtime fields', () => { + expect( + existingFields( + [{ name: 'a', aggregatable: true, searchable: true, type: 'string' }], + [ + { name: 'a', isScript: false, isMeta: false }, + { name: 'b', isScript: true, isMeta: false }, + { name: 'c', runtimeField: { type: 'keyword' }, isMeta: false, isScript: false }, + { name: 'd', isMeta: true, isScript: false }, + ] + ) + ).toEqual(['a', 'b', 'c']); + }); +}); + +describe('buildFieldList', () => { + const indexPattern = { + title: 'testpattern', + type: 'type', + typeMeta: 'typemeta', + fields: [ + { name: 'foo', scripted: true, lang: 'painless', script: '2+2' }, + { + name: 'runtime_foo', + isMapped: false, + runtimeField: { type: 'long', script: { source: '2+2' } }, + }, + { name: 'bar' }, + { name: '@bar' }, + { name: 'baz' }, + { name: '_mymeta' }, + ], + }; + + it('supports scripted fields', () => { + const fields = buildFieldList(indexPattern as unknown as DataView, []); + expect(fields.find((f) => f.isScript)).toMatchObject({ + isScript: true, + name: 'foo', + lang: 'painless', + script: '2+2', + }); + }); + + it('supports runtime fields', () => { + const fields = buildFieldList(indexPattern as unknown as DataView, []); + expect(fields.find((f) => f.runtimeField)).toMatchObject({ + name: 'runtime_foo', + runtimeField: { type: 'long', script: { source: '2+2' } }, + }); + }); + + it('supports meta fields', () => { + const fields = buildFieldList(indexPattern as unknown as DataView, ['_mymeta']); + expect(fields.find((f) => f.isMeta)).toMatchObject({ + isScript: false, + isMeta: true, + name: '_mymeta', + }); + }); +}); diff --git a/src/plugins/unified_field_list/common/utils/field_existing_utils.ts b/src/plugins/unified_field_list/public/services/field_existing/field_existing_utils.ts similarity index 79% rename from src/plugins/unified_field_list/common/utils/field_existing_utils.ts rename to src/plugins/unified_field_list/public/services/field_existing/field_existing_utils.ts index f89338404730e..66d8635b6095a 100644 --- a/src/plugins/unified_field_list/common/utils/field_existing_utils.ts +++ b/src/plugins/unified_field_list/public/services/field_existing/field_existing_utils.ts @@ -6,7 +6,6 @@ * Side Public License, v 1. */ -import Boom from '@hapi/boom'; import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import { RuntimeField } from '@kbn/data-views-plugin/common'; import type { DataViewsContract, DataView, FieldSpec } from '@kbn/data-views-plugin/common'; @@ -120,35 +119,3 @@ export function existingFields(filteredFields: FieldSpec[], allFields: Field[]): .filter((field) => field.isScript || field.runtimeField || filteredFieldsSet.has(field.name)) .map((f) => f.name); } - -/** - * Exported only for unit tests. - */ -export function legacyExistingFields(docs: estypes.SearchHit[], fields: Field[]): string[] { - const missingFields = new Set(fields); - - for (const doc of docs) { - if (missingFields.size === 0) { - break; - } - - missingFields.forEach((field) => { - let fieldStore = doc.fields!; - if (field.isMeta) { - fieldStore = doc; - } - const value = fieldStore[field.name]; - if (Array.isArray(value) && value.length) { - missingFields.delete(field); - } else if (!Array.isArray(value) && value) { - missingFields.delete(field); - } - }); - } - - return fields.filter((field) => !missingFields.has(field)).map((f) => f.name); -} - -export function isBoomError(error: { isBoom?: boolean }): error is Boom.Boom { - return error.isBoom === true; -} diff --git a/src/plugins/unified_field_list/public/services/field_existing/load_field_existing.ts b/src/plugins/unified_field_list/public/services/field_existing/load_field_existing.ts index 0040df5c2a4e1..65566c7e1133e 100644 --- a/src/plugins/unified_field_list/public/services/field_existing/load_field_existing.ts +++ b/src/plugins/unified_field_list/public/services/field_existing/load_field_existing.ts @@ -10,7 +10,7 @@ import { IUiSettingsClient } from '@kbn/core/public'; import { DataPublicPluginStart, UI_SETTINGS } from '@kbn/data-plugin/public'; import type { DataView, DataViewsContract } from '@kbn/data-views-plugin/common'; import { lastValueFrom } from 'rxjs'; -import { fetchFieldExistence } from '../../../common/utils/field_existing_utils'; +import { fetchFieldExistence } from './field_existing_utils'; interface FetchFieldExistenceParams { data: DataPublicPluginStart; diff --git a/src/plugins/unified_field_list/common/utils/__snapshots__/field_stats_utils.test.ts.snap b/src/plugins/unified_field_list/public/services/field_stats/__snapshots__/field_stats_utils.test.ts.snap similarity index 100% rename from src/plugins/unified_field_list/common/utils/__snapshots__/field_stats_utils.test.ts.snap rename to src/plugins/unified_field_list/public/services/field_stats/__snapshots__/field_stats_utils.test.ts.snap diff --git a/src/plugins/unified_field_list/common/utils/field_examples_calculator.test.ts b/src/plugins/unified_field_list/public/services/field_stats/field_examples_calculator.test.ts similarity index 100% rename from src/plugins/unified_field_list/common/utils/field_examples_calculator.test.ts rename to src/plugins/unified_field_list/public/services/field_stats/field_examples_calculator.test.ts diff --git a/src/plugins/unified_field_list/common/utils/field_examples_calculator.ts b/src/plugins/unified_field_list/public/services/field_stats/field_examples_calculator.ts similarity index 100% rename from src/plugins/unified_field_list/common/utils/field_examples_calculator.ts rename to src/plugins/unified_field_list/public/services/field_stats/field_examples_calculator.ts diff --git a/src/plugins/unified_field_list/common/utils/field_stats_utils.test.ts b/src/plugins/unified_field_list/public/services/field_stats/field_stats_utils.test.ts similarity index 100% rename from src/plugins/unified_field_list/common/utils/field_stats_utils.test.ts rename to src/plugins/unified_field_list/public/services/field_stats/field_stats_utils.test.ts diff --git a/src/plugins/unified_field_list/common/utils/field_stats_utils.ts b/src/plugins/unified_field_list/public/services/field_stats/field_stats_utils.ts similarity index 99% rename from src/plugins/unified_field_list/common/utils/field_stats_utils.ts rename to src/plugins/unified_field_list/public/services/field_stats/field_stats_utils.ts index e9cd750cd034d..c5a8dd338731c 100644 --- a/src/plugins/unified_field_list/common/utils/field_stats_utils.ts +++ b/src/plugins/unified_field_list/public/services/field_stats/field_stats_utils.ts @@ -11,7 +11,7 @@ import DateMath from '@kbn/datemath'; import type { DataView, DataViewField } from '@kbn/data-views-plugin/common'; import type { ESSearchResponse } from '@kbn/es-types'; import { FieldFormat } from '@kbn/field-formats-plugin/common'; -import type { FieldStatsResponse } from '../types'; +import type { FieldStatsResponse } from '../../../common/types'; import { getFieldExampleBuckets, canProvideExamplesForField, diff --git a/src/plugins/unified_field_list/public/services/field_stats/load_field_stats.ts b/src/plugins/unified_field_list/public/services/field_stats/load_field_stats.ts index 9cf468d29fe91..00e62301c52ac 100644 --- a/src/plugins/unified_field_list/public/services/field_stats/load_field_stats.ts +++ b/src/plugins/unified_field_list/public/services/field_stats/load_field_stats.ts @@ -10,11 +10,7 @@ import { lastValueFrom } from 'rxjs'; import type { DataView, DataViewField } from '@kbn/data-views-plugin/common'; import type { DataPublicPluginStart } from '@kbn/data-plugin/public'; import type { FieldStatsResponse } from '../../../common/types'; -import { - fetchAndCalculateFieldStats, - SearchHandler, - buildSearchParams, -} from '../../../common/utils/field_stats_utils'; +import { fetchAndCalculateFieldStats, SearchHandler, buildSearchParams } from './field_stats_utils'; interface FetchFieldStatsParams { services: { diff --git a/src/plugins/unified_field_list/public/types.ts b/src/plugins/unified_field_list/public/types.ts index 8e7ae0b9e8734..5b25fe744aff8 100755 --- a/src/plugins/unified_field_list/public/types.ts +++ b/src/plugins/unified_field_list/public/types.ts @@ -73,3 +73,12 @@ export type FieldTypeKnown = Exclude< >; export type GetCustomFieldType = (field: T) => FieldTypeKnown; + +export interface RenderFieldItemParams { + field: T; + hideDetails?: boolean; + itemIndex: number; + groupIndex: number; + groupName: FieldsGroupNames; + fieldSearchHighlight?: string; +} diff --git a/src/plugins/unified_field_list/server/index.ts b/src/plugins/unified_field_list/server/index.ts deleted file mode 100644 index 039ea0488b533..0000000000000 --- a/src/plugins/unified_field_list/server/index.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 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 { PluginInitializerContext } from '@kbn/core/server'; -import { UnifiedFieldListPlugin } from './plugin'; - -// This exports static code and TypeScript types, -// as well as, Kibana Platform `plugin()` initializer. - -export function plugin(initializerContext: PluginInitializerContext) { - return new UnifiedFieldListPlugin(initializerContext); -} - -export type { - UnifiedFieldListServerPluginSetup, - UnifiedFieldListServerPluginStart, - PluginSetup, - PluginStart, -} from './types'; diff --git a/src/plugins/unified_field_list/server/plugin.ts b/src/plugins/unified_field_list/server/plugin.ts deleted file mode 100644 index 7d27861ae6b5b..0000000000000 --- a/src/plugins/unified_field_list/server/plugin.ts +++ /dev/null @@ -1,41 +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 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 { PluginInitializerContext, CoreSetup, CoreStart, Plugin, Logger } from '@kbn/core/server'; -import { - UnifiedFieldListServerPluginSetup, - UnifiedFieldListServerPluginStart, - PluginStart, - PluginSetup, -} from './types'; -import { defineRoutes } from './routes'; - -export class UnifiedFieldListPlugin - implements Plugin -{ - private readonly logger: Logger; - - constructor(initializerContext: PluginInitializerContext) { - this.logger = initializerContext.logger.get(); - } - - public setup(core: CoreSetup, plugins: PluginSetup) { - this.logger.debug('unifiedFieldList: Setup'); - - defineRoutes(core, this.logger); - - return {}; - } - - public start(core: CoreStart, plugins: PluginStart) { - this.logger.debug('unifiedFieldList: Started'); - return {}; - } - - public stop() {} -} diff --git a/src/plugins/unified_field_list/server/routes/existing_fields.ts b/src/plugins/unified_field_list/server/routes/existing_fields.ts deleted file mode 100644 index 9310b436b6a30..0000000000000 --- a/src/plugins/unified_field_list/server/routes/existing_fields.ts +++ /dev/null @@ -1,100 +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 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 { errors } from '@elastic/elasticsearch'; -import { schema } from '@kbn/config-schema'; -import { CoreSetup, Logger } from '@kbn/core/server'; -import { UI_SETTINGS } from '@kbn/data-plugin/server'; -import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; - -import { fetchFieldExistence, isBoomError } from '../../common/utils/field_existing_utils'; -import { FIELD_EXISTING_API_PATH } from '../../common/constants'; -import { PluginStart } from '../types'; - -export async function existingFieldsRoute(setup: CoreSetup, logger: Logger) { - const router = setup.http.createRouter(); - - router.post( - { - path: FIELD_EXISTING_API_PATH, - validate: { - params: schema.object({ - dataViewId: schema.string(), - }), - body: schema.object({ - dslQuery: schema.object({}, { unknowns: 'allow' }), - fromDate: schema.maybe(schema.string()), - toDate: schema.maybe(schema.string()), - timeFieldName: schema.maybe(schema.string()), - }), - }, - }, - async (context, req, res) => { - const [{ savedObjects, elasticsearch, uiSettings }, { dataViews }] = - await setup.getStartServices(); - const savedObjectsClient = savedObjects.getScopedClient(req); - const uiSettingsClient = uiSettings.asScopedToClient(savedObjectsClient); - const [includeFrozen, metaFields] = await Promise.all([ - uiSettingsClient.get(UI_SETTINGS.SEARCH_INCLUDE_FROZEN), - uiSettingsClient.get(UI_SETTINGS.META_FIELDS), - ]); - const esClient = elasticsearch.client.asScoped(req).asCurrentUser; - try { - const dataViewsService = await dataViews.dataViewsServiceFactory( - savedObjectsClient, - esClient - ); - return res.ok({ - body: await fetchFieldExistence({ - ...req.body, - dataViewsService, - includeFrozen, - metaFields, - dataView: await dataViewsService.get(req.params.dataViewId), - search: async (params) => { - const contextCore = await context.core; - return await contextCore.elasticsearch.client.asCurrentUser.search< - estypes.SearchHit[] - >( - { ...params }, - { - // Global request timeout. Will cancel the request if exceeded. Overrides the elasticsearch.requestTimeout - requestTimeout: '5000ms', - // Fails fast instead of retrying- default is to retry - maxRetries: 0, - } - ); - }, - }), - }); - } catch (e) { - if (e instanceof errors.TimeoutError) { - logger.info(`Field existence check timed out on ${req.params.dataViewId}`); - // 408 is Request Timeout - return res.customError({ statusCode: 408, body: e.message }); - } - logger.info( - `Field existence check failed on ${req.params.dataViewId}: ${ - isBoomError(e) ? e.output.payload.message : e.message - }` - ); - if (e instanceof errors.ResponseError && e.statusCode === 404) { - return res.notFound({ body: e.message }); - } - if (isBoomError(e)) { - if (e.output.statusCode === 404) { - return res.notFound({ body: e.output.payload.message }); - } - throw new Error(e.output.payload.message); - } else { - throw e; - } - } - } - ); -} diff --git a/src/plugins/unified_field_list/server/routes/field_stats.ts b/src/plugins/unified_field_list/server/routes/field_stats.ts deleted file mode 100644 index 143389f524815..0000000000000 --- a/src/plugins/unified_field_list/server/routes/field_stats.ts +++ /dev/null @@ -1,105 +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 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 { errors } from '@elastic/elasticsearch'; -import { schema } from '@kbn/config-schema'; -import { CoreSetup } from '@kbn/core/server'; -import { SavedObjectNotFound } from '@kbn/kibana-utils-plugin/common'; -import { FIELD_STATS_API_PATH } from '../../common/constants'; -import type { PluginStart } from '../types'; -import { - fetchAndCalculateFieldStats, - SearchHandler, - buildSearchParams, -} from '../../common/utils/field_stats_utils'; - -export async function initFieldStatsRoute(setup: CoreSetup) { - const router = setup.http.createRouter(); - router.post( - { - path: FIELD_STATS_API_PATH, - validate: { - body: schema.object( - { - dslQuery: schema.object({}, { unknowns: 'allow' }), - fromDate: schema.string(), - toDate: schema.string(), - dataViewId: schema.string(), - fieldName: schema.string(), - size: schema.maybe(schema.number()), - }, - { unknowns: 'allow' } - ), - }, - }, - async (context, req, res) => { - const requestClient = (await context.core).elasticsearch.client.asCurrentUser; - const { fromDate, toDate, fieldName, dslQuery, size, dataViewId } = req.body; - - const [{ savedObjects, elasticsearch }, { dataViews }] = await setup.getStartServices(); - const savedObjectsClient = savedObjects.getScopedClient(req); - const esClient = elasticsearch.client.asScoped(req).asCurrentUser; - const indexPatternsService = await dataViews.dataViewsServiceFactory( - savedObjectsClient, - esClient - ); - - try { - const dataView = await indexPatternsService.get(dataViewId); - const field = dataView.fields.find((f) => f.name === fieldName); - - if (!field) { - throw new Error(`Field {fieldName} not found in data view ${dataView.title}`); - } - - const searchHandler: SearchHandler = async (body) => { - const result = await requestClient.search( - buildSearchParams({ - dataViewPattern: dataView.title, - timeFieldName: dataView.timeFieldName, - fromDate, - toDate, - dslQuery, - runtimeMappings: dataView.getRuntimeMappings(), - ...body, - }) - ); - return result; - }; - - const stats = await fetchAndCalculateFieldStats({ - searchHandler, - dataView, - field, - fromDate, - toDate, - size, - }); - - return res.ok({ - body: stats, - }); - } catch (e) { - if (e instanceof SavedObjectNotFound) { - return res.notFound(); - } - if (e instanceof errors.ResponseError && e.statusCode === 404) { - return res.notFound(); - } - if (e.isBoom) { - if (e.output.statusCode === 404) { - return res.notFound(); - } - throw new Error(e.output.message); - } else { - throw e; - } - } - } - ); -} diff --git a/src/plugins/unified_field_list/server/routes/index.ts b/src/plugins/unified_field_list/server/routes/index.ts deleted file mode 100644 index 4fdc5500a0c5b..0000000000000 --- a/src/plugins/unified_field_list/server/routes/index.ts +++ /dev/null @@ -1,17 +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 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 { CoreSetup, Logger } from '@kbn/core/server'; -import { PluginStart } from '../types'; -import { existingFieldsRoute } from './existing_fields'; -import { initFieldStatsRoute } from './field_stats'; - -export function defineRoutes(setup: CoreSetup, logger: Logger) { - initFieldStatsRoute(setup); - existingFieldsRoute(setup, logger); -} diff --git a/src/plugins/unified_field_list/server/types.ts b/src/plugins/unified_field_list/server/types.ts deleted file mode 100644 index 56cd69a01881e..0000000000000 --- a/src/plugins/unified_field_list/server/types.ts +++ /dev/null @@ -1,22 +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 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 { PluginStart as DataViewsServerPluginStart } from '@kbn/data-views-plugin/server'; - -// eslint-disable-next-line @typescript-eslint/no-empty-interface -export interface UnifiedFieldListServerPluginSetup {} - -// eslint-disable-next-line @typescript-eslint/no-empty-interface -export interface UnifiedFieldListServerPluginStart {} - -// eslint-disable-next-line @typescript-eslint/no-empty-interface -export interface PluginSetup {} - -export interface PluginStart { - dataViews: DataViewsServerPluginStart; -} diff --git a/src/plugins/unified_field_list/tsconfig.json b/src/plugins/unified_field_list/tsconfig.json index bf24189ddaeb7..41480f76f9c91 100644 --- a/src/plugins/unified_field_list/tsconfig.json +++ b/src/plugins/unified_field_list/tsconfig.json @@ -7,11 +7,9 @@ "../../typings/**/*", "common/**/*", "public/**/*", - "server/**/*", ], "kbn_references": [ "@kbn/core", - "@kbn/kibana-utils-plugin", "@kbn/data-views-plugin", "@kbn/data-plugin", "@kbn/charts-plugin", @@ -24,7 +22,6 @@ "@kbn/field-formats-plugin", "@kbn/i18n-react", "@kbn/analytics", - "@kbn/config-schema", "@kbn/core-lifecycle-browser", "@kbn/react-field", "@kbn/field-types", diff --git a/src/plugins/unified_histogram/public/chart/chart.test.tsx b/src/plugins/unified_histogram/public/chart/chart.test.tsx index 428db01cc3773..39c7fa934a125 100644 --- a/src/plugins/unified_histogram/public/chart/chart.test.tsx +++ b/src/plugins/unified_histogram/public/chart/chart.test.tsx @@ -40,6 +40,7 @@ async function mountComponent({ dataView = dataViewWithTimefieldMock, currentSuggestion, allSuggestions, + isPlainRecord, }: { noChart?: boolean; noHits?: boolean; @@ -49,6 +50,7 @@ async function mountComponent({ dataView?: DataView; currentSuggestion?: Suggestion; allSuggestions?: Suggestion[]; + isPlainRecord?: boolean; } = {}) { (searchSourceInstanceMock.fetch$ as jest.Mock).mockImplementation( jest.fn().mockReturnValue(of({ rawResponse: { hits: { total: noHits ? 0 : 2 } } })) @@ -84,6 +86,7 @@ async function mountComponent({ breakdown: noBreakdown ? undefined : { field: undefined }, currentSuggestion, allSuggestions, + isPlainRecord, appendHistogram, onResetChartHeight: jest.fn(), onChartHiddenChange: jest.fn(), @@ -149,6 +152,14 @@ describe('Chart', () => { expect(component.find('[data-test-subj="unifiedHistogramChart"]').exists()).toBeTruthy(); }); + test('render when is text based and not timebased', async () => { + const component = await mountComponent({ isPlainRecord: true, dataView: dataViewMock }); + expect( + component.find('[data-test-subj="unifiedHistogramChartOptionsToggle"]').exists() + ).toBeTruthy(); + expect(component.find('[data-test-subj="unifiedHistogramChart"]').exists()).toBeTruthy(); + }); + test('triggers onEditVisualization on click', async () => { expect(mockUseEditVisualization).not.toHaveBeenCalled(); const component = await mountComponent(); diff --git a/src/plugins/unified_histogram/public/chart/chart.tsx b/src/plugins/unified_histogram/public/chart/chart.tsx index 1e24de48f55d6..585b5603e1f6c 100644 --- a/src/plugins/unified_histogram/public/chart/chart.tsx +++ b/src/plugins/unified_histogram/public/chart/chart.tsx @@ -136,7 +136,7 @@ export function Chart({ !chart.hidden && dataView.id && dataView.type !== DataViewType.ROLLUP && - dataView.isTimeBased() + (isPlainRecord || (!isPlainRecord && dataView.isTimeBased())) ); const input$ = useMemo( @@ -219,6 +219,7 @@ export function Chart({ dataView, relativeTimeRange: originalRelativeTimeRange ?? relativeTimeRange, lensAttributes: lensAttributesContext.attributes, + isPlainRecord, }); return ( diff --git a/src/plugins/unified_histogram/public/chart/hooks/use_edit_visualization.ts b/src/plugins/unified_histogram/public/chart/hooks/use_edit_visualization.ts index c1b1f899ae756..e681fd34cd91e 100644 --- a/src/plugins/unified_histogram/public/chart/hooks/use_edit_visualization.ts +++ b/src/plugins/unified_histogram/public/chart/hooks/use_edit_visualization.ts @@ -21,16 +21,21 @@ export const useEditVisualization = ({ dataView, relativeTimeRange, lensAttributes, + isPlainRecord, }: { services: UnifiedHistogramServices; dataView: DataView; relativeTimeRange?: TimeRange; lensAttributes: TypedLensByValueInput['attributes']; + isPlainRecord?: boolean; }) => { const [canVisualize, setCanVisualize] = useState(false); const checkCanVisualize = useCallback(async () => { - if (!dataView.id || !dataView.isTimeBased() || !dataView.getTimeField().visualizable) { + if (!dataView.id) { + return false; + } + if (!isPlainRecord && (!dataView.isTimeBased() || !dataView.getTimeField().visualizable)) { return false; } @@ -43,7 +48,7 @@ export const useEditVisualization = ({ ); return Boolean(compatibleActions.length); - }, [dataView, services.uiActions]); + }, [dataView, isPlainRecord, services.uiActions]); const onEditVisualization = useMemo(() => { if (!canVisualize) { diff --git a/src/plugins/unified_search/.storybook/main.js b/src/plugins/unified_search/.storybook/main.js index 8dc3c5d1518f4..f0e135be6d8a2 100644 --- a/src/plugins/unified_search/.storybook/main.js +++ b/src/plugins/unified_search/.storybook/main.js @@ -5,5 +5,22 @@ * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ +import { defaultConfig } from '@kbn/storybook'; +import webpackMerge from 'webpack-merge'; +import { resolve } from 'path'; -module.exports = require('@kbn/storybook').defaultConfig; +const mockConfig = { + resolve: { + alias: { + '@kbn/text-based-languages/public': resolve( + __dirname, + '../public/mocks/text_based_languages_editor.tsx' + ), + }, + }, +}; + +module.exports = { + ...defaultConfig, + webpackFinal: (config) => webpackMerge(config, mockConfig), +}; diff --git a/src/plugins/unified_search/kibana.jsonc b/src/plugins/unified_search/kibana.jsonc index 5f146723b7c2e..9311d6cece2e2 100644 --- a/src/plugins/unified_search/kibana.jsonc +++ b/src/plugins/unified_search/kibana.jsonc @@ -26,7 +26,8 @@ "requiredBundles": [ "kibanaUtils", "kibanaReact", - "data" + "data", + "textBasedLanguages" ] } } diff --git a/src/plugins/unified_search/public/__stories__/search_bar.stories.tsx b/src/plugins/unified_search/public/__stories__/search_bar.stories.tsx index bf2326604c308..7ebd6770b9daa 100644 --- a/src/plugins/unified_search/public/__stories__/search_bar.stories.tsx +++ b/src/plugins/unified_search/public/__stories__/search_bar.stories.tsx @@ -83,6 +83,7 @@ const services = { uiSettings: { get: () => {}, }, + settings: { client: { get: () => {} } }, savedObjects: action('savedObjects'), notifications: action('notifications'), http: { diff --git a/src/plugins/unified_search/public/autocomplete/providers/value_suggestion_provider.ts b/src/plugins/unified_search/public/autocomplete/providers/value_suggestion_provider.ts index 3b64ea759316b..7ce405d124533 100644 --- a/src/plugins/unified_search/public/autocomplete/providers/value_suggestion_provider.ts +++ b/src/plugins/unified_search/public/autocomplete/providers/value_suggestion_provider.ts @@ -65,7 +65,7 @@ export const setupValueSuggestionProvider = ( ) => { usageCollector?.trackRequest(); return core.http - .fetch(`/api/kibana/suggestions/values/${index}`, { + .fetch(`/internal/kibana/suggestions/values/${index}`, { method: 'POST', body: JSON.stringify({ query, @@ -75,6 +75,7 @@ export const setupValueSuggestionProvider = ( method, }), signal, + version: '1', }) .then((r) => { usageCollector?.trackResult(); diff --git a/src/plugins/unified_search/public/dataview_picker/change_dataview.test.tsx b/src/plugins/unified_search/public/dataview_picker/change_dataview.test.tsx index 9524935b041e8..be359f25a6496 100644 --- a/src/plugins/unified_search/public/dataview_picker/change_dataview.test.tsx +++ b/src/plugins/unified_search/public/dataview_picker/change_dataview.test.tsx @@ -15,6 +15,8 @@ import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; import { dataPluginMock } from '@kbn/data-plugin/public/mocks'; import { indexPatternEditorPluginMock as dataViewEditorPluginMock } from '@kbn/data-view-editor-plugin/public/mocks'; import { ChangeDataView } from './change_dataview'; +import { DataViewSelector } from './data_view_selector'; +import { dataViewMock } from './mocks/dataview'; import { DataViewPickerPropsExtended, TextBasedLanguages } from './data_view_picker'; describe('DataView component', () => { @@ -162,4 +164,64 @@ describe('DataView component', () => { component.find('[data-test-subj="dataview-create-new"]').first().simulate('click'); expect(props.onTextLangQuerySubmit).toHaveBeenCalled(); }); + + it('should not propagate the adHoc dataviews for text based mode', async () => { + const component = mount( + wrapDataViewComponentInContext( + { + ...props, + onDataViewCreated: jest.fn(), + textBasedLanguages: [TextBasedLanguages.ESQL, TextBasedLanguages.SQL], + textBasedLanguage: TextBasedLanguages.ESQL, + savedDataViews: [ + { + id: 'dataview-1', + title: 'dataview-1', + }, + ], + adHocDataViews: [dataViewMock], + }, + false + ) + ); + findTestSubject(component, 'dataview-trigger').simulate('click'); + expect(component.find(DataViewSelector).prop('dataViewsList')).toStrictEqual([ + { + id: 'dataview-1', + title: 'dataview-1', + }, + ]); + }); + + it('should propagate the adHoc dataviews for dataview mode', async () => { + const component = mount( + wrapDataViewComponentInContext( + { + ...props, + onDataViewCreated: jest.fn(), + savedDataViews: [ + { + id: 'dataview-1', + title: 'dataview-1', + }, + ], + adHocDataViews: [dataViewMock], + }, + false + ) + ); + findTestSubject(component, 'dataview-trigger').simulate('click'); + expect(component.find(DataViewSelector).prop('dataViewsList')).toStrictEqual([ + { + id: 'dataview-1', + title: 'dataview-1', + }, + { + id: 'the-data-view-id', + title: 'the-data-view-title', + name: 'the-data-view', + isAdhoc: true, + }, + ]); + }); }); diff --git a/src/plugins/unified_search/public/dataview_picker/change_dataview.tsx b/src/plugins/unified_search/public/dataview_picker/change_dataview.tsx index 670c16515286d..72f777cfcae93 100644 --- a/src/plugins/unified_search/public/dataview_picker/change_dataview.tsx +++ b/src/plugins/unified_search/public/dataview_picker/change_dataview.tsx @@ -111,8 +111,9 @@ export function ChangeDataView({ const savedDataViewRefs: DataViewListItemEnhanced[] = savedDataViews ? savedDataViews : await data.dataViews.getIdsWithTitle(); + // not propagate the adHoc dataviews on the list for text based languages const adHocDataViewRefs: DataViewListItemEnhanced[] = - adHocDataViews?.map(mapAdHocDataView) || []; + (!isTextBasedLangSelected && adHocDataViews?.map(mapAdHocDataView)) || []; setDataViewsList(savedDataViewRefs.concat(adHocDataViewRefs)); }; diff --git a/src/plugins/unified_search/public/dataview_picker/mocks/dataview.ts b/src/plugins/unified_search/public/dataview_picker/mocks/dataview.ts new file mode 100644 index 0000000000000..699ad5fcd4d9f --- /dev/null +++ b/src/plugins/unified_search/public/dataview_picker/mocks/dataview.ts @@ -0,0 +1,123 @@ +/* + * Copyright 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 { DataView } from '@kbn/data-views-plugin/public'; + +const fields = [ + { + name: '_source', + type: '_source', + scripted: false, + filterable: false, + aggregatable: false, + }, + { + name: '_index', + type: 'string', + scripted: false, + filterable: true, + aggregatable: false, + }, + { + name: 'message', + type: 'string', + displayName: 'message', + scripted: false, + filterable: false, + aggregatable: false, + }, + { + name: 'extension', + type: 'string', + displayName: 'extension', + scripted: false, + filterable: true, + aggregatable: true, + }, + { + name: 'bytes', + type: 'number', + displayName: 'bytesDisplayName', + scripted: false, + filterable: true, + aggregatable: true, + sortable: true, + }, + { + name: 'scripted', + type: 'number', + displayName: 'scripted', + scripted: true, + filterable: false, + }, + { + name: 'object.value', + type: 'number', + displayName: 'object.value', + scripted: false, + filterable: true, + aggregatable: true, + }, + { + name: '@timestamp', + type: 'date', + displayName: '@timestamp', + scripted: false, + filterable: true, + aggregatable: true, + }, +] as DataView['fields']; + +export const buildDataViewMock = ({ + name, + fields: definedFields, + timeFieldName, +}: { + name: string; + fields: DataView['fields']; + timeFieldName?: string; +}): DataView => { + const dataViewFields = [...definedFields] as DataView['fields']; + + dataViewFields.getByName = (fieldName: string) => { + return dataViewFields.find((field) => field.name === fieldName); + }; + + dataViewFields.getAll = () => { + return dataViewFields; + }; + + const dataView = { + id: `${name}-id`, + title: `${name}-title`, + name, + metaFields: ['_index', '_score'], + fields: dataViewFields, + type: 'default', + getName: () => name, + getComputedFields: () => ({ docvalueFields: [], scriptFields: {}, storedFields: ['*'] }), + getSourceFiltering: () => ({}), + getIndexPattern: () => `${name}-title`, + getFieldByName: jest.fn((fieldName: string) => dataViewFields.getByName(fieldName)), + timeFieldName: timeFieldName || '', + docvalueFields: [], + getFormatterForField: jest.fn(() => ({ convert: (value: unknown) => value })), + isTimeNanosBased: () => false, + isPersisted: () => false, + toSpec: () => ({}), + getTimeField: () => { + return dataViewFields.find((field) => field.name === timeFieldName); + }, + } as unknown as DataView; + + dataView.isTimeBased = () => !!timeFieldName; + + return dataView; +}; + +export const dataViewMock = buildDataViewMock({ name: 'the-data-view', fields }); diff --git a/src/plugins/unified_search/public/filter_bar/filter_editor/filter_editor.test.tsx b/src/plugins/unified_search/public/filter_bar/filter_editor/filter_editor.test.tsx index 29cab95298ff6..4b51737630154 100644 --- a/src/plugins/unified_search/public/filter_bar/filter_editor/filter_editor.test.tsx +++ b/src/plugins/unified_search/public/filter_bar/filter_editor/filter_editor.test.tsx @@ -9,6 +9,7 @@ import React from 'react'; import { UseEuiTheme, EuiThemeComputed } from '@elastic/eui'; import { registerTestBed, TestBed } from '@kbn/test-jest-helpers'; +import { coreMock } from '@kbn/core/public/mocks'; import type { FilterEditorProps } from '.'; import { FilterEditor } from '.'; @@ -48,6 +49,7 @@ describe('', () => { indexPatterns: [], onCancel: jest.fn(), onSubmit: jest.fn(), + docLinks: coreMock.createStart().docLinks, }; testBed = await registerTestBed(FilterEditor, { defaultProps })(); }); diff --git a/src/plugins/unified_search/public/filter_bar/filter_editor/filter_editor.tsx b/src/plugins/unified_search/public/filter_bar/filter_editor/filter_editor.tsx index cac83eccf0503..278d358aec493 100644 --- a/src/plugins/unified_search/public/filter_bar/filter_editor/filter_editor.tsx +++ b/src/plugins/unified_search/public/filter_bar/filter_editor/filter_editor.tsx @@ -14,6 +14,7 @@ import { EuiFlexItem, EuiForm, EuiFormRow, + EuiFormRowProps, EuiIcon, EuiPopoverFooter, EuiPopoverTitle, @@ -23,6 +24,7 @@ import { EuiBadge, withEuiTheme, EuiTextColor, + EuiLink, } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n-react'; import { @@ -45,6 +47,7 @@ import { getIndexPatternFromFilter } from '@kbn/data-plugin/public'; import { CodeEditor } from '@kbn/kibana-react-plugin/public'; import { cx } from '@emotion/css'; import { WithEuiThemeProps } from '@elastic/eui/src/services/theme'; +import type { DocLinksStart } from '@kbn/core-doc-links-browser'; import { GenericComboBox } from './generic_combo_box'; import { getFieldFromFilter, @@ -102,6 +105,10 @@ export const strings = { i18n.translate('unifiedSearch.filter.filterEditor.queryDslLabel', { defaultMessage: 'Elasticsearch Query DSL', }), + getQueryDslDocsLinkLabel: () => + i18n.translate('unifiedSearch.filter.filterEditor.queryDslDocsLinkLabel', { + defaultMessage: 'Learn about Query DSL syntax', + }), getQueryDslAriaLabel: () => i18n.translate('unifiedSearch.filter.filterEditor.queryDslAriaLabel', { defaultMessage: 'Elasticsearch Query DSL editor', @@ -128,6 +135,7 @@ export interface FilterEditorComponentProps { timeRangeForSuggestionsOverride?: boolean; filtersForSuggestions?: Filter[]; mode?: 'edit' | 'add'; + docLinks: DocLinksStart; } export type FilterEditorProps = WithEuiThemeProps & FilterEditorComponentProps; @@ -375,12 +383,22 @@ class FilterEditorComponent extends Component { } private renderCustomEditor() { - const helpText = - this.props.filter?.meta.type === FILTERS.SPATIAL_FILTER ? ( + let helpText: EuiFormRowProps['helpText'] = ''; + + if (this.props.docLinks) { + helpText = ( + + {strings.getQueryDslDocsLinkLabel()} + + ); + } + + if (this.props.filter?.meta.type === FILTERS.SPATIAL_FILTER) { + helpText = ( {strings.getSpatialFilterQueryDslHelpText()} - ) : ( - '' ); + } + return ( void; intl: InjectedIntl; uiSettings: IUiSettingsClient; + docLinks: DocLinksStart; hiddenPanelOptions?: FilterPanelOption[]; timeRangeForSuggestionsOverride?: boolean; filtersForSuggestions?: Filter[]; @@ -84,7 +85,7 @@ function FilterItemComponent(props: FilterItemProps) { const [isPopoverOpen, setIsPopoverOpen] = useState(false); const [renderedComponent, setRenderedComponent] = useState('menu'); - const { id, filter, indexPatterns, hiddenPanelOptions, readOnly = false } = props; + const { id, filter, indexPatterns, hiddenPanelOptions, readOnly = false, docLinks } = props; const closePopover = useCallback(() => { onCloseFilterPopover([() => setIsPopoverOpen(false)]); @@ -393,6 +394,7 @@ function FilterItemComponent(props: FilterItemProps) { onCancel={() => setIsPopoverOpen(false)} timeRangeForSuggestionsOverride={props.timeRangeForSuggestionsOverride} filtersForSuggestions={props.filtersForSuggestions} + docLinks={docLinks} />
    , ]} diff --git a/src/plugins/unified_search/public/filter_bar/filter_item/filter_items.tsx b/src/plugins/unified_search/public/filter_bar/filter_item/filter_items.tsx index 0f8195e342821..a8cadc662bda8 100644 --- a/src/plugins/unified_search/public/filter_bar/filter_item/filter_items.tsx +++ b/src/plugins/unified_search/public/filter_bar/filter_item/filter_items.tsx @@ -44,7 +44,7 @@ export interface FilterItemsProps { const FilterItemsUI = React.memo(function FilterItemsUI(props: FilterItemsProps) { const groupRef = useRef(null); const kibana = useKibana(); - const { appName, usageCollection, uiSettings } = kibana.services; + const { appName, usageCollection, uiSettings, docLinks } = kibana.services; const { readOnly = false } = props; if (!uiSettings) return null; @@ -74,6 +74,7 @@ const FilterItemsUI = React.memo(function FilterItemsUI(props: FilterItemsProps) onRemove={() => onRemove(i)} indexPatterns={props.indexPatterns} uiSettings={uiSettings!} + docLinks={docLinks} hiddenPanelOptions={props.hiddenPanelOptions} timeRangeForSuggestionsOverride={props.timeRangeForSuggestionsOverride} filtersForSuggestions={props.filtersForSuggestions} diff --git a/src/plugins/unified_search/public/mocks/text_based_languages_editor.tsx b/src/plugins/unified_search/public/mocks/text_based_languages_editor.tsx new file mode 100644 index 0000000000000..71f2547c39734 --- /dev/null +++ b/src/plugins/unified_search/public/mocks/text_based_languages_editor.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 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 { withSuspense } from '@kbn/shared-ux-utility'; +import { TextBasedLanguagesEditorProps } from '@kbn/text-based-editor'; +import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; + +const TextBasedLanguagesEditorLazy = React.lazy(() => import('@kbn/text-based-editor')); +const TextBasedLanguagesEditor = withSuspense(TextBasedLanguagesEditorLazy); + +function createEditor() { + return (props: TextBasedLanguagesEditorProps) => { + return ( + {} } }, + uiSettings: { get: () => {} }, + }} + > + + + ); + }; +} + +export const TextBasedLangEditor = createEditor(); diff --git a/src/plugins/unified_search/public/query_string_input/filter_editor_wrapper.tsx b/src/plugins/unified_search/public/query_string_input/filter_editor_wrapper.tsx index 6944b0c52dcd1..5b143956d4292 100644 --- a/src/plugins/unified_search/public/query_string_input/filter_editor_wrapper.tsx +++ b/src/plugins/unified_search/public/query_string_input/filter_editor_wrapper.tsx @@ -48,7 +48,7 @@ export const FilterEditorWrapper = React.memo(function FilterEditorWrapper({ const fetchIndexAbortController = useRef(); const kibana = useKibana(); - const { uiSettings, data, usageCollection, appName } = kibana.services; + const { uiSettings, data, usageCollection, appName, docLinks } = kibana.services; const reportUiCounter = usageCollection?.reportUiCounter.bind(usageCollection, appName); const [dataViews, setDataviews] = useState([]); const [newFilter, setNewFilter] = useState(undefined); @@ -114,6 +114,7 @@ export const FilterEditorWrapper = React.memo(function FilterEditorWrapper({ onLocalFilterCreate={onLocalFilterCreate} timeRangeForSuggestionsOverride={timeRangeForSuggestionsOverride} filtersForSuggestions={filtersForSuggestions} + docLinks={docLinks} /> )}
    diff --git a/src/plugins/unified_search/public/query_string_input/query_bar_top_row.test.tsx b/src/plugins/unified_search/public/query_string_input/query_bar_top_row.test.tsx index afe2022529914..ca306b180c0a7 100644 --- a/src/plugins/unified_search/public/query_string_input/query_bar_top_row.test.tsx +++ b/src/plugins/unified_search/public/query_string_input/query_bar_top_row.test.tsx @@ -115,6 +115,7 @@ describe('QueryBarTopRowTopRow', () => { const TIMEPICKER_SELECTOR = 'Memo(EuiSuperDatePicker)'; const REFRESH_BUTTON_SELECTOR = 'EuiSuperUpdateButton'; const TIMEPICKER_DURATION = '[data-shared-timefilter-duration]'; + const TEXT_BASED_EDITOR = '[data-test-subj="unifiedTextLangEditor"]'; beforeEach(() => { jest.clearAllMocks(); @@ -293,20 +294,56 @@ describe('QueryBarTopRowTopRow', () => { }); it('Should NOT render query input bar if on text based languages mode', () => { - const component = shallow( + const component = mount( wrapQueryBarTopRowInContext({ query: sqlQuery, isDirty: false, screenTitle: 'SQL Screen', timeHistory: mockTimeHistory, indexPatterns: [stubIndexPattern], - showDatePicker: false, + showDatePicker: true, dateRangeFrom: 'now-7d', dateRangeTo: 'now', }) ); expect(component.find(QUERY_INPUT_SELECTOR).length).toBe(0); + expect(component.find(TEXT_BASED_EDITOR).length).toBe(1); + expect(component.find(TEXT_BASED_EDITOR).prop('detectTimestamp')).toBe(true); + expect(component.find(TIMEPICKER_SELECTOR).prop('isDisabled')).toBe(false); + }); + + it('Should render disabled date picker if on text based languages mode and no timeFieldName', () => { + const dataView = { + ...stubIndexPattern, + timeFieldName: undefined, + isPersisted: () => false, + }; + const component = mount( + wrapQueryBarTopRowInContext({ + query: sqlQuery, + isDirty: false, + screenTitle: 'SQL Screen', + timeHistory: mockTimeHistory, + indexPatterns: [dataView], + showDatePicker: true, + dateRangeFrom: 'now-7d', + dateRangeTo: 'now', + }) + ); + + expect(component.find(QUERY_INPUT_SELECTOR).length).toBe(0); + expect(component.find(TEXT_BASED_EDITOR).length).toBe(1); + expect(component.find(TEXT_BASED_EDITOR).prop('detectTimestamp')).toBe(false); + expect(component.find(TIMEPICKER_SELECTOR).prop('isDisabled')).toMatchInlineSnapshot(` + Object { + "display": + All time + , + } + `); }); }); diff --git a/src/plugins/unified_search/public/query_string_input/query_bar_top_row.tsx b/src/plugins/unified_search/public/query_string_input/query_bar_top_row.tsx index aecd588673e09..d78a9a5a31c68 100644 --- a/src/plugins/unified_search/public/query_string_input/query_bar_top_row.tsx +++ b/src/plugins/unified_search/public/query_string_input/query_bar_top_row.tsx @@ -13,6 +13,7 @@ import deepEqual from 'fast-deep-equal'; import useObservable from 'react-use/lib/useObservable'; import type { Filter, TimeRange, Query, AggregateQuery } from '@kbn/es-query'; import { getAggregateQueryMode, isOfQueryType, isOfAggregateQueryType } from '@kbn/es-query'; +import { TextBasedLangEditor } from '@kbn/text-based-languages/public'; import { EMPTY } from 'rxjs'; import { map } from 'rxjs/operators'; import { throttle } from 'lodash'; @@ -26,6 +27,7 @@ import { OnRefreshProps, useIsWithinBreakpoints, EuiSuperUpdateButton, + EuiToolTip, } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { TimeHistoryContract, getQueryLog } from '@kbn/data-plugin/public'; @@ -46,7 +48,6 @@ import { import { FilterButtonGroup } from '../filter_bar/filter_button_group/filter_button_group'; import type { SuggestionsListSize } from '../typeahead/suggestions_component'; -import { TextBasedLanguagesEditor } from './text_based_languages_editor'; import './query_bar.scss'; export const strings = { @@ -62,6 +63,34 @@ export const strings = { i18n.translate('unifiedSearch.queryBarTopRow.submitButton.run', { defaultMessage: 'Run query', }), + getDisabledDatePickerLabel: () => + i18n.translate('unifiedSearch.queryBarTopRow.datePicker.disabledLabel', { + defaultMessage: 'All time', + }), +}; + +const getWrapperWithTooltip = ( + children: JSX.Element, + enableTooltip: boolean, + query?: Query | AggregateQuery +) => { + if (enableTooltip && query && isOfAggregateQueryType(query)) { + const textBasedLanguage = getAggregateQueryMode(query); + return ( + + {children} + + ); + } else { + return children; + } }; const SuperDatePicker = React.memo( @@ -394,33 +423,53 @@ export const QueryBarTopRow = React.memo( if (!shouldRenderDatePicker()) { return null; } + let isDisabled: boolean | { display: React.ReactNode } = Boolean(props.isDisabled); + let enableTooltip = false; + // On text based mode the datepicker is always on when the user has unsaved changes. + // When the user doesn't have any changes it should be disabled if dataview doesn't have @timestamp field + if (Boolean(isQueryLangSelected) && !props.isDirty) { + const adHocDataview = props.indexPatterns?.[0]; + if (adHocDataview && typeof adHocDataview !== 'string') { + if (!adHocDataview.timeFieldName) { + isDisabled = { + display: ( + + {strings.getDisabledDatePickerLabel()} + + ), + }; + } + enableTooltip = !Boolean(adHocDataview.timeFieldName); + } + } const wrapperClasses = classNames('kbnQueryBar__datePickerWrapper'); - return ( - - - + const datePicker = ( + ); + const component = getWrapperWithTooltip(datePicker, enableTooltip, props.query); + + return {component}; } function renderUpdateButton() { @@ -577,16 +626,22 @@ export const QueryBarTopRow = React.memo( } function renderTextLangEditor() { + const adHocDataview = props.indexPatterns?.[0]; + let detectTimestamp = false; + if (adHocDataview && typeof adHocDataview !== 'string') { + detectTimestamp = Boolean(adHocDataview?.timeFieldName); + } return ( isQueryLangSelected && props.query && isOfAggregateQueryType(props.query) && ( - setCodeEditorIsExpanded(status)} isCodeEditorExpanded={codeEditorIsExpanded} errors={props.textBasedLanguageModeErrors} + detectTimestamp={detectTimestamp} onTextLangQuerySubmit={() => onSubmit({ query: queryRef.current, @@ -594,6 +649,7 @@ export const QueryBarTopRow = React.memo( }) } isDisabled={props.isDisabled} + data-test-subj="unifiedTextLangEditor" /> ) ); diff --git a/src/plugins/unified_search/public/query_string_input/text_based_languages_editor/README.md b/src/plugins/unified_search/public/query_string_input/text_based_languages_editor/README.md deleted file mode 100644 index cd733033e0c6a..0000000000000 --- a/src/plugins/unified_search/public/query_string_input/text_based_languages_editor/README.md +++ /dev/null @@ -1,46 +0,0 @@ -# Unified search text based languages editor - -A **monaco** based editor that is part of the unified search experience. It is rendered for all the applications that support text-based languages. -In order to enable text based languages on your unified search bar add `textBasedLanguages: ['SQL', 'ESQL', '...']` to the dataViewPicker properties. - - -## Languages supported -- SQL: based on the Elasticsearch sql api - - -## Features -- The editor operates in 3 modes: - - The inline mode: This is the one liner compact mode. If the query is large or consists of >1 lines then the user can't see the entire query. - - The inline focused mode. The editor is transferred to this mode automatically when the user clicks on the above mode. On this mode the user can work with multiple lines, see the entire context, see the errors, the editor line numbers and interact with the editor on a compact way. The editor returns automatically to the inline mode when the user clicks outside the editor. - - The expanded mode: The user has to click the maximize button to use this mode. Here the user has more space and can also minimize/maximize the editor height with a drag and drop experience. -- The editor has a built in way to depict the errors but the user has to submit the query first. The error should be on the inline focuses mode or the expanded mode to view the errors details. -- The editor is responsive regardless of the mode selected. -- The editor has a built in documentation that dynamically changes based on the language of the query. -- The user can quickly submit the query by pressing CMD/CTRL + Enter. - -## Preview -Run `node scripts/storybook unified_search` for a preview of the unified search bar with the editor. - -## Component properties -The editor is imported to the query_bar_top_row.tsx file. Accepts the following properties: -- query: This is the **AggregateQuery** query. i.e. (`{sql: SELECT * FROM 'DATAVIEW1'}`) -- onTextLangQueryChange: callback that is called every time the query is updated -- expandCodeEditor: flag that opens the editor on the expanded mode -- errors: array of `Error`. -- onTextLangQuerySubmit: callback that is called when the user submits the query - -``` - setCodeEditorIsExpanded(status)} - isCodeEditorExpanded={codeEditorIsExpanded} - errors={props.textBasedLanguageModeErrors} - onTextLangQuerySubmit={() => - onSubmit({ - query: queryRef.current, - dateRange: dateRangeRef.current, - }) - } - /> -``` diff --git a/src/plugins/unified_search/public/query_string_input/text_based_languages_editor/helpers.ts b/src/plugins/unified_search/public/query_string_input/text_based_languages_editor/helpers.ts deleted file mode 100644 index 58e603fa62d4f..0000000000000 --- a/src/plugins/unified_search/public/query_string_input/text_based_languages_editor/helpers.ts +++ /dev/null @@ -1,108 +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 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 { useRef } from 'react'; -import useDebounce from 'react-use/lib/useDebounce'; -import { monaco } from '@kbn/monaco'; -import { i18n } from '@kbn/i18n'; - -export interface MonacoError { - message: string; - startColumn: number; - startLineNumber: number; - endColumn: number; - endLineNumber: number; - severity: monaco.MarkerSeverity; -} - -export const useDebounceWithOptions = ( - fn: Function, - { skipFirstRender }: { skipFirstRender: boolean } = { skipFirstRender: false }, - ms?: number | undefined, - deps?: React.DependencyList | undefined -) => { - const isFirstRender = useRef(true); - const newDeps = [...(deps || []), isFirstRender]; - - return useDebounce( - () => { - if (skipFirstRender && isFirstRender.current) { - isFirstRender.current = false; - return; - } - return fn(); - }, - ms, - newDeps - ); -}; - -export const parseErrors = (errors: Error[], code: string): MonacoError[] => { - return errors.map((error) => { - if (error.message.includes('line')) { - const text = error.message.split('line')[1]; - const [lineNumber, startPosition, errorMessage] = text.split(':'); - // initialize the length to 10 in case no error word found - let errorLength = 10; - const [_, wordWithError] = errorMessage.split('['); - if (wordWithError) { - errorLength = wordWithError.length - 1; - } - return { - message: errorMessage, - startColumn: Number(startPosition), - startLineNumber: Number(lineNumber), - endColumn: Number(startPosition) + errorLength, - endLineNumber: Number(lineNumber), - severity: monaco.MarkerSeverity.Error, - }; - } else { - // unknown error message - return { - message: error.message, - startColumn: 1, - startLineNumber: 1, - endColumn: 10, - endLineNumber: 1, - severity: monaco.MarkerSeverity.Error, - }; - } - }); -}; - -export const getDocumentationSections = async (language: string) => { - const groups: Array<{ - label: string; - description?: string; - items: Array<{ label: string; description?: JSX.Element }>; - }> = []; - if (language === 'sql') { - const { - comparisonOperators, - logicalOperators, - mathOperators, - initialSection, - aggregateFunctions, - } = await import('./sql_documentation_sections'); - groups.push({ - label: i18n.translate('unifiedSearch.query.textBasedLanguagesEditor.howItWorks', { - defaultMessage: 'How it works', - }), - items: [], - }); - groups.push(comparisonOperators, logicalOperators, mathOperators, aggregateFunctions); - return { - groups, - initialSection, - }; - } -}; - -export const getInlineEditorText = (queryString: string, isMultiLine: boolean) => { - return isMultiLine ? queryString.replace(/\r?\n|\r/g, ' ').replace(/ +/g, ' ') : queryString; -}; diff --git a/src/plugins/unified_search/public/query_string_input/text_based_languages_editor/index.tsx b/src/plugins/unified_search/public/query_string_input/text_based_languages_editor/index.tsx deleted file mode 100644 index e68f4517cad2b..0000000000000 --- a/src/plugins/unified_search/public/query_string_input/text_based_languages_editor/index.tsx +++ /dev/null @@ -1,617 +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 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, { useRef, memo, useEffect, useState, useCallback } from 'react'; -import classNames from 'classnames'; -import { SQLLang, monaco } from '@kbn/monaco'; -import type { AggregateQuery } from '@kbn/es-query'; -import { getAggregateQueryMode } from '@kbn/es-query'; -import { - type LanguageDocumentationSections, - LanguageDocumentationPopover, -} from '@kbn/language-documentation-popover'; -import { useKibana } from '@kbn/kibana-react-plugin/public'; - -import { i18n } from '@kbn/i18n'; -import { - EuiBadge, - useEuiTheme, - EuiFlexGroup, - EuiFlexItem, - EuiButtonIcon, - EuiResizeObserver, - EuiOutsideClickDetector, - EuiToolTip, -} from '@elastic/eui'; -import { CodeEditor } from '@kbn/kibana-react-plugin/public'; -import type { CodeEditorProps } from '@kbn/kibana-react-plugin/public'; - -import { - textBasedLanguagedEditorStyles, - EDITOR_INITIAL_HEIGHT, - EDITOR_INITIAL_HEIGHT_EXPANDED, - EDITOR_MAX_HEIGHT, - EDITOR_MIN_HEIGHT, -} from './text_based_languages_editor.styles'; -import { - useDebounceWithOptions, - parseErrors, - getInlineEditorText, - getDocumentationSections, - MonacoError, -} from './helpers'; -import { EditorFooter } from './editor_footer'; -import { ResizableButton } from './resizable_button'; - -import './overwrite.scss'; -import type { IUnifiedSearchPluginServices } from '../../types'; - -export interface TextBasedLanguagesEditorProps { - query: AggregateQuery; - onTextLangQueryChange: (query: AggregateQuery) => void; - onTextLangQuerySubmit: () => void; - expandCodeEditor: (status: boolean) => void; - isCodeEditorExpanded: boolean; - errors?: Error[]; - isDisabled?: boolean; -} - -const MAX_COMPACT_VIEW_LENGTH = 250; -const FONT_WIDTH = 8; -const EDITOR_ONE_LINER_UNUSED_SPACE = 180; -const EDITOR_ONE_LINER_UNUSED_SPACE_WITH_ERRORS = 220; - -const KEYCODE_ARROW_UP = 38; -const KEYCODE_ARROW_DOWN = 40; - -const languageId = (language: string) => { - switch (language) { - case 'sql': - default: { - return SQLLang.ID; - } - } -}; - -let clickedOutside = false; -let initialRender = true; -let updateLinesFromModel = false; - -export const TextBasedLanguagesEditor = memo(function TextBasedLanguagesEditor({ - query, - onTextLangQueryChange, - onTextLangQuerySubmit, - expandCodeEditor, - isCodeEditorExpanded, - errors, - isDisabled, -}: TextBasedLanguagesEditorProps) { - const { euiTheme } = useEuiTheme(); - const language = getAggregateQueryMode(query); - const queryString: string = query[language] ?? ''; - const [lines, setLines] = useState(1); - const [code, setCode] = useState(queryString ?? ''); - const [codeOneLiner, setCodeOneLiner] = useState(''); - const [editorHeight, setEditorHeight] = useState( - isCodeEditorExpanded ? EDITOR_INITIAL_HEIGHT_EXPANDED : EDITOR_INITIAL_HEIGHT - ); - const [showLineNumbers, setShowLineNumbers] = useState(isCodeEditorExpanded); - const [isCompactFocused, setIsCompactFocused] = useState(isCodeEditorExpanded); - const [isCodeEditorExpandedFocused, setIsCodeEditorExpandedFocused] = useState(false); - const [isWordWrapped, setIsWordWrapped] = useState(true); - const [editorErrors, setEditorErrors] = useState([]); - const [documentationSections, setDocumentationSections] = - useState(); - const kibana = useKibana(); - const { uiSettings } = kibana.services; - - const styles = textBasedLanguagedEditorStyles( - euiTheme, - isCompactFocused, - editorHeight, - isCodeEditorExpanded, - Boolean(errors?.length), - isCodeEditorExpandedFocused - ); - const isDark = uiSettings.get('theme:darkMode'); - const editorModel = useRef(); - const editor1 = useRef(); - const containerRef = useRef(null); - - const editorClassName = classNames('unifiedTextLangEditor', { - 'unifiedTextLangEditor--expanded': isCodeEditorExpanded, - 'unifiedTextLangEditor--compact': isCompactFocused, - 'unifiedTextLangEditor--initial': !isCompactFocused, - }); - - // When the editor is on full size mode, the user can resize the height of the editor. - const onMouseDownResizeHandler = useCallback( - (mouseDownEvent) => { - const startSize = editorHeight; - const startPosition = mouseDownEvent.pageY; - - function onMouseMove(mouseMoveEvent: MouseEvent) { - const height = startSize - startPosition + mouseMoveEvent.pageY; - const validatedHeight = Math.min(Math.max(height, EDITOR_MIN_HEIGHT), EDITOR_MAX_HEIGHT); - setEditorHeight(validatedHeight); - } - function onMouseUp() { - document.body.removeEventListener('mousemove', onMouseMove); - } - - document.body.addEventListener('mousemove', onMouseMove); - document.body.addEventListener('mouseup', onMouseUp, { once: true }); - }, - [editorHeight] - ); - - const onKeyDownResizeHandler = useCallback( - (keyDownEvent) => { - let height = editorHeight; - if ( - keyDownEvent.keyCode === KEYCODE_ARROW_UP || - keyDownEvent.keyCode === KEYCODE_ARROW_DOWN - ) { - const step = keyDownEvent.keyCode === KEYCODE_ARROW_UP ? -10 : 10; - height = height + step; - const validatedHeight = Math.min(Math.max(height, EDITOR_MIN_HEIGHT), EDITOR_MAX_HEIGHT); - setEditorHeight(validatedHeight); - } - }, - [editorHeight] - ); - - const updateHeight = () => { - if (editor1.current) { - const linesCount = editorModel.current?.getLineCount() || 1; - if (linesCount === 1 || clickedOutside || initialRender) return; - const editorElement = editor1.current.getDomNode(); - const contentHeight = Math.min(MAX_COMPACT_VIEW_LENGTH, editor1.current.getContentHeight()); - - if (editorElement) { - editorElement.style.height = `${contentHeight}px`; - } - const contentWidth = Number(editorElement?.style.width.replace('px', '')); - editor1.current.layout({ width: contentWidth, height: contentHeight }); - setEditorHeight(contentHeight); - } - }; - - const restoreInitialMode = () => { - setIsCodeEditorExpandedFocused(false); - if (isCodeEditorExpanded) return; - setEditorHeight(EDITOR_INITIAL_HEIGHT); - setIsCompactFocused(false); - setShowLineNumbers(false); - updateLinesFromModel = false; - clickedOutside = true; - if (editor1.current) { - const editorElement = editor1.current.getDomNode(); - if (editorElement) { - editorElement.style.height = `${EDITOR_INITIAL_HEIGHT}px`; - const contentWidth = Number(editorElement?.style.width.replace('px', '')); - calculateVisibleCode(contentWidth, true); - editor1.current.layout({ width: contentWidth, height: EDITOR_INITIAL_HEIGHT }); - } - } - }; - - useDebounceWithOptions( - () => { - if (!editorModel.current) return; - editor1.current?.onDidChangeModelContent((e) => { - if (updateLinesFromModel) { - setLines(editorModel.current?.getLineCount() || 1); - } - }); - editor1.current?.onDidFocusEditorText(() => { - setIsCompactFocused(true); - setIsCodeEditorExpandedFocused(true); - setShowLineNumbers(true); - setCodeOneLiner(''); - clickedOutside = false; - initialRender = false; - updateLinesFromModel = true; - }); - // on CMD/CTRL + Enter submit the query - // eslint-disable-next-line no-bitwise - editor1.current?.addCommand(monaco.KeyMod.CtrlCmd | monaco.KeyCode.Enter, function () { - onTextLangQuerySubmit(); - }); - if (!isCodeEditorExpanded) { - editor1.current?.onDidContentSizeChange(updateHeight); - } - if (errors && errors.length) { - const parsedErrors = parseErrors(errors, code); - setEditorErrors(parsedErrors); - monaco.editor.setModelMarkers(editorModel.current, 'Unified search', parsedErrors); - } else { - monaco.editor.setModelMarkers(editorModel.current, 'Unified search', []); - setEditorErrors([]); - } - }, - { skipFirstRender: false }, - 256, - [errors] - ); - - const onErrorClick = useCallback(({ startLineNumber, startColumn }: MonacoError) => { - if (!editor1.current) { - return; - } - - editor1.current.focus(); - editor1.current.setPosition({ - lineNumber: startLineNumber, - column: startColumn, - }); - editor1.current.revealLine(startLineNumber); - }, []); - - // Clean up the monaco editor and DOM on unmount - useEffect(() => { - const model = editorModel; - const editor1ref = editor1; - return () => { - model.current?.dispose(); - editor1ref.current?.dispose(); - }; - }, []); - - const calculateVisibleCode = useCallback( - (width: number, force?: boolean) => { - const containerWidth = containerRef.current?.offsetWidth; - if (containerWidth && (!isCompactFocused || force)) { - const hasLines = /\r|\n/.exec(queryString); - if (hasLines && !updateLinesFromModel) { - setLines(queryString.split(/\r|\n/).length); - } - const text = getInlineEditorText(queryString, Boolean(hasLines)); - const queryLength = text.length; - const unusedSpace = - errors && errors.length - ? EDITOR_ONE_LINER_UNUSED_SPACE_WITH_ERRORS - : EDITOR_ONE_LINER_UNUSED_SPACE; - const charactersAlowed = Math.floor((width - unusedSpace) / FONT_WIDTH); - if (queryLength > charactersAlowed) { - const shortedCode = text.substring(0, charactersAlowed) + '...'; - setCodeOneLiner(shortedCode); - } else { - const shortedCode = text; - setCodeOneLiner(shortedCode); - } - } - }, - [queryString, errors, isCompactFocused] - ); - - useEffect(() => { - if (editor1.current && !isCompactFocused) { - const editorElement = editor1.current.getDomNode(); - if (editorElement) { - const contentWidth = Number(editorElement?.style.width.replace('px', '')); - if (code !== queryString) { - setCode(queryString); - calculateVisibleCode(contentWidth); - } - } - } - }, [calculateVisibleCode, code, isCompactFocused, queryString]); - - const onResize = ({ width }: { width: number }) => { - calculateVisibleCode(width); - if (editor1.current) { - editor1.current.layout({ width, height: editorHeight }); - } - }; - - const onQueryUpdate = useCallback( - (value: string) => { - setCode(value); - onTextLangQueryChange({ [language]: value } as AggregateQuery); - }, - [language, onTextLangQueryChange] - ); - - useEffect(() => { - async function getDocumentation() { - const sections = await getDocumentationSections(language); - setDocumentationSections(sections); - } - - getDocumentation(); - }, [language]); - - const codeEditorOptions: CodeEditorProps['options'] = { - automaticLayout: false, - accessibilitySupport: 'off', - folding: false, - fontSize: 14, - padding: { - top: 8, - bottom: 8, - }, - scrollBeyondLastLine: false, - quickSuggestions: true, - minimap: { enabled: false }, - wordWrap: isWordWrapped ? 'on' : 'off', - lineNumbers: showLineNumbers ? 'on' : 'off', - theme: isDark ? 'vs-dark' : 'vs', - lineDecorationsWidth: 12, - autoIndent: 'none', - wrappingIndent: 'none', - lineNumbersMinChars: 3, - overviewRulerLanes: 0, - hideCursorInOverviewRuler: true, - scrollbar: { - horizontal: 'hidden', - vertical: 'auto', - }, - overviewRulerBorder: false, - readOnly: isDisabled, - }; - - if (isCompactFocused) { - codeEditorOptions.overviewRulerLanes = 4; - codeEditorOptions.hideCursorInOverviewRuler = false; - codeEditorOptions.overviewRulerBorder = true; - } - - const editorPanel = ( - <> - {isCodeEditorExpanded && ( - - - - { - editor1.current?.updateOptions({ - wordWrap: isWordWrapped ? 'off' : 'on', - }); - setIsWordWrapped(!isWordWrapped); - }} - /> - - - - - - - { - expandCodeEditor(false); - updateLinesFromModel = false; - }} - /> - - - - - - - - - )} - - - {(resizeRef) => ( - { - restoreInitialMode(); - }} - > -
    - -
    - {!isCompactFocused && ( - - {i18n.translate('unifiedSearch.query.textBasedLanguagesEditor.lineCount', { - defaultMessage: '{count} {count, plural, one {line} other {lines}}', - values: { count: lines }, - })} - - )} - {!isCompactFocused && errors && errors.length > 0 && ( - - {errors.length} - - )} - { - editor1.current = editor; - const model = editor.getModel(); - if (model) { - editorModel.current = model; - } - if (isCodeEditorExpanded) { - setLines(model?.getLineCount() || 1); - } - }} - /> - {isCompactFocused && !isCodeEditorExpanded && ( - - )} -
    -
    -
    -
    - )} -
    - {!isCodeEditorExpanded && ( - - - - - expandCodeEditor(true)} - data-test-subj="unifiedTextLangEditor-expand" - css={{ - borderRadius: 0, - backgroundColor: isDark ? euiTheme.colors.lightestShade : '#e9edf3', - border: '1px solid rgb(17 43 134 / 10%) !important', - }} - /> - - - - - - - - )} -
    - {isCodeEditorExpanded && ( - - )} - {isCodeEditorExpanded && ( - - )} - - ); - - return editorPanel; -}); diff --git a/src/plugins/unified_search/public/query_string_input/text_based_languages_editor/overwrite.scss b/src/plugins/unified_search/public/query_string_input/text_based_languages_editor/overwrite.scss deleted file mode 100644 index cad8d05191d9b..0000000000000 --- a/src/plugins/unified_search/public/query_string_input/text_based_languages_editor/overwrite.scss +++ /dev/null @@ -1,45 +0,0 @@ -.unifiedTextLangEditor .monaco-editor { - border-top-left-radius: 6px; - border-bottom-left-radius: 6px; -} - -.unifiedTextLangEditor .monaco-editor .monaco-hover { - display: none !important; -} - -.unifiedTextLangEditor--expanded .monaco-editor .monaco-hover { - display: block !important; -} - -.unifiedTextLangEditor .monaco-editor .margin { - border-top-left-radius: 6px; - border-bottom-left-radius: 6px; -} - -.unifiedTextLangEditor--compact .monaco-editor { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} - -.unifiedTextLangEditor--compact .monaco-editor .margin { - border-top-left-radius: 0; - border-bottom-left-radius: 0; - background-color: $euiColorLightestShade; - color: $euiColorDisabledText; -} - -.unifiedTextLangEditor .monaco-editor .margin-view-overlays .line-numbers { - color: $euiColorDisabledText; -} - -.unifiedTextLangEditor .monaco-editor .current-line ~ .line-numbers { - color: $euiTextSubduedColor; -} - -.unifiedTextLangEditor--compact .monaco-editor .monaco-scrollable-element { - margin-left: 4px; -} - -.unifiedTextLangEditor_errorMessage { - @include euiTextBreakWord; -} \ No newline at end of file diff --git a/src/plugins/unified_search/public/query_string_input/text_based_languages_editor/text_based_languages_editor.test.tsx b/src/plugins/unified_search/public/query_string_input/text_based_languages_editor/text_based_languages_editor.test.tsx deleted file mode 100644 index 1b973da599afd..0000000000000 --- a/src/plugins/unified_search/public/query_string_input/text_based_languages_editor/text_based_languages_editor.test.tsx +++ /dev/null @@ -1,156 +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 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 { act } from 'react-dom/test-utils'; -import { IUiSettingsClient } from '@kbn/core/public'; -import { mountWithIntl as mount } from '@kbn/test-jest-helpers'; -import { findTestSubject } from '@elastic/eui/lib/test'; -import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; -import { TextBasedLanguagesEditor, TextBasedLanguagesEditorProps } from '.'; - -describe('TextBasedLanguagesEditor', () => { - const uiConfig: Record = {}; - const uiSettings = { - get: (key: string) => uiConfig[key], - } as IUiSettingsClient; - - const services = { - uiSettings, - settings: { - client: uiSettings, - }, - }; - - function renderTextBasedLanguagesEditorComponent(testProps: TextBasedLanguagesEditorProps) { - return ( - - - - ); - } - let props: TextBasedLanguagesEditorProps; - beforeEach(() => { - props = { - query: { sql: 'SELECT * FROM test' }, - isCodeEditorExpanded: false, - onTextLangQueryChange: jest.fn(), - onTextLangQuerySubmit: jest.fn(), - expandCodeEditor: jest.fn(), - }; - }); - it('should render the editor component', async () => { - await act(async () => { - const component = mount(renderTextBasedLanguagesEditorComponent({ ...props })); - expect(component.find('[data-test-subj="unifiedTextLangEditor"]').length).not.toBe(0); - }); - }); - - it('should render the lines badge for the inline mode by default', async () => { - await act(async () => { - const component = mount(renderTextBasedLanguagesEditorComponent({ ...props })); - expect( - component.find('[data-test-subj="unifiedTextLangEditor-inline-lines-badge"]').length - ).not.toBe(0); - }); - }); - - it('should render the errors badge for the inline mode by default if errors are provides', async () => { - const newProps = { - ...props, - errors: [new Error('error1')], - }; - await act(async () => { - const component = mount(renderTextBasedLanguagesEditorComponent({ ...newProps })); - expect( - component.find('[data-test-subj="unifiedTextLangEditor-inline-errors-badge"]').length - ).not.toBe(0); - }); - }); - - it('should render the correct buttons for the inline code editor mode', async () => { - await act(async () => { - const component = mount(renderTextBasedLanguagesEditorComponent({ ...props })); - expect(component.find('[data-test-subj="unifiedTextLangEditor-expand"]').length).not.toBe(0); - expect( - component.find('[data-test-subj="unifiedTextLangEditor-inline-documentation"]').length - ).not.toBe(0); - }); - }); - - it('should call the expand editor function when expand button is clicked', async () => { - const expandCodeEditorSpy = jest.fn(); - const newProps = { - ...props, - expandCodeEditor: expandCodeEditorSpy, - }; - await act(async () => { - const component = mount(renderTextBasedLanguagesEditorComponent({ ...newProps })); - findTestSubject(component, 'unifiedTextLangEditor-expand').simulate('click'); - expect(expandCodeEditorSpy).toHaveBeenCalled(); - }); - }); - - it('should render the correct buttons for the expanded code editor mode', async () => { - const newProps = { - ...props, - isCodeEditorExpanded: true, - }; - await act(async () => { - const component = mount(renderTextBasedLanguagesEditorComponent({ ...newProps })); - expect( - component.find('[data-test-subj="unifiedTextLangEditor-toggleWordWrap"]').length - ).not.toBe(0); - expect(component.find('[data-test-subj="unifiedTextLangEditor-minimize"]').length).not.toBe( - 0 - ); - expect( - component.find('[data-test-subj="unifiedTextLangEditor-documentation"]').length - ).not.toBe(0); - }); - }); - - it('should call the expand editor function when minimize button is clicked', async () => { - const expandCodeEditorSpy = jest.fn(); - const newProps = { - ...props, - isCodeEditorExpanded: true, - expandCodeEditor: expandCodeEditorSpy, - }; - await act(async () => { - const component = mount(renderTextBasedLanguagesEditorComponent({ ...newProps })); - findTestSubject(component, 'unifiedTextLangEditor-minimize').simulate('click'); - expect(expandCodeEditorSpy).toHaveBeenCalled(); - }); - }); - - it('should render the resize for the expanded code editor mode', async () => { - const newProps = { - ...props, - isCodeEditorExpanded: true, - }; - await act(async () => { - const component = mount(renderTextBasedLanguagesEditorComponent({ ...newProps })); - expect(component.find('[data-test-subj="unifiedTextLangEditor-resize"]').length).not.toBe(0); - }); - }); - - it('should render the footer for the expanded code editor mode', async () => { - const newProps = { - ...props, - isCodeEditorExpanded: true, - }; - await act(async () => { - const component = mount(renderTextBasedLanguagesEditorComponent({ ...newProps })); - expect(component.find('[data-test-subj="unifiedTextLangEditor-footer"]').length).not.toBe(0); - expect( - component.find('[data-test-subj="unifiedTextLangEditor-footer-lines"]').at(0).text() - ).toBe('1 line'); - }); - }); -}); diff --git a/src/plugins/unified_search/public/search_bar/search_bar.test.tsx b/src/plugins/unified_search/public/search_bar/search_bar.test.tsx index b28347ce662f1..b7c7e83b7c7f5 100644 --- a/src/plugins/unified_search/public/search_bar/search_bar.test.tsx +++ b/src/plugins/unified_search/public/search_bar/search_bar.test.tsx @@ -93,6 +93,7 @@ function wrapSearchBarInContext(testProps: any) { savedObjects: startMock.savedObjects, notifications: startMock.notifications, http: startMock.http, + theme: startMock.theme, storage: createMockStorage(), data: { query: { diff --git a/src/plugins/unified_search/server/autocomplete/value_suggestions_route.ts b/src/plugins/unified_search/server/autocomplete/value_suggestions_route.ts index 74a7e5202a541..00a5d3eba3a13 100644 --- a/src/plugins/unified_search/server/autocomplete/value_suggestions_route.ts +++ b/src/plugins/unified_search/server/autocomplete/value_suggestions_route.ts @@ -16,55 +16,62 @@ import { termsEnumSuggestions } from './terms_enum'; import { termsAggSuggestions } from './terms_agg'; export function registerValueSuggestionsRoute(router: IRouter, config$: Observable) { - router.post( - { - path: '/api/kibana/suggestions/values/{index}', - validate: { - params: schema.object( - { - index: schema.string(), - }, - { unknowns: 'allow' } - ), - body: schema.object( - { - field: schema.string(), - query: schema.string(), - filters: schema.maybe(schema.any()), - fieldMeta: schema.maybe(schema.any()), - method: schema.maybe( - schema.oneOf([schema.literal('terms_agg'), schema.literal('terms_enum')]) + router.versioned + .post({ + path: '/internal/kibana/suggestions/values/{index}', + access: 'internal', + }) + .addVersion( + { + version: '1', + validate: { + request: { + params: schema.object( + { + index: schema.string(), + }, + { unknowns: 'allow' } + ), + body: schema.object( + { + field: schema.string(), + query: schema.string(), + filters: schema.maybe(schema.any()), + fieldMeta: schema.maybe(schema.any()), + method: schema.maybe( + schema.oneOf([schema.literal('terms_agg'), schema.literal('terms_enum')]) + ), + }, + { unknowns: 'allow' } ), }, - { unknowns: 'allow' } - ), + }, }, - }, - async (context, request, response) => { - const config = await firstValueFrom(config$); - const { field: fieldName, query, filters, fieldMeta, method } = request.body; - const { index } = request.params; - const abortSignal = getRequestAbortedSignal(request.events.aborted$); - const { savedObjects, elasticsearch } = await context.core; + async (context, request, response) => { + const config = await firstValueFrom(config$); + const { field: fieldName, query, filters, fieldMeta, method } = request.body; + const { index } = request.params; + const abortSignal = getRequestAbortedSignal(request.events.aborted$); + const { savedObjects, elasticsearch } = await context.core; - try { - const fn = method === 'terms_agg' ? termsAggSuggestions : termsEnumSuggestions; - const body = await fn( - config, - savedObjects.client, - elasticsearch.client.asCurrentUser, - index, - fieldName, - query, - filters, - fieldMeta, - abortSignal - ); - return response.ok({ body }); - } catch (e) { - const kbnErr = getKbnServerError(e); - return reportServerError(response, kbnErr); + try { + const fn = method === 'terms_agg' ? termsAggSuggestions : termsEnumSuggestions; + const body = await fn( + config, + savedObjects.client, + elasticsearch.client.asCurrentUser, + index, + fieldName, + query, + filters, + fieldMeta, + abortSignal + ); + return response.ok({ body }); + } catch (e) { + const kbnErr = getKbnServerError(e); + return reportServerError(response, kbnErr); + } } - } - ); + ); } diff --git a/src/plugins/unified_search/tsconfig.json b/src/plugins/unified_search/tsconfig.json index d11390cf0d18a..50f6fa23236ae 100644 --- a/src/plugins/unified_search/tsconfig.json +++ b/src/plugins/unified_search/tsconfig.json @@ -31,7 +31,6 @@ "@kbn/analytics", "@kbn/datemath", "@kbn/monaco", - "@kbn/language-documentation-popover", "@kbn/field-types", "@kbn/config", "@kbn/config-schema", @@ -39,6 +38,9 @@ "@kbn/react-field", "@kbn/ui-theme", "@kbn/saved-objects-management-plugin", + "@kbn/text-based-languages", + "@kbn/text-based-editor", + "@kbn/core-doc-links-browser" ], "exclude": [ "target/**/*", diff --git a/src/plugins/usage_collection/README.mdx b/src/plugins/usage_collection/README.mdx index a703a3de00820..d755c9615327e 100644 --- a/src/plugins/usage_collection/README.mdx +++ b/src/plugins/usage_collection/README.mdx @@ -392,14 +392,14 @@ document. Examples of interactions include tracking: - the number of API calls - the number of times users installed and uninstalled the sample datasets -When using `incrementCounter` for collecting usage data, you need to ensure +When using `incrementCounter` for collecting usage, you need to ensure that usage collection happens on a best-effort basis and doesn't negatively affect your plugin or users (see the example): - Swallow any exceptions thrown from the incrementCounter method and log a message in development. - Don't block your application on the incrementCounter method (e.g. don't use `await`) - - Set the `refresh` option to false to prevent unecessary index refreshes + - Set the `refresh` option to false to prevent unnecessary index refreshes which slows down Elasticsearch performance diff --git a/src/plugins/usage_collection/server/usage_counters/usage_counters_service.ts b/src/plugins/usage_collection/server/usage_counters/usage_counters_service.ts index 0218334b7e153..1b40e91161704 100644 --- a/src/plugins/usage_collection/server/usage_counters/usage_counters_service.ts +++ b/src/plugins/usage_collection/server/usage_counters/usage_counters_service.ts @@ -183,14 +183,12 @@ export class UsageCountersService { acc[key] = counter; return acc; } - return { - ...acc, - [key]: { - ...existingCounter, - ...counter, - incrementBy: existingCounter.incrementBy + counter.incrementBy, - }, + acc[key] = { + ...existingCounter, + ...counter, + incrementBy: existingCounter.incrementBy + counter.incrementBy, }; + return acc; }, {} as Record); }; } diff --git a/src/plugins/vis_default_editor/kibana.jsonc b/src/plugins/vis_default_editor/kibana.jsonc index 66de46c25ac46..4487cce5d440f 100644 --- a/src/plugins/vis_default_editor/kibana.jsonc +++ b/src/plugins/vis_default_editor/kibana.jsonc @@ -19,9 +19,9 @@ "kibanaReact", "data", "fieldFormats", - "discover", "esUiShared", - "visualizations" + "visualizations", + "savedSearch" ] } } diff --git a/src/plugins/vis_default_editor/public/components/sidebar/sidebar.tsx b/src/plugins/vis_default_editor/public/components/sidebar/sidebar.tsx index e1bafe8e67fea..0825bfdb56cff 100644 --- a/src/plugins/vis_default_editor/public/components/sidebar/sidebar.tsx +++ b/src/plugins/vis_default_editor/public/components/sidebar/sidebar.tsx @@ -26,7 +26,7 @@ import { } from '@kbn/visualizations-plugin/public'; import type { Schema } from '@kbn/visualizations-plugin/public'; import type { TimeRange } from '@kbn/es-query'; -import { SavedSearch } from '@kbn/discover-plugin/public'; +import { SavedSearch } from '@kbn/saved-search-plugin/public'; import { DefaultEditorNavBar } from './navbar'; import { DefaultEditorControls } from './controls'; import { setStateParamValue, useEditorReducer, useEditorFormState, discardChanges } from './state'; diff --git a/src/plugins/vis_default_editor/public/components/sidebar/sidebar_title.tsx b/src/plugins/vis_default_editor/public/components/sidebar/sidebar_title.tsx index 07bbcea16b9df..681a41beed000 100644 --- a/src/plugins/vis_default_editor/public/components/sidebar/sidebar_title.tsx +++ b/src/plugins/vis_default_editor/public/components/sidebar/sidebar_title.tsx @@ -25,7 +25,7 @@ import { FormattedMessage } from '@kbn/i18n-react'; import { i18n } from '@kbn/i18n'; import { Vis } from '@kbn/visualizations-plugin/public'; -import { SavedSearch, getSavedSearchUrl } from '@kbn/discover-plugin/public'; +import { SavedSearch, getSavedSearchUrl } from '@kbn/saved-search-plugin/public'; import { ApplicationStart } from '@kbn/core/public'; import { useKibana } from '@kbn/kibana-react-plugin/public'; diff --git a/src/plugins/vis_default_editor/tsconfig.json b/src/plugins/vis_default_editor/tsconfig.json index 65d0603523fe1..e6d5af3d911c1 100644 --- a/src/plugins/vis_default_editor/tsconfig.json +++ b/src/plugins/vis_default_editor/tsconfig.json @@ -10,7 +10,6 @@ "@kbn/core", "@kbn/data-plugin", "@kbn/visualizations-plugin", - "@kbn/discover-plugin", "@kbn/kibana-utils-plugin", "@kbn/kibana-react-plugin", "@kbn/field-formats-plugin", @@ -27,6 +26,7 @@ "@kbn/monaco", "@kbn/es-ui-shared-plugin", "@kbn/utility-types", + "@kbn/saved-search-plugin", ], "exclude": [ "target/**/*", diff --git a/src/plugins/vis_types/gauge/config.ts b/src/plugins/vis_types/gauge/config.ts index b831d26854c30..eba3a30d74c99 100644 --- a/src/plugins/vis_types/gauge/config.ts +++ b/src/plugins/vis_types/gauge/config.ts @@ -10,6 +10,17 @@ import { schema, TypeOf } from '@kbn/config-schema'; export const configSchema = schema.object({ enabled: schema.boolean({ defaultValue: true }), + + readOnly: schema.conditional( + schema.contextRef('serverless'), + true, + schema.maybe(schema.boolean({ defaultValue: false })), + schema.never() + ), }); -export type ConfigSchema = TypeOf; +export type GaugeConfig = TypeOf; + +export interface GaugePublicConfig { + readOnly?: boolean; +} diff --git a/src/plugins/vis_types/gauge/public/index.ts b/src/plugins/vis_types/gauge/public/index.ts index 78aa55f59486f..4219955467edb 100755 --- a/src/plugins/vis_types/gauge/public/index.ts +++ b/src/plugins/vis_types/gauge/public/index.ts @@ -6,10 +6,12 @@ * Side Public License, v 1. */ +import { PluginInitializerContext } from '@kbn/core/public'; +import { GaugePublicConfig } from '../config'; import { VisTypeGaugePlugin } from './plugin'; -export function plugin() { - return new VisTypeGaugePlugin(); +export function plugin(initializerContext: PluginInitializerContext) { + return new VisTypeGaugePlugin(initializerContext); } export type { VisTypeGaugePluginSetup, VisTypeGaugePluginStart } from './types'; diff --git a/src/plugins/vis_types/gauge/public/plugin.ts b/src/plugins/vis_types/gauge/public/plugin.ts index 16e7a0a818487..67d58e5790239 100755 --- a/src/plugins/vis_types/gauge/public/plugin.ts +++ b/src/plugins/vis_types/gauge/public/plugin.ts @@ -6,10 +6,11 @@ * Side Public License, v 1. */ -import { CoreSetup, CoreStart } from '@kbn/core/public'; +import { CoreSetup, CoreStart, PluginInitializerContext } from '@kbn/core/public'; import { VisualizationsSetup } from '@kbn/visualizations-plugin/public'; import { DataPublicPluginStart } from '@kbn/data-plugin/public'; import { DataViewsPublicPluginStart } from '@kbn/data-views-plugin/public'; +import { GaugePublicConfig } from '../config'; import { LEGACY_GAUGE_CHARTS_LIBRARY } from '../common'; import { VisTypeGaugePluginSetup } from './types'; import { gaugeVisType, goalVisType } from './vis_type'; @@ -27,14 +28,29 @@ export interface VisTypeGaugePluginStartDependencies { } export class VisTypeGaugePlugin { + private readonly initializerContext: PluginInitializerContext; + + constructor(initializerContext: PluginInitializerContext) { + this.initializerContext = initializerContext; + } + public setup( core: CoreSetup, { visualizations }: VisTypeGaugeSetupDependencies ): VisTypeGaugePluginSetup { if (!core.uiSettings.get(LEGACY_GAUGE_CHARTS_LIBRARY)) { + const { readOnly } = this.initializerContext.config.get(); const visTypeProps = { showElasticChartsOptions: true }; - visualizations.createBaseVisualization(gaugeVisType(visTypeProps)); - visualizations.createBaseVisualization(goalVisType(visTypeProps)); + visualizations.createBaseVisualization({ + ...gaugeVisType(visTypeProps), + disableCreate: Boolean(readOnly), + disableEdit: Boolean(readOnly), + }); + visualizations.createBaseVisualization({ + ...goalVisType(visTypeProps), + disableCreate: Boolean(readOnly), + disableEdit: Boolean(readOnly), + }); } return {}; diff --git a/src/plugins/vis_types/gauge/server/index.ts b/src/plugins/vis_types/gauge/server/index.ts index 1c506253e85e0..bffab6592194f 100755 --- a/src/plugins/vis_types/gauge/server/index.ts +++ b/src/plugins/vis_types/gauge/server/index.ts @@ -6,12 +6,16 @@ * Side Public License, v 1. */ -import { PluginConfigDescriptor } from '@kbn/core/server'; -import { configSchema, ConfigSchema } from '../config'; +import { PluginInitializerContext, PluginConfigDescriptor } from '@kbn/core/server'; +import { configSchema, GaugeConfig } from '../config'; import { VisTypeGaugeServerPlugin } from './plugin'; -export const config: PluginConfigDescriptor = { +export const config: PluginConfigDescriptor = { + exposeToBrowser: { + readOnly: true, + }, schema: configSchema, }; -export const plugin = () => new VisTypeGaugeServerPlugin(); +export const plugin = (initializerContext: PluginInitializerContext) => + new VisTypeGaugeServerPlugin(initializerContext); diff --git a/src/plugins/vis_types/gauge/server/plugin.ts b/src/plugins/vis_types/gauge/server/plugin.ts index f3bef549a4791..f7b51c5d5af86 100755 --- a/src/plugins/vis_types/gauge/server/plugin.ts +++ b/src/plugins/vis_types/gauge/server/plugin.ts @@ -9,7 +9,9 @@ import { i18n } from '@kbn/i18n'; import { schema } from '@kbn/config-schema'; -import { CoreSetup, Plugin, UiSettingsParams } from '@kbn/core/server'; +import { CoreSetup, Plugin, PluginInitializerContext, UiSettingsParams } from '@kbn/core/server'; +import type { VisualizationsServerSetup } from '@kbn/visualizations-plugin/server'; +import { GaugeConfig } from '../config'; import { LEGACY_GAUGE_CHARTS_LIBRARY } from '../common'; @@ -34,10 +36,24 @@ export const getUiSettingsConfig: () => Record }, }); +interface PluginSetupDependencies { + visualizations: VisualizationsServerSetup; +} + export class VisTypeGaugeServerPlugin implements Plugin { - public setup(core: CoreSetup) { + constructor(private readonly initializerContext: PluginInitializerContext) { + this.initializerContext = initializerContext; + } + + public setup(core: CoreSetup, plugins: PluginSetupDependencies) { core.uiSettings.register(getUiSettingsConfig()); + const { readOnly } = this.initializerContext.config.get(); + if (readOnly) { + plugins.visualizations.registerReadOnlyVisType('gauge'); + plugins.visualizations.registerReadOnlyVisType('goal'); + } + return {}; } diff --git a/src/plugins/vis_types/heatmap/config.ts b/src/plugins/vis_types/heatmap/config.ts index b831d26854c30..c4bda4a46efc6 100644 --- a/src/plugins/vis_types/heatmap/config.ts +++ b/src/plugins/vis_types/heatmap/config.ts @@ -10,6 +10,17 @@ import { schema, TypeOf } from '@kbn/config-schema'; export const configSchema = schema.object({ enabled: schema.boolean({ defaultValue: true }), + + readOnly: schema.conditional( + schema.contextRef('serverless'), + true, + schema.maybe(schema.boolean({ defaultValue: false })), + schema.never() + ), }); -export type ConfigSchema = TypeOf; +export type HeatmapConfig = TypeOf; + +export interface HeatmapPublicConfig { + readOnly?: boolean; +} diff --git a/src/plugins/vis_types/heatmap/public/index.ts b/src/plugins/vis_types/heatmap/public/index.ts index 34387430adbe0..595b0ab3507e3 100644 --- a/src/plugins/vis_types/heatmap/public/index.ts +++ b/src/plugins/vis_types/heatmap/public/index.ts @@ -6,8 +6,11 @@ * Side Public License, v 1. */ +import { PluginInitializerContext } from '@kbn/core/public'; +import { HeatmapPublicConfig } from '../config'; import { VisTypeHeatmapPlugin } from './plugin'; export { heatmapVisType } from './vis_type'; -export const plugin = () => new VisTypeHeatmapPlugin(); +export const plugin = (initializerContext: PluginInitializerContext) => + new VisTypeHeatmapPlugin(initializerContext); diff --git a/src/plugins/vis_types/heatmap/public/plugin.ts b/src/plugins/vis_types/heatmap/public/plugin.ts index ee7349145e7c6..f2ce2614ec9be 100644 --- a/src/plugins/vis_types/heatmap/public/plugin.ts +++ b/src/plugins/vis_types/heatmap/public/plugin.ts @@ -6,13 +6,14 @@ * Side Public License, v 1. */ -import { CoreSetup, CoreStart } from '@kbn/core/public'; +import { CoreSetup, CoreStart, PluginInitializerContext } from '@kbn/core/public'; import type { VisualizationsSetup } from '@kbn/visualizations-plugin/public'; import type { ChartsPluginSetup } from '@kbn/charts-plugin/public'; import { DataViewsPublicPluginStart } from '@kbn/data-views-plugin/public'; import type { FieldFormatsStart } from '@kbn/field-formats-plugin/public'; import type { UsageCollectionSetup } from '@kbn/usage-collection-plugin/public'; import type { DataPublicPluginStart } from '@kbn/data-plugin/public'; +import { HeatmapPublicConfig } from '../config'; import { LEGACY_HEATMAP_CHARTS_LIBRARY } from '../common'; import { heatmapVisType } from './vis_type'; import { setDataViewsStart } from './services'; @@ -36,17 +37,26 @@ export interface VisTypeHeatmapStartDependencies { } export class VisTypeHeatmapPlugin { + private readonly initializerContext: PluginInitializerContext; + + constructor(initializerContext: PluginInitializerContext) { + this.initializerContext = initializerContext; + } + setup( core: CoreSetup, { visualizations, charts, usageCollection }: VisTypeHeatmapSetupDependencies ) { if (!core.uiSettings.get(LEGACY_HEATMAP_CHARTS_LIBRARY)) { - visualizations.createBaseVisualization( - heatmapVisType({ + const { readOnly } = this.initializerContext.config.get(); + visualizations.createBaseVisualization({ + ...heatmapVisType({ showElasticChartsOptions: true, palettes: charts.palettes, - }) - ); + }), + disableCreate: Boolean(readOnly), + disableEdit: Boolean(readOnly), + }); } return {}; } diff --git a/src/plugins/vis_types/heatmap/server/index.ts b/src/plugins/vis_types/heatmap/server/index.ts index 077fc3013b7fe..752bf1a381563 100644 --- a/src/plugins/vis_types/heatmap/server/index.ts +++ b/src/plugins/vis_types/heatmap/server/index.ts @@ -6,12 +6,16 @@ * Side Public License, v 1. */ -import { PluginConfigDescriptor } from '@kbn/core/server'; -import { configSchema, ConfigSchema } from '../config'; +import { PluginConfigDescriptor, PluginInitializerContext } from '@kbn/core/server'; +import { configSchema, HeatmapConfig } from '../config'; import { VisTypeHeatmapServerPlugin } from './plugin'; -export const config: PluginConfigDescriptor = { +export const config: PluginConfigDescriptor = { + exposeToBrowser: { + readOnly: true, + }, schema: configSchema, }; -export const plugin = () => new VisTypeHeatmapServerPlugin(); +export const plugin = (initializerContext: PluginInitializerContext) => + new VisTypeHeatmapServerPlugin(initializerContext); diff --git a/src/plugins/vis_types/heatmap/server/plugin.ts b/src/plugins/vis_types/heatmap/server/plugin.ts index 70b9b9adad8d4..dcc1c7c65babe 100644 --- a/src/plugins/vis_types/heatmap/server/plugin.ts +++ b/src/plugins/vis_types/heatmap/server/plugin.ts @@ -9,7 +9,9 @@ import { i18n } from '@kbn/i18n'; import { schema } from '@kbn/config-schema'; -import { CoreSetup, Plugin, UiSettingsParams } from '@kbn/core/server'; +import { CoreSetup, Plugin, PluginInitializerContext, UiSettingsParams } from '@kbn/core/server'; +import type { VisualizationsServerSetup } from '@kbn/visualizations-plugin/server'; +import { HeatmapConfig } from '../config'; import { LEGACY_HEATMAP_CHARTS_LIBRARY } from '../common'; @@ -45,10 +47,23 @@ export const getUiSettingsConfig: () => Record }, }); +interface PluginSetupDependencies { + visualizations: VisualizationsServerSetup; +} + export class VisTypeHeatmapServerPlugin implements Plugin { - public setup(core: CoreSetup) { + constructor(private readonly initializerContext: PluginInitializerContext) { + this.initializerContext = initializerContext; + } + + public setup(core: CoreSetup, plugins: PluginSetupDependencies) { core.uiSettings.register(getUiSettingsConfig()); + const { readOnly } = this.initializerContext.config.get(); + if (readOnly) { + plugins.visualizations.registerReadOnlyVisType('heatmap'); + } + return {}; } diff --git a/src/plugins/vis_types/metric/config.ts b/src/plugins/vis_types/metric/config.ts index b831d26854c30..3e0ea58f01c2e 100644 --- a/src/plugins/vis_types/metric/config.ts +++ b/src/plugins/vis_types/metric/config.ts @@ -10,6 +10,17 @@ import { schema, TypeOf } from '@kbn/config-schema'; export const configSchema = schema.object({ enabled: schema.boolean({ defaultValue: true }), + + readOnly: schema.conditional( + schema.contextRef('serverless'), + true, + schema.maybe(schema.boolean({ defaultValue: false })), + schema.never() + ), }); -export type ConfigSchema = TypeOf; +export type MetricConfig = TypeOf; + +export interface MetricPublicConfig { + readOnly?: boolean; +} diff --git a/src/plugins/vis_types/metric/public/index.ts b/src/plugins/vis_types/metric/public/index.ts index f136a58abaa97..fdc19b16c9980 100644 --- a/src/plugins/vis_types/metric/public/index.ts +++ b/src/plugins/vis_types/metric/public/index.ts @@ -7,8 +7,9 @@ */ import { PluginInitializerContext } from '@kbn/core/public'; +import { MetricPublicConfig } from '../config'; import { MetricVisPlugin as Plugin } from './plugin'; -export function plugin(initializerContext: PluginInitializerContext) { +export function plugin(initializerContext: PluginInitializerContext) { return new Plugin(initializerContext); } diff --git a/src/plugins/vis_types/metric/public/plugin.ts b/src/plugins/vis_types/metric/public/plugin.ts index bf8b8af0bddda..a8be4ca753f0c 100644 --- a/src/plugins/vis_types/metric/public/plugin.ts +++ b/src/plugins/vis_types/metric/public/plugin.ts @@ -10,7 +10,7 @@ import { PluginInitializerContext, CoreSetup, CoreStart, Plugin } from '@kbn/cor import { VisualizationsSetup } from '@kbn/visualizations-plugin/public'; import { DataViewsPublicPluginStart } from '@kbn/data-views-plugin/public'; import { createMetricVisTypeDefinition } from './metric_vis_type'; -import { ConfigSchema } from '../config'; +import { MetricPublicConfig } from '../config'; import { setDataViewsStart } from './services'; /** @internal */ @@ -27,14 +27,19 @@ export interface MetricVisPluginStartDependencies { export class MetricVisPlugin implements Plugin { - initializerContext: PluginInitializerContext; + initializerContext: PluginInitializerContext; - constructor(initializerContext: PluginInitializerContext) { + constructor(initializerContext: PluginInitializerContext) { this.initializerContext = initializerContext; } public setup(core: CoreSetup, { visualizations }: MetricVisPluginSetupDependencies) { - visualizations.createBaseVisualization(createMetricVisTypeDefinition()); + const { readOnly } = this.initializerContext.config.get(); + visualizations.createBaseVisualization({ + ...createMetricVisTypeDefinition(), + disableCreate: Boolean(readOnly), + disableEdit: Boolean(readOnly), + }); } public start(core: CoreStart, { dataViews }: MetricVisPluginStartDependencies) { diff --git a/src/plugins/vis_types/metric/server/index.ts b/src/plugins/vis_types/metric/server/index.ts index db7446c9ef81a..49359ab970e05 100644 --- a/src/plugins/vis_types/metric/server/index.ts +++ b/src/plugins/vis_types/metric/server/index.ts @@ -6,15 +6,30 @@ * Side Public License, v 1. */ -import { PluginConfigDescriptor } from '@kbn/core/server'; +import { CoreSetup, PluginConfigDescriptor, PluginInitializerContext } from '@kbn/core/server'; +import type { VisualizationsServerSetup } from '@kbn/visualizations-plugin/server'; -import { configSchema, ConfigSchema } from '../config'; +import { configSchema, MetricConfig } from '../config'; -export const config: PluginConfigDescriptor = { +export const config: PluginConfigDescriptor = { + exposeToBrowser: { + readOnly: true, + }, schema: configSchema, }; -export const plugin = () => ({ - setup() {}, +interface PluginSetupDependencies { + visualizations: VisualizationsServerSetup; +} + +export const plugin = (initializerContext: PluginInitializerContext) => ({ + setup(core: CoreSetup, plugins: PluginSetupDependencies) { + const { readOnly } = initializerContext.config.get(); + if (readOnly) { + plugins.visualizations.registerReadOnlyVisType('metric'); + } + + return {}; + }, start() {}, }); diff --git a/src/plugins/vis_types/pie/config.ts b/src/plugins/vis_types/pie/config.ts index b831d26854c30..6562ed8c8588d 100644 --- a/src/plugins/vis_types/pie/config.ts +++ b/src/plugins/vis_types/pie/config.ts @@ -10,6 +10,17 @@ import { schema, TypeOf } from '@kbn/config-schema'; export const configSchema = schema.object({ enabled: schema.boolean({ defaultValue: true }), + + readOnly: schema.conditional( + schema.contextRef('serverless'), + true, + schema.maybe(schema.boolean({ defaultValue: false })), + schema.never() + ), }); -export type ConfigSchema = TypeOf; +export type PieConfig = TypeOf; + +export interface PiePublicConfig { + readOnly?: boolean; +} diff --git a/src/plugins/vis_types/pie/public/index.ts b/src/plugins/vis_types/pie/public/index.ts index d7c5e9a2dfb2a..46110193aefa4 100644 --- a/src/plugins/vis_types/pie/public/index.ts +++ b/src/plugins/vis_types/pie/public/index.ts @@ -6,9 +6,12 @@ * Side Public License, v 1. */ +import type { PluginInitializerContext } from '@kbn/core/public'; import { VisTypePiePlugin } from './plugin'; +import type { PiePublicConfig } from '../config'; export { pieVisType } from './vis_type'; export type { Dimensions, Dimension } from './types'; -export const plugin = () => new VisTypePiePlugin(); +export const plugin = (initializerContext: PluginInitializerContext) => + new VisTypePiePlugin(initializerContext); diff --git a/src/plugins/vis_types/pie/public/plugin.ts b/src/plugins/vis_types/pie/public/plugin.ts index 4eccefb38407f..31b5591c77a9d 100644 --- a/src/plugins/vis_types/pie/public/plugin.ts +++ b/src/plugins/vis_types/pie/public/plugin.ts @@ -6,12 +6,19 @@ * Side Public License, v 1. */ -import { CoreSetup, CoreStart, DocLinksStart, ThemeServiceStart } from '@kbn/core/public'; +import { + CoreSetup, + CoreStart, + DocLinksStart, + PluginInitializerContext, + ThemeServiceStart, +} from '@kbn/core/public'; import { VisualizationsSetup } from '@kbn/visualizations-plugin/public'; import { ChartsPluginSetup } from '@kbn/charts-plugin/public'; import { UsageCollectionSetup } from '@kbn/usage-collection-plugin/public'; import { DataViewsPublicPluginStart } from '@kbn/data-views-plugin/public'; import { DataPublicPluginStart } from '@kbn/data-plugin/public'; +import type { PiePublicConfig } from '../config'; import { pieVisType } from './vis_type'; import { setDataViewsStart } from './services'; @@ -44,16 +51,25 @@ export interface VisTypePieDependencies { } export class VisTypePiePlugin { + initializerContext: PluginInitializerContext; + + constructor(initializerContext: PluginInitializerContext) { + this.initializerContext = initializerContext; + } + setup( core: CoreSetup, { visualizations, charts, usageCollection }: VisTypePieSetupDependencies ) { - visualizations.createBaseVisualization( - pieVisType({ + const { readOnly } = this.initializerContext.config.get(); + visualizations.createBaseVisualization({ + ...pieVisType({ showElasticChartsOptions: true, palettes: charts.palettes, - }) - ); + }), + disableCreate: Boolean(readOnly), + disableEdit: Boolean(readOnly), + }); return {}; } diff --git a/src/plugins/vis_types/pie/server/index.ts b/src/plugins/vis_types/pie/server/index.ts index 528db1ad401fc..e1b9c6187357d 100644 --- a/src/plugins/vis_types/pie/server/index.ts +++ b/src/plugins/vis_types/pie/server/index.ts @@ -6,12 +6,16 @@ * Side Public License, v 1. */ -import { PluginConfigDescriptor } from '@kbn/core/server'; -import { configSchema, ConfigSchema } from '../config'; +import { PluginConfigDescriptor, PluginInitializerContext } from '@kbn/core/server'; +import { configSchema, PieConfig } from '../config'; import { VisTypePieServerPlugin } from './plugin'; -export const config: PluginConfigDescriptor = { +export const config: PluginConfigDescriptor = { + exposeToBrowser: { + readOnly: true, + }, schema: configSchema, }; -export const plugin = () => new VisTypePieServerPlugin(); +export const plugin = (initializerContext: PluginInitializerContext) => + new VisTypePieServerPlugin(initializerContext); diff --git a/src/plugins/vis_types/pie/server/plugin.ts b/src/plugins/vis_types/pie/server/plugin.ts index 9e172834e8a2a..133220039a73d 100644 --- a/src/plugins/vis_types/pie/server/plugin.ts +++ b/src/plugins/vis_types/pie/server/plugin.ts @@ -6,10 +6,25 @@ * Side Public License, v 1. */ -import { CoreSetup, Plugin } from '@kbn/core/server'; +import { CoreSetup, Plugin, PluginInitializerContext } from '@kbn/core/server'; +import type { VisualizationsServerSetup } from '@kbn/visualizations-plugin/server'; +import type { PieConfig } from '../config'; + +interface PluginSetupDependencies { + visualizations: VisualizationsServerSetup; +} export class VisTypePieServerPlugin implements Plugin { - public setup(core: CoreSetup) { + constructor(private readonly initializerContext: PluginInitializerContext) { + this.initializerContext = initializerContext; + } + + public setup(core: CoreSetup, plugins: PluginSetupDependencies) { + const { readOnly } = this.initializerContext.config.get(); + if (readOnly) { + plugins.visualizations.registerReadOnlyVisType('pie'); + } + return {}; } diff --git a/src/plugins/vis_types/table/config.ts b/src/plugins/vis_types/table/config.ts index b831d26854c30..a4d7bf306f51e 100644 --- a/src/plugins/vis_types/table/config.ts +++ b/src/plugins/vis_types/table/config.ts @@ -10,6 +10,17 @@ import { schema, TypeOf } from '@kbn/config-schema'; export const configSchema = schema.object({ enabled: schema.boolean({ defaultValue: true }), + + readOnly: schema.conditional( + schema.contextRef('serverless'), + true, + schema.maybe(schema.boolean({ defaultValue: false })), + schema.never() + ), }); -export type ConfigSchema = TypeOf; +export type TableConfig = TypeOf; + +export interface TablePublicConfig { + readOnly?: boolean; +} diff --git a/src/plugins/vis_types/table/public/index.ts b/src/plugins/vis_types/table/public/index.ts index 700a794e5a4c7..c8ac2a7db912f 100644 --- a/src/plugins/vis_types/table/public/index.ts +++ b/src/plugins/vis_types/table/public/index.ts @@ -6,8 +6,10 @@ * Side Public License, v 1. */ +import { PluginInitializerContext } from '@kbn/core/public'; +import { TablePublicConfig } from '../config'; import { TableVisPlugin as Plugin } from './plugin'; -export function plugin() { - return new Plugin(); +export function plugin(initializerContext: PluginInitializerContext) { + return new Plugin(initializerContext); } diff --git a/src/plugins/vis_types/table/public/plugin.ts b/src/plugins/vis_types/table/public/plugin.ts index 8e5769e2ef86a..992e10cdd247d 100644 --- a/src/plugins/vis_types/table/public/plugin.ts +++ b/src/plugins/vis_types/table/public/plugin.ts @@ -6,13 +6,13 @@ * Side Public License, v 1. */ -import type { CoreSetup, CoreStart, Plugin } from '@kbn/core/public'; +import type { CoreSetup, CoreStart, Plugin, PluginInitializerContext } from '@kbn/core/public'; import type { Plugin as ExpressionsPublicPlugin } from '@kbn/expressions-plugin/public'; import type { VisualizationsSetup } from '@kbn/visualizations-plugin/public'; import type { UsageCollectionStart } from '@kbn/usage-collection-plugin/public'; import type { FieldFormatsStart } from '@kbn/field-formats-plugin/public'; - import { DataViewsPublicPluginStart } from '@kbn/data-views-plugin/public'; +import { TablePublicConfig } from '../config'; import { setDataViewsStart, setFormatService } from './services'; import { registerTableVis } from './register_vis'; @@ -33,8 +33,15 @@ export interface TablePluginStartDependencies { export class TableVisPlugin implements Plugin { + initializerContext: PluginInitializerContext; + + constructor(initializerContext: PluginInitializerContext) { + this.initializerContext = initializerContext; + } + public setup(core: CoreSetup, deps: TablePluginSetupDependencies) { - registerTableVis(core, deps); + const { readOnly } = this.initializerContext.config.get(); + registerTableVis(core, deps, Boolean(readOnly)); } public start(core: CoreStart, { fieldFormats, dataViews }: TablePluginStartDependencies) { diff --git a/src/plugins/vis_types/table/public/register_vis.ts b/src/plugins/vis_types/table/public/register_vis.ts index 31e9827309a95..f32864dcf0ae1 100644 --- a/src/plugins/vis_types/table/public/register_vis.ts +++ b/src/plugins/vis_types/table/public/register_vis.ts @@ -14,10 +14,15 @@ import { tableVisTypeDefinition } from './table_vis_type'; export const registerTableVis = async ( core: CoreSetup, - { expressions, visualizations }: TablePluginSetupDependencies + { expressions, visualizations }: TablePluginSetupDependencies, + readOnly: boolean ) => { const [coreStart, { usageCollection }] = await core.getStartServices(); expressions.registerFunction(createTableVisFn); expressions.registerRenderer(getTableVisRenderer(coreStart, usageCollection)); - visualizations.createBaseVisualization(tableVisTypeDefinition); + visualizations.createBaseVisualization({ + ...tableVisTypeDefinition, + disableCreate: readOnly, + disableEdit: readOnly, + }); }; diff --git a/src/plugins/vis_types/table/server/index.ts b/src/plugins/vis_types/table/server/index.ts index a7f63648ba422..9c8fa74c1fe6b 100644 --- a/src/plugins/vis_types/table/server/index.ts +++ b/src/plugins/vis_types/table/server/index.ts @@ -6,14 +6,30 @@ * Side Public License, v 1. */ -import { PluginConfigDescriptor } from '@kbn/core/server'; -import { configSchema, ConfigSchema } from '../config'; +import { CoreSetup, PluginConfigDescriptor, PluginInitializerContext } from '@kbn/core/server'; +import type { VisualizationsServerSetup } from '@kbn/visualizations-plugin/server'; +import { configSchema, TableConfig } from '../config'; +import { VIS_TYPE_TABLE } from '../common'; -export const config: PluginConfigDescriptor = { +export const config: PluginConfigDescriptor = { + exposeToBrowser: { + readOnly: true, + }, schema: configSchema, }; -export const plugin = () => ({ - setup() {}, +interface PluginSetupDependencies { + visualizations: VisualizationsServerSetup; +} + +export const plugin = (initializerContext: PluginInitializerContext) => ({ + setup(core: CoreSetup, plugins: PluginSetupDependencies) { + const { readOnly } = initializerContext.config.get(); + if (readOnly) { + plugins.visualizations.registerReadOnlyVisType(VIS_TYPE_TABLE); + } + + return {}; + }, start() {}, }); diff --git a/src/plugins/vis_types/tagcloud/config.ts b/src/plugins/vis_types/tagcloud/config.ts index b831d26854c30..2eba190000aef 100644 --- a/src/plugins/vis_types/tagcloud/config.ts +++ b/src/plugins/vis_types/tagcloud/config.ts @@ -10,6 +10,17 @@ import { schema, TypeOf } from '@kbn/config-schema'; export const configSchema = schema.object({ enabled: schema.boolean({ defaultValue: true }), + + readOnly: schema.conditional( + schema.contextRef('serverless'), + true, + schema.maybe(schema.boolean({ defaultValue: false })), + schema.never() + ), }); -export type ConfigSchema = TypeOf; +export type TagcloudConfig = TypeOf; + +export interface TagcloudPublicConfig { + readOnly?: boolean; +} diff --git a/src/plugins/vis_types/tagcloud/public/index.ts b/src/plugins/vis_types/tagcloud/public/index.ts index 6a471a5813d01..b5d626cce5b0f 100644 --- a/src/plugins/vis_types/tagcloud/public/index.ts +++ b/src/plugins/vis_types/tagcloud/public/index.ts @@ -7,8 +7,9 @@ */ import { PluginInitializerContext } from '@kbn/core/public'; +import { TagcloudPublicConfig } from '../config'; import { TagCloudPlugin as Plugin } from './plugin'; -export function plugin(initializerContext: PluginInitializerContext) { +export function plugin(initializerContext: PluginInitializerContext) { return new Plugin(initializerContext); } diff --git a/src/plugins/vis_types/tagcloud/public/plugin.ts b/src/plugins/vis_types/tagcloud/public/plugin.ts index 8d9dbdedc7fe3..c42a62d162766 100644 --- a/src/plugins/vis_types/tagcloud/public/plugin.ts +++ b/src/plugins/vis_types/tagcloud/public/plugin.ts @@ -11,7 +11,7 @@ import { VisualizationsSetup } from '@kbn/visualizations-plugin/public'; import { ChartsPluginSetup } from '@kbn/charts-plugin/public'; import { getTagCloudVisTypeDefinition } from './tag_cloud_type'; -import { ConfigSchema } from '../config'; +import { TagcloudPublicConfig } from '../config'; /** @internal */ export interface TagCloudPluginSetupDependencies { @@ -26,9 +26,9 @@ export interface TagCloudVisDependencies { /** @internal */ export class TagCloudPlugin implements Plugin { - initializerContext: PluginInitializerContext; + initializerContext: PluginInitializerContext; - constructor(initializerContext: PluginInitializerContext) { + constructor(initializerContext: PluginInitializerContext) { this.initializerContext = initializerContext; } @@ -37,7 +37,12 @@ export class TagCloudPlugin implements Plugin { palettes: charts.palettes, }; - visualizations.createBaseVisualization(getTagCloudVisTypeDefinition(visualizationDependencies)); + const { readOnly } = this.initializerContext.config.get(); + visualizations.createBaseVisualization({ + ...getTagCloudVisTypeDefinition(visualizationDependencies), + disableCreate: Boolean(readOnly), + disableEdit: Boolean(readOnly), + }); } public start(core: CoreStart) {} diff --git a/src/plugins/vis_types/tagcloud/server/index.ts b/src/plugins/vis_types/tagcloud/server/index.ts index db7446c9ef81a..aba626fba32e7 100644 --- a/src/plugins/vis_types/tagcloud/server/index.ts +++ b/src/plugins/vis_types/tagcloud/server/index.ts @@ -6,15 +6,29 @@ * Side Public License, v 1. */ -import { PluginConfigDescriptor } from '@kbn/core/server'; +import { CoreSetup, PluginConfigDescriptor, PluginInitializerContext } from '@kbn/core/server'; +import type { VisualizationsServerSetup } from '@kbn/visualizations-plugin/server'; +import { configSchema, TagcloudConfig } from '../config'; -import { configSchema, ConfigSchema } from '../config'; - -export const config: PluginConfigDescriptor = { +export const config: PluginConfigDescriptor = { + exposeToBrowser: { + readOnly: true, + }, schema: configSchema, }; -export const plugin = () => ({ - setup() {}, +interface PluginSetupDependencies { + visualizations: VisualizationsServerSetup; +} + +export const plugin = (initializerContext: PluginInitializerContext) => ({ + setup(core: CoreSetup, plugins: PluginSetupDependencies) { + const { readOnly } = initializerContext.config.get(); + if (readOnly) { + plugins.visualizations.registerReadOnlyVisType('tagcloud'); + } + + return {}; + }, start() {}, }); diff --git a/src/plugins/vis_types/timelion/common/constants.ts b/src/plugins/vis_types/timelion/common/constants.ts index 4ecdf82e2cf5a..7ccea77fecf90 100644 --- a/src/plugins/vis_types/timelion/common/constants.ts +++ b/src/plugins/vis_types/timelion/common/constants.ts @@ -6,6 +6,8 @@ * Side Public License, v 1. */ +export const TIMELION_VIS_NAME = 'timelion'; + export const UI_SETTINGS = { ES_TIMEFIELD: 'timelion:es.timefield', DEFAULT_INDEX: 'timelion:es.default_index', diff --git a/src/plugins/vis_types/timelion/config.ts b/src/plugins/vis_types/timelion/config.ts index cfd3d13c277e9..620a2913607b7 100644 --- a/src/plugins/vis_types/timelion/config.ts +++ b/src/plugins/vis_types/timelion/config.ts @@ -11,6 +11,17 @@ import { schema, TypeOf } from '@kbn/config-schema'; export const configSchema = schema.object({ graphiteUrls: schema.maybe(schema.arrayOf(schema.string())), enabled: schema.boolean({ defaultValue: true }), + + readOnly: schema.conditional( + schema.contextRef('serverless'), + true, + schema.maybe(schema.boolean({ defaultValue: false })), + schema.never() + ), }); -export type ConfigSchema = TypeOf; +export type TimelionConfig = TypeOf; + +export interface TimelionPublicConfig { + readOnly?: boolean; +} diff --git a/src/plugins/vis_types/timelion/public/components/timelion_expression_input.tsx b/src/plugins/vis_types/timelion/public/components/timelion_expression_input.tsx index 8d1d5285e2989..4dff27a1c061d 100644 --- a/src/plugins/vis_types/timelion/public/components/timelion_expression_input.tsx +++ b/src/plugins/vis_types/timelion/public/components/timelion_expression_input.tsx @@ -86,7 +86,9 @@ function TimelionExpressionInput({ value, setValue }: TimelionExpressionInputPro const abortController = new AbortController(); if (kibana.services.http) { kibana.services.http - .get('../api/timelion/functions', { signal: abortController.signal }) + .get('../internal/timelion/functions', { + signal: abortController.signal, + }) .then((data) => { functionList.current = data; }); diff --git a/src/plugins/vis_types/timelion/public/helpers/timelion_request_handler.ts b/src/plugins/vis_types/timelion/public/helpers/timelion_request_handler.ts index a0885d792ad3f..283998460111f 100644 --- a/src/plugins/vis_types/timelion/public/helpers/timelion_request_handler.ts +++ b/src/plugins/vis_types/timelion/public/helpers/timelion_request_handler.ts @@ -105,7 +105,7 @@ export function getTimelionRequestHandler({ const doSearch = async ( searchOptions: ReturnType ): Promise => { - return await http.post('/api/timelion/run', { + return await http.post('/internal/timelion/run', { body: JSON.stringify({ sheet: [expression], extended: { diff --git a/src/plugins/vis_types/timelion/public/index.ts b/src/plugins/vis_types/timelion/public/index.ts index 21cbd23ef8bb1..a11a20865e80a 100644 --- a/src/plugins/vis_types/timelion/public/index.ts +++ b/src/plugins/vis_types/timelion/public/index.ts @@ -7,9 +7,10 @@ */ import { PluginInitializerContext } from '@kbn/core/public'; +import type { TimelionPublicConfig } from '../config'; import { TimelionVisPlugin as Plugin } from './plugin'; -export function plugin(initializerContext: PluginInitializerContext) { +export function plugin(initializerContext: PluginInitializerContext) { return new Plugin(initializerContext); } diff --git a/src/plugins/vis_types/timelion/public/plugin.ts b/src/plugins/vis_types/timelion/public/plugin.ts index 20d544401bcd5..22d143db1f6e6 100644 --- a/src/plugins/vis_types/timelion/public/plugin.ts +++ b/src/plugins/vis_types/timelion/public/plugin.ts @@ -40,7 +40,7 @@ import { import { getArgValueSuggestions } from './helpers/arg_value_suggestions'; import { getTimelionVisRenderer } from './timelion_vis_renderer'; -import type { ConfigSchema } from '../config'; +import type { TimelionPublicConfig } from '../config'; /** @internal */ export interface TimelionVisDependencies extends Partial { @@ -82,7 +82,7 @@ export class TimelionVisPlugin TimelionVisStartDependencies > { - constructor(public initializerContext: PluginInitializerContext) {} + constructor(public initializerContext: PluginInitializerContext) {} public setup( { uiSettings, http, theme }: CoreSetup, @@ -97,7 +97,12 @@ export class TimelionVisPlugin expressions.registerFunction(() => getTimelionVisualizationConfig(dependencies)); expressions.registerRenderer(getTimelionVisRenderer(dependencies)); - visualizations.createBaseVisualization(getTimelionVisDefinition(dependencies)); + const { readOnly } = this.initializerContext.config.get(); + visualizations.createBaseVisualization({ + ...getTimelionVisDefinition(dependencies), + disableCreate: Boolean(readOnly), + disableEdit: Boolean(readOnly), + }); } public start( diff --git a/src/plugins/vis_types/timelion/public/timelion_vis_fn.ts b/src/plugins/vis_types/timelion/public/timelion_vis_fn.ts index c072f40e42ca9..ee60cdf6d7ccb 100644 --- a/src/plugins/vis_types/timelion/public/timelion_vis_fn.ts +++ b/src/plugins/vis_types/timelion/public/timelion_vis_fn.ts @@ -12,7 +12,7 @@ import { Filter, Query, TimeRange } from '@kbn/es-query'; import { ExpressionFunctionDefinition, Render } from '@kbn/expressions-plugin/public'; import { KibanaContext } from '@kbn/data-plugin/public'; import { TimelionSuccessResponse } from './helpers/timelion_request_handler'; -import { TIMELION_VIS_NAME } from './timelion_vis_type'; +import { TIMELION_VIS_NAME } from '../common/constants'; import { TimelionVisDependencies } from './plugin'; type Input = KibanaContext | null; diff --git a/src/plugins/vis_types/timelion/public/timelion_vis_type.tsx b/src/plugins/vis_types/timelion/public/timelion_vis_type.tsx index 011f6f6aafeee..8c9ff9ecbf3be 100644 --- a/src/plugins/vis_types/timelion/public/timelion_vis_type.tsx +++ b/src/plugins/vis_types/timelion/public/timelion_vis_type.tsx @@ -11,6 +11,7 @@ import { i18n } from '@kbn/i18n'; import { DefaultEditorSize } from '@kbn/vis-default-editor-plugin/public'; import { VIS_EVENT_TO_TRIGGER, VisParams } from '@kbn/visualizations-plugin/public'; +import { TIMELION_VIS_NAME } from '../common/constants'; import { TimelionOptionsProps } from './timelion_options'; import { TimelionVisDependencies } from './plugin'; import { toExpressionAst } from './to_ast'; @@ -20,8 +21,6 @@ import { parseTimelionExpressionAsync } from '../common/parser_async'; const TimelionOptions = lazy(() => import('./timelion_options')); -export const TIMELION_VIS_NAME = 'timelion'; - export function getTimelionVisDefinition(dependencies: TimelionVisDependencies) { // return the visType object, which kibana will use to display and configure new // Vis object of this type. diff --git a/src/plugins/vis_types/timelion/server/index.ts b/src/plugins/vis_types/timelion/server/index.ts index 771ac24120cd7..bdff2a33c3ab2 100644 --- a/src/plugins/vis_types/timelion/server/index.ts +++ b/src/plugins/vis_types/timelion/server/index.ts @@ -7,10 +7,13 @@ */ import { PluginConfigDescriptor, PluginInitializerContext } from '@kbn/core/server'; -import { configSchema, ConfigSchema } from '../config'; +import { configSchema, TimelionConfig } from '../config'; import { TimelionPlugin } from './plugin'; -export const config: PluginConfigDescriptor = { +export const config: PluginConfigDescriptor = { + exposeToBrowser: { + readOnly: true, + }, schema: configSchema, deprecations: ({ unused }) => [unused('graphiteUrls', { level: 'warning' })], }; diff --git a/src/plugins/vis_types/timelion/server/plugin.ts b/src/plugins/vis_types/timelion/server/plugin.ts index f3f9f1c7deadc..5665f80108aa6 100644 --- a/src/plugins/vis_types/timelion/server/plugin.ts +++ b/src/plugins/vis_types/timelion/server/plugin.ts @@ -11,12 +11,19 @@ import { i18n } from '@kbn/i18n'; import type { PluginStart, DataRequestHandlerContext } from '@kbn/data-plugin/server'; import type { PluginStart as DataViewPluginStart } from '@kbn/data-views-plugin/server'; import { CoreSetup, PluginInitializerContext, Plugin } from '@kbn/core/server'; +import type { VisualizationsServerSetup } from '@kbn/visualizations-plugin/server'; +import type { TimelionConfig } from '../config'; +import { TIMELION_VIS_NAME } from '../common/constants'; import loadFunctions from './lib/load_functions'; import { functionsRoute } from './routes/functions'; import { runRoute } from './routes/run'; import { ConfigManager } from './lib/config_manager'; import { getUiSettings } from './ui_settings'; +interface PluginSetupDependencies { + visualizations: VisualizationsServerSetup; +} + export interface TimelionPluginStartDeps { data: PluginStart; dataViews: DataViewPluginStart; @@ -25,10 +32,12 @@ export interface TimelionPluginStartDeps { /** * Represents Timelion Plugin instance that will be managed by the Kibana plugin system. */ -export class TimelionPlugin implements Plugin { +export class TimelionPlugin + implements Plugin +{ constructor(private readonly initializerContext: PluginInitializerContext) {} - public setup(core: CoreSetup): void { + public setup(core: CoreSetup, plugins: PluginSetupDependencies): void { const configManager = new ConfigManager(this.initializerContext.config); const functions = loadFunctions('series_functions'); @@ -62,6 +71,11 @@ export class TimelionPlugin implements Plugin(); + if (readOnly) { + plugins.visualizations.registerReadOnlyVisType(TIMELION_VIS_NAME); + } } public start() { diff --git a/src/plugins/vis_types/timelion/server/routes/functions.ts b/src/plugins/vis_types/timelion/server/routes/functions.ts index 8fadb0d834542..3023508884a1f 100644 --- a/src/plugins/vis_types/timelion/server/routes/functions.ts +++ b/src/plugins/vis_types/timelion/server/routes/functions.ts @@ -13,7 +13,7 @@ import { LoadFunctions } from '../lib/load_functions'; export function functionsRoute(router: IRouter, { functions }: { functions: LoadFunctions }) { router.get( { - path: '/api/timelion/functions', + path: '/internal/timelion/functions', validate: false, }, async (context, request, response) => { diff --git a/src/plugins/vis_types/timelion/server/routes/run.ts b/src/plugins/vis_types/timelion/server/routes/run.ts index e136f1ab5a241..9affe7cc64820 100644 --- a/src/plugins/vis_types/timelion/server/routes/run.ts +++ b/src/plugins/vis_types/timelion/server/routes/run.ts @@ -37,7 +37,7 @@ export function runRoute( ) { router.post( { - path: '/api/timelion/run', + path: '/internal/timelion/run', validate: { body: schema.object({ sheet: schema.arrayOf(schema.string()), diff --git a/src/plugins/vis_types/timeseries/common/constants.ts b/src/plugins/vis_types/timeseries/common/constants.ts index cbaf275cc0092..5e653df857eb9 100644 --- a/src/plugins/vis_types/timeseries/common/constants.ts +++ b/src/plugins/vis_types/timeseries/common/constants.ts @@ -20,3 +20,4 @@ export const ROUTES = { }; export const USE_KIBANA_INDEXES_KEY = 'use_kibana_indexes'; export const TSVB_DEFAULT_COLOR = '#68BC00'; +export const VIS_TYPE = 'metrics'; diff --git a/src/plugins/vis_types/timeseries/config.ts b/src/plugins/vis_types/timeseries/config.ts new file mode 100644 index 0000000000000..7b3dbbb0d6c2d --- /dev/null +++ b/src/plugins/vis_types/timeseries/config.ts @@ -0,0 +1,31 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { schema, TypeOf } from '@kbn/config-schema'; + +export const config = schema.object({ + enabled: schema.boolean({ defaultValue: true }), + + readOnly: schema.conditional( + schema.contextRef('serverless'), + true, + schema.maybe(schema.boolean({ defaultValue: false })), + schema.never() + ), + + /** @deprecated **/ + chartResolution: schema.number({ defaultValue: 150 }), + /** @deprecated **/ + minimumBucketSize: schema.number({ defaultValue: 10 }), +}); + +export type VisTypeTimeseriesConfig = TypeOf; + +export interface VisTypeTimeseriesPublicConfig { + readOnly?: boolean; +} diff --git a/src/plugins/vis_types/timeseries/public/convert_to_lens/lib/convert/formula.test.ts b/src/plugins/vis_types/timeseries/public/convert_to_lens/lib/convert/formula.test.ts index 0c2d06e74ec00..83cfb939e2e28 100644 --- a/src/plugins/vis_types/timeseries/public/convert_to_lens/lib/convert/formula.test.ts +++ b/src/plugins/vis_types/timeseries/public/convert_to_lens/lib/convert/formula.test.ts @@ -297,6 +297,34 @@ describe('convertMathToFormulaColumn', () => { expect(convertMathToFormulaColumn(...input)).toEqual(expect.objectContaining(expected)); } }); + + it.each` + expression | expected + ${'params._interval'} | ${'interval()'} + ${'params._interval + params._interval'} | ${'interval() + interval()'} + ${'params._all'} | ${null} + ${'params._all + params.interval'} | ${null} + ${'params._timestamp'} | ${null} + ${'params._timestamp + params.interval'} | ${null} + ${'params._index'} | ${null} + ${'params._index + params.interval'} | ${null} + `(`handle special params cases: $expression`, ({ expression, expected }) => { + expect( + convertMathToFormulaColumn({ + series, + metrics: [{ ...mathMetric, script: expression }], + dataView, + }) + ).toEqual( + expected + ? expect.objectContaining({ + meta: { metricId: 'some-id-1' }, + operationType: 'formula', + params: { formula: expected }, + }) + : expected + ); + }); }); describe('convertOtherAggsToFormulaColumn', () => { diff --git a/src/plugins/vis_types/timeseries/public/convert_to_lens/lib/convert/formula.ts b/src/plugins/vis_types/timeseries/public/convert_to_lens/lib/convert/formula.ts index eff4cee31438a..7d0da7b613441 100644 --- a/src/plugins/vis_types/timeseries/public/convert_to_lens/lib/convert/formula.ts +++ b/src/plugins/vis_types/timeseries/public/convert_to_lens/lib/convert/formula.ts @@ -141,6 +141,11 @@ export const convertMathToFormulaColumn = ( return null; } + // now replace the _interval with the new interval() formula + if (script.includes('params._interval')) { + script = script.replaceAll('params._interval', 'interval()'); + } + const scripthasNoStaticNumber = isNaN(Number(script)); if (script.includes('params') || !scripthasNoStaticNumber) { return null; diff --git a/src/plugins/vis_types/timeseries/public/index.ts b/src/plugins/vis_types/timeseries/public/index.ts index d0051df4de71e..8574f4922f772 100644 --- a/src/plugins/vis_types/timeseries/public/index.ts +++ b/src/plugins/vis_types/timeseries/public/index.ts @@ -7,8 +7,11 @@ */ import { PluginInitializerContext } from '@kbn/core/public'; +import { VisTypeTimeseriesPublicConfig } from '../config'; import { MetricsPlugin as Plugin } from './plugin'; -export function plugin(initializerContext: PluginInitializerContext) { +export function plugin( + initializerContext: PluginInitializerContext +) { return new Plugin(initializerContext); } diff --git a/src/plugins/vis_types/timeseries/public/metrics_type.ts b/src/plugins/vis_types/timeseries/public/metrics_type.ts index 2390894b5d69d..4409faf7c0827 100644 --- a/src/plugins/vis_types/timeseries/public/metrics_type.ts +++ b/src/plugins/vis_types/timeseries/public/metrics_type.ts @@ -23,7 +23,7 @@ import { extractIndexPatternValues, isStringTypeIndexPattern, } from '../common/index_patterns_utils'; -import { TSVB_DEFAULT_COLOR, UI_SETTINGS } from '../common/constants'; +import { TSVB_DEFAULT_COLOR, UI_SETTINGS, VIS_TYPE } from '../common/constants'; import { toExpressionAst } from './to_ast'; import { getDataViewsStart, getUISettings } from './services'; import type { TimeseriesVisDefaultParams, TimeseriesVisParams } from './types'; @@ -99,7 +99,7 @@ async function getUsedIndexPatterns(params: VisParams): Promise { export const metricsVisDefinition: VisTypeDefinition< TimeseriesVisParams | TimeseriesVisDefaultParams > = { - name: 'metrics', + name: VIS_TYPE, title: i18n.translate('visTypeTimeseries.kbnVisTypes.metricsTitle', { defaultMessage: 'TSVB' }), description: i18n.translate('visTypeTimeseries.kbnVisTypes.metricsDescription', { defaultMessage: 'Perform advanced analysis of your time series data.', diff --git a/src/plugins/vis_types/timeseries/public/plugin.ts b/src/plugins/vis_types/timeseries/public/plugin.ts index 6054a0dcd3d3b..84d71cdfeddfd 100644 --- a/src/plugins/vis_types/timeseries/public/plugin.ts +++ b/src/plugins/vis_types/timeseries/public/plugin.ts @@ -20,6 +20,7 @@ import type { HttpSetup } from '@kbn/core-http-browser'; import type { ThemeServiceStart } from '@kbn/core-theme-browser'; import type { DocLinksStart } from '@kbn/core-doc-links-browser'; import type { IStorageWrapper } from '@kbn/kibana-utils-plugin/public'; +import { VisTypeTimeseriesPublicConfig } from '../config'; import { EditorController, TSVB_EDITOR_NAME } from './application/editor_controller'; @@ -71,13 +72,15 @@ export interface TimeseriesVisDependencies extends Partial { /** @internal */ export class MetricsPlugin implements Plugin { - initializerContext: PluginInitializerContext; + initializerContext: PluginInitializerContext; - constructor(initializerContext: PluginInitializerContext) { + constructor(initializerContext: PluginInitializerContext) { this.initializerContext = initializerContext; } public setup(core: CoreSetup, { expressions, visualizations }: MetricsPluginSetupDependencies) { + const { readOnly } = this.initializerContext.config.get(); + visualizations.visEditorsRegistry.register(TSVB_EDITOR_NAME, EditorController); expressions.registerFunction(createMetricsFn); expressions.registerRenderer( @@ -87,7 +90,11 @@ export class MetricsPlugin implements Plugin { }) ); setUISettings(core.uiSettings); - visualizations.createBaseVisualization(metricsVisDefinition); + visualizations.createBaseVisualization({ + ...metricsVisDefinition, + disableCreate: Boolean(readOnly), + disableEdit: Boolean(readOnly), + }); } public start( diff --git a/src/plugins/vis_types/timeseries/server/config.ts b/src/plugins/vis_types/timeseries/server/config.ts deleted file mode 100644 index 5a44b3639a1f3..0000000000000 --- a/src/plugins/vis_types/timeseries/server/config.ts +++ /dev/null @@ -1,20 +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 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 { schema, TypeOf } from '@kbn/config-schema'; - -export const config = schema.object({ - enabled: schema.boolean({ defaultValue: true }), - - /** @deprecated **/ - chartResolution: schema.number({ defaultValue: 150 }), - /** @deprecated **/ - minimumBucketSize: schema.number({ defaultValue: 10 }), -}); - -export type VisTypeTimeseriesConfig = TypeOf; diff --git a/src/plugins/vis_types/timeseries/server/index.ts b/src/plugins/vis_types/timeseries/server/index.ts index ee274ecd6d859..0faecf4c03adc 100644 --- a/src/plugins/vis_types/timeseries/server/index.ts +++ b/src/plugins/vis_types/timeseries/server/index.ts @@ -7,12 +7,17 @@ */ import { PluginInitializerContext, PluginConfigDescriptor } from '@kbn/core/server'; -import { VisTypeTimeseriesConfig, config as configSchema } from './config'; +import { VisTypeTimeseriesConfig, config as configSchema } from '../config'; import { VisTypeTimeseriesPlugin } from './plugin'; export type { VisTypeTimeseriesSetup } from './plugin'; export const config: PluginConfigDescriptor = { + // exposeToBrowser specifies kibana.yml settings to expose to the browser + // the value `true` in this context signals configuration is exposed to browser + exposeToBrowser: { + readOnly: true, + }, schema: configSchema, }; diff --git a/src/plugins/vis_types/timeseries/server/lib/search_strategies/capabilities/default_search_capabilities.ts b/src/plugins/vis_types/timeseries/server/lib/search_strategies/capabilities/default_search_capabilities.ts index b925a56e7ca72..05d081308df73 100644 --- a/src/plugins/vis_types/timeseries/server/lib/search_strategies/capabilities/default_search_capabilities.ts +++ b/src/plugins/vis_types/timeseries/server/lib/search_strategies/capabilities/default_search_capabilities.ts @@ -30,15 +30,12 @@ export interface SearchCapabilitiesOptions { } const convertAggsToRestriction = (allAvailableAggs: string[]) => - allAvailableAggs.reduce( - (availableAggs, aggType) => ({ - ...availableAggs, - [aggType]: { - '*': true, - }, - }), - {} - ); + allAvailableAggs.reduce((availableAggs, aggType) => { + availableAggs[aggType] = { + '*': true, + }; + return availableAggs; + }, {} as Record); export class DefaultSearchCapabilities { public timezone: SearchCapabilitiesOptions['timezone']; diff --git a/src/plugins/vis_types/timeseries/server/lib/search_strategies/capabilities/rollup_search_capabilities.ts b/src/plugins/vis_types/timeseries/server/lib/search_strategies/capabilities/rollup_search_capabilities.ts index ec393e4ef048a..d51830bf307d3 100644 --- a/src/plugins/vis_types/timeseries/server/lib/search_strategies/capabilities/rollup_search_capabilities.ts +++ b/src/plugins/vis_types/timeseries/server/lib/search_strategies/capabilities/rollup_search_capabilities.ts @@ -54,13 +54,10 @@ export class RollupSearchCapabilities extends DefaultSearchCapabilities { }); const getFields = (fields: { [key: string]: any }) => - Object.keys(fields).reduce( - (acc, item) => ({ - ...acc, - [item]: true, - }), - this.createUiRestriction({}) - ); + Object.keys(fields).reduce((acc, item) => { + acc[item] = true; + return acc; + }, this.createUiRestriction({}) as Record); return Object.keys(this.availableMetrics).reduce( (acc, item) => ({ diff --git a/src/plugins/vis_types/timeseries/server/plugin.ts b/src/plugins/vis_types/timeseries/server/plugin.ts index c7a642a1d404a..194c6388bac80 100644 --- a/src/plugins/vis_types/timeseries/server/plugin.ts +++ b/src/plugins/vis_types/timeseries/server/plugin.ts @@ -24,7 +24,9 @@ import type { DataViewsService } from '@kbn/data-views-plugin/common'; import type { FieldFormatsStart } from '@kbn/field-formats-plugin/server'; import type { PluginStart as DataViewsPublicPluginStart } from '@kbn/data-views-plugin/server'; import type { FieldFormatsRegistry } from '@kbn/field-formats-plugin/common'; -import { VisTypeTimeseriesConfig } from './config'; +import type { VisualizationsServerSetup } from '@kbn/visualizations-plugin/server'; +import { VIS_TYPE } from '../common/constants'; +import { VisTypeTimeseriesConfig } from '../config'; import { getVisData } from './lib/get_vis_data'; import { visDataRoutes } from './routes/vis'; import { fieldsRoutes } from './routes/fields'; @@ -47,6 +49,7 @@ export interface LegacySetup { interface VisTypeTimeseriesPluginSetupDependencies { home?: HomeServerPluginSetup; + visualizations: VisualizationsServerSetup; } interface VisTypeTimeseriesPluginStartDependencies { @@ -126,6 +129,11 @@ export class VisTypeTimeseriesPlugin implements Plugin { visDataRoutes(router, framework); fieldsRoutes(router, framework); + const { readOnly } = this.initializerContext.config.get(); + if (readOnly) { + plugins.visualizations.registerReadOnlyVisType(VIS_TYPE); + } + return { getVisData: async ( requestContext: VisTypeTimeseriesRequestHandlerContext, diff --git a/src/plugins/vis_types/vislib/config.ts b/src/plugins/vis_types/vislib/config.ts new file mode 100644 index 0000000000000..70ae5ccf5fd20 --- /dev/null +++ b/src/plugins/vis_types/vislib/config.ts @@ -0,0 +1,26 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 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 { schema, TypeOf } from '@kbn/config-schema'; + +export const configSchema = schema.object({ + enabled: schema.boolean({ defaultValue: true }), + + readOnly: schema.conditional( + schema.contextRef('serverless'), + true, + schema.maybe(schema.boolean({ defaultValue: false })), + schema.never() + ), +}); + +export type VislibConfig = TypeOf; + +export interface VislibPublicConfig { + readOnly?: boolean; +} diff --git a/src/plugins/vis_types/vislib/public/plugin.ts b/src/plugins/vis_types/vislib/public/plugin.ts index d734bf9b1c501..44d6bf0d6ed02 100644 --- a/src/plugins/vis_types/vislib/public/plugin.ts +++ b/src/plugins/vis_types/vislib/public/plugin.ts @@ -16,6 +16,7 @@ import type { UsageCollectionStart } from '@kbn/usage-collection-plugin/public'; import { LEGACY_HEATMAP_CHARTS_LIBRARY } from '@kbn/vis-type-heatmap-plugin/common'; import { LEGACY_GAUGE_CHARTS_LIBRARY } from '@kbn/vis-type-gauge-plugin/common'; +import { VislibPublicConfig } from '../config'; import { setUsageCollectionStart } from './services'; import { heatmapVisTypeDefinition } from './heatmap'; @@ -52,20 +53,32 @@ export class VisTypeVislibPlugin core: VisTypeVislibCoreSetup, { expressions, visualizations, charts }: VisTypeVislibPluginSetupDependencies ) { - // register vislib XY axis charts - expressions.registerRenderer(getVislibVisRenderer(core, charts)); expressions.registerFunction(createVisTypeVislibVisFn()); + const { readOnly } = this.initializerContext.config.get(); + if (core.uiSettings.get(LEGACY_HEATMAP_CHARTS_LIBRARY)) { // register vislib heatmap chart - visualizations.createBaseVisualization(heatmapVisTypeDefinition); + visualizations.createBaseVisualization({ + ...heatmapVisTypeDefinition, + disableCreate: Boolean(readOnly), + disableEdit: Boolean(readOnly), + }); } if (core.uiSettings.get(LEGACY_GAUGE_CHARTS_LIBRARY)) { // register vislib gauge and goal charts - visualizations.createBaseVisualization(gaugeVisTypeDefinition); - visualizations.createBaseVisualization(goalVisTypeDefinition); + visualizations.createBaseVisualization({ + ...gaugeVisTypeDefinition, + disableCreate: Boolean(readOnly), + disableEdit: Boolean(readOnly), + }); + visualizations.createBaseVisualization({ + ...goalVisTypeDefinition, + disableCreate: Boolean(readOnly), + disableEdit: Boolean(readOnly), + }); } } diff --git a/src/plugins/vis_types/vislib/server/index.ts b/src/plugins/vis_types/vislib/server/index.ts index 02fc8becb1a40..8c46f2810542d 100644 --- a/src/plugins/vis_types/vislib/server/index.ts +++ b/src/plugins/vis_types/vislib/server/index.ts @@ -6,10 +6,15 @@ * Side Public License, v 1. */ -import { schema } from '@kbn/config-schema'; +import { PluginConfigDescriptor } from '@kbn/core/server'; +import { configSchema, VislibConfig } from '../config'; import { VisTypeVislibServerPlugin } from './plugin'; -export const config = { - schema: schema.object({ enabled: schema.boolean({ defaultValue: true }) }), + +export const config: PluginConfigDescriptor = { + exposeToBrowser: { + readOnly: true, + }, + schema: configSchema, }; export const plugin = () => new VisTypeVislibServerPlugin(); diff --git a/src/plugins/vis_types/vislib/tsconfig.json b/src/plugins/vis_types/vislib/tsconfig.json index 3616b2c7cd8ee..ea14ef572a404 100644 --- a/src/plugins/vis_types/vislib/tsconfig.json +++ b/src/plugins/vis_types/vislib/tsconfig.json @@ -7,6 +7,7 @@ "common/**/*", "public/**/*", "server/**/*", + "*.ts", "public/fixtures/dispatch_heatmap_d3.json", "public/fixtures/dispatch_heatmap_config.json", "public/fixtures/dispatch_heatmap_data_point.json", diff --git a/src/plugins/vis_types/xy/config.ts b/src/plugins/vis_types/xy/config.ts index b831d26854c30..51506b7877329 100644 --- a/src/plugins/vis_types/xy/config.ts +++ b/src/plugins/vis_types/xy/config.ts @@ -10,6 +10,17 @@ import { schema, TypeOf } from '@kbn/config-schema'; export const configSchema = schema.object({ enabled: schema.boolean({ defaultValue: true }), + + readOnly: schema.conditional( + schema.contextRef('serverless'), + true, + schema.maybe(schema.boolean({ defaultValue: false })), + schema.never() + ), }); -export type ConfigSchema = TypeOf; +export type XyConfig = TypeOf; + +export interface XyPublicConfig { + readOnly?: boolean; +} diff --git a/src/plugins/vis_types/xy/public/index.ts b/src/plugins/vis_types/xy/public/index.ts index 3700f994cd7d8..b8ec6b68d001f 100644 --- a/src/plugins/vis_types/xy/public/index.ts +++ b/src/plugins/vis_types/xy/public/index.ts @@ -6,7 +6,9 @@ * Side Public License, v 1. */ +import type { PluginInitializerContext } from '@kbn/core/public'; import { VisTypeXyPlugin as Plugin } from './plugin'; +import type { XyPublicConfig } from '../config'; export type { VisTypeXyPluginSetup } from './plugin'; @@ -27,6 +29,6 @@ export { TruncateLabelsOption } from './editor/components/common/truncate_labels export { getPositions } from './editor/positions'; export { getScaleTypes } from './editor/scale_types'; -export function plugin() { - return new Plugin(); +export function plugin(initializerContext: PluginInitializerContext) { + return new Plugin(initializerContext); } diff --git a/src/plugins/vis_types/xy/public/plugin.ts b/src/plugins/vis_types/xy/public/plugin.ts index ad75af4dfffdb..820f2f72f1e62 100644 --- a/src/plugins/vis_types/xy/public/plugin.ts +++ b/src/plugins/vis_types/xy/public/plugin.ts @@ -6,10 +6,11 @@ * Side Public License, v 1. */ -import type { CoreSetup, CoreStart, Plugin } from '@kbn/core/public'; +import type { CoreSetup, CoreStart, Plugin, PluginInitializerContext } from '@kbn/core/public'; import type { VisualizationsSetup } from '@kbn/visualizations-plugin/public'; import type { ChartsPluginSetup } from '@kbn/charts-plugin/public'; import type { DataViewsPublicPluginStart } from '@kbn/data-views-plugin/public'; +import type { XyPublicConfig } from '../config'; import { setUISettings, setPalettesService, setDataViewsStart } from './services'; import { visTypesDefinitions } from './vis_types'; @@ -37,6 +38,12 @@ export class VisTypeXyPlugin implements Plugin { + initializerContext: PluginInitializerContext; + + constructor(initializerContext: PluginInitializerContext) { + this.initializerContext = initializerContext; + } + public setup( core: VisTypeXyCoreSetup, { visualizations, charts }: VisTypeXyPluginSetupDependencies @@ -44,7 +51,14 @@ export class VisTypeXyPlugin setUISettings(core.uiSettings); setPalettesService(charts.palettes); - visTypesDefinitions.forEach(visualizations.createBaseVisualization); + const { readOnly } = this.initializerContext.config.get(); + visTypesDefinitions.forEach((visTypeDefinition) => + visualizations.createBaseVisualization({ + ...visTypeDefinition, + disableCreate: Boolean(readOnly), + disableEdit: Boolean(readOnly), + }) + ); return {}; } diff --git a/src/plugins/vis_types/xy/server/index.ts b/src/plugins/vis_types/xy/server/index.ts index 9ee8a69c9d777..d6b73627dd73a 100644 --- a/src/plugins/vis_types/xy/server/index.ts +++ b/src/plugins/vis_types/xy/server/index.ts @@ -6,12 +6,16 @@ * Side Public License, v 1. */ -import { PluginConfigDescriptor } from '@kbn/core/server'; -import { configSchema, ConfigSchema } from '../config'; +import { PluginConfigDescriptor, PluginInitializerContext } from '@kbn/core/server'; +import { configSchema, XyConfig } from '../config'; import { VisTypeXYServerPlugin } from './plugin'; -export const config: PluginConfigDescriptor = { +export const config: PluginConfigDescriptor = { + exposeToBrowser: { + readOnly: true, + }, schema: configSchema, }; -export const plugin = () => new VisTypeXYServerPlugin(); +export const plugin = (initializerContext: PluginInitializerContext) => + new VisTypeXYServerPlugin(initializerContext); diff --git a/src/plugins/vis_types/xy/server/plugin.ts b/src/plugins/vis_types/xy/server/plugin.ts index 3e739678763ae..b77c02030a8a4 100644 --- a/src/plugins/vis_types/xy/server/plugin.ts +++ b/src/plugins/vis_types/xy/server/plugin.ts @@ -6,10 +6,28 @@ * Side Public License, v 1. */ -import { Plugin } from '@kbn/core/server'; +import { CoreSetup, Plugin, PluginInitializerContext } from '@kbn/core/server'; +import type { VisualizationsServerSetup } from '@kbn/visualizations-plugin/server'; +import type { XyConfig } from '../config'; + +interface PluginSetupDependencies { + visualizations: VisualizationsServerSetup; +} export class VisTypeXYServerPlugin implements Plugin { - public setup() { + constructor(private readonly initializerContext: PluginInitializerContext) { + this.initializerContext = initializerContext; + } + + public setup(core: CoreSetup, plugins: PluginSetupDependencies) { + const { readOnly } = this.initializerContext.config.get(); + if (readOnly) { + plugins.visualizations.registerReadOnlyVisType('area'); + plugins.visualizations.registerReadOnlyVisType('histogram'); + plugins.visualizations.registerReadOnlyVisType('horizontal_bar'); + plugins.visualizations.registerReadOnlyVisType('line'); + } + return {}; } diff --git a/src/plugins/visualizations/common/constants.ts b/src/plugins/visualizations/common/constants.ts index 5fd21e426da8d..f3e2fd30c4288 100644 --- a/src/plugins/visualizations/common/constants.ts +++ b/src/plugins/visualizations/common/constants.ts @@ -8,7 +8,6 @@ import { METRIC_TYPES, BUCKET_TYPES } from '@kbn/data-plugin/common'; -export const VISUALIZE_ENABLE_LABS_SETTING = 'visualize:enableLabs'; export const SAVED_OBJECTS_LIMIT_SETTING = 'savedObjects:listingLimit'; export const SAVED_OBJECTS_PER_PAGE_SETTING = 'savedObjects:perPage'; export const VISUALIZE_EMBEDDABLE_TYPE = 'visualization'; diff --git a/src/plugins/visualizations/kibana.jsonc b/src/plugins/visualizations/kibana.jsonc index 0ac5b0c4882c7..f681595cedd7a 100644 --- a/src/plugins/visualizations/kibana.jsonc +++ b/src/plugins/visualizations/kibana.jsonc @@ -26,6 +26,7 @@ "usageCollection", "savedObjectsFinder", "savedObjectsManagement", + "savedSearch", "contentManagement", ], "optionalPlugins": [ @@ -36,7 +37,6 @@ ], "requiredBundles": [ "kibanaUtils", - "savedSearch", "kibanaReact", "charts" ], diff --git a/src/plugins/visualizations/public/embeddable/create_vis_embeddable_from_object.ts b/src/plugins/visualizations/public/embeddable/create_vis_embeddable_from_object.ts index fdcdc25d21043..03a4be179e7b2 100644 --- a/src/plugins/visualizations/public/embeddable/create_vis_embeddable_from_object.ts +++ b/src/plugins/visualizations/public/embeddable/create_vis_embeddable_from_object.ts @@ -16,11 +16,9 @@ import type { VisualizeByReferenceInput, VisualizeSavedObjectAttributes, } from './visualize_embeddable'; -import { DisabledLabEmbeddable } from './disabled_lab_embeddable'; -import { getUISettings, getHttp, getTimeFilter, getCapabilities } from '../services'; +import { getHttp, getTimeFilter, getCapabilities } from '../services'; import { urlFor } from '../utils/saved_visualize_utils'; import { VisualizeEmbeddableFactoryDeps } from './visualize_embeddable_factory'; -import { VISUALIZE_ENABLE_LABS_SETTING } from '../../common/constants'; import { createVisualizeEmbeddableAsync } from './visualize_embeddable_async'; export const createVisEmbeddableFromObject = @@ -34,18 +32,13 @@ export const createVisEmbeddableFromObject = VisualizeByReferenceInput >, parent?: IContainer - ): Promise => { + ): Promise => { try { const visId = vis.id as string; const editPath = visId ? urlFor(visId) : '#/edit_by_value'; const editUrl = visId ? getHttp().basePath.prepend(`/app/visualize${urlFor(visId)}`) : ''; - const isLabsEnabled = getUISettings().get(VISUALIZE_ENABLE_LABS_SETTING); - - if (!isLabsEnabled && vis.type.stage === 'experimental') { - return new DisabledLabEmbeddable(vis.title, input); - } let indexPatterns: DataView[] = []; diff --git a/src/plugins/visualizations/public/embeddable/disabled_lab_embeddable.tsx b/src/plugins/visualizations/public/embeddable/disabled_lab_embeddable.tsx deleted file mode 100644 index 3cb35f4bf69b0..0000000000000 --- a/src/plugins/visualizations/public/embeddable/disabled_lab_embeddable.tsx +++ /dev/null @@ -1,45 +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 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 ReactDOM from 'react-dom'; -import { KibanaThemeProvider } from '@kbn/kibana-react-plugin/public'; -import { Embeddable, EmbeddableOutput } from '@kbn/embeddable-plugin/public'; - -import { DisabledLabVisualization } from './disabled_lab_visualization'; -import { VisualizeInput } from './visualize_embeddable'; -import { VISUALIZE_EMBEDDABLE_TYPE } from './constants'; -import { getTheme } from '../services'; - -export class DisabledLabEmbeddable extends Embeddable { - private domNode?: HTMLElement; - public readonly type = VISUALIZE_EMBEDDABLE_TYPE; - - constructor(private readonly title: string, initialInput: VisualizeInput) { - super(initialInput, { title }); - } - - public reload() {} - public render(domNode: HTMLElement) { - if (this.title) { - this.domNode = domNode; - ReactDOM.render( - - - , - domNode - ); - } - } - - public destroy() { - if (this.domNode) { - ReactDOM.unmountComponentAtNode(this.domNode); - } - } -} diff --git a/src/plugins/visualizations/public/embeddable/disabled_lab_visualization.tsx b/src/plugins/visualizations/public/embeddable/disabled_lab_visualization.tsx deleted file mode 100644 index 771a28eb429ef..0000000000000 --- a/src/plugins/visualizations/public/embeddable/disabled_lab_visualization.tsx +++ /dev/null @@ -1,47 +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 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 { FormattedMessage, I18nProvider } from '@kbn/i18n-react'; -import { EuiEmptyPrompt, EuiLink } from '@elastic/eui'; -import React from 'react'; -import { getDocLinks } from '../services'; - -export function DisabledLabVisualization({ title }: { title: string }) { - const advancedSettingsLink = getDocLinks().links.management.visualizationSettings; - return ( - - - -

    - } - iconType="beaker" - body={ - - } - actions={ - - - - } - /> - - ); -} diff --git a/src/plugins/visualizations/public/embeddable/index.ts b/src/plugins/visualizations/public/embeddable/index.ts index dc9029f2927b8..03f615d7de2f4 100644 --- a/src/plugins/visualizations/public/embeddable/index.ts +++ b/src/plugins/visualizations/public/embeddable/index.ts @@ -6,7 +6,6 @@ * Side Public License, v 1. */ -export { DisabledLabEmbeddable } from './disabled_lab_embeddable'; export { VisualizeEmbeddableFactory } from './visualize_embeddable_factory'; export { VISUALIZE_EMBEDDABLE_TYPE } from './constants'; export { VIS_EVENT_TO_TRIGGER } from './events'; diff --git a/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx b/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx index a8eaca1552cd0..9d34d2fb26ca6 100644 --- a/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx +++ b/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx @@ -170,10 +170,12 @@ export class VisualizeEmbeddable this.attributeService = attributeService; if (this.attributeService) { + const readOnly = Boolean(vis.type.disableEdit); const isByValue = !this.inputIsRefType(initialInput); - const editable = - capabilities.visualizeSave || - (isByValue && capabilities.dashboardSave && capabilities.visualizeOpen); + const editable = readOnly + ? false + : capabilities.visualizeSave || + (isByValue && capabilities.dashboardSave && capabilities.visualizeOpen); this.updateOutput({ ...this.getOutput(), editable }); } diff --git a/src/plugins/visualizations/public/embeddable/visualize_embeddable_factory.tsx b/src/plugins/visualizations/public/embeddable/visualize_embeddable_factory.tsx index 164cb4b9cf4fa..da71f2fd59854 100644 --- a/src/plugins/visualizations/public/embeddable/visualize_embeddable_factory.tsx +++ b/src/plugins/visualizations/public/embeddable/visualize_embeddable_factory.tsx @@ -28,7 +28,6 @@ import { } from '@kbn/embeddable-plugin/public'; import type { StartServicesGetter } from '@kbn/kibana-utils-plugin/public'; import { checkForDuplicateTitle } from '../utils/saved_objects_utils/check_for_duplicate_title'; -import type { DisabledLabEmbeddable } from './disabled_lab_embeddable'; import type { VisualizeByReferenceInput, VisualizeByValueInput, @@ -40,7 +39,7 @@ import type { import { VISUALIZE_EMBEDDABLE_TYPE } from './constants'; import type { SerializedVis, Vis } from '../vis'; import { createVisAsync } from '../vis_async'; -import { getCapabilities, getTypes, getUISettings } from '../services'; +import { getCapabilities, getTypes } from '../services'; import { showNewVisModal } from '../wizard'; import { convertToSerializedVis, @@ -55,7 +54,6 @@ import { injectControlsReferences, } from '../utils/saved_visualization_references'; import { createVisEmbeddableFromObject } from './create_vis_embeddable_from_object'; -import { VISUALIZE_ENABLE_LABS_SETTING } from '../../common/constants'; import type { VisualizationsStartDeps } from '../plugin'; interface VisualizationAttributes extends SavedObjectAttributes { @@ -76,7 +74,7 @@ export class VisualizeEmbeddableFactory EmbeddableFactoryDefinition< VisualizeInput, VisualizeOutput | EmbeddableOutput, - VisualizeEmbeddable | DisabledLabEmbeddable, + VisualizeEmbeddable, VisualizationAttributes > { @@ -106,13 +104,7 @@ export class VisualizeEmbeddableFactory try { const typeName: string = JSON.parse(savedObject.attributes.visState).type; const visType = getTypes().get(typeName); - if (!visType) { - return false; - } - if (getUISettings().get(VISUALIZE_ENABLE_LABS_SETTING)) { - return true; - } - return visType.stage !== 'experimental'; + return Boolean(visType); } catch { return false; } @@ -158,7 +150,7 @@ export class VisualizeEmbeddableFactory savedObjectId: string, input: Partial & { id: string }, parent?: IContainer - ): Promise { + ): Promise { const startDeps = await this.deps.start(); try { diff --git a/src/plugins/visualizations/public/index.ts b/src/plugins/visualizations/public/index.ts index 1e7f56a665519..e459f02a81ba7 100644 --- a/src/plugins/visualizations/public/index.ts +++ b/src/plugins/visualizations/public/index.ts @@ -46,7 +46,6 @@ export type { VisualizationStage, } from './vis_types/vis_type_alias_registry'; export { - VISUALIZE_ENABLE_LABS_SETTING, SAVED_OBJECTS_LIMIT_SETTING, SAVED_OBJECTS_PER_PAGE_SETTING, LegendSize, diff --git a/src/plugins/visualizations/public/mocks.ts b/src/plugins/visualizations/public/mocks.ts index f34e725044146..4c9ea92d83739 100644 --- a/src/plugins/visualizations/public/mocks.ts +++ b/src/plugins/visualizations/public/mocks.ts @@ -25,6 +25,7 @@ import { screenshotModePluginMock } from '@kbn/screenshot-mode-plugin/public/moc import { fieldFormatsServiceMock } from '@kbn/field-formats-plugin/public/mocks'; import { unifiedSearchPluginMock } from '@kbn/unified-search-plugin/public/mocks'; import { savedObjectsManagementPluginMock } from '@kbn/saved-objects-management-plugin/public/mocks'; +import { savedSearchPluginMock } from '@kbn/saved-search-plugin/public/mocks'; import { ContentManagementPublicStart } from '@kbn/content-management-plugin/public'; import { VisualizationsPlugin } from './plugin'; import { Schemas } from './vis_types'; @@ -33,7 +34,6 @@ import { Schema, VisualizationsSetup, VisualizationsStart } from '.'; const createSetupContract = (): VisualizationsSetup => ({ createBaseVisualization: jest.fn(), registerAlias: jest.fn(), - hideTypes: jest.fn(), visEditorsRegistry: { registerDefault: jest.fn(), register: jest.fn(), get: jest.fn() }, }); @@ -78,6 +78,7 @@ const createInstance = async () => { savedObjectsClient: coreMock.createStart().savedObjects.client, savedObjects: savedObjectsPluginMock.createStartContract(), savedObjectsTaggingOss: savedObjectTaggingOssPluginMock.createStart(), + savedSearch: savedSearchPluginMock.createStartContract(), navigation: navigationPluginMock.createStartContract(), presentationUtil: presentationUtilPluginMock.createStartContract(coreMock.createStart()), urlForwarding: urlForwardingPluginMock.createStartContract(), diff --git a/src/plugins/visualizations/public/plugin.ts b/src/plugins/visualizations/public/plugin.ts index 84305aeb1dfee..4e6d3d429eb1d 100644 --- a/src/plugins/visualizations/public/plugin.ts +++ b/src/plugins/visualizations/public/plugin.ts @@ -58,6 +58,7 @@ import type { HomePublicPluginSetup } from '@kbn/home-plugin/public'; import type { SpacesPluginStart } from '@kbn/spaces-plugin/public'; import type { DataViewEditorStart } from '@kbn/data-view-editor-plugin/public'; import { SavedObjectsManagementPluginStart } from '@kbn/saved-objects-management-plugin/public'; +import type { SavedSearchPublicPluginStart } from '@kbn/saved-search-plugin/public'; import { ContentManagementPublicSetup, ContentManagementPublicStart, @@ -105,6 +106,7 @@ import { setUsageCollection, setSavedObjectsManagement, setContentManagement, + setSavedSearch, } from './services'; import { VisualizeConstants } from '../common/constants'; import { EditInLensAction } from './actions/edit_in_lens_action'; @@ -148,6 +150,7 @@ export interface VisualizationsStartDeps { presentationUtil: PresentationUtilPluginStart; savedObjects: SavedObjectsStart; savedObjectsClient: SavedObjectsClientContract; + savedSearch: SavedSearchPublicPluginStart; spaces?: SpacesPluginStart; savedObjectsTaggingOss?: SavedObjectTaggingOssPluginStart; share?: SharePluginStart; @@ -313,6 +316,7 @@ export class VisualizationsPlugin restorePreviousUrl, setHeaderActionMenu: params.setHeaderActionMenu, savedObjectsTagging: pluginsStart.savedObjectsTaggingOss?.getTaggingApi(), + savedSearch: pluginsStart.savedSearch, presentationUtil: pluginsStart.presentationUtil, getKibanaVersion: () => this.initializerContext.env.packageInfo.version, spaces: pluginsStart.spaces, @@ -401,6 +405,7 @@ export class VisualizationsPlugin usageCollection, savedObjectsManagement, contentManagement, + savedSearch, }: VisualizationsStartDeps ): VisualizationsStart { const types = this.types.start(); @@ -423,6 +428,7 @@ export class VisualizationsPlugin setUsageCollection(usageCollection); setSavedObjectsManagement(savedObjectsManagement); setContentManagement(contentManagement); + setSavedSearch(savedSearch); if (spaces) { setSpaces(spaces); diff --git a/src/plugins/visualizations/public/services.ts b/src/plugins/visualizations/public/services.ts index f4f8dc0dfbe83..fd4817c0031e7 100644 --- a/src/plugins/visualizations/public/services.ts +++ b/src/plugins/visualizations/public/services.ts @@ -29,6 +29,7 @@ import type { SpacesPluginStart } from '@kbn/spaces-plugin/public'; import type { SavedObjectTaggingOssPluginStart } from '@kbn/saved-objects-tagging-oss-plugin/public'; import type { UsageCollectionStart } from '@kbn/usage-collection-plugin/public'; import { SavedObjectsManagementPluginStart } from '@kbn/saved-objects-management-plugin/public'; +import type { SavedSearchPublicPluginStart } from '@kbn/saved-search-plugin/public'; import type { TypesStart } from './vis_types'; export const [getUISettings, setUISettings] = createGetterSetter('UISettings'); @@ -84,3 +85,6 @@ export const [getSavedObjectsManagement, setSavedObjectsManagement] = export const [getContentManagement, setContentManagement] = createGetterSetter('SavedObjectsManagement'); + +export const [getSavedSearch, setSavedSearch] = + createGetterSetter('SavedSearch'); diff --git a/src/plugins/visualizations/public/utils/saved_visualize_utils.test.ts b/src/plugins/visualizations/public/utils/saved_visualize_utils.test.ts index e45bb15f49323..d5b26fe455ac6 100644 --- a/src/plugins/visualizations/public/utils/saved_visualize_utils.test.ts +++ b/src/plugins/visualizations/public/utils/saved_visualize_utils.test.ts @@ -499,6 +499,8 @@ describe('saved_visualize_utils', () => { }, { id: 'wat', + image: undefined, + readOnly: false, references: undefined, icon: undefined, savedObjectType: 'visualization', @@ -506,6 +508,7 @@ describe('saved_visualize_utils', () => { type: 'test', typeName: 'test', typeTitle: undefined, + updatedAt: undefined, title: 'WATEVER', url: '#/edit/wat', }, diff --git a/src/plugins/visualizations/public/utils/saved_visualize_utils.ts b/src/plugins/visualizations/public/utils/saved_visualize_utils.ts index 931d00c5b9d33..9232504e026d3 100644 --- a/src/plugins/visualizations/public/utils/saved_visualize_utils.ts +++ b/src/plugins/visualizations/public/utils/saved_visualize_utils.ts @@ -80,6 +80,7 @@ export function mapHitSource( image?: BaseVisType['image']; typeTitle?: BaseVisType['title']; error?: string; + readOnly?: boolean; } = { id, references, @@ -108,6 +109,7 @@ export function mapHitSource( newAttributes.image = newAttributes.type?.image; newAttributes.typeTitle = newAttributes.type?.title; newAttributes.editUrl = `/edit/${id}`; + newAttributes.readOnly = Boolean(visTypes.get(typeName as string)?.disableEdit); return newAttributes; } diff --git a/src/plugins/visualizations/public/vis.ts b/src/plugins/visualizations/public/vis.ts index 1fbe84eee556c..d1dbe44d52945 100644 --- a/src/plugins/visualizations/public/vis.ts +++ b/src/plugins/visualizations/public/vis.ts @@ -22,21 +22,9 @@ import { i18n } from '@kbn/i18n'; import { IAggConfigs, ISearchSource, AggConfigSerialized } from '@kbn/data-plugin/public'; import { DataView } from '@kbn/data-views-plugin/public'; -import { - getSavedSearch, - SavedSearch, - throwErrorOnSavedSearchUrlConflict, -} from '@kbn/saved-search-plugin/public'; +import { SavedSearch } from '@kbn/saved-search-plugin/public'; import { PersistedState } from './persisted_state'; -import { - getTypes, - getAggs, - getSearch, - getSavedObjects, - getSpaces, - getFieldsFormats, - getSavedObjectTagging, -} from './services'; +import { getTypes, getAggs, getSearch, getFieldsFormats, getSavedSearch } from './services'; import { BaseVisType } from './vis_types'; import { SerializedVis, SerializedVisData, VisParams } from '../common/types'; @@ -55,18 +43,11 @@ const getSearchSource = async (inputSearchSource: ISearchSource, savedSearchId?: let savedSearch: SavedSearch; try { - savedSearch = await getSavedSearch(savedSearchId, { - search: getSearch(), - savedObjectsClient: getSavedObjects().client, - spaces: getSpaces(), - savedObjectsTagging: getSavedObjectTagging()?.getTaggingApi(), - }); + savedSearch = await getSavedSearch().get(savedSearchId); } catch (e) { return inputSearchSource; } - await throwErrorOnSavedSearchUrlConflict(savedSearch); - if (savedSearch?.searchSource) { inputSearchSource.setParent(savedSearch.searchSource); } diff --git a/src/plugins/visualizations/public/vis_types/base_vis_type.ts b/src/plugins/visualizations/public/vis_types/base_vis_type.ts index 4253b134cb748..2625781c26429 100644 --- a/src/plugins/visualizations/public/vis_types/base_vis_type.ts +++ b/src/plugins/visualizations/public/vis_types/base_vis_type.ts @@ -38,7 +38,8 @@ export class BaseVisType { public readonly options: VisTypeOptions; public readonly visConfig; public readonly editorConfig; - public hidden; + public readonly disableCreate; + public readonly disableEdit; public readonly requiresSearch; public readonly suppressWarnings; public readonly hasPartialRows; @@ -74,7 +75,8 @@ export class BaseVisType { this.isDeprecated = opts.isDeprecated ?? false; this.group = opts.group ?? VisGroups.AGGBASED; this.titleInWizard = opts.titleInWizard ?? ''; - this.hidden = opts.hidden ?? false; + this.disableCreate = opts.disableCreate ?? false; + this.disableEdit = opts.disableEdit ?? false; this.requiresSearch = opts.requiresSearch ?? false; this.setup = opts.setup; this.hasPartialRows = opts.hasPartialRows ?? false; diff --git a/src/plugins/visualizations/public/vis_types/types.ts b/src/plugins/visualizations/public/vis_types/types.ts index 5d581a52130a5..90f64276adf76 100644 --- a/src/plugins/visualizations/public/vis_types/types.ts +++ b/src/plugins/visualizations/public/vis_types/types.ts @@ -199,7 +199,10 @@ export interface VisTypeDefinition { readonly updateVisTypeOnParamsChange?: (params: VisParams) => string | undefined; readonly setup?: (vis: Vis) => Promise>; - hidden?: boolean; + + disableCreate?: boolean; + + disableEdit?: boolean; readonly options?: Partial; diff --git a/src/plugins/visualizations/public/vis_types/types_service.ts b/src/plugins/visualizations/public/vis_types/types_service.ts index ae8ba8b8ad518..4b20dcc1569c5 100644 --- a/src/plugins/visualizations/public/vis_types/types_service.ts +++ b/src/plugins/visualizations/public/vis_types/types_service.ts @@ -18,13 +18,8 @@ import { VisGroups } from './vis_groups_enum'; */ export class TypesService { private types: Record> = {}; - private unregisteredHiddenTypes: string[] = []; private registerVisualization(visDefinition: BaseVisType) { - if (this.unregisteredHiddenTypes.includes(visDefinition.name)) { - visDefinition.hidden = true; - } - if (this.types[visDefinition.name]) { throw new Error('type already exists!'); } @@ -47,19 +42,6 @@ export class TypesService { * @param {VisTypeAlias} config - visualization alias definition */ registerAlias: visTypeAliasRegistry.add, - /** - * allows to hide specific visualization types from create visualization dialog - * @param {string[]} typeNames - list of type ids to hide - */ - hideTypes: (typeNames: string[]): void => { - typeNames.forEach((name: string) => { - if (this.types[name]) { - this.types[name].hidden = true; - } else { - this.unregisteredHiddenTypes.push(name); - } - }); - }, }; } diff --git a/src/plugins/visualizations/public/vis_types/vis_type_alias_registry.ts b/src/plugins/visualizations/public/vis_types/vis_type_alias_registry.ts index 83a2560f667af..61e36c931390e 100644 --- a/src/plugins/visualizations/public/vis_types/vis_type_alias_registry.ts +++ b/src/plugins/visualizations/public/vis_types/vis_type_alias_registry.ts @@ -44,7 +44,14 @@ export interface VisTypeAlias { note?: string; getSupportedTriggers?: () => string[]; stage: VisualizationStage; - hidden?: boolean; + /* + * Set to true to hide visualization type in create UIs. + */ + disableCreate?: boolean; + /* + * Set to true to hide edit links for visualization type in UIs. + */ + disableEdit?: boolean; isDeprecated?: boolean; appExtensions?: { diff --git a/src/plugins/visualizations/public/visualize_app/components/visualize_listing.tsx b/src/plugins/visualizations/public/visualize_app/components/visualize_listing.tsx index e02afae7a94d2..8dd9885ef5520 100644 --- a/src/plugins/visualizations/public/visualize_app/components/visualize_listing.tsx +++ b/src/plugins/visualizations/public/visualize_app/components/visualize_listing.tsx @@ -27,11 +27,7 @@ import { updateBasicSoAttributes } from '../../utils/saved_objects_utils/update_ import { checkForDuplicateTitle } from '../../utils/saved_objects_utils/check_for_duplicate_title'; import { showNewVisModal } from '../../wizard'; import { getTypes } from '../../services'; -import { - VISUALIZE_ENABLE_LABS_SETTING, - SAVED_OBJECTS_LIMIT_SETTING, - SAVED_OBJECTS_PER_PAGE_SETTING, -} from '../..'; +import { SAVED_OBJECTS_LIMIT_SETTING, SAVED_OBJECTS_PER_PAGE_SETTING } from '../..'; import type { VisualizationListItem } from '../..'; import type { VisualizeServices } from '../types'; import { VisualizeConstants } from '../../../common/constants'; @@ -46,6 +42,7 @@ interface VisualizeUserContent extends VisualizationListItem, UserContentCommonS description?: string; editApp: string; editUrl: string; + readOnly: boolean; error?: string; }; } @@ -69,6 +66,7 @@ const toTableListViewSavedObject = (savedObject: Record): Visua description: savedObject.description as string, editApp: savedObject.editApp as string, editUrl: savedObject.editUrl as string, + readOnly: savedObject.readOnly as boolean, error: savedObject.error as string, }, }; @@ -164,7 +162,6 @@ export const VisualizeListing = () => { referencesToExclude?: SavedObjectReference[]; } = {} ) => { - const isLabsEnabled = uiSettings.get(VISUALIZE_ENABLE_LABS_SETTING); return findListItems( getTypes(), searchTerm, @@ -172,9 +169,7 @@ export const VisualizeListing = () => { references, referencesToExclude ).then(({ total, hits }: { total: number; hits: Array> }) => { - const content = hits - .filter((result: any) => isLabsEnabled || result.type?.stage !== 'experimental') - .map(toTableListViewSavedObject); + const content = hits.map(toTableListViewSavedObject); visualizedUserContent.current = content; @@ -184,7 +179,7 @@ export const VisualizeListing = () => { }; }); }, - [listingLimit, uiSettings] + [listingLimit] ); const onContentEditorSave = useCallback( @@ -298,6 +293,9 @@ export const VisualizeListing = () => { findItems={fetchItems} deleteItems={visualizeCapabilities.delete ? deleteItems : undefined} editItem={visualizeCapabilities.save ? editItem : undefined} + showEditActionForItem={({ attributes: { readOnly } }) => + visualizeCapabilities.save && !readOnly + } customTableColumn={getCustomColumn()} listingLimit={listingLimit} initialPageSize={initialPageSize} @@ -317,8 +315,10 @@ export const VisualizeListing = () => { tableListTitle={i18n.translate('visualizations.listing.table.listTitle', { defaultMessage: 'Visualize Library', })} - getDetailViewLink={({ attributes: { editApp, editUrl, error } }) => - getVisualizeListItemLink(core.application, kbnUrlStateStorage, editApp, editUrl, error) + getDetailViewLink={({ attributes: { editApp, editUrl, error, readOnly } }) => + readOnly + ? undefined + : getVisualizeListItemLink(core.application, kbnUrlStateStorage, editApp, editUrl, error) } > {dashboardCapabilities.createNew && ( diff --git a/src/plugins/visualizations/public/visualize_app/types.ts b/src/plugins/visualizations/public/visualize_app/types.ts index b1e0b9dfd2abd..c340342dab8f0 100644 --- a/src/plugins/visualizations/public/visualize_app/types.ts +++ b/src/plugins/visualizations/public/visualize_app/types.ts @@ -39,7 +39,7 @@ import type { UrlForwardingStart } from '@kbn/url-forwarding-plugin/public'; import type { PresentationUtilPluginStart } from '@kbn/presentation-util-plugin/public'; import type { SpacesPluginStart } from '@kbn/spaces-plugin/public'; import type { SavedObjectsTaggingApi } from '@kbn/saved-objects-tagging-oss-plugin/public'; -import type { SavedSearch } from '@kbn/saved-search-plugin/public'; +import type { SavedSearch, SavedSearchPublicPluginStart } from '@kbn/saved-search-plugin/public'; import type { Vis, VisualizeEmbeddableContract, @@ -107,6 +107,7 @@ export interface VisualizeServices extends CoreStart { scopedHistory: ScopedHistory; setHeaderActionMenu: AppMountParameters['setHeaderActionMenu']; savedObjectsTagging?: SavedObjectsTaggingApi; + savedSearch: SavedSearchPublicPluginStart; presentationUtil: PresentationUtilPluginStart; getKibanaVersion: () => string; spaces?: SpacesPluginStart; diff --git a/src/plugins/visualizations/public/visualize_app/utils/get_top_nav_config.tsx b/src/plugins/visualizations/public/visualize_app/utils/get_top_nav_config.tsx index 250f6b40c1e52..9bc781f464084 100644 --- a/src/plugins/visualizations/public/visualize_app/utils/get_top_nav_config.tsx +++ b/src/plugins/visualizations/public/visualize_app/utils/get_top_nav_config.tsx @@ -544,6 +544,7 @@ export const getTopNavConfig = ( onTagsSelected={(newSelection) => { selectedTags = newSelection; }} + markOptional /> ); } diff --git a/src/plugins/visualizations/public/visualize_app/utils/get_visualization_instance.test.ts b/src/plugins/visualizations/public/visualize_app/utils/get_visualization_instance.test.ts index d4b7dbd5213e5..fecf7fea7f36c 100644 --- a/src/plugins/visualizations/public/visualize_app/utils/get_visualization_instance.test.ts +++ b/src/plugins/visualizations/public/visualize_app/utils/get_visualization_instance.test.ts @@ -6,7 +6,6 @@ * Side Public License, v 1. */ -import { getSavedSearch } from '@kbn/saved-search-plugin/public'; import type { VisualizeInput, VisSavedObject, Vis, VisParams } from '../..'; import { getVisualizationInstance, @@ -38,15 +37,6 @@ jest.mock('../../vis_async', () => ({ })); const { createVisAsync } = jest.requireMock('../../vis_async'); -jest.mock('@kbn/saved-search-plugin/public', () => ({ - getSavedSearch: jest.fn().mockResolvedValue({ - id: 'savedSearch', - title: 'savedSearchTitle', - searchSource: {}, - }), - throwErrorOnSavedSearchUrlConflict: jest.fn(), -})); - let savedVisMock: VisSavedObject; describe('getVisualizationInstance', () => { @@ -69,6 +59,16 @@ describe('getVisualizationInstance', () => { mockServices.createVisEmbeddableFromObject = jest.fn().mockImplementation(() => ({ getOutput$: jest.fn(() => subj.asObservable()), })); + mockServices.savedSearch = { + get: jest.fn().mockImplementation(() => ({ + id: 'savedSearch', + searchSource: {}, + title: 'savedSearchTitle', + })), + getAll: jest.fn(), + getNew: jest.fn().mockImplementation(() => ({})), + save: jest.fn().mockImplementation(() => ({})), + }; }); test('should create new instances of savedVis, vis and embeddableHandler', async () => { @@ -120,7 +120,6 @@ describe('getVisualizationInstance', () => { visMock.data.savedSearchId = 'saved_search_id'; const { savedSearch } = await getVisualizationInstance(mockServices, 'saved_vis_id'); - expect(getSavedSearch).toHaveBeenCalled(); expect(savedSearch).toMatchInlineSnapshot(` Object { "id": "savedSearch", diff --git a/src/plugins/visualizations/public/visualize_app/utils/get_visualization_instance.ts b/src/plugins/visualizations/public/visualize_app/utils/get_visualization_instance.ts index 2a498a1bd6ab6..5ad857c13c4ea 100644 --- a/src/plugins/visualizations/public/visualize_app/utils/get_visualization_instance.ts +++ b/src/plugins/visualizations/public/visualize_app/utils/get_visualization_instance.ts @@ -9,11 +9,7 @@ import { cloneDeep } from 'lodash'; import type { SerializedSearchSourceFields } from '@kbn/data-plugin/public'; import type { ExpressionValueError } from '@kbn/expressions-plugin/public'; import { SavedFieldNotFound, SavedFieldTypeInvalidForAgg } from '@kbn/kibana-utils-plugin/common'; -import { - getSavedSearch, - SavedSearch, - throwErrorOnSavedSearchUrlConflict, -} from '@kbn/saved-search-plugin/public'; +import { SavedSearch } from '@kbn/saved-search-plugin/public'; import { createVisAsync } from '../../vis_async'; import { convertToSerializedVis, getSavedVisualization } from '../../utils/saved_visualize_utils'; import { @@ -37,26 +33,18 @@ const createVisualizeEmbeddableAndLinkSavedSearch = async ( vis: Vis, visualizeServices: VisualizeServices ) => { - const { data, createVisEmbeddableFromObject, savedObjects, spaces, savedObjectsTagging } = - visualizeServices; + const { data, createVisEmbeddableFromObject, savedSearch: savedSearchApi } = visualizeServices; let savedSearch: SavedSearch | undefined; if (vis.data.savedSearchId) { try { - savedSearch = await getSavedSearch(vis.data.savedSearchId, { - search: data.search, - savedObjectsClient: savedObjects.client, - spaces, - savedObjectsTagging, - }); + savedSearch = vis.data.savedSearchId + ? await savedSearchApi.get(vis.data.savedSearchId) + : await savedSearchApi.getNew(); } catch (e) { // skip this catch block } - - if (savedSearch) { - await throwErrorOnSavedSearchUrlConflict(savedSearch); - } } const embeddableHandler = (await createVisEmbeddableFromObject(vis, { diff --git a/src/plugins/visualizations/public/visualize_app/utils/use/use_saved_vis_instance.ts b/src/plugins/visualizations/public/visualize_app/utils/use/use_saved_vis_instance.ts index f84b7928dda39..dcd53feb5b1e9 100644 --- a/src/plugins/visualizations/public/visualize_app/utils/use/use_saved_vis_instance.ts +++ b/src/plugins/visualizations/public/visualize_app/utils/use/use_saved_vis_instance.ts @@ -83,6 +83,16 @@ export const useSavedVisInstance = ( savedVisInstance = await getVisualizationInstance(services, visualizationIdFromUrl); } + if (savedVisInstance.vis.type.disableEdit) { + throw new Error( + i18n.translate('visualizations.editVisualization.readOnlyErrorMessage', { + defaultMessage: + '{visTypeTitle} visualizations are read only and can not be opened in editor', + values: { visTypeTitle: savedVisInstance.vis.type.title }, + }) + ); + } + if (embeddableInput && embeddableInput.timeRange) { savedVisInstance.panelTimeRange = embeddableInput.timeRange; } diff --git a/src/plugins/visualizations/public/wizard/agg_based_selection/agg_based_selection.tsx b/src/plugins/visualizations/public/wizard/agg_based_selection/agg_based_selection.tsx index d4d2c1505bf8a..f4cdd05978830 100644 --- a/src/plugins/visualizations/public/wizard/agg_based_selection/agg_based_selection.tsx +++ b/src/plugins/visualizations/public/wizard/agg_based_selection/agg_based_selection.tsx @@ -100,7 +100,7 @@ class AggBasedSelection extends React.Component { // Filter out hidden visualizations and visualizations that are only aggregations based - return !type.hidden; + return !type.disableCreate; }); let entries: VisTypeListEntry[]; diff --git a/src/plugins/visualizations/public/wizard/group_selection/group_selection.tsx b/src/plugins/visualizations/public/wizard/group_selection/group_selection.tsx index e0acc20157b44..911a6fcd70fe7 100644 --- a/src/plugins/visualizations/public/wizard/group_selection/group_selection.tsx +++ b/src/plugins/visualizations/public/wizard/group_selection/group_selection.tsx @@ -57,7 +57,9 @@ function GroupSelection(props: GroupSelectionProps) { [ ...props.visTypesRegistry.getAliases(), ...props.visTypesRegistry.getByGroup(VisGroups.PROMOTED), - ], + ].filter((visDefinition) => { + return !visDefinition.disableCreate; + }), ['promotion', 'title'], ['asc', 'asc'] ), @@ -90,7 +92,9 @@ function GroupSelection(props: GroupSelectionProps) {
    - {props.visTypesRegistry.getByGroup(VisGroups.AGGBASED).length > 0 && ( + {props.visTypesRegistry.getByGroup(VisGroups.AGGBASED).filter((visDefinition) => { + return !visDefinition.disableCreate; + }).length > 0 && (