From 8263f853a59340c9838c7900611953057828ef08 Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Mon, 21 Nov 2022 00:56:03 -0500 Subject: [PATCH 01/20] [api-docs] 2022-11-21 Daily api_docs build (#145797) Generated by https://buildkite.com/elastic/kibana-api-docs-daily/builds/163 --- api_docs/actions.mdx | 2 +- api_docs/advanced_settings.mdx | 2 +- api_docs/aiops.mdx | 2 +- api_docs/alerting.mdx | 2 +- api_docs/apm.mdx | 2 +- api_docs/banners.mdx | 2 +- api_docs/bfetch.mdx | 2 +- api_docs/canvas.mdx | 2 +- api_docs/cases.mdx | 2 +- api_docs/charts.mdx | 2 +- api_docs/cloud.mdx | 2 +- api_docs/cloud_chat.mdx | 2 +- api_docs/cloud_experiments.mdx | 2 +- api_docs/cloud_security_posture.mdx | 2 +- api_docs/console.mdx | 2 +- api_docs/controls.mdx | 2 +- api_docs/core.mdx | 2 +- api_docs/custom_integrations.mdx | 2 +- api_docs/dashboard.mdx | 2 +- api_docs/dashboard_enhanced.mdx | 2 +- api_docs/data.mdx | 2 +- api_docs/data_query.mdx | 2 +- api_docs/data_search.mdx | 2 +- api_docs/data_view_editor.mdx | 2 +- api_docs/data_view_field_editor.mdx | 2 +- api_docs/data_view_management.mdx | 2 +- api_docs/data_views.mdx | 2 +- api_docs/data_visualizer.mdx | 2 +- api_docs/deprecations_by_api.mdx | 2 +- api_docs/deprecations_by_plugin.mdx | 2 +- api_docs/deprecations_by_team.mdx | 2 +- api_docs/dev_tools.mdx | 2 +- api_docs/discover.mdx | 2 +- api_docs/discover_enhanced.mdx | 2 +- api_docs/embeddable.mdx | 2 +- api_docs/embeddable_enhanced.mdx | 2 +- api_docs/encrypted_saved_objects.mdx | 2 +- api_docs/enterprise_search.mdx | 2 +- api_docs/es_ui_shared.mdx | 2 +- api_docs/event_annotation.mdx | 2 +- api_docs/event_log.mdx | 2 +- api_docs/expression_error.mdx | 2 +- api_docs/expression_gauge.mdx | 2 +- api_docs/expression_heatmap.mdx | 2 +- api_docs/expression_image.mdx | 2 +- api_docs/expression_legacy_metric_vis.mdx | 2 +- api_docs/expression_metric.mdx | 2 +- api_docs/expression_metric_vis.mdx | 2 +- api_docs/expression_partition_vis.mdx | 2 +- api_docs/expression_repeat_image.mdx | 2 +- api_docs/expression_reveal_image.mdx | 2 +- api_docs/expression_shape.mdx | 2 +- api_docs/expression_tagcloud.mdx | 2 +- api_docs/expression_x_y.mdx | 2 +- api_docs/expressions.mdx | 2 +- api_docs/features.mdx | 2 +- api_docs/field_formats.mdx | 2 +- api_docs/file_upload.mdx | 2 +- api_docs/files.mdx | 2 +- api_docs/files_management.mdx | 2 +- api_docs/fleet.mdx | 2 +- api_docs/global_search.mdx | 2 +- api_docs/guided_onboarding.mdx | 2 +- api_docs/home.mdx | 2 +- api_docs/index_lifecycle_management.mdx | 2 +- api_docs/index_management.mdx | 2 +- api_docs/infra.mdx | 2 +- api_docs/inspector.mdx | 2 +- api_docs/interactive_setup.mdx | 2 +- api_docs/kbn_ace.mdx | 2 +- api_docs/kbn_aiops_components.mdx | 2 +- api_docs/kbn_aiops_utils.mdx | 2 +- api_docs/kbn_alerts.mdx | 2 +- api_docs/kbn_analytics.mdx | 2 +- api_docs/kbn_analytics_client.mdx | 2 +- api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx | 2 +- api_docs/kbn_analytics_shippers_elastic_v3_common.mdx | 2 +- api_docs/kbn_analytics_shippers_elastic_v3_server.mdx | 2 +- api_docs/kbn_analytics_shippers_fullstory.mdx | 2 +- api_docs/kbn_analytics_shippers_gainsight.mdx | 2 +- api_docs/kbn_apm_config_loader.mdx | 2 +- api_docs/kbn_apm_synthtrace.mdx | 2 +- api_docs/kbn_apm_utils.mdx | 2 +- api_docs/kbn_axe_config.mdx | 2 +- api_docs/kbn_cases_components.mdx | 2 +- api_docs/kbn_chart_icons.mdx | 2 +- api_docs/kbn_ci_stats_core.mdx | 2 +- api_docs/kbn_ci_stats_performance_metrics.mdx | 2 +- api_docs/kbn_ci_stats_reporter.mdx | 2 +- api_docs/kbn_cli_dev_mode.mdx | 2 +- api_docs/kbn_coloring.mdx | 2 +- api_docs/kbn_config.mdx | 2 +- api_docs/kbn_config_mocks.mdx | 2 +- api_docs/kbn_config_schema.mdx | 2 +- api_docs/kbn_content_management_inspector.mdx | 2 +- api_docs/kbn_content_management_table_list.mdx | 2 +- api_docs/kbn_core_analytics_browser.mdx | 2 +- api_docs/kbn_core_analytics_browser_internal.mdx | 2 +- api_docs/kbn_core_analytics_browser_mocks.mdx | 2 +- api_docs/kbn_core_analytics_server.mdx | 2 +- api_docs/kbn_core_analytics_server_internal.mdx | 2 +- api_docs/kbn_core_analytics_server_mocks.mdx | 2 +- api_docs/kbn_core_application_browser.mdx | 2 +- api_docs/kbn_core_application_browser_internal.mdx | 2 +- api_docs/kbn_core_application_browser_mocks.mdx | 2 +- api_docs/kbn_core_application_common.mdx | 2 +- api_docs/kbn_core_apps_browser_internal.mdx | 2 +- api_docs/kbn_core_apps_browser_mocks.mdx | 2 +- api_docs/kbn_core_apps_server_internal.mdx | 2 +- api_docs/kbn_core_base_browser_mocks.mdx | 2 +- api_docs/kbn_core_base_common.mdx | 2 +- api_docs/kbn_core_base_server_internal.mdx | 2 +- api_docs/kbn_core_base_server_mocks.mdx | 2 +- api_docs/kbn_core_capabilities_browser_mocks.mdx | 2 +- api_docs/kbn_core_capabilities_common.mdx | 2 +- api_docs/kbn_core_capabilities_server.mdx | 2 +- api_docs/kbn_core_capabilities_server_mocks.mdx | 2 +- api_docs/kbn_core_chrome_browser.mdx | 2 +- api_docs/kbn_core_chrome_browser_mocks.mdx | 2 +- api_docs/kbn_core_config_server_internal.mdx | 2 +- api_docs/kbn_core_deprecations_browser.mdx | 2 +- api_docs/kbn_core_deprecations_browser_internal.mdx | 2 +- api_docs/kbn_core_deprecations_browser_mocks.mdx | 2 +- api_docs/kbn_core_deprecations_common.mdx | 2 +- api_docs/kbn_core_deprecations_server.mdx | 2 +- api_docs/kbn_core_deprecations_server_internal.mdx | 2 +- api_docs/kbn_core_deprecations_server_mocks.mdx | 2 +- api_docs/kbn_core_doc_links_browser.mdx | 2 +- api_docs/kbn_core_doc_links_browser_mocks.mdx | 2 +- api_docs/kbn_core_doc_links_server.mdx | 2 +- api_docs/kbn_core_doc_links_server_mocks.mdx | 2 +- api_docs/kbn_core_elasticsearch_client_server_internal.mdx | 2 +- api_docs/kbn_core_elasticsearch_client_server_mocks.mdx | 2 +- api_docs/kbn_core_elasticsearch_server.mdx | 2 +- api_docs/kbn_core_elasticsearch_server_internal.mdx | 2 +- api_docs/kbn_core_elasticsearch_server_mocks.mdx | 2 +- api_docs/kbn_core_environment_server_internal.mdx | 2 +- api_docs/kbn_core_environment_server_mocks.mdx | 2 +- api_docs/kbn_core_execution_context_browser.mdx | 2 +- api_docs/kbn_core_execution_context_browser_internal.mdx | 2 +- api_docs/kbn_core_execution_context_browser_mocks.mdx | 2 +- api_docs/kbn_core_execution_context_common.mdx | 2 +- api_docs/kbn_core_execution_context_server.mdx | 2 +- api_docs/kbn_core_execution_context_server_internal.mdx | 2 +- api_docs/kbn_core_execution_context_server_mocks.mdx | 2 +- api_docs/kbn_core_fatal_errors_browser.mdx | 2 +- api_docs/kbn_core_fatal_errors_browser_mocks.mdx | 2 +- api_docs/kbn_core_http_browser.mdx | 2 +- api_docs/kbn_core_http_browser_internal.mdx | 2 +- api_docs/kbn_core_http_browser_mocks.mdx | 2 +- api_docs/kbn_core_http_common.mdx | 2 +- api_docs/kbn_core_http_context_server_mocks.mdx | 2 +- api_docs/kbn_core_http_request_handler_context_server.mdx | 2 +- api_docs/kbn_core_http_resources_server.mdx | 2 +- api_docs/kbn_core_http_resources_server_internal.mdx | 2 +- api_docs/kbn_core_http_resources_server_mocks.mdx | 2 +- api_docs/kbn_core_http_router_server_internal.mdx | 2 +- api_docs/kbn_core_http_router_server_mocks.mdx | 2 +- api_docs/kbn_core_http_server.mdx | 2 +- api_docs/kbn_core_http_server_internal.mdx | 2 +- api_docs/kbn_core_http_server_mocks.mdx | 2 +- api_docs/kbn_core_i18n_browser.mdx | 2 +- api_docs/kbn_core_i18n_browser_mocks.mdx | 2 +- api_docs/kbn_core_i18n_server.mdx | 2 +- api_docs/kbn_core_i18n_server_internal.mdx | 2 +- api_docs/kbn_core_i18n_server_mocks.mdx | 2 +- api_docs/kbn_core_injected_metadata_browser.mdx | 2 +- api_docs/kbn_core_injected_metadata_browser_mocks.mdx | 2 +- api_docs/kbn_core_integrations_browser_internal.mdx | 2 +- api_docs/kbn_core_integrations_browser_mocks.mdx | 2 +- api_docs/kbn_core_lifecycle_browser.mdx | 2 +- api_docs/kbn_core_lifecycle_browser_mocks.mdx | 2 +- api_docs/kbn_core_lifecycle_server.mdx | 2 +- api_docs/kbn_core_lifecycle_server_mocks.mdx | 2 +- api_docs/kbn_core_logging_browser_mocks.mdx | 2 +- api_docs/kbn_core_logging_common_internal.mdx | 2 +- api_docs/kbn_core_logging_server.mdx | 2 +- api_docs/kbn_core_logging_server_internal.mdx | 2 +- api_docs/kbn_core_logging_server_mocks.mdx | 2 +- api_docs/kbn_core_metrics_collectors_server_internal.mdx | 2 +- api_docs/kbn_core_metrics_collectors_server_mocks.mdx | 2 +- api_docs/kbn_core_metrics_server.mdx | 2 +- api_docs/kbn_core_metrics_server_internal.mdx | 2 +- api_docs/kbn_core_metrics_server_mocks.mdx | 2 +- api_docs/kbn_core_mount_utils_browser.mdx | 2 +- api_docs/kbn_core_node_server.mdx | 2 +- api_docs/kbn_core_node_server_internal.mdx | 2 +- api_docs/kbn_core_node_server_mocks.mdx | 2 +- api_docs/kbn_core_notifications_browser.mdx | 2 +- api_docs/kbn_core_notifications_browser_internal.mdx | 2 +- api_docs/kbn_core_notifications_browser_mocks.mdx | 2 +- api_docs/kbn_core_overlays_browser.mdx | 2 +- api_docs/kbn_core_overlays_browser_internal.mdx | 2 +- api_docs/kbn_core_overlays_browser_mocks.mdx | 2 +- api_docs/kbn_core_plugins_browser.mdx | 2 +- api_docs/kbn_core_plugins_browser_mocks.mdx | 2 +- api_docs/kbn_core_plugins_server.mdx | 2 +- api_docs/kbn_core_plugins_server_mocks.mdx | 2 +- api_docs/kbn_core_preboot_server.mdx | 2 +- api_docs/kbn_core_preboot_server_mocks.mdx | 2 +- api_docs/kbn_core_rendering_browser_mocks.mdx | 2 +- api_docs/kbn_core_rendering_server_internal.mdx | 2 +- api_docs/kbn_core_rendering_server_mocks.mdx | 2 +- api_docs/kbn_core_root_server_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_api_browser.mdx | 2 +- api_docs/kbn_core_saved_objects_api_server.mdx | 2 +- api_docs/kbn_core_saved_objects_api_server_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_api_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_base_server_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_base_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_browser.mdx | 2 +- api_docs/kbn_core_saved_objects_browser_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_browser_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_common.mdx | 2 +- .../kbn_core_saved_objects_import_export_server_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_migration_server_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_migration_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_server.mdx | 2 +- api_docs/kbn_core_saved_objects_server_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_utils_server.mdx | 2 +- api_docs/kbn_core_status_common.mdx | 2 +- api_docs/kbn_core_status_common_internal.mdx | 2 +- api_docs/kbn_core_status_server.mdx | 2 +- api_docs/kbn_core_status_server_internal.mdx | 2 +- api_docs/kbn_core_status_server_mocks.mdx | 2 +- api_docs/kbn_core_test_helpers_deprecations_getters.mdx | 2 +- api_docs/kbn_core_test_helpers_http_setup_browser.mdx | 2 +- api_docs/kbn_core_test_helpers_so_type_serializer.mdx | 2 +- api_docs/kbn_core_test_helpers_test_utils.mdx | 2 +- api_docs/kbn_core_theme_browser.mdx | 2 +- api_docs/kbn_core_theme_browser_internal.mdx | 2 +- api_docs/kbn_core_theme_browser_mocks.mdx | 2 +- api_docs/kbn_core_ui_settings_browser.mdx | 2 +- api_docs/kbn_core_ui_settings_browser_internal.mdx | 2 +- api_docs/kbn_core_ui_settings_browser_mocks.mdx | 2 +- api_docs/kbn_core_ui_settings_common.mdx | 2 +- api_docs/kbn_core_ui_settings_server.mdx | 2 +- api_docs/kbn_core_ui_settings_server_internal.mdx | 2 +- api_docs/kbn_core_ui_settings_server_mocks.mdx | 2 +- api_docs/kbn_core_usage_data_server.mdx | 2 +- api_docs/kbn_core_usage_data_server_internal.mdx | 2 +- api_docs/kbn_core_usage_data_server_mocks.mdx | 2 +- api_docs/kbn_crypto.mdx | 2 +- api_docs/kbn_crypto_browser.mdx | 2 +- api_docs/kbn_datemath.mdx | 2 +- api_docs/kbn_dev_cli_errors.mdx | 2 +- api_docs/kbn_dev_cli_runner.mdx | 2 +- api_docs/kbn_dev_proc_runner.mdx | 2 +- api_docs/kbn_dev_utils.mdx | 2 +- api_docs/kbn_doc_links.mdx | 2 +- api_docs/kbn_docs_utils.mdx | 2 +- api_docs/kbn_ebt_tools.mdx | 2 +- api_docs/kbn_es.mdx | 2 +- api_docs/kbn_es_archiver.mdx | 2 +- api_docs/kbn_es_errors.mdx | 2 +- api_docs/kbn_es_query.mdx | 2 +- api_docs/kbn_es_types.mdx | 2 +- api_docs/kbn_eslint_plugin_imports.mdx | 2 +- api_docs/kbn_field_types.mdx | 2 +- api_docs/kbn_find_used_node_modules.mdx | 2 +- api_docs/kbn_ftr_common_functional_services.mdx | 2 +- api_docs/kbn_generate.mdx | 2 +- api_docs/kbn_get_repo_files.mdx | 2 +- api_docs/kbn_guided_onboarding.mdx | 2 +- api_docs/kbn_handlebars.mdx | 2 +- api_docs/kbn_hapi_mocks.mdx | 2 +- api_docs/kbn_health_gateway_server.mdx | 2 +- api_docs/kbn_home_sample_data_card.mdx | 2 +- api_docs/kbn_home_sample_data_tab.mdx | 2 +- api_docs/kbn_i18n.mdx | 2 +- api_docs/kbn_i18n_react.mdx | 2 +- api_docs/kbn_import_resolver.mdx | 2 +- api_docs/kbn_interpreter.mdx | 2 +- api_docs/kbn_io_ts_utils.mdx | 2 +- api_docs/kbn_jest_serializers.mdx | 2 +- api_docs/kbn_journeys.mdx | 2 +- api_docs/kbn_kibana_manifest_schema.mdx | 2 +- api_docs/kbn_language_documentation_popover.mdx | 2 +- api_docs/kbn_logging.mdx | 2 +- api_docs/kbn_logging_mocks.mdx | 2 +- api_docs/kbn_managed_vscode_config.mdx | 2 +- api_docs/kbn_mapbox_gl.mdx | 2 +- api_docs/kbn_ml_agg_utils.mdx | 2 +- api_docs/kbn_ml_is_populated_object.mdx | 2 +- api_docs/kbn_ml_string_hash.mdx | 2 +- api_docs/kbn_monaco.mdx | 2 +- api_docs/kbn_optimizer.mdx | 2 +- api_docs/kbn_optimizer_webpack_helpers.mdx | 2 +- api_docs/kbn_osquery_io_ts_types.mdx | 2 +- api_docs/kbn_performance_testing_dataset_extractor.mdx | 2 +- api_docs/kbn_plugin_generator.mdx | 2 +- api_docs/kbn_plugin_helpers.mdx | 2 +- api_docs/kbn_react_field.mdx | 2 +- api_docs/kbn_repo_source_classifier.mdx | 2 +- api_docs/kbn_rule_data_utils.mdx | 2 +- api_docs/kbn_securitysolution_autocomplete.mdx | 2 +- api_docs/kbn_securitysolution_es_utils.mdx | 2 +- api_docs/kbn_securitysolution_exception_list_components.mdx | 2 +- api_docs/kbn_securitysolution_hook_utils.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_alerting_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_list_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_utils.mdx | 2 +- api_docs/kbn_securitysolution_list_api.mdx | 2 +- api_docs/kbn_securitysolution_list_constants.mdx | 2 +- api_docs/kbn_securitysolution_list_hooks.mdx | 2 +- api_docs/kbn_securitysolution_list_utils.mdx | 2 +- api_docs/kbn_securitysolution_rules.mdx | 2 +- api_docs/kbn_securitysolution_t_grid.mdx | 2 +- api_docs/kbn_securitysolution_utils.mdx | 2 +- api_docs/kbn_server_http_tools.mdx | 2 +- api_docs/kbn_server_route_repository.mdx | 2 +- api_docs/kbn_shared_svg.mdx | 2 +- api_docs/kbn_shared_ux_avatar_solution.mdx | 2 +- api_docs/kbn_shared_ux_avatar_user_profile_components.mdx | 2 +- api_docs/kbn_shared_ux_button_exit_full_screen.mdx | 2 +- api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx | 2 +- api_docs/kbn_shared_ux_button_toolbar.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_link_redirect_app.mdx | 2 +- api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx | 2 +- api_docs/kbn_shared_ux_markdown.mdx | 2 +- api_docs/kbn_shared_ux_markdown_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_analytics_no_data.mdx | 2 +- api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_kibana_no_data.mdx | 2 +- api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_kibana_template.mdx | 2 +- api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data_config.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_solution_nav.mdx | 2 +- api_docs/kbn_shared_ux_prompt_no_data_views.mdx | 2 +- api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx | 2 +- api_docs/kbn_shared_ux_router.mdx | 2 +- api_docs/kbn_shared_ux_router_mocks.mdx | 2 +- api_docs/kbn_shared_ux_storybook_config.mdx | 2 +- api_docs/kbn_shared_ux_storybook_mock.mdx | 2 +- api_docs/kbn_shared_ux_utility.mdx | 2 +- api_docs/kbn_some_dev_log.mdx | 2 +- api_docs/kbn_sort_package_json.mdx | 2 +- api_docs/kbn_std.mdx | 2 +- api_docs/kbn_stdio_dev_helpers.mdx | 2 +- api_docs/kbn_storybook.mdx | 2 +- api_docs/kbn_telemetry_tools.mdx | 2 +- api_docs/kbn_test.mdx | 2 +- api_docs/kbn_test_jest_helpers.mdx | 2 +- api_docs/kbn_test_subj_selector.mdx | 2 +- api_docs/kbn_tooling_log.mdx | 2 +- api_docs/kbn_type_summarizer.mdx | 2 +- api_docs/kbn_type_summarizer_core.mdx | 2 +- api_docs/kbn_typed_react_router_config.mdx | 2 +- api_docs/kbn_ui_shared_deps_src.mdx | 2 +- api_docs/kbn_ui_theme.mdx | 2 +- api_docs/kbn_user_profile_components.mdx | 2 +- api_docs/kbn_utility_types.mdx | 2 +- api_docs/kbn_utility_types_jest.mdx | 2 +- api_docs/kbn_utils.mdx | 2 +- api_docs/kbn_yarn_lock_validator.mdx | 2 +- api_docs/kibana_overview.mdx | 2 +- api_docs/kibana_react.mdx | 2 +- api_docs/kibana_utils.mdx | 2 +- api_docs/kubernetes_security.mdx | 2 +- api_docs/lens.mdx | 2 +- api_docs/license_api_guard.mdx | 2 +- api_docs/license_management.mdx | 2 +- api_docs/licensing.mdx | 2 +- api_docs/lists.mdx | 2 +- api_docs/management.mdx | 2 +- api_docs/maps.mdx | 2 +- api_docs/maps_ems.mdx | 2 +- api_docs/ml.mdx | 2 +- api_docs/monitoring.mdx | 2 +- api_docs/monitoring_collection.mdx | 2 +- api_docs/navigation.mdx | 2 +- api_docs/newsfeed.mdx | 2 +- api_docs/notifications.mdx | 2 +- api_docs/observability.mdx | 2 +- api_docs/osquery.mdx | 2 +- api_docs/plugin_directory.mdx | 2 +- api_docs/presentation_util.mdx | 2 +- api_docs/profiling.mdx | 2 +- api_docs/remote_clusters.mdx | 2 +- api_docs/reporting.mdx | 2 +- api_docs/rollup.mdx | 2 +- api_docs/rule_registry.mdx | 2 +- api_docs/runtime_fields.mdx | 2 +- api_docs/saved_objects.mdx | 2 +- api_docs/saved_objects_finder.mdx | 2 +- api_docs/saved_objects_management.mdx | 2 +- api_docs/saved_objects_tagging.mdx | 2 +- api_docs/saved_objects_tagging_oss.mdx | 2 +- api_docs/saved_search.mdx | 2 +- api_docs/screenshot_mode.mdx | 2 +- api_docs/screenshotting.mdx | 2 +- api_docs/security.mdx | 2 +- api_docs/security_solution.mdx | 2 +- api_docs/session_view.mdx | 2 +- api_docs/share.mdx | 2 +- api_docs/snapshot_restore.mdx | 2 +- api_docs/spaces.mdx | 2 +- api_docs/stack_alerts.mdx | 2 +- api_docs/stack_connectors.mdx | 2 +- api_docs/task_manager.mdx | 2 +- api_docs/telemetry.mdx | 2 +- api_docs/telemetry_collection_manager.mdx | 2 +- api_docs/telemetry_collection_xpack.mdx | 2 +- api_docs/telemetry_management_section.mdx | 2 +- api_docs/threat_intelligence.mdx | 2 +- api_docs/timelines.mdx | 2 +- api_docs/transform.mdx | 2 +- api_docs/triggers_actions_ui.mdx | 2 +- api_docs/ui_actions.mdx | 2 +- api_docs/ui_actions_enhanced.mdx | 2 +- api_docs/unified_field_list.mdx | 2 +- api_docs/unified_histogram.mdx | 2 +- api_docs/unified_search.mdx | 2 +- api_docs/unified_search_autocomplete.mdx | 2 +- api_docs/url_forwarding.mdx | 2 +- api_docs/usage_collection.mdx | 2 +- api_docs/ux.mdx | 2 +- api_docs/vis_default_editor.mdx | 2 +- api_docs/vis_type_gauge.mdx | 2 +- api_docs/vis_type_heatmap.mdx | 2 +- api_docs/vis_type_pie.mdx | 2 +- api_docs/vis_type_table.mdx | 2 +- api_docs/vis_type_timelion.mdx | 2 +- api_docs/vis_type_timeseries.mdx | 2 +- api_docs/vis_type_vega.mdx | 2 +- api_docs/vis_type_vislib.mdx | 2 +- api_docs/vis_type_xy.mdx | 2 +- api_docs/visualizations.mdx | 2 +- 437 files changed, 437 insertions(+), 437 deletions(-) diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx index c3d4968904846..9ed6b213e1a31 100644 --- a/api_docs/actions.mdx +++ b/api_docs/actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/actions title: "actions" image: https://source.unsplash.com/400x175/?github description: API docs for the actions plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'actions'] --- import actionsObj from './actions.devdocs.json'; diff --git a/api_docs/advanced_settings.mdx b/api_docs/advanced_settings.mdx index 84714e7bc10c0..3e363f8b04ede 100644 --- a/api_docs/advanced_settings.mdx +++ b/api_docs/advanced_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/advancedSettings title: "advancedSettings" image: https://source.unsplash.com/400x175/?github description: API docs for the advancedSettings plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'advancedSettings'] --- import advancedSettingsObj from './advanced_settings.devdocs.json'; diff --git a/api_docs/aiops.mdx b/api_docs/aiops.mdx index 0b0d8ab4faa8c..708da2e8da6d9 100644 --- a/api_docs/aiops.mdx +++ b/api_docs/aiops.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiops title: "aiops" image: https://source.unsplash.com/400x175/?github description: API docs for the aiops plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiops'] --- import aiopsObj from './aiops.devdocs.json'; diff --git a/api_docs/alerting.mdx b/api_docs/alerting.mdx index 3dcc7c0042567..212ddb8465ee5 100644 --- a/api_docs/alerting.mdx +++ b/api_docs/alerting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/alerting title: "alerting" image: https://source.unsplash.com/400x175/?github description: API docs for the alerting plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'alerting'] --- import alertingObj from './alerting.devdocs.json'; diff --git a/api_docs/apm.mdx b/api_docs/apm.mdx index 1c3029eadef8f..8081434b322dc 100644 --- a/api_docs/apm.mdx +++ b/api_docs/apm.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apm title: "apm" image: https://source.unsplash.com/400x175/?github description: API docs for the apm plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apm'] --- import apmObj from './apm.devdocs.json'; diff --git a/api_docs/banners.mdx b/api_docs/banners.mdx index b854736c607cf..2d7e7fb45e4a0 100644 --- a/api_docs/banners.mdx +++ b/api_docs/banners.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/banners title: "banners" image: https://source.unsplash.com/400x175/?github description: API docs for the banners plugin -date: 2022-11-20 +date: 2022-11-21 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 f2e7232cad922..3b15fe9011939 100644 --- a/api_docs/bfetch.mdx +++ b/api_docs/bfetch.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/bfetch title: "bfetch" image: https://source.unsplash.com/400x175/?github description: API docs for the bfetch plugin -date: 2022-11-20 +date: 2022-11-21 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 5e83a52a113a1..00aa21bfc02dd 100644 --- a/api_docs/canvas.mdx +++ b/api_docs/canvas.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/canvas title: "canvas" image: https://source.unsplash.com/400x175/?github description: API docs for the canvas plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'canvas'] --- import canvasObj from './canvas.devdocs.json'; diff --git a/api_docs/cases.mdx b/api_docs/cases.mdx index 84ae5cae4f91a..5075366f1d4ae 100644 --- a/api_docs/cases.mdx +++ b/api_docs/cases.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cases title: "cases" image: https://source.unsplash.com/400x175/?github description: API docs for the cases plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cases'] --- import casesObj from './cases.devdocs.json'; diff --git a/api_docs/charts.mdx b/api_docs/charts.mdx index 1d0d98072bd62..b2ada08835e9f 100644 --- a/api_docs/charts.mdx +++ b/api_docs/charts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/charts title: "charts" image: https://source.unsplash.com/400x175/?github description: API docs for the charts plugin -date: 2022-11-20 +date: 2022-11-21 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 f42eb2e192cab..f02f76dba0b06 100644 --- a/api_docs/cloud.mdx +++ b/api_docs/cloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloud title: "cloud" image: https://source.unsplash.com/400x175/?github description: API docs for the cloud plugin -date: 2022-11-20 +date: 2022-11-21 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 b2f91e78fc491..b04e7dd2bfbae 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: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChat'] --- import cloudChatObj from './cloud_chat.devdocs.json'; diff --git a/api_docs/cloud_experiments.mdx b/api_docs/cloud_experiments.mdx index 75098b1cbd546..3f482e17b93a7 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: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudExperiments'] --- import cloudExperimentsObj from './cloud_experiments.devdocs.json'; diff --git a/api_docs/cloud_security_posture.mdx b/api_docs/cloud_security_posture.mdx index c089d7a027557..fdfb4370fc00d 100644 --- a/api_docs/cloud_security_posture.mdx +++ b/api_docs/cloud_security_posture.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudSecurityPosture title: "cloudSecurityPosture" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudSecurityPosture plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudSecurityPosture'] --- import cloudSecurityPostureObj from './cloud_security_posture.devdocs.json'; diff --git a/api_docs/console.mdx b/api_docs/console.mdx index f619157b06c16..e312482573452 100644 --- a/api_docs/console.mdx +++ b/api_docs/console.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/console title: "console" image: https://source.unsplash.com/400x175/?github description: API docs for the console plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'console'] --- import consoleObj from './console.devdocs.json'; diff --git a/api_docs/controls.mdx b/api_docs/controls.mdx index ec91c8963f3e2..e8178bccc5d3b 100644 --- a/api_docs/controls.mdx +++ b/api_docs/controls.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/controls title: "controls" image: https://source.unsplash.com/400x175/?github description: API docs for the controls plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'controls'] --- import controlsObj from './controls.devdocs.json'; diff --git a/api_docs/core.mdx b/api_docs/core.mdx index 65d76d8f7fa86..1ae304e45c901 100644 --- a/api_docs/core.mdx +++ b/api_docs/core.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/core title: "core" image: https://source.unsplash.com/400x175/?github description: API docs for the core plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'core'] --- import coreObj from './core.devdocs.json'; diff --git a/api_docs/custom_integrations.mdx b/api_docs/custom_integrations.mdx index 15aeabbdf8d7b..a2b406ab38dac 100644 --- a/api_docs/custom_integrations.mdx +++ b/api_docs/custom_integrations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/customIntegrations title: "customIntegrations" image: https://source.unsplash.com/400x175/?github description: API docs for the customIntegrations plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'customIntegrations'] --- import customIntegrationsObj from './custom_integrations.devdocs.json'; diff --git a/api_docs/dashboard.mdx b/api_docs/dashboard.mdx index b0a9db71432fb..bc1e7d92d640c 100644 --- a/api_docs/dashboard.mdx +++ b/api_docs/dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboard title: "dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboard plugin -date: 2022-11-20 +date: 2022-11-21 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 e6a26787d648b..294715ebfd44f 100644 --- a/api_docs/dashboard_enhanced.mdx +++ b/api_docs/dashboard_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboardEnhanced title: "dashboardEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboardEnhanced plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboardEnhanced'] --- import dashboardEnhancedObj from './dashboard_enhanced.devdocs.json'; diff --git a/api_docs/data.mdx b/api_docs/data.mdx index 975c54cab1996..20712dbd0b88f 100644 --- a/api_docs/data.mdx +++ b/api_docs/data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data title: "data" image: https://source.unsplash.com/400x175/?github description: API docs for the data plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data'] --- import dataObj from './data.devdocs.json'; diff --git a/api_docs/data_query.mdx b/api_docs/data_query.mdx index 7a45c7a880961..037b9be620893 100644 --- a/api_docs/data_query.mdx +++ b/api_docs/data_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-query title: "data.query" image: https://source.unsplash.com/400x175/?github description: API docs for the data.query plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.query'] --- import dataQueryObj from './data_query.devdocs.json'; diff --git a/api_docs/data_search.mdx b/api_docs/data_search.mdx index 92a56c50f6b4c..c5ec63bc7b3a9 100644 --- a/api_docs/data_search.mdx +++ b/api_docs/data_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-search title: "data.search" image: https://source.unsplash.com/400x175/?github description: API docs for the data.search plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.search'] --- import dataSearchObj from './data_search.devdocs.json'; diff --git a/api_docs/data_view_editor.mdx b/api_docs/data_view_editor.mdx index 4f00f14fe15f6..8052ee965a58a 100644 --- a/api_docs/data_view_editor.mdx +++ b/api_docs/data_view_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewEditor title: "dataViewEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewEditor plugin -date: 2022-11-20 +date: 2022-11-21 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 aa8a51d5c80e6..ba0d50b120def 100644 --- a/api_docs/data_view_field_editor.mdx +++ b/api_docs/data_view_field_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewFieldEditor title: "dataViewFieldEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewFieldEditor plugin -date: 2022-11-20 +date: 2022-11-21 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 778b7d8c3918b..651178d57a19c 100644 --- a/api_docs/data_view_management.mdx +++ b/api_docs/data_view_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewManagement title: "dataViewManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewManagement plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewManagement'] --- import dataViewManagementObj from './data_view_management.devdocs.json'; diff --git a/api_docs/data_views.mdx b/api_docs/data_views.mdx index f33473d987061..7e6775fb977dc 100644 --- a/api_docs/data_views.mdx +++ b/api_docs/data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViews title: "dataViews" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViews plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViews'] --- import dataViewsObj from './data_views.devdocs.json'; diff --git a/api_docs/data_visualizer.mdx b/api_docs/data_visualizer.mdx index dd6f7fa44d456..6e869ed61832b 100644 --- a/api_docs/data_visualizer.mdx +++ b/api_docs/data_visualizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataVisualizer title: "dataVisualizer" image: https://source.unsplash.com/400x175/?github description: API docs for the dataVisualizer plugin -date: 2022-11-20 +date: 2022-11-21 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 0377fcf9acfbc..41551a6cd75ab 100644 --- a/api_docs/deprecations_by_api.mdx +++ b/api_docs/deprecations_by_api.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByApi slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-api title: Deprecated API usage by API description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index b801025b89cdb..12d85f1e4f07e 100644 --- a/api_docs/deprecations_by_plugin.mdx +++ b/api_docs/deprecations_by_plugin.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByPlugin slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-plugin title: Deprecated API usage by plugin description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx index 73715d78d3b5e..070d1dfac6294 100644 --- a/api_docs/deprecations_by_team.mdx +++ b/api_docs/deprecations_by_team.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsDueByTeam slug: /kibana-dev-docs/api-meta/deprecations-due-by-team title: Deprecated APIs due to be removed, by team description: Lists the teams that are referencing deprecated APIs with a remove by date. -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx index c7c6620fe1009..e341c2a68e824 100644 --- a/api_docs/dev_tools.mdx +++ b/api_docs/dev_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/devTools title: "devTools" image: https://source.unsplash.com/400x175/?github description: API docs for the devTools plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'devTools'] --- import devToolsObj from './dev_tools.devdocs.json'; diff --git a/api_docs/discover.mdx b/api_docs/discover.mdx index 170429c0fe404..7b095279ac53d 100644 --- a/api_docs/discover.mdx +++ b/api_docs/discover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discover title: "discover" image: https://source.unsplash.com/400x175/?github description: API docs for the discover plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discover'] --- import discoverObj from './discover.devdocs.json'; diff --git a/api_docs/discover_enhanced.mdx b/api_docs/discover_enhanced.mdx index 4654e5322af2d..ca40e80627257 100644 --- a/api_docs/discover_enhanced.mdx +++ b/api_docs/discover_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discoverEnhanced title: "discoverEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the discoverEnhanced plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discoverEnhanced'] --- import discoverEnhancedObj from './discover_enhanced.devdocs.json'; diff --git a/api_docs/embeddable.mdx b/api_docs/embeddable.mdx index 9b480e8aed36c..8c9016995d951 100644 --- a/api_docs/embeddable.mdx +++ b/api_docs/embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddable title: "embeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddable plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'embeddable'] --- import embeddableObj from './embeddable.devdocs.json'; diff --git a/api_docs/embeddable_enhanced.mdx b/api_docs/embeddable_enhanced.mdx index 0ed81970620ea..79272dbfb80f4 100644 --- a/api_docs/embeddable_enhanced.mdx +++ b/api_docs/embeddable_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddableEnhanced title: "embeddableEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddableEnhanced plugin -date: 2022-11-20 +date: 2022-11-21 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 848df16c7748e..d987f416c0488 100644 --- a/api_docs/encrypted_saved_objects.mdx +++ b/api_docs/encrypted_saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/encryptedSavedObjects title: "encryptedSavedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the encryptedSavedObjects plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'encryptedSavedObjects'] --- import encryptedSavedObjectsObj from './encrypted_saved_objects.devdocs.json'; diff --git a/api_docs/enterprise_search.mdx b/api_docs/enterprise_search.mdx index b19511c2a923a..5e3511e0f9bf5 100644 --- a/api_docs/enterprise_search.mdx +++ b/api_docs/enterprise_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/enterpriseSearch title: "enterpriseSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the enterpriseSearch plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'enterpriseSearch'] --- import enterpriseSearchObj from './enterprise_search.devdocs.json'; diff --git a/api_docs/es_ui_shared.mdx b/api_docs/es_ui_shared.mdx index b6fcc5ba0f932..8f3b8c7143609 100644 --- a/api_docs/es_ui_shared.mdx +++ b/api_docs/es_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/esUiShared title: "esUiShared" image: https://source.unsplash.com/400x175/?github description: API docs for the esUiShared plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'esUiShared'] --- import esUiSharedObj from './es_ui_shared.devdocs.json'; diff --git a/api_docs/event_annotation.mdx b/api_docs/event_annotation.mdx index 74230f9e53408..ec76fb35f8884 100644 --- a/api_docs/event_annotation.mdx +++ b/api_docs/event_annotation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotation title: "eventAnnotation" image: https://source.unsplash.com/400x175/?github description: API docs for the eventAnnotation plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotation'] --- import eventAnnotationObj from './event_annotation.devdocs.json'; diff --git a/api_docs/event_log.mdx b/api_docs/event_log.mdx index 478f6a78eb8ef..1f58efb3f1165 100644 --- a/api_docs/event_log.mdx +++ b/api_docs/event_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventLog title: "eventLog" image: https://source.unsplash.com/400x175/?github description: API docs for the eventLog plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventLog'] --- import eventLogObj from './event_log.devdocs.json'; diff --git a/api_docs/expression_error.mdx b/api_docs/expression_error.mdx index abf89bf722144..0acbbbba6eb7c 100644 --- a/api_docs/expression_error.mdx +++ b/api_docs/expression_error.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionError title: "expressionError" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionError plugin -date: 2022-11-20 +date: 2022-11-21 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 076955c89e91d..a1c772ceed404 100644 --- a/api_docs/expression_gauge.mdx +++ b/api_docs/expression_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionGauge title: "expressionGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionGauge plugin -date: 2022-11-20 +date: 2022-11-21 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 b2a22ef62328c..a10366cf1dc59 100644 --- a/api_docs/expression_heatmap.mdx +++ b/api_docs/expression_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionHeatmap title: "expressionHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionHeatmap plugin -date: 2022-11-20 +date: 2022-11-21 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 6e55477ad9510..5888d6ae2320a 100644 --- a/api_docs/expression_image.mdx +++ b/api_docs/expression_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionImage title: "expressionImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionImage plugin -date: 2022-11-20 +date: 2022-11-21 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 a95a6e24b6253..d4be3ce83edc1 100644 --- a/api_docs/expression_legacy_metric_vis.mdx +++ b/api_docs/expression_legacy_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionLegacyMetricVis title: "expressionLegacyMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionLegacyMetricVis plugin -date: 2022-11-20 +date: 2022-11-21 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 5d77997561852..8a6a6571d3eac 100644 --- a/api_docs/expression_metric.mdx +++ b/api_docs/expression_metric.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetric title: "expressionMetric" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetric plugin -date: 2022-11-20 +date: 2022-11-21 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 cc93acc944378..d35a196408fe0 100644 --- a/api_docs/expression_metric_vis.mdx +++ b/api_docs/expression_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetricVis title: "expressionMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetricVis plugin -date: 2022-11-20 +date: 2022-11-21 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 bd442008730af..a3a100285a9cc 100644 --- a/api_docs/expression_partition_vis.mdx +++ b/api_docs/expression_partition_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionPartitionVis title: "expressionPartitionVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionPartitionVis plugin -date: 2022-11-20 +date: 2022-11-21 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 1b33b97d8fac7..1b7c8e0c659c4 100644 --- a/api_docs/expression_repeat_image.mdx +++ b/api_docs/expression_repeat_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRepeatImage title: "expressionRepeatImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRepeatImage plugin -date: 2022-11-20 +date: 2022-11-21 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 ff61dee8b8a7f..ec59989fb19f7 100644 --- a/api_docs/expression_reveal_image.mdx +++ b/api_docs/expression_reveal_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRevealImage title: "expressionRevealImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRevealImage plugin -date: 2022-11-20 +date: 2022-11-21 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 242a6479bdc67..f96245c37e79e 100644 --- a/api_docs/expression_shape.mdx +++ b/api_docs/expression_shape.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionShape title: "expressionShape" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionShape plugin -date: 2022-11-20 +date: 2022-11-21 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 75c5289c794ac..f79a9e05eeff5 100644 --- a/api_docs/expression_tagcloud.mdx +++ b/api_docs/expression_tagcloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionTagcloud title: "expressionTagcloud" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionTagcloud plugin -date: 2022-11-20 +date: 2022-11-21 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 bd7a8bdae0883..8cc931870c59c 100644 --- a/api_docs/expression_x_y.mdx +++ b/api_docs/expression_x_y.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionXY title: "expressionXY" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionXY plugin -date: 2022-11-20 +date: 2022-11-21 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 51ebc7304e61c..1cbbcb39723ea 100644 --- a/api_docs/expressions.mdx +++ b/api_docs/expressions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressions title: "expressions" image: https://source.unsplash.com/400x175/?github description: API docs for the expressions plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressions'] --- import expressionsObj from './expressions.devdocs.json'; diff --git a/api_docs/features.mdx b/api_docs/features.mdx index 1c9a275f1a462..8ddc81d8d3e2b 100644 --- a/api_docs/features.mdx +++ b/api_docs/features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/features title: "features" image: https://source.unsplash.com/400x175/?github description: API docs for the features plugin -date: 2022-11-20 +date: 2022-11-21 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 412c779447097..42876db3e3c35 100644 --- a/api_docs/field_formats.mdx +++ b/api_docs/field_formats.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fieldFormats title: "fieldFormats" image: https://source.unsplash.com/400x175/?github description: API docs for the fieldFormats plugin -date: 2022-11-20 +date: 2022-11-21 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 b7f4dd2e60143..b909d0be6a8bb 100644 --- a/api_docs/file_upload.mdx +++ b/api_docs/file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fileUpload title: "fileUpload" image: https://source.unsplash.com/400x175/?github description: API docs for the fileUpload plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fileUpload'] --- import fileUploadObj from './file_upload.devdocs.json'; diff --git a/api_docs/files.mdx b/api_docs/files.mdx index 175545c1ecf08..9f653a485425c 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: 2022-11-20 +date: 2022-11-21 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 8aa2a154f556b..a2bde62d32a80 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: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'filesManagement'] --- import filesManagementObj from './files_management.devdocs.json'; diff --git a/api_docs/fleet.mdx b/api_docs/fleet.mdx index c728ff7804e6e..852bba6a41062 100644 --- a/api_docs/fleet.mdx +++ b/api_docs/fleet.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fleet title: "fleet" image: https://source.unsplash.com/400x175/?github description: API docs for the fleet plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fleet'] --- import fleetObj from './fleet.devdocs.json'; diff --git a/api_docs/global_search.mdx b/api_docs/global_search.mdx index 0885f91fa41fb..3ec56b522f9da 100644 --- a/api_docs/global_search.mdx +++ b/api_docs/global_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/globalSearch title: "globalSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the globalSearch plugin -date: 2022-11-20 +date: 2022-11-21 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 283f08fbbc0b2..f6a4e6b5133cb 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: 2022-11-20 +date: 2022-11-21 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 19d0c730e21a6..e814b32772357 100644 --- a/api_docs/home.mdx +++ b/api_docs/home.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/home title: "home" image: https://source.unsplash.com/400x175/?github description: API docs for the home plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'home'] --- import homeObj from './home.devdocs.json'; diff --git a/api_docs/index_lifecycle_management.mdx b/api_docs/index_lifecycle_management.mdx index e40e1b8e113b4..1d042375a2349 100644 --- a/api_docs/index_lifecycle_management.mdx +++ b/api_docs/index_lifecycle_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexLifecycleManagement title: "indexLifecycleManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexLifecycleManagement plugin -date: 2022-11-20 +date: 2022-11-21 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 d719e820c3ce3..dbf2e440791ce 100644 --- a/api_docs/index_management.mdx +++ b/api_docs/index_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexManagement title: "indexManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexManagement plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexManagement'] --- import indexManagementObj from './index_management.devdocs.json'; diff --git a/api_docs/infra.mdx b/api_docs/infra.mdx index 70f3de2feeaf2..fe4e515eddcab 100644 --- a/api_docs/infra.mdx +++ b/api_docs/infra.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/infra title: "infra" image: https://source.unsplash.com/400x175/?github description: API docs for the infra plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'infra'] --- import infraObj from './infra.devdocs.json'; diff --git a/api_docs/inspector.mdx b/api_docs/inspector.mdx index d627af5fc9e30..155760c633bcc 100644 --- a/api_docs/inspector.mdx +++ b/api_docs/inspector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/inspector title: "inspector" image: https://source.unsplash.com/400x175/?github description: API docs for the inspector plugin -date: 2022-11-20 +date: 2022-11-21 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 5703a93b626b4..cac24ef801d81 100644 --- a/api_docs/interactive_setup.mdx +++ b/api_docs/interactive_setup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/interactiveSetup title: "interactiveSetup" image: https://source.unsplash.com/400x175/?github description: API docs for the interactiveSetup plugin -date: 2022-11-20 +date: 2022-11-21 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 18fb26b667112..c35a1e7c19a92 100644 --- a/api_docs/kbn_ace.mdx +++ b/api_docs/kbn_ace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ace title: "@kbn/ace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ace plugin -date: 2022-11-20 +date: 2022-11-21 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 6e1dcec674cc7..e371b94a95226 100644 --- a/api_docs/kbn_aiops_components.mdx +++ b/api_docs/kbn_aiops_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-components title: "@kbn/aiops-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-components plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-components'] --- import kbnAiopsComponentsObj from './kbn_aiops_components.devdocs.json'; diff --git a/api_docs/kbn_aiops_utils.mdx b/api_docs/kbn_aiops_utils.mdx index 44024ed72ef24..a597d2b44caf9 100644 --- a/api_docs/kbn_aiops_utils.mdx +++ b/api_docs/kbn_aiops_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-utils title: "@kbn/aiops-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-utils plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-utils'] --- import kbnAiopsUtilsObj from './kbn_aiops_utils.devdocs.json'; diff --git a/api_docs/kbn_alerts.mdx b/api_docs/kbn_alerts.mdx index 4e263e0aad4f2..52b42a5cc0bc5 100644 --- a/api_docs/kbn_alerts.mdx +++ b/api_docs/kbn_alerts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts title: "@kbn/alerts" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts'] --- import kbnAlertsObj from './kbn_alerts.devdocs.json'; diff --git a/api_docs/kbn_analytics.mdx b/api_docs/kbn_analytics.mdx index ea25312cc003a..e6c39b55007e5 100644 --- a/api_docs/kbn_analytics.mdx +++ b/api_docs/kbn_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics title: "@kbn/analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics'] --- import kbnAnalyticsObj from './kbn_analytics.devdocs.json'; diff --git a/api_docs/kbn_analytics_client.mdx b/api_docs/kbn_analytics_client.mdx index 6bb0dc725a247..b922a643c926d 100644 --- a/api_docs/kbn_analytics_client.mdx +++ b/api_docs/kbn_analytics_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-client title: "@kbn/analytics-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-client plugin -date: 2022-11-20 +date: 2022-11-21 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 ae550c1ab221d..f9e6642219e3c 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-browser title: "@kbn/analytics-shippers-elastic-v3-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-browser plugin -date: 2022-11-20 +date: 2022-11-21 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 00b54fbca0e23..5099b1219356f 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-common title: "@kbn/analytics-shippers-elastic-v3-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-common plugin -date: 2022-11-20 +date: 2022-11-21 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 e184406fab0cb..024f36dcf956b 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-server title: "@kbn/analytics-shippers-elastic-v3-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-server plugin -date: 2022-11-20 +date: 2022-11-21 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 4fbfc04bce956..dab83ed78a60d 100644 --- a/api_docs/kbn_analytics_shippers_fullstory.mdx +++ b/api_docs/kbn_analytics_shippers_fullstory.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-fullstory title: "@kbn/analytics-shippers-fullstory" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-fullstory plugin -date: 2022-11-20 +date: 2022-11-21 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 29046cd047b75..c5fab5a5d9f01 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: 2022-11-20 +date: 2022-11-21 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 3b7ce46f6aeb4..a3eeada197886 100644 --- a/api_docs/kbn_apm_config_loader.mdx +++ b/api_docs/kbn_apm_config_loader.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-config-loader title: "@kbn/apm-config-loader" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-config-loader plugin -date: 2022-11-20 +date: 2022-11-21 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 5e31f685d7fb2..5bea6ea6abfe7 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: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace'] --- import kbnApmSynthtraceObj from './kbn_apm_synthtrace.devdocs.json'; diff --git a/api_docs/kbn_apm_utils.mdx b/api_docs/kbn_apm_utils.mdx index 8da88ef611d3e..746e8a3fe2947 100644 --- a/api_docs/kbn_apm_utils.mdx +++ b/api_docs/kbn_apm_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-utils title: "@kbn/apm-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-utils plugin -date: 2022-11-20 +date: 2022-11-21 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 94975c741a16f..aba968dbff9e6 100644 --- a/api_docs/kbn_axe_config.mdx +++ b/api_docs/kbn_axe_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-axe-config title: "@kbn/axe-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/axe-config plugin -date: 2022-11-20 +date: 2022-11-21 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 6a9861acb3a36..ebab070262aa9 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: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cases-components'] --- import kbnCasesComponentsObj from './kbn_cases_components.devdocs.json'; diff --git a/api_docs/kbn_chart_icons.mdx b/api_docs/kbn_chart_icons.mdx index 57dfc523f2c29..bdee46b411068 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: 2022-11-20 +date: 2022-11-21 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 b5472c0f551ba..a5cd5e9a09eed 100644 --- a/api_docs/kbn_ci_stats_core.mdx +++ b/api_docs/kbn_ci_stats_core.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-core title: "@kbn/ci-stats-core" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-core plugin -date: 2022-11-20 +date: 2022-11-21 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 416af064b0c72..8ae158deec95e 100644 --- a/api_docs/kbn_ci_stats_performance_metrics.mdx +++ b/api_docs/kbn_ci_stats_performance_metrics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-performance-metrics title: "@kbn/ci-stats-performance-metrics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-performance-metrics plugin -date: 2022-11-20 +date: 2022-11-21 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 aff308df5b5ee..49fde20e8120a 100644 --- a/api_docs/kbn_ci_stats_reporter.mdx +++ b/api_docs/kbn_ci_stats_reporter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-reporter title: "@kbn/ci-stats-reporter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-reporter plugin -date: 2022-11-20 +date: 2022-11-21 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 0b2bec0728149..643a03a884f35 100644 --- a/api_docs/kbn_cli_dev_mode.mdx +++ b/api_docs/kbn_cli_dev_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cli-dev-mode title: "@kbn/cli-dev-mode" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cli-dev-mode plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cli-dev-mode'] --- import kbnCliDevModeObj from './kbn_cli_dev_mode.devdocs.json'; diff --git a/api_docs/kbn_coloring.mdx b/api_docs/kbn_coloring.mdx index d57d8bfc8aa7b..908110e4376f1 100644 --- a/api_docs/kbn_coloring.mdx +++ b/api_docs/kbn_coloring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-coloring title: "@kbn/coloring" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/coloring plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/coloring'] --- import kbnColoringObj from './kbn_coloring.devdocs.json'; diff --git a/api_docs/kbn_config.mdx b/api_docs/kbn_config.mdx index 8e6d5b40b82b9..d2cce0b2a83ba 100644 --- a/api_docs/kbn_config.mdx +++ b/api_docs/kbn_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config title: "@kbn/config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config'] --- import kbnConfigObj from './kbn_config.devdocs.json'; diff --git a/api_docs/kbn_config_mocks.mdx b/api_docs/kbn_config_mocks.mdx index 4fb8af9d8a54e..00d95e1335b01 100644 --- a/api_docs/kbn_config_mocks.mdx +++ b/api_docs/kbn_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-mocks title: "@kbn/config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-mocks plugin -date: 2022-11-20 +date: 2022-11-21 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 d40dfb79483a7..8ee317714c6b7 100644 --- a/api_docs/kbn_config_schema.mdx +++ b/api_docs/kbn_config_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-schema title: "@kbn/config-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-schema plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-schema'] --- import kbnConfigSchemaObj from './kbn_config_schema.devdocs.json'; diff --git a/api_docs/kbn_content_management_inspector.mdx b/api_docs/kbn_content_management_inspector.mdx index 961e52b859f80..890308e272d21 100644 --- a/api_docs/kbn_content_management_inspector.mdx +++ b/api_docs/kbn_content_management_inspector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-inspector title: "@kbn/content-management-inspector" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-inspector plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-inspector'] --- import kbnContentManagementInspectorObj from './kbn_content_management_inspector.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list.mdx b/api_docs/kbn_content_management_table_list.mdx index f75dc5811007a..f4b2863fe2f00 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: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list'] --- import kbnContentManagementTableListObj from './kbn_content_management_table_list.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser.mdx b/api_docs/kbn_core_analytics_browser.mdx index 050a20f8144bf..b38742eba4fc7 100644 --- a/api_docs/kbn_core_analytics_browser.mdx +++ b/api_docs/kbn_core_analytics_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser title: "@kbn/core-analytics-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser plugin -date: 2022-11-20 +date: 2022-11-21 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 78ce900d122ac..d60f4f2897afc 100644 --- a/api_docs/kbn_core_analytics_browser_internal.mdx +++ b/api_docs/kbn_core_analytics_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-internal title: "@kbn/core-analytics-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-internal plugin -date: 2022-11-20 +date: 2022-11-21 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 629bf54e8fa41..b0d1f945f2e45 100644 --- a/api_docs/kbn_core_analytics_browser_mocks.mdx +++ b/api_docs/kbn_core_analytics_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-mocks title: "@kbn/core-analytics-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-mocks plugin -date: 2022-11-20 +date: 2022-11-21 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 1e178c2b34bd8..71bacffadddee 100644 --- a/api_docs/kbn_core_analytics_server.mdx +++ b/api_docs/kbn_core_analytics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server title: "@kbn/core-analytics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server plugin -date: 2022-11-20 +date: 2022-11-21 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 94a1bda49c651..6df2ff849423b 100644 --- a/api_docs/kbn_core_analytics_server_internal.mdx +++ b/api_docs/kbn_core_analytics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-internal title: "@kbn/core-analytics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-internal plugin -date: 2022-11-20 +date: 2022-11-21 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 9317d11b0920c..1bd68d7210692 100644 --- a/api_docs/kbn_core_analytics_server_mocks.mdx +++ b/api_docs/kbn_core_analytics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-mocks title: "@kbn/core-analytics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-mocks plugin -date: 2022-11-20 +date: 2022-11-21 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 f4329fd224478..d0dcf4678e235 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: 2022-11-20 +date: 2022-11-21 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 0fee2d69117c5..59c95794c7912 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: 2022-11-20 +date: 2022-11-21 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 5d95c40aef02c..fdb4d1a85fc52 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: 2022-11-20 +date: 2022-11-21 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 2bc2124a27049..67d8a3d8b6c81 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: 2022-11-20 +date: 2022-11-21 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 d8207ad5e4bdc..c454c3920b812 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: 2022-11-20 +date: 2022-11-21 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 aeabddd056762..e9460aa1653b6 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: 2022-11-20 +date: 2022-11-21 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 506fb72709b31..3a60412a55ef4 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: 2022-11-20 +date: 2022-11-21 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 77a621810e4c2..9e872e0b708c5 100644 --- a/api_docs/kbn_core_base_browser_mocks.mdx +++ b/api_docs/kbn_core_base_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-browser-mocks title: "@kbn/core-base-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-browser-mocks plugin -date: 2022-11-20 +date: 2022-11-21 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 1f953af9e1149..79fc6fbb25c3d 100644 --- a/api_docs/kbn_core_base_common.mdx +++ b/api_docs/kbn_core_base_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-common title: "@kbn/core-base-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-common plugin -date: 2022-11-20 +date: 2022-11-21 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 e6c3458e9753b..dd686130688ae 100644 --- a/api_docs/kbn_core_base_server_internal.mdx +++ b/api_docs/kbn_core_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-internal title: "@kbn/core-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-internal plugin -date: 2022-11-20 +date: 2022-11-21 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 9ab38f5c72a76..2470b934b9949 100644 --- a/api_docs/kbn_core_base_server_mocks.mdx +++ b/api_docs/kbn_core_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-mocks title: "@kbn/core-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-mocks plugin -date: 2022-11-20 +date: 2022-11-21 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 56f8322772838..16ea316853d03 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: 2022-11-20 +date: 2022-11-21 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 ed32e79f11f4e..98e4e9de830d5 100644 --- a/api_docs/kbn_core_capabilities_common.mdx +++ b/api_docs/kbn_core_capabilities_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-common title: "@kbn/core-capabilities-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-common plugin -date: 2022-11-20 +date: 2022-11-21 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 0ab58ac54a047..3be57ab9908eb 100644 --- a/api_docs/kbn_core_capabilities_server.mdx +++ b/api_docs/kbn_core_capabilities_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server title: "@kbn/core-capabilities-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server plugin -date: 2022-11-20 +date: 2022-11-21 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 3b9758fe67c79..ee1615c203b34 100644 --- a/api_docs/kbn_core_capabilities_server_mocks.mdx +++ b/api_docs/kbn_core_capabilities_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server-mocks title: "@kbn/core-capabilities-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server-mocks plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-server-mocks'] --- import kbnCoreCapabilitiesServerMocksObj from './kbn_core_capabilities_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_chrome_browser.mdx b/api_docs/kbn_core_chrome_browser.mdx index 2a6e2cb9fde11..b1f0a93267445 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: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser'] --- import kbnCoreChromeBrowserObj from './kbn_core_chrome_browser.devdocs.json'; diff --git a/api_docs/kbn_core_chrome_browser_mocks.mdx b/api_docs/kbn_core_chrome_browser_mocks.mdx index aeb2e9d122dfb..6cbf9cd8c2d15 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: 2022-11-20 +date: 2022-11-21 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 c5a2aaf1a8077..d6cfb232b8cb3 100644 --- a/api_docs/kbn_core_config_server_internal.mdx +++ b/api_docs/kbn_core_config_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-config-server-internal title: "@kbn/core-config-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-config-server-internal plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-config-server-internal'] --- import kbnCoreConfigServerInternalObj from './kbn_core_config_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser.mdx b/api_docs/kbn_core_deprecations_browser.mdx index 956f390955ab5..9f96971e1a208 100644 --- a/api_docs/kbn_core_deprecations_browser.mdx +++ b/api_docs/kbn_core_deprecations_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser title: "@kbn/core-deprecations-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser plugin -date: 2022-11-20 +date: 2022-11-21 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 2151662afd190..50b971a9d3ebf 100644 --- a/api_docs/kbn_core_deprecations_browser_internal.mdx +++ b/api_docs/kbn_core_deprecations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-internal title: "@kbn/core-deprecations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-internal plugin -date: 2022-11-20 +date: 2022-11-21 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 bd943a4d8645f..047fd3b6b7f92 100644 --- a/api_docs/kbn_core_deprecations_browser_mocks.mdx +++ b/api_docs/kbn_core_deprecations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-mocks title: "@kbn/core-deprecations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-mocks plugin -date: 2022-11-20 +date: 2022-11-21 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 86068c5f009c1..c21022f7379ad 100644 --- a/api_docs/kbn_core_deprecations_common.mdx +++ b/api_docs/kbn_core_deprecations_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-common title: "@kbn/core-deprecations-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-common plugin -date: 2022-11-20 +date: 2022-11-21 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 18721e0e13c74..0b77abeb5ee51 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: 2022-11-20 +date: 2022-11-21 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 6a1c3fd4f6c64..1ab18bc04b457 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: 2022-11-20 +date: 2022-11-21 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 44da4979ebbe5..e21a3d48fa475 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: 2022-11-20 +date: 2022-11-21 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 c87c999ac96b6..bb49b76d2f262 100644 --- a/api_docs/kbn_core_doc_links_browser.mdx +++ b/api_docs/kbn_core_doc_links_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser title: "@kbn/core-doc-links-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser plugin -date: 2022-11-20 +date: 2022-11-21 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 13cc58b018326..bc6708c61d560 100644 --- a/api_docs/kbn_core_doc_links_browser_mocks.mdx +++ b/api_docs/kbn_core_doc_links_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser-mocks title: "@kbn/core-doc-links-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser-mocks plugin -date: 2022-11-20 +date: 2022-11-21 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 3e0e820d192e5..9eb129c489e11 100644 --- a/api_docs/kbn_core_doc_links_server.mdx +++ b/api_docs/kbn_core_doc_links_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server title: "@kbn/core-doc-links-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server plugin -date: 2022-11-20 +date: 2022-11-21 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 66eaae349a2dd..bb7a91e2ccb02 100644 --- a/api_docs/kbn_core_doc_links_server_mocks.mdx +++ b/api_docs/kbn_core_doc_links_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server-mocks title: "@kbn/core-doc-links-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server-mocks plugin -date: 2022-11-20 +date: 2022-11-21 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 6075c896ab868..449e4db39a119 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-internal title: "@kbn/core-elasticsearch-client-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-internal plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-client-server-internal'] --- import kbnCoreElasticsearchClientServerInternalObj from './kbn_core_elasticsearch_client_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx index 855e9035e819f..b6dcccc5cf616 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-mocks title: "@kbn/core-elasticsearch-client-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-mocks plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-client-server-mocks'] --- import kbnCoreElasticsearchClientServerMocksObj from './kbn_core_elasticsearch_client_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_server.mdx b/api_docs/kbn_core_elasticsearch_server.mdx index 66a839f1f94b9..73cdc3717fd1c 100644 --- a/api_docs/kbn_core_elasticsearch_server.mdx +++ b/api_docs/kbn_core_elasticsearch_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server title: "@kbn/core-elasticsearch-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server'] --- import kbnCoreElasticsearchServerObj from './kbn_core_elasticsearch_server.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_server_internal.mdx b/api_docs/kbn_core_elasticsearch_server_internal.mdx index 0ac8ef0d5dd04..c419e76a04c08 100644 --- a/api_docs/kbn_core_elasticsearch_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-internal title: "@kbn/core-elasticsearch-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-internal plugin -date: 2022-11-20 +date: 2022-11-21 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 75a5aa0237597..eef60aa14ec8e 100644 --- a/api_docs/kbn_core_elasticsearch_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-mocks title: "@kbn/core-elasticsearch-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-mocks plugin -date: 2022-11-20 +date: 2022-11-21 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 ffeaf148c4816..615ccf859792f 100644 --- a/api_docs/kbn_core_environment_server_internal.mdx +++ b/api_docs/kbn_core_environment_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-internal title: "@kbn/core-environment-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-internal plugin -date: 2022-11-20 +date: 2022-11-21 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 45cc40cac4013..37c73419ab18f 100644 --- a/api_docs/kbn_core_environment_server_mocks.mdx +++ b/api_docs/kbn_core_environment_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-mocks title: "@kbn/core-environment-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-mocks plugin -date: 2022-11-20 +date: 2022-11-21 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 65a793df4481c..343c414dcce9b 100644 --- a/api_docs/kbn_core_execution_context_browser.mdx +++ b/api_docs/kbn_core_execution_context_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser title: "@kbn/core-execution-context-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser plugin -date: 2022-11-20 +date: 2022-11-21 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 4480518f94a80..13db2d9ed22e1 100644 --- a/api_docs/kbn_core_execution_context_browser_internal.mdx +++ b/api_docs/kbn_core_execution_context_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-internal title: "@kbn/core-execution-context-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-internal plugin -date: 2022-11-20 +date: 2022-11-21 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 cdaae522c8ec3..1de207fe3dcf8 100644 --- a/api_docs/kbn_core_execution_context_browser_mocks.mdx +++ b/api_docs/kbn_core_execution_context_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-mocks title: "@kbn/core-execution-context-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-mocks plugin -date: 2022-11-20 +date: 2022-11-21 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 ba24d4cab3d38..fa69ac6dbcee5 100644 --- a/api_docs/kbn_core_execution_context_common.mdx +++ b/api_docs/kbn_core_execution_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-common title: "@kbn/core-execution-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-common plugin -date: 2022-11-20 +date: 2022-11-21 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 05ff19dd89320..c65fe46aa360c 100644 --- a/api_docs/kbn_core_execution_context_server.mdx +++ b/api_docs/kbn_core_execution_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server title: "@kbn/core-execution-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server plugin -date: 2022-11-20 +date: 2022-11-21 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 6277a0728d761..65eff4ee3bfdc 100644 --- a/api_docs/kbn_core_execution_context_server_internal.mdx +++ b/api_docs/kbn_core_execution_context_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-internal title: "@kbn/core-execution-context-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-internal plugin -date: 2022-11-20 +date: 2022-11-21 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 d5df6dc8d0469..9ddec218c2870 100644 --- a/api_docs/kbn_core_execution_context_server_mocks.mdx +++ b/api_docs/kbn_core_execution_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-mocks title: "@kbn/core-execution-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-mocks plugin -date: 2022-11-20 +date: 2022-11-21 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 8267cb3ad95cd..1ead3f39f926c 100644 --- a/api_docs/kbn_core_fatal_errors_browser.mdx +++ b/api_docs/kbn_core_fatal_errors_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser title: "@kbn/core-fatal-errors-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser plugin -date: 2022-11-20 +date: 2022-11-21 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 7294e96008c1a..0997609be78f4 100644 --- a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx +++ b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser-mocks title: "@kbn/core-fatal-errors-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser-mocks plugin -date: 2022-11-20 +date: 2022-11-21 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 828eba359ce7d..4c1079029271c 100644 --- a/api_docs/kbn_core_http_browser.mdx +++ b/api_docs/kbn_core_http_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser title: "@kbn/core-http-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser plugin -date: 2022-11-20 +date: 2022-11-21 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 ffc312ac27b6e..0aecb0f781c92 100644 --- a/api_docs/kbn_core_http_browser_internal.mdx +++ b/api_docs/kbn_core_http_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-internal title: "@kbn/core-http-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-internal plugin -date: 2022-11-20 +date: 2022-11-21 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 3464b203ecd82..444aaa249e5e2 100644 --- a/api_docs/kbn_core_http_browser_mocks.mdx +++ b/api_docs/kbn_core_http_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-mocks title: "@kbn/core-http-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-mocks plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser-mocks'] --- import kbnCoreHttpBrowserMocksObj from './kbn_core_http_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_common.mdx b/api_docs/kbn_core_http_common.mdx index 02c858337d1ae..9fe6ce9dd6b0e 100644 --- a/api_docs/kbn_core_http_common.mdx +++ b/api_docs/kbn_core_http_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-common title: "@kbn/core-http-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-common plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-common'] --- import kbnCoreHttpCommonObj from './kbn_core_http_common.devdocs.json'; diff --git a/api_docs/kbn_core_http_context_server_mocks.mdx b/api_docs/kbn_core_http_context_server_mocks.mdx index c7236a8d9ccac..d41a257ede6cd 100644 --- a/api_docs/kbn_core_http_context_server_mocks.mdx +++ b/api_docs/kbn_core_http_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-context-server-mocks title: "@kbn/core-http-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-context-server-mocks plugin -date: 2022-11-20 +date: 2022-11-21 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 a9ca40570ad2d..ec373edf96dab 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: 2022-11-20 +date: 2022-11-21 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 9a33caec96874..79747b1fe3cac 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: 2022-11-20 +date: 2022-11-21 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 dae99f1c1dd22..ce820ceedebb8 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: 2022-11-20 +date: 2022-11-21 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 c93f025ad18ed..bbf3082b502db 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: 2022-11-20 +date: 2022-11-21 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 870cbde0b45f0..392cbe3a4dbbd 100644 --- a/api_docs/kbn_core_http_router_server_internal.mdx +++ b/api_docs/kbn_core_http_router_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-internal title: "@kbn/core-http-router-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-internal plugin -date: 2022-11-20 +date: 2022-11-21 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 702b92c124f89..5015bfe59fc64 100644 --- a/api_docs/kbn_core_http_router_server_mocks.mdx +++ b/api_docs/kbn_core_http_router_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-mocks title: "@kbn/core-http-router-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-mocks plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-mocks'] --- import kbnCoreHttpRouterServerMocksObj from './kbn_core_http_router_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_server.mdx b/api_docs/kbn_core_http_server.mdx index 78c1303525739..2619224394dc3 100644 --- a/api_docs/kbn_core_http_server.mdx +++ b/api_docs/kbn_core_http_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server title: "@kbn/core-http-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server'] --- import kbnCoreHttpServerObj from './kbn_core_http_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_server_internal.mdx b/api_docs/kbn_core_http_server_internal.mdx index f3bf45972817a..c2ec87c2abf99 100644 --- a/api_docs/kbn_core_http_server_internal.mdx +++ b/api_docs/kbn_core_http_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-internal title: "@kbn/core-http-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-internal plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server-internal'] --- import kbnCoreHttpServerInternalObj from './kbn_core_http_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_server_mocks.mdx b/api_docs/kbn_core_http_server_mocks.mdx index d77b790c577c4..c3188e158adcc 100644 --- a/api_docs/kbn_core_http_server_mocks.mdx +++ b/api_docs/kbn_core_http_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-mocks title: "@kbn/core-http-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-mocks plugin -date: 2022-11-20 +date: 2022-11-21 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 d2b44fa4936c1..c180eebfd34a0 100644 --- a/api_docs/kbn_core_i18n_browser.mdx +++ b/api_docs/kbn_core_i18n_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser title: "@kbn/core-i18n-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser plugin -date: 2022-11-20 +date: 2022-11-21 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 bc46289300b5e..0a5448e2b2627 100644 --- a/api_docs/kbn_core_i18n_browser_mocks.mdx +++ b/api_docs/kbn_core_i18n_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser-mocks title: "@kbn/core-i18n-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser-mocks plugin -date: 2022-11-20 +date: 2022-11-21 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 fa313ed7adb4a..788246a2505da 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: 2022-11-20 +date: 2022-11-21 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 937dcb3d1f8f8..a5bbd26289b36 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: 2022-11-20 +date: 2022-11-21 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 fc34bc759437b..9fc4ed85f9174 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: 2022-11-20 +date: 2022-11-21 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.mdx b/api_docs/kbn_core_injected_metadata_browser.mdx index ac68093c8ef92..38a139e8581df 100644 --- a/api_docs/kbn_core_injected_metadata_browser.mdx +++ b/api_docs/kbn_core_injected_metadata_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-injected-metadata-browser title: "@kbn/core-injected-metadata-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-injected-metadata-browser plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-injected-metadata-browser'] --- import kbnCoreInjectedMetadataBrowserObj from './kbn_core_injected_metadata_browser.devdocs.json'; diff --git a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx index 4a28fefbbfc09..c8e35188ac228 100644 --- a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx +++ b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-injected-metadata-browser-mocks title: "@kbn/core-injected-metadata-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-injected-metadata-browser-mocks plugin -date: 2022-11-20 +date: 2022-11-21 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 0b9504928f55f..92c7ab4f6bf56 100644 --- a/api_docs/kbn_core_integrations_browser_internal.mdx +++ b/api_docs/kbn_core_integrations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-internal title: "@kbn/core-integrations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-internal plugin -date: 2022-11-20 +date: 2022-11-21 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 97183ea9136b8..ad8e81eb8462c 100644 --- a/api_docs/kbn_core_integrations_browser_mocks.mdx +++ b/api_docs/kbn_core_integrations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-mocks title: "@kbn/core-integrations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-mocks plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-integrations-browser-mocks'] --- import kbnCoreIntegrationsBrowserMocksObj from './kbn_core_integrations_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_browser.mdx b/api_docs/kbn_core_lifecycle_browser.mdx index c1934a0868569..dd1b520179260 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: 2022-11-20 +date: 2022-11-21 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 b10be011641f4..3c1ece2e38c66 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: 2022-11-20 +date: 2022-11-21 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 7964ea5da2a53..c25942c344ea0 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: 2022-11-20 +date: 2022-11-21 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 f4bc49c84670a..7b8435f096321 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: 2022-11-20 +date: 2022-11-21 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 b3738c60e2bda..f89c6a19520ff 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: 2022-11-20 +date: 2022-11-21 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 6f2f48884b3b5..70a17bb0cd45d 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: 2022-11-20 +date: 2022-11-21 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 9886c77904913..b69bb20d34417 100644 --- a/api_docs/kbn_core_logging_server.mdx +++ b/api_docs/kbn_core_logging_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server title: "@kbn/core-logging-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server plugin -date: 2022-11-20 +date: 2022-11-21 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 5e4bb939550b3..ef6d1701b294c 100644 --- a/api_docs/kbn_core_logging_server_internal.mdx +++ b/api_docs/kbn_core_logging_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-internal title: "@kbn/core-logging-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-internal plugin -date: 2022-11-20 +date: 2022-11-21 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 dd35f8e60062a..dcbe6b1a2fea0 100644 --- a/api_docs/kbn_core_logging_server_mocks.mdx +++ b/api_docs/kbn_core_logging_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-mocks title: "@kbn/core-logging-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-mocks plugin -date: 2022-11-20 +date: 2022-11-21 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 7f64dce545755..3b50bb85f8d1e 100644 --- a/api_docs/kbn_core_metrics_collectors_server_internal.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-internal title: "@kbn/core-metrics-collectors-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-internal plugin -date: 2022-11-20 +date: 2022-11-21 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 3fef92f22af24..89d5777668d40 100644 --- a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-mocks title: "@kbn/core-metrics-collectors-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-mocks plugin -date: 2022-11-20 +date: 2022-11-21 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 8ed830caeb79b..d3f723a4a76d6 100644 --- a/api_docs/kbn_core_metrics_server.mdx +++ b/api_docs/kbn_core_metrics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server title: "@kbn/core-metrics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server plugin -date: 2022-11-20 +date: 2022-11-21 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 fccf98b232989..cc9fcfa3e3c33 100644 --- a/api_docs/kbn_core_metrics_server_internal.mdx +++ b/api_docs/kbn_core_metrics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-internal title: "@kbn/core-metrics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-internal plugin -date: 2022-11-20 +date: 2022-11-21 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 a91cdf19f6add..dc8696fb0b75e 100644 --- a/api_docs/kbn_core_metrics_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-mocks title: "@kbn/core-metrics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-mocks plugin -date: 2022-11-20 +date: 2022-11-21 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 814ecc31f09a3..225854b3c4b35 100644 --- a/api_docs/kbn_core_mount_utils_browser.mdx +++ b/api_docs/kbn_core_mount_utils_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-mount-utils-browser title: "@kbn/core-mount-utils-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-mount-utils-browser plugin -date: 2022-11-20 +date: 2022-11-21 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 5fecc28737f48..b30d11a80c1d6 100644 --- a/api_docs/kbn_core_node_server.mdx +++ b/api_docs/kbn_core_node_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server title: "@kbn/core-node-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server plugin -date: 2022-11-20 +date: 2022-11-21 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 0c5f86f13fd33..09e170830d9b4 100644 --- a/api_docs/kbn_core_node_server_internal.mdx +++ b/api_docs/kbn_core_node_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-internal title: "@kbn/core-node-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-internal plugin -date: 2022-11-20 +date: 2022-11-21 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 ae84d19359cd9..250dd132e2d7a 100644 --- a/api_docs/kbn_core_node_server_mocks.mdx +++ b/api_docs/kbn_core_node_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-mocks title: "@kbn/core-node-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-mocks plugin -date: 2022-11-20 +date: 2022-11-21 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 03e9c91ed928d..9b4bceb960912 100644 --- a/api_docs/kbn_core_notifications_browser.mdx +++ b/api_docs/kbn_core_notifications_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser title: "@kbn/core-notifications-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser plugin -date: 2022-11-20 +date: 2022-11-21 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 326c2ea9c9905..83a84bcd441dd 100644 --- a/api_docs/kbn_core_notifications_browser_internal.mdx +++ b/api_docs/kbn_core_notifications_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-internal title: "@kbn/core-notifications-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-internal plugin -date: 2022-11-20 +date: 2022-11-21 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 5250329cb978e..19e5f33326f63 100644 --- a/api_docs/kbn_core_notifications_browser_mocks.mdx +++ b/api_docs/kbn_core_notifications_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-mocks title: "@kbn/core-notifications-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-mocks plugin -date: 2022-11-20 +date: 2022-11-21 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 79e3c94cf038a..bf19bbd008755 100644 --- a/api_docs/kbn_core_overlays_browser.mdx +++ b/api_docs/kbn_core_overlays_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser title: "@kbn/core-overlays-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser plugin -date: 2022-11-20 +date: 2022-11-21 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 4ec3e0874be1e..e2fba059abcbc 100644 --- a/api_docs/kbn_core_overlays_browser_internal.mdx +++ b/api_docs/kbn_core_overlays_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-internal title: "@kbn/core-overlays-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-internal plugin -date: 2022-11-20 +date: 2022-11-21 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 3a86a16e67594..350c181edc280 100644 --- a/api_docs/kbn_core_overlays_browser_mocks.mdx +++ b/api_docs/kbn_core_overlays_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-mocks title: "@kbn/core-overlays-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-mocks plugin -date: 2022-11-20 +date: 2022-11-21 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 0a393b9c044de..e114411ccc57f 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: 2022-11-20 +date: 2022-11-21 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 455f40ec84b26..19b19fc967a60 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: 2022-11-20 +date: 2022-11-21 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 1fbcd32b40c82..01ce6d08ec59e 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: 2022-11-20 +date: 2022-11-21 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 ddcb50145dbcc..f89ddb4e48a7b 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: 2022-11-20 +date: 2022-11-21 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 1bb9e521986cb..f3d3cfb6fedb0 100644 --- a/api_docs/kbn_core_preboot_server.mdx +++ b/api_docs/kbn_core_preboot_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server title: "@kbn/core-preboot-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server plugin -date: 2022-11-20 +date: 2022-11-21 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 5e51414cccd58..eb2d58a552663 100644 --- a/api_docs/kbn_core_preboot_server_mocks.mdx +++ b/api_docs/kbn_core_preboot_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server-mocks title: "@kbn/core-preboot-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server-mocks plugin -date: 2022-11-20 +date: 2022-11-21 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 e34504880faf6..9cc1b7a7d7669 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: 2022-11-20 +date: 2022-11-21 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 cb3153aa76edb..088069837a02d 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: 2022-11-20 +date: 2022-11-21 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 d1b7e0f249f13..688e7c20089b6 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: 2022-11-20 +date: 2022-11-21 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 3b7127fa6370a..abf4b7e3c447c 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: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-root-server-internal'] --- import kbnCoreRootServerInternalObj from './kbn_core_root_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_browser.mdx b/api_docs/kbn_core_saved_objects_api_browser.mdx index 0c1a160101551..133a238bd9134 100644 --- a/api_docs/kbn_core_saved_objects_api_browser.mdx +++ b/api_docs/kbn_core_saved_objects_api_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-browser title: "@kbn/core-saved-objects-api-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-browser plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-browser'] --- import kbnCoreSavedObjectsApiBrowserObj from './kbn_core_saved_objects_api_browser.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_server.mdx b/api_docs/kbn_core_saved_objects_api_server.mdx index 1dfefc2f2045d..448dc09808350 100644 --- a/api_docs/kbn_core_saved_objects_api_server.mdx +++ b/api_docs/kbn_core_saved_objects_api_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server title: "@kbn/core-saved-objects-api-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server'] --- import kbnCoreSavedObjectsApiServerObj from './kbn_core_saved_objects_api_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_server_internal.mdx b/api_docs/kbn_core_saved_objects_api_server_internal.mdx index c3f5f60b343b6..47b053d8f0bb0 100644 --- a/api_docs/kbn_core_saved_objects_api_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_api_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server-internal title: "@kbn/core-saved-objects-api-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server-internal plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server-internal'] --- import kbnCoreSavedObjectsApiServerInternalObj from './kbn_core_saved_objects_api_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx index d93f67e04d76c..4a14f6e69bfec 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: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server-mocks'] --- import kbnCoreSavedObjectsApiServerMocksObj from './kbn_core_saved_objects_api_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_base_server_internal.mdx b/api_docs/kbn_core_saved_objects_base_server_internal.mdx index 791629c7be5c0..f890c75c6f3d7 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: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-internal'] --- import kbnCoreSavedObjectsBaseServerInternalObj from './kbn_core_saved_objects_base_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx index 28c792610a76a..63f7e8ab63161 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: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-mocks'] --- import kbnCoreSavedObjectsBaseServerMocksObj from './kbn_core_saved_objects_base_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser.mdx b/api_docs/kbn_core_saved_objects_browser.mdx index 107a4437f495e..874252d47a192 100644 --- a/api_docs/kbn_core_saved_objects_browser.mdx +++ b/api_docs/kbn_core_saved_objects_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser title: "@kbn/core-saved-objects-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser plugin -date: 2022-11-20 +date: 2022-11-21 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 e42b76cc2eedd..a7abb6523835e 100644 --- a/api_docs/kbn_core_saved_objects_browser_internal.mdx +++ b/api_docs/kbn_core_saved_objects_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-internal title: "@kbn/core-saved-objects-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-internal plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser-internal'] --- import kbnCoreSavedObjectsBrowserInternalObj from './kbn_core_saved_objects_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser_mocks.mdx b/api_docs/kbn_core_saved_objects_browser_mocks.mdx index f5c945194cd49..180c20b6f0eeb 100644 --- a/api_docs/kbn_core_saved_objects_browser_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-mocks title: "@kbn/core-saved-objects-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-mocks plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser-mocks'] --- import kbnCoreSavedObjectsBrowserMocksObj from './kbn_core_saved_objects_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_common.mdx b/api_docs/kbn_core_saved_objects_common.mdx index 645e043c27c8f..cf0976d766a30 100644 --- a/api_docs/kbn_core_saved_objects_common.mdx +++ b/api_docs/kbn_core_saved_objects_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-common title: "@kbn/core-saved-objects-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-common plugin -date: 2022-11-20 +date: 2022-11-21 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 cf540f4cee7b7..e31fb1e867d3f 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: 2022-11-20 +date: 2022-11-21 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 8f20f72ff8d95..49e56ca554cd5 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: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-import-export-server-mocks'] --- import kbnCoreSavedObjectsImportExportServerMocksObj from './kbn_core_saved_objects_import_export_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx index 4a9d901b1f530..478eac47f3c35 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: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-internal'] --- import kbnCoreSavedObjectsMigrationServerInternalObj from './kbn_core_saved_objects_migration_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx index 110af76e3c731..89a742bccaa53 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: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-mocks'] --- import kbnCoreSavedObjectsMigrationServerMocksObj from './kbn_core_saved_objects_migration_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server.mdx b/api_docs/kbn_core_saved_objects_server.mdx index 0b58396c24a04..8cb3bf0b85c09 100644 --- a/api_docs/kbn_core_saved_objects_server.mdx +++ b/api_docs/kbn_core_saved_objects_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server title: "@kbn/core-saved-objects-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server'] --- import kbnCoreSavedObjectsServerObj from './kbn_core_saved_objects_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server_internal.mdx b/api_docs/kbn_core_saved_objects_server_internal.mdx index 3f6c07b45729f..5578a191823be 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: 2022-11-20 +date: 2022-11-21 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 0264e251d4a05..7e6a40a93b95c 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: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server-mocks'] --- import kbnCoreSavedObjectsServerMocksObj from './kbn_core_saved_objects_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_utils_server.mdx b/api_docs/kbn_core_saved_objects_utils_server.mdx index f7baee3474309..150571931628e 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: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-utils-server'] --- import kbnCoreSavedObjectsUtilsServerObj from './kbn_core_saved_objects_utils_server.devdocs.json'; diff --git a/api_docs/kbn_core_status_common.mdx b/api_docs/kbn_core_status_common.mdx index b56a1137296e9..a0733335f1e40 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: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common'] --- import kbnCoreStatusCommonObj from './kbn_core_status_common.devdocs.json'; diff --git a/api_docs/kbn_core_status_common_internal.mdx b/api_docs/kbn_core_status_common_internal.mdx index a87db375dba66..03b68e1570561 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: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common-internal'] --- import kbnCoreStatusCommonInternalObj from './kbn_core_status_common_internal.devdocs.json'; diff --git a/api_docs/kbn_core_status_server.mdx b/api_docs/kbn_core_status_server.mdx index 3479fdabb26e0..e0aaa0f65b2d5 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: 2022-11-20 +date: 2022-11-21 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 1e226fd7a476b..5d6bf6a591cda 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: 2022-11-20 +date: 2022-11-21 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 309965d44e94d..9ab4595691377 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: 2022-11-20 +date: 2022-11-21 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 10c4a41a36125..f55d46a820ad5 100644 --- a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx +++ b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-deprecations-getters title: "@kbn/core-test-helpers-deprecations-getters" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-deprecations-getters plugin -date: 2022-11-20 +date: 2022-11-21 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 dc89d1fbc0833..c2836721af567 100644 --- a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx +++ b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-http-setup-browser title: "@kbn/core-test-helpers-http-setup-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-http-setup-browser plugin -date: 2022-11-20 +date: 2022-11-21 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_so_type_serializer.mdx b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx index 9bc0bf9001873..e2e933b305768 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: 2022-11-20 +date: 2022-11-21 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 41d3ee08e3ea4..e0d52ff9dc360 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: 2022-11-20 +date: 2022-11-21 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 789262e0d29d6..6e9a0014441b5 100644 --- a/api_docs/kbn_core_theme_browser.mdx +++ b/api_docs/kbn_core_theme_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser title: "@kbn/core-theme-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser plugin -date: 2022-11-20 +date: 2022-11-21 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 79a9731bd5d76..a5e73ccde5d03 100644 --- a/api_docs/kbn_core_theme_browser_internal.mdx +++ b/api_docs/kbn_core_theme_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser-internal title: "@kbn/core-theme-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser-internal plugin -date: 2022-11-20 +date: 2022-11-21 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 0430cdf4bb74c..26b0badb9d46d 100644 --- a/api_docs/kbn_core_theme_browser_mocks.mdx +++ b/api_docs/kbn_core_theme_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser-mocks title: "@kbn/core-theme-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser-mocks plugin -date: 2022-11-20 +date: 2022-11-21 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 a9f0e4df12d04..098b95ae64fca 100644 --- a/api_docs/kbn_core_ui_settings_browser.mdx +++ b/api_docs/kbn_core_ui_settings_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser title: "@kbn/core-ui-settings-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser plugin -date: 2022-11-20 +date: 2022-11-21 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 4ff16c746406a..31b56b2da1b45 100644 --- a/api_docs/kbn_core_ui_settings_browser_internal.mdx +++ b/api_docs/kbn_core_ui_settings_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-internal title: "@kbn/core-ui-settings-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-internal plugin -date: 2022-11-20 +date: 2022-11-21 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 f668450a54dd4..b62c7a3beb8c4 100644 --- a/api_docs/kbn_core_ui_settings_browser_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-mocks title: "@kbn/core-ui-settings-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-mocks plugin -date: 2022-11-20 +date: 2022-11-21 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 04dbca89e2f7d..47b64e5d142a9 100644 --- a/api_docs/kbn_core_ui_settings_common.mdx +++ b/api_docs/kbn_core_ui_settings_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-common title: "@kbn/core-ui-settings-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-common plugin -date: 2022-11-20 +date: 2022-11-21 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 f783d30042c20..d40383f9497e7 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: 2022-11-20 +date: 2022-11-21 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 9284a3a3bb08a..e3a4dde44035f 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: 2022-11-20 +date: 2022-11-21 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 4de644241afd3..0f64d5a725b14 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: 2022-11-20 +date: 2022-11-21 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 27da0ab8126f9..97a492eaf56d9 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: 2022-11-20 +date: 2022-11-21 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 5aecddc6b83b1..a18eb7fa23f1d 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: 2022-11-20 +date: 2022-11-21 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 17edb02412615..bb2641fbe77f3 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: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-mocks'] --- import kbnCoreUsageDataServerMocksObj from './kbn_core_usage_data_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_crypto.mdx b/api_docs/kbn_crypto.mdx index 9b3b63d4e9955..87ee4585a82c0 100644 --- a/api_docs/kbn_crypto.mdx +++ b/api_docs/kbn_crypto.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto title: "@kbn/crypto" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto plugin -date: 2022-11-20 +date: 2022-11-21 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 e52551054244a..e893bbb052621 100644 --- a/api_docs/kbn_crypto_browser.mdx +++ b/api_docs/kbn_crypto_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto-browser title: "@kbn/crypto-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto-browser plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto-browser'] --- import kbnCryptoBrowserObj from './kbn_crypto_browser.devdocs.json'; diff --git a/api_docs/kbn_datemath.mdx b/api_docs/kbn_datemath.mdx index 26b2ff91007e3..949d95b1bcc89 100644 --- a/api_docs/kbn_datemath.mdx +++ b/api_docs/kbn_datemath.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-datemath title: "@kbn/datemath" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/datemath plugin -date: 2022-11-20 +date: 2022-11-21 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 e026bd748af92..a45e899cf7291 100644 --- a/api_docs/kbn_dev_cli_errors.mdx +++ b/api_docs/kbn_dev_cli_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-errors title: "@kbn/dev-cli-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-errors plugin -date: 2022-11-20 +date: 2022-11-21 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 45e46bc1d5e40..ad5aebc98a602 100644 --- a/api_docs/kbn_dev_cli_runner.mdx +++ b/api_docs/kbn_dev_cli_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-runner title: "@kbn/dev-cli-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-runner plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-cli-runner'] --- import kbnDevCliRunnerObj from './kbn_dev_cli_runner.devdocs.json'; diff --git a/api_docs/kbn_dev_proc_runner.mdx b/api_docs/kbn_dev_proc_runner.mdx index 5a693a1068874..11f317e21ecad 100644 --- a/api_docs/kbn_dev_proc_runner.mdx +++ b/api_docs/kbn_dev_proc_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-proc-runner title: "@kbn/dev-proc-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-proc-runner plugin -date: 2022-11-20 +date: 2022-11-21 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 7d600762bba9f..721020d6a9ba6 100644 --- a/api_docs/kbn_dev_utils.mdx +++ b/api_docs/kbn_dev_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-utils title: "@kbn/dev-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-utils plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-utils'] --- import kbnDevUtilsObj from './kbn_dev_utils.devdocs.json'; diff --git a/api_docs/kbn_doc_links.mdx b/api_docs/kbn_doc_links.mdx index e7ba3e4ceaf3a..a187a2496b288 100644 --- a/api_docs/kbn_doc_links.mdx +++ b/api_docs/kbn_doc_links.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-doc-links title: "@kbn/doc-links" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/doc-links plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/doc-links'] --- import kbnDocLinksObj from './kbn_doc_links.devdocs.json'; diff --git a/api_docs/kbn_docs_utils.mdx b/api_docs/kbn_docs_utils.mdx index 661008fea4dd7..65a053414375c 100644 --- a/api_docs/kbn_docs_utils.mdx +++ b/api_docs/kbn_docs_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-docs-utils title: "@kbn/docs-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/docs-utils plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/docs-utils'] --- import kbnDocsUtilsObj from './kbn_docs_utils.devdocs.json'; diff --git a/api_docs/kbn_ebt_tools.mdx b/api_docs/kbn_ebt_tools.mdx index 84b540c3094fd..fed499f6aa307 100644 --- a/api_docs/kbn_ebt_tools.mdx +++ b/api_docs/kbn_ebt_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ebt-tools title: "@kbn/ebt-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ebt-tools plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ebt-tools'] --- import kbnEbtToolsObj from './kbn_ebt_tools.devdocs.json'; diff --git a/api_docs/kbn_es.mdx b/api_docs/kbn_es.mdx index 40f4e771d9e75..361e3ba02da15 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: 2022-11-20 +date: 2022-11-21 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 88e34d762767d..283b663228d1c 100644 --- a/api_docs/kbn_es_archiver.mdx +++ b/api_docs/kbn_es_archiver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-archiver title: "@kbn/es-archiver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-archiver plugin -date: 2022-11-20 +date: 2022-11-21 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 270ea159d64a2..c80a692a4a0c1 100644 --- a/api_docs/kbn_es_errors.mdx +++ b/api_docs/kbn_es_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-errors title: "@kbn/es-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-errors plugin -date: 2022-11-20 +date: 2022-11-21 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 1534d27596dff..3565116e5645d 100644 --- a/api_docs/kbn_es_query.mdx +++ b/api_docs/kbn_es_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-query title: "@kbn/es-query" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-query plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-query'] --- import kbnEsQueryObj from './kbn_es_query.devdocs.json'; diff --git a/api_docs/kbn_es_types.mdx b/api_docs/kbn_es_types.mdx index 5fe67bd9b7e04..d69981f14c86a 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: 2022-11-20 +date: 2022-11-21 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 f3ee21b677681..3285df69060eb 100644 --- a/api_docs/kbn_eslint_plugin_imports.mdx +++ b/api_docs/kbn_eslint_plugin_imports.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-eslint-plugin-imports title: "@kbn/eslint-plugin-imports" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/eslint-plugin-imports plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/eslint-plugin-imports'] --- import kbnEslintPluginImportsObj from './kbn_eslint_plugin_imports.devdocs.json'; diff --git a/api_docs/kbn_field_types.mdx b/api_docs/kbn_field_types.mdx index 2f55215b9f3a9..31d58a0309f54 100644 --- a/api_docs/kbn_field_types.mdx +++ b/api_docs/kbn_field_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-field-types title: "@kbn/field-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/field-types plugin -date: 2022-11-20 +date: 2022-11-21 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 ae07164aa559e..3c482519f1b23 100644 --- a/api_docs/kbn_find_used_node_modules.mdx +++ b/api_docs/kbn_find_used_node_modules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-find-used-node-modules title: "@kbn/find-used-node-modules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/find-used-node-modules plugin -date: 2022-11-20 +date: 2022-11-21 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 046ba1796aa21..635e2abe39359 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: 2022-11-20 +date: 2022-11-21 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 5e0ed8b7e75cc..9fc69118eb12c 100644 --- a/api_docs/kbn_generate.mdx +++ b/api_docs/kbn_generate.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate title: "@kbn/generate" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate'] --- import kbnGenerateObj from './kbn_generate.devdocs.json'; diff --git a/api_docs/kbn_get_repo_files.mdx b/api_docs/kbn_get_repo_files.mdx index 85485c82f32fc..68bc5cc596416 100644 --- a/api_docs/kbn_get_repo_files.mdx +++ b/api_docs/kbn_get_repo_files.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-get-repo-files title: "@kbn/get-repo-files" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/get-repo-files plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/get-repo-files'] --- import kbnGetRepoFilesObj from './kbn_get_repo_files.devdocs.json'; diff --git a/api_docs/kbn_guided_onboarding.mdx b/api_docs/kbn_guided_onboarding.mdx index 50c3d515b8198..bf5be306ce157 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: 2022-11-20 +date: 2022-11-21 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 f1d3e53e70690..647945cccfc78 100644 --- a/api_docs/kbn_handlebars.mdx +++ b/api_docs/kbn_handlebars.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-handlebars title: "@kbn/handlebars" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/handlebars plugin -date: 2022-11-20 +date: 2022-11-21 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 7e00b5fc73ecd..d3bcad5dedf9b 100644 --- a/api_docs/kbn_hapi_mocks.mdx +++ b/api_docs/kbn_hapi_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-hapi-mocks title: "@kbn/hapi-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/hapi-mocks plugin -date: 2022-11-20 +date: 2022-11-21 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 294765ff4a545..cf5d534df5221 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: 2022-11-20 +date: 2022-11-21 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 110996005e7f9..23f948f99f104 100644 --- a/api_docs/kbn_home_sample_data_card.mdx +++ b/api_docs/kbn_home_sample_data_card.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-card title: "@kbn/home-sample-data-card" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-card plugin -date: 2022-11-20 +date: 2022-11-21 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 1a429a213532f..4d59489cf4502 100644 --- a/api_docs/kbn_home_sample_data_tab.mdx +++ b/api_docs/kbn_home_sample_data_tab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-tab title: "@kbn/home-sample-data-tab" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-tab plugin -date: 2022-11-20 +date: 2022-11-21 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 83a3789633505..ca775278d7784 100644 --- a/api_docs/kbn_i18n.mdx +++ b/api_docs/kbn_i18n.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n title: "@kbn/i18n" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n plugin -date: 2022-11-20 +date: 2022-11-21 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 9bb7c5095ab2d..1070197364876 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: 2022-11-20 +date: 2022-11-21 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 9c9abff75e3f4..4a5620756c9ee 100644 --- a/api_docs/kbn_import_resolver.mdx +++ b/api_docs/kbn_import_resolver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-import-resolver title: "@kbn/import-resolver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/import-resolver plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/import-resolver'] --- import kbnImportResolverObj from './kbn_import_resolver.devdocs.json'; diff --git a/api_docs/kbn_interpreter.mdx b/api_docs/kbn_interpreter.mdx index 2c92061399336..6575b761e4c20 100644 --- a/api_docs/kbn_interpreter.mdx +++ b/api_docs/kbn_interpreter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-interpreter title: "@kbn/interpreter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/interpreter plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/interpreter'] --- import kbnInterpreterObj from './kbn_interpreter.devdocs.json'; diff --git a/api_docs/kbn_io_ts_utils.mdx b/api_docs/kbn_io_ts_utils.mdx index e2d7347f55117..8327ccb3ceb15 100644 --- a/api_docs/kbn_io_ts_utils.mdx +++ b/api_docs/kbn_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-io-ts-utils title: "@kbn/io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/io-ts-utils plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/io-ts-utils'] --- import kbnIoTsUtilsObj from './kbn_io_ts_utils.devdocs.json'; diff --git a/api_docs/kbn_jest_serializers.mdx b/api_docs/kbn_jest_serializers.mdx index 268d2851214ad..47033eca12dcc 100644 --- a/api_docs/kbn_jest_serializers.mdx +++ b/api_docs/kbn_jest_serializers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-jest-serializers title: "@kbn/jest-serializers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/jest-serializers plugin -date: 2022-11-20 +date: 2022-11-21 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 58b6d46780c76..c3612f39c98f2 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: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/journeys'] --- import kbnJourneysObj from './kbn_journeys.devdocs.json'; diff --git a/api_docs/kbn_kibana_manifest_schema.mdx b/api_docs/kbn_kibana_manifest_schema.mdx index 0961ff311d2ba..8419ed286ed0b 100644 --- a/api_docs/kbn_kibana_manifest_schema.mdx +++ b/api_docs/kbn_kibana_manifest_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-kibana-manifest-schema title: "@kbn/kibana-manifest-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/kibana-manifest-schema plugin -date: 2022-11-20 +date: 2022-11-21 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 d99da591a9475..09a431da3e5c4 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: 2022-11-20 +date: 2022-11-21 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 8046049651b88..51ab314b5007c 100644 --- a/api_docs/kbn_logging.mdx +++ b/api_docs/kbn_logging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging title: "@kbn/logging" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging plugin -date: 2022-11-20 +date: 2022-11-21 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 9e3b6364c0efb..38d28ef180a2d 100644 --- a/api_docs/kbn_logging_mocks.mdx +++ b/api_docs/kbn_logging_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging-mocks title: "@kbn/logging-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging-mocks plugin -date: 2022-11-20 +date: 2022-11-21 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 c17c63b8c21a0..2ad2db52913fe 100644 --- a/api_docs/kbn_managed_vscode_config.mdx +++ b/api_docs/kbn_managed_vscode_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-managed-vscode-config title: "@kbn/managed-vscode-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/managed-vscode-config plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/managed-vscode-config'] --- import kbnManagedVscodeConfigObj from './kbn_managed_vscode_config.devdocs.json'; diff --git a/api_docs/kbn_mapbox_gl.mdx b/api_docs/kbn_mapbox_gl.mdx index c5b39321403b0..2f793d1546713 100644 --- a/api_docs/kbn_mapbox_gl.mdx +++ b/api_docs/kbn_mapbox_gl.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-mapbox-gl title: "@kbn/mapbox-gl" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/mapbox-gl plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/mapbox-gl'] --- import kbnMapboxGlObj from './kbn_mapbox_gl.devdocs.json'; diff --git a/api_docs/kbn_ml_agg_utils.mdx b/api_docs/kbn_ml_agg_utils.mdx index 159cefbd6ee80..2ff035a1f0fa7 100644 --- a/api_docs/kbn_ml_agg_utils.mdx +++ b/api_docs/kbn_ml_agg_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-agg-utils title: "@kbn/ml-agg-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-agg-utils plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-agg-utils'] --- import kbnMlAggUtilsObj from './kbn_ml_agg_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_is_populated_object.mdx b/api_docs/kbn_ml_is_populated_object.mdx index 9bf2fff4f077f..2f85f639c7706 100644 --- a/api_docs/kbn_ml_is_populated_object.mdx +++ b/api_docs/kbn_ml_is_populated_object.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-populated-object title: "@kbn/ml-is-populated-object" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-populated-object plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-populated-object'] --- import kbnMlIsPopulatedObjectObj from './kbn_ml_is_populated_object.devdocs.json'; diff --git a/api_docs/kbn_ml_string_hash.mdx b/api_docs/kbn_ml_string_hash.mdx index 6d8bf24561adc..e2ccd404d8140 100644 --- a/api_docs/kbn_ml_string_hash.mdx +++ b/api_docs/kbn_ml_string_hash.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-string-hash title: "@kbn/ml-string-hash" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-string-hash plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-string-hash'] --- import kbnMlStringHashObj from './kbn_ml_string_hash.devdocs.json'; diff --git a/api_docs/kbn_monaco.mdx b/api_docs/kbn_monaco.mdx index db25b5e52dd23..e8636da76e9b2 100644 --- a/api_docs/kbn_monaco.mdx +++ b/api_docs/kbn_monaco.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-monaco title: "@kbn/monaco" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/monaco plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/monaco'] --- import kbnMonacoObj from './kbn_monaco.devdocs.json'; diff --git a/api_docs/kbn_optimizer.mdx b/api_docs/kbn_optimizer.mdx index 98b2cda4f91a9..f2267c58fd66c 100644 --- a/api_docs/kbn_optimizer.mdx +++ b/api_docs/kbn_optimizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer title: "@kbn/optimizer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer plugin -date: 2022-11-20 +date: 2022-11-21 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 83bb4c9f585e6..380c73b507905 100644 --- a/api_docs/kbn_optimizer_webpack_helpers.mdx +++ b/api_docs/kbn_optimizer_webpack_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer-webpack-helpers title: "@kbn/optimizer-webpack-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer-webpack-helpers plugin -date: 2022-11-20 +date: 2022-11-21 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 b87f868c429ce..d5010ad348cde 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: 2022-11-20 +date: 2022-11-21 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 1612dcdea8137..fa6ad0b5312bb 100644 --- a/api_docs/kbn_performance_testing_dataset_extractor.mdx +++ b/api_docs/kbn_performance_testing_dataset_extractor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-performance-testing-dataset-extractor title: "@kbn/performance-testing-dataset-extractor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/performance-testing-dataset-extractor plugin -date: 2022-11-20 +date: 2022-11-21 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 7a60aa776ea2c..14dc9a58bde30 100644 --- a/api_docs/kbn_plugin_generator.mdx +++ b/api_docs/kbn_plugin_generator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-generator title: "@kbn/plugin-generator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-generator plugin -date: 2022-11-20 +date: 2022-11-21 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 1b7267356de97..27a9e235e156c 100644 --- a/api_docs/kbn_plugin_helpers.mdx +++ b/api_docs/kbn_plugin_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-helpers title: "@kbn/plugin-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-helpers plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-helpers'] --- import kbnPluginHelpersObj from './kbn_plugin_helpers.devdocs.json'; diff --git a/api_docs/kbn_react_field.mdx b/api_docs/kbn_react_field.mdx index f0ddd7ba65027..46a9490185b60 100644 --- a/api_docs/kbn_react_field.mdx +++ b/api_docs/kbn_react_field.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-field title: "@kbn/react-field" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-field plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-field'] --- import kbnReactFieldObj from './kbn_react_field.devdocs.json'; diff --git a/api_docs/kbn_repo_source_classifier.mdx b/api_docs/kbn_repo_source_classifier.mdx index 3e356f67509a3..601c57c40b7b4 100644 --- a/api_docs/kbn_repo_source_classifier.mdx +++ b/api_docs/kbn_repo_source_classifier.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-source-classifier title: "@kbn/repo-source-classifier" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-source-classifier plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-source-classifier'] --- import kbnRepoSourceClassifierObj from './kbn_repo_source_classifier.devdocs.json'; diff --git a/api_docs/kbn_rule_data_utils.mdx b/api_docs/kbn_rule_data_utils.mdx index 410ceebaa7098..a1ee7bb80e944 100644 --- a/api_docs/kbn_rule_data_utils.mdx +++ b/api_docs/kbn_rule_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rule-data-utils title: "@kbn/rule-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rule-data-utils plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rule-data-utils'] --- import kbnRuleDataUtilsObj from './kbn_rule_data_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_autocomplete.mdx b/api_docs/kbn_securitysolution_autocomplete.mdx index 0eea649341cba..312198f71e16b 100644 --- a/api_docs/kbn_securitysolution_autocomplete.mdx +++ b/api_docs/kbn_securitysolution_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-autocomplete title: "@kbn/securitysolution-autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-autocomplete plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-autocomplete'] --- import kbnSecuritysolutionAutocompleteObj from './kbn_securitysolution_autocomplete.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_es_utils.mdx b/api_docs/kbn_securitysolution_es_utils.mdx index 537443900bc90..07f85d9498b7c 100644 --- a/api_docs/kbn_securitysolution_es_utils.mdx +++ b/api_docs/kbn_securitysolution_es_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-es-utils title: "@kbn/securitysolution-es-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-es-utils plugin -date: 2022-11-20 +date: 2022-11-21 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 bc86a59cb06af..03d0355872c2f 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: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-exception-list-components'] --- import kbnSecuritysolutionExceptionListComponentsObj from './kbn_securitysolution_exception_list_components.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_hook_utils.mdx b/api_docs/kbn_securitysolution_hook_utils.mdx index af6c879ae9544..67c05e20ec96a 100644 --- a/api_docs/kbn_securitysolution_hook_utils.mdx +++ b/api_docs/kbn_securitysolution_hook_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-hook-utils title: "@kbn/securitysolution-hook-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-hook-utils plugin -date: 2022-11-20 +date: 2022-11-21 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 f89b17e4cb4e7..1d5854ccf516d 100644 --- a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-alerting-types title: "@kbn/securitysolution-io-ts-alerting-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-alerting-types plugin -date: 2022-11-20 +date: 2022-11-21 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 7185ff47f21f3..46d077447abfb 100644 --- a/api_docs/kbn_securitysolution_io_ts_list_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_list_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-list-types title: "@kbn/securitysolution-io-ts-list-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-list-types plugin -date: 2022-11-20 +date: 2022-11-21 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 a4e5757b6fc20..c4b9cd5280610 100644 --- a/api_docs/kbn_securitysolution_io_ts_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-types title: "@kbn/securitysolution-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-types plugin -date: 2022-11-20 +date: 2022-11-21 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 698c15b8bf1b3..b820b348fe2c6 100644 --- a/api_docs/kbn_securitysolution_io_ts_utils.mdx +++ b/api_docs/kbn_securitysolution_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-utils title: "@kbn/securitysolution-io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-utils plugin -date: 2022-11-20 +date: 2022-11-21 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 9c5aacae13bcb..da489992a3489 100644 --- a/api_docs/kbn_securitysolution_list_api.mdx +++ b/api_docs/kbn_securitysolution_list_api.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-api title: "@kbn/securitysolution-list-api" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-api plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-api'] --- import kbnSecuritysolutionListApiObj from './kbn_securitysolution_list_api.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_constants.mdx b/api_docs/kbn_securitysolution_list_constants.mdx index 645e79e0ef432..8ed433fc554e8 100644 --- a/api_docs/kbn_securitysolution_list_constants.mdx +++ b/api_docs/kbn_securitysolution_list_constants.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-constants title: "@kbn/securitysolution-list-constants" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-constants plugin -date: 2022-11-20 +date: 2022-11-21 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 52074df861a88..cef6589c7121b 100644 --- a/api_docs/kbn_securitysolution_list_hooks.mdx +++ b/api_docs/kbn_securitysolution_list_hooks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-hooks title: "@kbn/securitysolution-list-hooks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-hooks plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-hooks'] --- import kbnSecuritysolutionListHooksObj from './kbn_securitysolution_list_hooks.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_utils.mdx b/api_docs/kbn_securitysolution_list_utils.mdx index 7e34c1fe7f081..d0dbc93f0dafa 100644 --- a/api_docs/kbn_securitysolution_list_utils.mdx +++ b/api_docs/kbn_securitysolution_list_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-utils title: "@kbn/securitysolution-list-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-utils plugin -date: 2022-11-20 +date: 2022-11-21 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 ba275ff5f078f..1603aa4917cb4 100644 --- a/api_docs/kbn_securitysolution_rules.mdx +++ b/api_docs/kbn_securitysolution_rules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-rules title: "@kbn/securitysolution-rules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-rules plugin -date: 2022-11-20 +date: 2022-11-21 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 d13a187dcfdaa..26c6065eb7eca 100644 --- a/api_docs/kbn_securitysolution_t_grid.mdx +++ b/api_docs/kbn_securitysolution_t_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-t-grid title: "@kbn/securitysolution-t-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-t-grid plugin -date: 2022-11-20 +date: 2022-11-21 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 e6cdd11250f4f..394becbef4053 100644 --- a/api_docs/kbn_securitysolution_utils.mdx +++ b/api_docs/kbn_securitysolution_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-utils title: "@kbn/securitysolution-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-utils plugin -date: 2022-11-20 +date: 2022-11-21 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 10db46699afae..22c219d22cd44 100644 --- a/api_docs/kbn_server_http_tools.mdx +++ b/api_docs/kbn_server_http_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-http-tools title: "@kbn/server-http-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-http-tools plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-http-tools'] --- import kbnServerHttpToolsObj from './kbn_server_http_tools.devdocs.json'; diff --git a/api_docs/kbn_server_route_repository.mdx b/api_docs/kbn_server_route_repository.mdx index 8baab152c19d7..7030c81a5cbe9 100644 --- a/api_docs/kbn_server_route_repository.mdx +++ b/api_docs/kbn_server_route_repository.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-route-repository title: "@kbn/server-route-repository" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-route-repository plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-route-repository'] --- import kbnServerRouteRepositoryObj from './kbn_server_route_repository.devdocs.json'; diff --git a/api_docs/kbn_shared_svg.mdx b/api_docs/kbn_shared_svg.mdx index 12c1c0b07c999..daee0e48a152d 100644 --- a/api_docs/kbn_shared_svg.mdx +++ b/api_docs/kbn_shared_svg.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-svg title: "@kbn/shared-svg" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-svg plugin -date: 2022-11-20 +date: 2022-11-21 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 ecfd2d8ba52da..38ddcc236312b 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: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-solution'] --- import kbnSharedUxAvatarSolutionObj from './kbn_shared_ux_avatar_solution.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx index cd5dcfd824488..e6ed1a2abbd36 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: 2022-11-20 +date: 2022-11-21 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 5084026d7085b..28f3d441b9d49 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: 2022-11-20 +date: 2022-11-21 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 6c95326c7ec42..4e73d5fe7000f 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen-mocks title: "@kbn/shared-ux-button-exit-full-screen-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen-mocks plugin -date: 2022-11-20 +date: 2022-11-21 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 54ce85b574e2e..3cd5e6a5393bf 100644 --- a/api_docs/kbn_shared_ux_button_toolbar.mdx +++ b/api_docs/kbn_shared_ux_button_toolbar.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-toolbar title: "@kbn/shared-ux-button-toolbar" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-toolbar plugin -date: 2022-11-20 +date: 2022-11-21 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 e7bac8630c9c4..c942b397fe359 100644 --- a/api_docs/kbn_shared_ux_card_no_data.mdx +++ b/api_docs/kbn_shared_ux_card_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data title: "@kbn/shared-ux-card-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data plugin -date: 2022-11-20 +date: 2022-11-21 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 483a18c68ed57..fb61da218ef5e 100644 --- a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data-mocks title: "@kbn/shared-ux-card-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data-mocks plugin -date: 2022-11-20 +date: 2022-11-21 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_link_redirect_app.mdx b/api_docs/kbn_shared_ux_link_redirect_app.mdx index 54f1f820282e3..5d9bc8a530c1d 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: 2022-11-20 +date: 2022-11-21 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 2537a6bd3f2e3..4755a2f90a784 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app-mocks title: "@kbn/shared-ux-link-redirect-app-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app-mocks plugin -date: 2022-11-20 +date: 2022-11-21 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 d9b7b9febd413..293335c7eeb2f 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: 2022-11-20 +date: 2022-11-21 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 926ebafbf0076..67cc4e57e6f5e 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: 2022-11-20 +date: 2022-11-21 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 27c8b3f5a0e74..2b789946c4075 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data title: "@kbn/shared-ux-page-analytics-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data plugin -date: 2022-11-20 +date: 2022-11-21 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 1786a1e46543a..bf87166fe3c57 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data-mocks title: "@kbn/shared-ux-page-analytics-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data-mocks plugin -date: 2022-11-20 +date: 2022-11-21 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 4420d96d47e92..4f3c0c76979c5 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data title: "@kbn/shared-ux-page-kibana-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data plugin -date: 2022-11-20 +date: 2022-11-21 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 375e9e79311aa..d1f1769a2c50a 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data-mocks title: "@kbn/shared-ux-page-kibana-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data-mocks plugin -date: 2022-11-20 +date: 2022-11-21 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 0b78a07c7bb06..9efc1f2ff3f8e 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: 2022-11-20 +date: 2022-11-21 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 e05f59528cc4a..5672dfc62f5b2 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: 2022-11-20 +date: 2022-11-21 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 10eeee950203a..1f26fdbe51262 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: 2022-11-20 +date: 2022-11-21 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 c387af91d92a2..44c8c21e54ae8 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: 2022-11-20 +date: 2022-11-21 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 7d179d46d6c8b..fe42fdfb8d028 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: 2022-11-20 +date: 2022-11-21 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 1f1d9d522c46d..2c237ba0852d0 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: 2022-11-20 +date: 2022-11-21 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 8b87b8b6d29ba..0a3f75264f609 100644 --- a/api_docs/kbn_shared_ux_page_solution_nav.mdx +++ b/api_docs/kbn_shared_ux_page_solution_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-solution-nav title: "@kbn/shared-ux-page-solution-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-solution-nav plugin -date: 2022-11-20 +date: 2022-11-21 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 de198daf65cff..e1c082da5cffe 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views title: "@kbn/shared-ux-prompt-no-data-views" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views plugin -date: 2022-11-20 +date: 2022-11-21 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 9c8ba99d98de1..c4fd4654c6364 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views-mocks title: "@kbn/shared-ux-prompt-no-data-views-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views-mocks plugin -date: 2022-11-20 +date: 2022-11-21 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_router.mdx b/api_docs/kbn_shared_ux_router.mdx index 02169d12dd5a4..c13b12f4be5be 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: 2022-11-20 +date: 2022-11-21 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 39a84140182da..2e31ff6c01aab 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: 2022-11-20 +date: 2022-11-21 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 359b349671303..c640702557a95 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: 2022-11-20 +date: 2022-11-21 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 84f7791bb5e24..bfee23224b87a 100644 --- a/api_docs/kbn_shared_ux_storybook_mock.mdx +++ b/api_docs/kbn_shared_ux_storybook_mock.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-mock title: "@kbn/shared-ux-storybook-mock" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-mock plugin -date: 2022-11-20 +date: 2022-11-21 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 5725bdc76a7bc..a64280f9ccb9c 100644 --- a/api_docs/kbn_shared_ux_utility.mdx +++ b/api_docs/kbn_shared_ux_utility.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-utility title: "@kbn/shared-ux-utility" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-utility plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-utility'] --- import kbnSharedUxUtilityObj from './kbn_shared_ux_utility.devdocs.json'; diff --git a/api_docs/kbn_some_dev_log.mdx b/api_docs/kbn_some_dev_log.mdx index 060745e49e084..e4ae309d076cc 100644 --- a/api_docs/kbn_some_dev_log.mdx +++ b/api_docs/kbn_some_dev_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-some-dev-log title: "@kbn/some-dev-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/some-dev-log plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/some-dev-log'] --- import kbnSomeDevLogObj from './kbn_some_dev_log.devdocs.json'; diff --git a/api_docs/kbn_sort_package_json.mdx b/api_docs/kbn_sort_package_json.mdx index 2a3edaad0883a..754039ddc408b 100644 --- a/api_docs/kbn_sort_package_json.mdx +++ b/api_docs/kbn_sort_package_json.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-sort-package-json title: "@kbn/sort-package-json" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/sort-package-json plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/sort-package-json'] --- import kbnSortPackageJsonObj from './kbn_sort_package_json.devdocs.json'; diff --git a/api_docs/kbn_std.mdx b/api_docs/kbn_std.mdx index b2ed27b4be9f7..f9fc0c9ee2834 100644 --- a/api_docs/kbn_std.mdx +++ b/api_docs/kbn_std.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-std title: "@kbn/std" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/std plugin -date: 2022-11-20 +date: 2022-11-21 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 5519850e01ca9..e72669d20e9a9 100644 --- a/api_docs/kbn_stdio_dev_helpers.mdx +++ b/api_docs/kbn_stdio_dev_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-stdio-dev-helpers title: "@kbn/stdio-dev-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/stdio-dev-helpers plugin -date: 2022-11-20 +date: 2022-11-21 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 8366a568fd36d..f6c8b0e3caa4c 100644 --- a/api_docs/kbn_storybook.mdx +++ b/api_docs/kbn_storybook.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-storybook title: "@kbn/storybook" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/storybook plugin -date: 2022-11-20 +date: 2022-11-21 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 4572f6f387fcb..2033049e0db97 100644 --- a/api_docs/kbn_telemetry_tools.mdx +++ b/api_docs/kbn_telemetry_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-telemetry-tools title: "@kbn/telemetry-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/telemetry-tools plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/telemetry-tools'] --- import kbnTelemetryToolsObj from './kbn_telemetry_tools.devdocs.json'; diff --git a/api_docs/kbn_test.mdx b/api_docs/kbn_test.mdx index 32503d1c66127..2a1d32d256cc3 100644 --- a/api_docs/kbn_test.mdx +++ b/api_docs/kbn_test.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test title: "@kbn/test" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test'] --- import kbnTestObj from './kbn_test.devdocs.json'; diff --git a/api_docs/kbn_test_jest_helpers.mdx b/api_docs/kbn_test_jest_helpers.mdx index c8d9f5618129e..6cf5d4b1aab74 100644 --- a/api_docs/kbn_test_jest_helpers.mdx +++ b/api_docs/kbn_test_jest_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-jest-helpers title: "@kbn/test-jest-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-jest-helpers plugin -date: 2022-11-20 +date: 2022-11-21 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 46350fe725a10..c515721889e23 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: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-subj-selector'] --- import kbnTestSubjSelectorObj from './kbn_test_subj_selector.devdocs.json'; diff --git a/api_docs/kbn_tooling_log.mdx b/api_docs/kbn_tooling_log.mdx index 2031935bdb454..fe4a9f01ee995 100644 --- a/api_docs/kbn_tooling_log.mdx +++ b/api_docs/kbn_tooling_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-tooling-log title: "@kbn/tooling-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/tooling-log plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/tooling-log'] --- import kbnToolingLogObj from './kbn_tooling_log.devdocs.json'; diff --git a/api_docs/kbn_type_summarizer.mdx b/api_docs/kbn_type_summarizer.mdx index 539999fa29b44..c4b8260d9f278 100644 --- a/api_docs/kbn_type_summarizer.mdx +++ b/api_docs/kbn_type_summarizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-type-summarizer title: "@kbn/type-summarizer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/type-summarizer plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/type-summarizer'] --- import kbnTypeSummarizerObj from './kbn_type_summarizer.devdocs.json'; diff --git a/api_docs/kbn_type_summarizer_core.mdx b/api_docs/kbn_type_summarizer_core.mdx index 7b2901fc109ba..d019eae18234a 100644 --- a/api_docs/kbn_type_summarizer_core.mdx +++ b/api_docs/kbn_type_summarizer_core.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-type-summarizer-core title: "@kbn/type-summarizer-core" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/type-summarizer-core plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/type-summarizer-core'] --- import kbnTypeSummarizerCoreObj from './kbn_type_summarizer_core.devdocs.json'; diff --git a/api_docs/kbn_typed_react_router_config.mdx b/api_docs/kbn_typed_react_router_config.mdx index 4b2de7d2e7ea1..b3363f9e947ab 100644 --- a/api_docs/kbn_typed_react_router_config.mdx +++ b/api_docs/kbn_typed_react_router_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-typed-react-router-config title: "@kbn/typed-react-router-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/typed-react-router-config plugin -date: 2022-11-20 +date: 2022-11-21 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_shared_deps_src.mdx b/api_docs/kbn_ui_shared_deps_src.mdx index a01f49ed3d862..09bff7986b475 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: 2022-11-20 +date: 2022-11-21 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 4351e8a0c2df0..182d67f635712 100644 --- a/api_docs/kbn_ui_theme.mdx +++ b/api_docs/kbn_ui_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-theme title: "@kbn/ui-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-theme plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-theme'] --- import kbnUiThemeObj from './kbn_ui_theme.devdocs.json'; diff --git a/api_docs/kbn_user_profile_components.mdx b/api_docs/kbn_user_profile_components.mdx index c1959e5714813..4800d9ad03b55 100644 --- a/api_docs/kbn_user_profile_components.mdx +++ b/api_docs/kbn_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-user-profile-components title: "@kbn/user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/user-profile-components plugin -date: 2022-11-20 +date: 2022-11-21 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 7a8b85ef10433..8603018fe3981 100644 --- a/api_docs/kbn_utility_types.mdx +++ b/api_docs/kbn_utility_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types title: "@kbn/utility-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types plugin -date: 2022-11-20 +date: 2022-11-21 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 0beb1cfe6b770..4b6e59b1e13f9 100644 --- a/api_docs/kbn_utility_types_jest.mdx +++ b/api_docs/kbn_utility_types_jest.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types-jest title: "@kbn/utility-types-jest" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types-jest plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utility-types-jest'] --- import kbnUtilityTypesJestObj from './kbn_utility_types_jest.devdocs.json'; diff --git a/api_docs/kbn_utils.mdx b/api_docs/kbn_utils.mdx index 507a363bf5d6b..b5b5cf337fea2 100644 --- a/api_docs/kbn_utils.mdx +++ b/api_docs/kbn_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utils title: "@kbn/utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utils plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utils'] --- import kbnUtilsObj from './kbn_utils.devdocs.json'; diff --git a/api_docs/kbn_yarn_lock_validator.mdx b/api_docs/kbn_yarn_lock_validator.mdx index 417f9f1c5504c..4fc98591c2d8a 100644 --- a/api_docs/kbn_yarn_lock_validator.mdx +++ b/api_docs/kbn_yarn_lock_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-yarn-lock-validator title: "@kbn/yarn-lock-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/yarn-lock-validator plugin -date: 2022-11-20 +date: 2022-11-21 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 949845d0dd443..c24319c87e6c1 100644 --- a/api_docs/kibana_overview.mdx +++ b/api_docs/kibana_overview.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaOverview title: "kibanaOverview" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaOverview plugin -date: 2022-11-20 +date: 2022-11-21 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 e46f937abbeaa..17b9c4fe8259c 100644 --- a/api_docs/kibana_react.mdx +++ b/api_docs/kibana_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaReact title: "kibanaReact" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaReact plugin -date: 2022-11-20 +date: 2022-11-21 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 cca47c17a640c..5e47164695208 100644 --- a/api_docs/kibana_utils.mdx +++ b/api_docs/kibana_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaUtils title: "kibanaUtils" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaUtils plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaUtils'] --- import kibanaUtilsObj from './kibana_utils.devdocs.json'; diff --git a/api_docs/kubernetes_security.mdx b/api_docs/kubernetes_security.mdx index 2e7f0462fe348..de0c12f1d634f 100644 --- a/api_docs/kubernetes_security.mdx +++ b/api_docs/kubernetes_security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kubernetesSecurity title: "kubernetesSecurity" image: https://source.unsplash.com/400x175/?github description: API docs for the kubernetesSecurity plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kubernetesSecurity'] --- import kubernetesSecurityObj from './kubernetes_security.devdocs.json'; diff --git a/api_docs/lens.mdx b/api_docs/lens.mdx index 4062cb0fd2822..e965cca884f7e 100644 --- a/api_docs/lens.mdx +++ b/api_docs/lens.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lens title: "lens" image: https://source.unsplash.com/400x175/?github description: API docs for the lens plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lens'] --- import lensObj from './lens.devdocs.json'; diff --git a/api_docs/license_api_guard.mdx b/api_docs/license_api_guard.mdx index d85972a90b45f..d71b55a18a7cc 100644 --- a/api_docs/license_api_guard.mdx +++ b/api_docs/license_api_guard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseApiGuard title: "licenseApiGuard" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseApiGuard plugin -date: 2022-11-20 +date: 2022-11-21 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 6ed744796b885..f5872a88705d8 100644 --- a/api_docs/license_management.mdx +++ b/api_docs/license_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseManagement title: "licenseManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseManagement plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseManagement'] --- import licenseManagementObj from './license_management.devdocs.json'; diff --git a/api_docs/licensing.mdx b/api_docs/licensing.mdx index 42248ad8c94d2..cb259d51a9cd8 100644 --- a/api_docs/licensing.mdx +++ b/api_docs/licensing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licensing title: "licensing" image: https://source.unsplash.com/400x175/?github description: API docs for the licensing plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licensing'] --- import licensingObj from './licensing.devdocs.json'; diff --git a/api_docs/lists.mdx b/api_docs/lists.mdx index 09b742dfec8a3..d736caa59fa05 100644 --- a/api_docs/lists.mdx +++ b/api_docs/lists.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lists title: "lists" image: https://source.unsplash.com/400x175/?github description: API docs for the lists plugin -date: 2022-11-20 +date: 2022-11-21 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 a40b1f9db1e8c..d90efa9ab0383 100644 --- a/api_docs/management.mdx +++ b/api_docs/management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/management title: "management" image: https://source.unsplash.com/400x175/?github description: API docs for the management plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'management'] --- import managementObj from './management.devdocs.json'; diff --git a/api_docs/maps.mdx b/api_docs/maps.mdx index c4311567fec37..44550b24f13f0 100644 --- a/api_docs/maps.mdx +++ b/api_docs/maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/maps title: "maps" image: https://source.unsplash.com/400x175/?github description: API docs for the maps plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'maps'] --- import mapsObj from './maps.devdocs.json'; diff --git a/api_docs/maps_ems.mdx b/api_docs/maps_ems.mdx index 84a4cf1b1c89a..50406700acf16 100644 --- a/api_docs/maps_ems.mdx +++ b/api_docs/maps_ems.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/mapsEms title: "mapsEms" image: https://source.unsplash.com/400x175/?github description: API docs for the mapsEms plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'mapsEms'] --- import mapsEmsObj from './maps_ems.devdocs.json'; diff --git a/api_docs/ml.mdx b/api_docs/ml.mdx index fdfba6776b571..32a2462067741 100644 --- a/api_docs/ml.mdx +++ b/api_docs/ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ml title: "ml" image: https://source.unsplash.com/400x175/?github description: API docs for the ml plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ml'] --- import mlObj from './ml.devdocs.json'; diff --git a/api_docs/monitoring.mdx b/api_docs/monitoring.mdx index 033de01efc74d..bd4811b2c6a31 100644 --- a/api_docs/monitoring.mdx +++ b/api_docs/monitoring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoring title: "monitoring" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoring plugin -date: 2022-11-20 +date: 2022-11-21 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 e84a2862d5842..c4af1d7adfe0a 100644 --- a/api_docs/monitoring_collection.mdx +++ b/api_docs/monitoring_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoringCollection title: "monitoringCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoringCollection plugin -date: 2022-11-20 +date: 2022-11-21 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 1ad6aec92142c..2a754d986adb4 100644 --- a/api_docs/navigation.mdx +++ b/api_docs/navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/navigation title: "navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the navigation plugin -date: 2022-11-20 +date: 2022-11-21 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 381f20c157ed4..a95e5825eabe5 100644 --- a/api_docs/newsfeed.mdx +++ b/api_docs/newsfeed.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/newsfeed title: "newsfeed" image: https://source.unsplash.com/400x175/?github description: API docs for the newsfeed plugin -date: 2022-11-20 +date: 2022-11-21 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 80d25c2a80dd3..1b09a6b360244 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: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'notifications'] --- import notificationsObj from './notifications.devdocs.json'; diff --git a/api_docs/observability.mdx b/api_docs/observability.mdx index 7cf0c9344838f..bcbf3577d0aea 100644 --- a/api_docs/observability.mdx +++ b/api_docs/observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observability title: "observability" image: https://source.unsplash.com/400x175/?github description: API docs for the observability plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observability'] --- import observabilityObj from './observability.devdocs.json'; diff --git a/api_docs/osquery.mdx b/api_docs/osquery.mdx index 89d8445990606..b03af5e062799 100644 --- a/api_docs/osquery.mdx +++ b/api_docs/osquery.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/osquery title: "osquery" image: https://source.unsplash.com/400x175/?github description: API docs for the osquery plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'osquery'] --- import osqueryObj from './osquery.devdocs.json'; diff --git a/api_docs/plugin_directory.mdx b/api_docs/plugin_directory.mdx index f5b938358149e..0f0ec053aedd2 100644 --- a/api_docs/plugin_directory.mdx +++ b/api_docs/plugin_directory.mdx @@ -7,7 +7,7 @@ id: kibDevDocsPluginDirectory slug: /kibana-dev-docs/api-meta/plugin-api-directory title: Directory description: Directory of public APIs available through plugins or packages. -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx index 50ad0cf71e2df..2604efd933511 100644 --- a/api_docs/presentation_util.mdx +++ b/api_docs/presentation_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/presentationUtil title: "presentationUtil" image: https://source.unsplash.com/400x175/?github description: API docs for the presentationUtil plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'presentationUtil'] --- import presentationUtilObj from './presentation_util.devdocs.json'; diff --git a/api_docs/profiling.mdx b/api_docs/profiling.mdx index 397bfef92e1d3..411562d512058 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: 2022-11-20 +date: 2022-11-21 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 c23d015eb0f64..88d16cab1801c 100644 --- a/api_docs/remote_clusters.mdx +++ b/api_docs/remote_clusters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/remoteClusters title: "remoteClusters" image: https://source.unsplash.com/400x175/?github description: API docs for the remoteClusters plugin -date: 2022-11-20 +date: 2022-11-21 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 23d050e3920b0..f40a51eb67d49 100644 --- a/api_docs/reporting.mdx +++ b/api_docs/reporting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/reporting title: "reporting" image: https://source.unsplash.com/400x175/?github description: API docs for the reporting plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'reporting'] --- import reportingObj from './reporting.devdocs.json'; diff --git a/api_docs/rollup.mdx b/api_docs/rollup.mdx index 4ac59edc7e728..9f5819aa2bd75 100644 --- a/api_docs/rollup.mdx +++ b/api_docs/rollup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/rollup title: "rollup" image: https://source.unsplash.com/400x175/?github description: API docs for the rollup plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'rollup'] --- import rollupObj from './rollup.devdocs.json'; diff --git a/api_docs/rule_registry.mdx b/api_docs/rule_registry.mdx index 6ccd2d6007d1d..73693a4dc2e47 100644 --- a/api_docs/rule_registry.mdx +++ b/api_docs/rule_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ruleRegistry title: "ruleRegistry" image: https://source.unsplash.com/400x175/?github description: API docs for the ruleRegistry plugin -date: 2022-11-20 +date: 2022-11-21 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 6bb14de1e0c38..8f07c8b0369c1 100644 --- a/api_docs/runtime_fields.mdx +++ b/api_docs/runtime_fields.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/runtimeFields title: "runtimeFields" image: https://source.unsplash.com/400x175/?github description: API docs for the runtimeFields plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'runtimeFields'] --- import runtimeFieldsObj from './runtime_fields.devdocs.json'; diff --git a/api_docs/saved_objects.mdx b/api_docs/saved_objects.mdx index d69b4d91d0a1e..40760f0b885b3 100644 --- a/api_docs/saved_objects.mdx +++ b/api_docs/saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjects title: "savedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjects plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjects'] --- import savedObjectsObj from './saved_objects.devdocs.json'; diff --git a/api_docs/saved_objects_finder.mdx b/api_docs/saved_objects_finder.mdx index 6a51016ab7be4..105c54b2eca8f 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: 2022-11-20 +date: 2022-11-21 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 090005664ed58..84d49e1306bb5 100644 --- a/api_docs/saved_objects_management.mdx +++ b/api_docs/saved_objects_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsManagement title: "savedObjectsManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsManagement plugin -date: 2022-11-20 +date: 2022-11-21 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 7daee56428649..be4ac71b9a5c0 100644 --- a/api_docs/saved_objects_tagging.mdx +++ b/api_docs/saved_objects_tagging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTagging title: "savedObjectsTagging" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTagging plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTagging'] --- import savedObjectsTaggingObj from './saved_objects_tagging.devdocs.json'; diff --git a/api_docs/saved_objects_tagging_oss.mdx b/api_docs/saved_objects_tagging_oss.mdx index eec8d6a461599..3b1bcf12df61d 100644 --- a/api_docs/saved_objects_tagging_oss.mdx +++ b/api_docs/saved_objects_tagging_oss.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTaggingOss title: "savedObjectsTaggingOss" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTaggingOss plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTaggingOss'] --- import savedObjectsTaggingOssObj from './saved_objects_tagging_oss.devdocs.json'; diff --git a/api_docs/saved_search.mdx b/api_docs/saved_search.mdx index fc95eeabb7ec9..497456ec95fd5 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: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedSearch'] --- import savedSearchObj from './saved_search.devdocs.json'; diff --git a/api_docs/screenshot_mode.mdx b/api_docs/screenshot_mode.mdx index 336a6784f2f17..ea239153e7456 100644 --- a/api_docs/screenshot_mode.mdx +++ b/api_docs/screenshot_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotMode title: "screenshotMode" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotMode plugin -date: 2022-11-20 +date: 2022-11-21 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 4a26e9fcea91c..2ee9a4490155f 100644 --- a/api_docs/screenshotting.mdx +++ b/api_docs/screenshotting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotting title: "screenshotting" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotting plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'screenshotting'] --- import screenshottingObj from './screenshotting.devdocs.json'; diff --git a/api_docs/security.mdx b/api_docs/security.mdx index 78c16c5c5d58e..5cb299651c33d 100644 --- a/api_docs/security.mdx +++ b/api_docs/security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/security title: "security" image: https://source.unsplash.com/400x175/?github description: API docs for the security plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'security'] --- import securityObj from './security.devdocs.json'; diff --git a/api_docs/security_solution.mdx b/api_docs/security_solution.mdx index 0cd407c25c296..ff014f7e41434 100644 --- a/api_docs/security_solution.mdx +++ b/api_docs/security_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolution title: "securitySolution" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolution plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolution'] --- import securitySolutionObj from './security_solution.devdocs.json'; diff --git a/api_docs/session_view.mdx b/api_docs/session_view.mdx index d8fef2bda6485..aa856cca59519 100644 --- a/api_docs/session_view.mdx +++ b/api_docs/session_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/sessionView title: "sessionView" image: https://source.unsplash.com/400x175/?github description: API docs for the sessionView plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'sessionView'] --- import sessionViewObj from './session_view.devdocs.json'; diff --git a/api_docs/share.mdx b/api_docs/share.mdx index 635a04d590721..5c0238261d862 100644 --- a/api_docs/share.mdx +++ b/api_docs/share.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/share title: "share" image: https://source.unsplash.com/400x175/?github description: API docs for the share plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'share'] --- import shareObj from './share.devdocs.json'; diff --git a/api_docs/snapshot_restore.mdx b/api_docs/snapshot_restore.mdx index c95e8375448e3..814448064c8d4 100644 --- a/api_docs/snapshot_restore.mdx +++ b/api_docs/snapshot_restore.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/snapshotRestore title: "snapshotRestore" image: https://source.unsplash.com/400x175/?github description: API docs for the snapshotRestore plugin -date: 2022-11-20 +date: 2022-11-21 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 7f8246f530d52..e32fa32b29611 100644 --- a/api_docs/spaces.mdx +++ b/api_docs/spaces.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/spaces title: "spaces" image: https://source.unsplash.com/400x175/?github description: API docs for the spaces plugin -date: 2022-11-20 +date: 2022-11-21 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 b453f6d49c997..d5529e87777f1 100644 --- a/api_docs/stack_alerts.mdx +++ b/api_docs/stack_alerts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackAlerts title: "stackAlerts" image: https://source.unsplash.com/400x175/?github description: API docs for the stackAlerts plugin -date: 2022-11-20 +date: 2022-11-21 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 72db19a5a07e2..e779f36d11f1e 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: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackConnectors'] --- import stackConnectorsObj from './stack_connectors.devdocs.json'; diff --git a/api_docs/task_manager.mdx b/api_docs/task_manager.mdx index 8449a5f4d6df9..e3bcef1271526 100644 --- a/api_docs/task_manager.mdx +++ b/api_docs/task_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/taskManager title: "taskManager" image: https://source.unsplash.com/400x175/?github description: API docs for the taskManager plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'taskManager'] --- import taskManagerObj from './task_manager.devdocs.json'; diff --git a/api_docs/telemetry.mdx b/api_docs/telemetry.mdx index a2f9a6106fcef..6ab5e33530cad 100644 --- a/api_docs/telemetry.mdx +++ b/api_docs/telemetry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetry title: "telemetry" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetry plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetry'] --- import telemetryObj from './telemetry.devdocs.json'; diff --git a/api_docs/telemetry_collection_manager.mdx b/api_docs/telemetry_collection_manager.mdx index b9197a30647c0..7385bef6a5f02 100644 --- a/api_docs/telemetry_collection_manager.mdx +++ b/api_docs/telemetry_collection_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionManager title: "telemetryCollectionManager" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionManager plugin -date: 2022-11-20 +date: 2022-11-21 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 ae52c5027d284..eaf32f4920d4f 100644 --- a/api_docs/telemetry_collection_xpack.mdx +++ b/api_docs/telemetry_collection_xpack.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionXpack title: "telemetryCollectionXpack" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionXpack plugin -date: 2022-11-20 +date: 2022-11-21 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 c9fb5dfe2cd8b..6080113e6fe83 100644 --- a/api_docs/telemetry_management_section.mdx +++ b/api_docs/telemetry_management_section.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryManagementSection title: "telemetryManagementSection" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryManagementSection plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryManagementSection'] --- import telemetryManagementSectionObj from './telemetry_management_section.devdocs.json'; diff --git a/api_docs/threat_intelligence.mdx b/api_docs/threat_intelligence.mdx index 0103cccd234e4..e26357d0151dd 100644 --- a/api_docs/threat_intelligence.mdx +++ b/api_docs/threat_intelligence.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/threatIntelligence title: "threatIntelligence" image: https://source.unsplash.com/400x175/?github description: API docs for the threatIntelligence plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'threatIntelligence'] --- import threatIntelligenceObj from './threat_intelligence.devdocs.json'; diff --git a/api_docs/timelines.mdx b/api_docs/timelines.mdx index 0c030b8059db7..e7a42d0f71977 100644 --- a/api_docs/timelines.mdx +++ b/api_docs/timelines.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/timelines title: "timelines" image: https://source.unsplash.com/400x175/?github description: API docs for the timelines plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'timelines'] --- import timelinesObj from './timelines.devdocs.json'; diff --git a/api_docs/transform.mdx b/api_docs/transform.mdx index 8220937317587..f70b13c5a9e96 100644 --- a/api_docs/transform.mdx +++ b/api_docs/transform.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/transform title: "transform" image: https://source.unsplash.com/400x175/?github description: API docs for the transform plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'transform'] --- import transformObj from './transform.devdocs.json'; diff --git a/api_docs/triggers_actions_ui.mdx b/api_docs/triggers_actions_ui.mdx index d03c78ab8bca4..0a22a2c81238c 100644 --- a/api_docs/triggers_actions_ui.mdx +++ b/api_docs/triggers_actions_ui.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/triggersActionsUi title: "triggersActionsUi" image: https://source.unsplash.com/400x175/?github description: API docs for the triggersActionsUi plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'triggersActionsUi'] --- import triggersActionsUiObj from './triggers_actions_ui.devdocs.json'; diff --git a/api_docs/ui_actions.mdx b/api_docs/ui_actions.mdx index 97c1223454581..e87e181e5f24b 100644 --- a/api_docs/ui_actions.mdx +++ b/api_docs/ui_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActions title: "uiActions" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActions plugin -date: 2022-11-20 +date: 2022-11-21 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 dbe8a79b2ef4d..6a52d99d5c22e 100644 --- a/api_docs/ui_actions_enhanced.mdx +++ b/api_docs/ui_actions_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActionsEnhanced title: "uiActionsEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActionsEnhanced plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActionsEnhanced'] --- import uiActionsEnhancedObj from './ui_actions_enhanced.devdocs.json'; diff --git a/api_docs/unified_field_list.mdx b/api_docs/unified_field_list.mdx index 7015542bc6f23..bf40e7776f848 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: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedFieldList'] --- import unifiedFieldListObj from './unified_field_list.devdocs.json'; diff --git a/api_docs/unified_histogram.mdx b/api_docs/unified_histogram.mdx index 0719596d30349..769cb85a68fa5 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: 2022-11-20 +date: 2022-11-21 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 258efe833b8a1..50b02cd415471 100644 --- a/api_docs/unified_search.mdx +++ b/api_docs/unified_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch title: "unifiedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch plugin -date: 2022-11-20 +date: 2022-11-21 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 09a99905c1cd5..c101201cdeec1 100644 --- a/api_docs/unified_search_autocomplete.mdx +++ b/api_docs/unified_search_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch-autocomplete title: "unifiedSearch.autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch.autocomplete plugin -date: 2022-11-20 +date: 2022-11-21 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 50eaeb6715225..6f1fd683237a3 100644 --- a/api_docs/url_forwarding.mdx +++ b/api_docs/url_forwarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/urlForwarding title: "urlForwarding" image: https://source.unsplash.com/400x175/?github description: API docs for the urlForwarding plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'urlForwarding'] --- import urlForwardingObj from './url_forwarding.devdocs.json'; diff --git a/api_docs/usage_collection.mdx b/api_docs/usage_collection.mdx index f100e258469ea..51a7e7373bb80 100644 --- a/api_docs/usage_collection.mdx +++ b/api_docs/usage_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/usageCollection title: "usageCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the usageCollection plugin -date: 2022-11-20 +date: 2022-11-21 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 003a24ede86e3..fbc60034a829d 100644 --- a/api_docs/ux.mdx +++ b/api_docs/ux.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ux title: "ux" image: https://source.unsplash.com/400x175/?github description: API docs for the ux plugin -date: 2022-11-20 +date: 2022-11-21 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 a2c6f0cf5ea51..9f839bdb7e3e4 100644 --- a/api_docs/vis_default_editor.mdx +++ b/api_docs/vis_default_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visDefaultEditor title: "visDefaultEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the visDefaultEditor plugin -date: 2022-11-20 +date: 2022-11-21 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 ef1abc362dd6f..8234930ac3303 100644 --- a/api_docs/vis_type_gauge.mdx +++ b/api_docs/vis_type_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeGauge title: "visTypeGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeGauge plugin -date: 2022-11-20 +date: 2022-11-21 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 504a16a4d2b33..04d1ff808fead 100644 --- a/api_docs/vis_type_heatmap.mdx +++ b/api_docs/vis_type_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeHeatmap title: "visTypeHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeHeatmap plugin -date: 2022-11-20 +date: 2022-11-21 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 f608c30e96029..ee28b761358f2 100644 --- a/api_docs/vis_type_pie.mdx +++ b/api_docs/vis_type_pie.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypePie title: "visTypePie" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypePie plugin -date: 2022-11-20 +date: 2022-11-21 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 165c9063e605b..6d2ae98bc3da9 100644 --- a/api_docs/vis_type_table.mdx +++ b/api_docs/vis_type_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTable title: "visTypeTable" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTable plugin -date: 2022-11-20 +date: 2022-11-21 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 ad79fcf9d19e7..8baf3581e86e1 100644 --- a/api_docs/vis_type_timelion.mdx +++ b/api_docs/vis_type_timelion.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimelion title: "visTypeTimelion" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimelion plugin -date: 2022-11-20 +date: 2022-11-21 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 bc6915b538477..eff6efeccaa3f 100644 --- a/api_docs/vis_type_timeseries.mdx +++ b/api_docs/vis_type_timeseries.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimeseries title: "visTypeTimeseries" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimeseries plugin -date: 2022-11-20 +date: 2022-11-21 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 900cfc743df27..de3a55d3239a6 100644 --- a/api_docs/vis_type_vega.mdx +++ b/api_docs/vis_type_vega.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVega title: "visTypeVega" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVega plugin -date: 2022-11-20 +date: 2022-11-21 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 17192ec126135..c33be76c9e065 100644 --- a/api_docs/vis_type_vislib.mdx +++ b/api_docs/vis_type_vislib.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVislib title: "visTypeVislib" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVislib plugin -date: 2022-11-20 +date: 2022-11-21 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 5b2ef2311b35f..fc0d42be3620a 100644 --- a/api_docs/vis_type_xy.mdx +++ b/api_docs/vis_type_xy.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeXy title: "visTypeXy" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeXy plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeXy'] --- import visTypeXyObj from './vis_type_xy.devdocs.json'; diff --git a/api_docs/visualizations.mdx b/api_docs/visualizations.mdx index b663db0af8775..a8941d42d2287 100644 --- a/api_docs/visualizations.mdx +++ b/api_docs/visualizations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visualizations title: "visualizations" image: https://source.unsplash.com/400x175/?github description: API docs for the visualizations plugin -date: 2022-11-20 +date: 2022-11-21 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations'] --- import visualizationsObj from './visualizations.devdocs.json'; From 75100868427f10ec8ed19a2bae811263c0ded311 Mon Sep 17 00:00:00 2001 From: Pierre Gayvallet Date: Mon, 21 Nov 2022 09:02:52 +0100 Subject: [PATCH 02/20] Fix SO service status when migration is disabled (#145693) ## Summary Fix https://github.com/elastic/kibana/issues/145558 have the SO service status properly be green instead of being stuck to red when the SO migration was skipped using `migration.skip: true`. Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../src/saved_objects_service.test.ts | 18 ++- .../src/saved_objects_service.ts | 8 +- .../src/status.ts | 78 ++++++------- .../migrations/skip_migration.test.ts | 104 ++++++++++++++++++ 4 files changed, 168 insertions(+), 40 deletions(-) create mode 100644 src/core/server/integration_tests/saved_objects/migrations/skip_migration.test.ts 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 6b58566f4cc14..af364b6a1a872 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 @@ -17,7 +17,8 @@ import { registerRoutesMock, typeRegistryInstanceMock, } from './saved_objects_service.test.mocks'; -import { BehaviorSubject } from 'rxjs'; +import { BehaviorSubject, firstValueFrom } from 'rxjs'; +import { skip } from 'rxjs/operators'; import { type RawPackageInfo, Env } from '@kbn/config'; import { ByteSizeValue } from '@kbn/config-schema'; import { REPO_ROOT } from '@kbn/utils'; @@ -348,6 +349,21 @@ describe('SavedObjectsService', () => { expect(getTypeRegistry()).toBe(typeRegistryInstanceMock); }); }); + + describe('status$', () => { + it('return correct value when migration is skipped', async () => { + const coreContext = createCoreContext({ skipMigration: true }); + const soService = new SavedObjectsService(coreContext); + const setup = await soService.setup(createSetupDeps()); + await soService.start(createStartDeps(false)); + + const serviceStatus = await firstValueFrom(setup.status$.pipe(skip(1))); + expect(serviceStatus.level.toString()).toEqual('available'); + expect(serviceStatus.summary).toEqual( + 'SavedObjects service has completed migrations and is available' + ); + }); + }); }); describe('#start()', () => { 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 6915d5f474b77..7ded566e04b9e 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 @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { Subject, Observable, firstValueFrom } from 'rxjs'; +import { Subject, Observable, firstValueFrom, of } from 'rxjs'; import { filter, take, switchMap } from 'rxjs/operators'; import type { Logger } from '@kbn/logging'; import type { ServiceStatus } from '@kbn/core-status-common'; @@ -147,9 +147,13 @@ export class SavedObjectsService registerCoreObjectTypes(this.typeRegistry); + const skipMigration = this.config.migration.skip; + return { status$: calculateStatus$( - this.migrator$.pipe(switchMap((migrator) => migrator.getStatus$())), + skipMigration + ? of({ status: 'completed' }) + : this.migrator$.pipe(switchMap((migrator) => migrator.getStatus$())), elasticsearch.status$ ), setClientFactoryProvider: (provider) => { diff --git a/packages/core/saved-objects/core-saved-objects-server-internal/src/status.ts b/packages/core/saved-objects/core-saved-objects-server-internal/src/status.ts index ab00eeab78888..03722e7de00e3 100644 --- a/packages/core/saved-objects/core-saved-objects-server-internal/src/status.ts +++ b/packages/core/saved-objects/core-saved-objects-server-internal/src/status.ts @@ -17,43 +17,7 @@ export const calculateStatus$ = ( elasticsearchStatus$: Observable ): Observable> => { const migratorStatus$: Observable> = rawMigratorStatus$.pipe( - map((migrationStatus) => { - if (migrationStatus.status === 'waiting_to_start') { - return { - level: ServiceStatusLevels.unavailable, - summary: `SavedObjects service is waiting to start migrations`, - }; - } else if (migrationStatus.status === 'waiting_for_other_nodes') { - return { - level: ServiceStatusLevels.unavailable, - summary: `SavedObjects service is waiting for other nodes to complete the migration`, - detail: - `If no other Kibana instance is attempting ` + - `migrations, you can get past this message by deleting index ${migrationStatus.waitingIndex} and ` + - `restarting Kibana.`, - }; - } else if (migrationStatus.status === 'running') { - return { - level: ServiceStatusLevels.unavailable, - summary: `SavedObjects service is running migrations`, - }; - } - - const statusCounts: SavedObjectStatusMeta['migratedIndices'] = { migrated: 0, skipped: 0 }; - if (migrationStatus.result) { - migrationStatus.result.forEach(({ status }) => { - statusCounts[status] = (statusCounts[status] ?? 0) + 1; - }); - } - - return { - level: ServiceStatusLevels.available, - summary: `SavedObjects service has completed migrations and is available`, - meta: { - migratedIndices: statusCounts, - }, - }; - }), + map(migratorStatusToServiceStatus), startWith({ level: ServiceStatusLevels.unavailable, summary: `SavedObjects service is waiting to start migrations`, @@ -80,3 +44,43 @@ export const calculateStatus$ = ( }) ); }; + +const migratorStatusToServiceStatus = ( + migrationStatus: KibanaMigratorStatus +): ServiceStatus => { + if (migrationStatus.status === 'waiting_to_start') { + return { + level: ServiceStatusLevels.unavailable, + summary: `SavedObjects service is waiting to start migrations`, + }; + } else if (migrationStatus.status === 'waiting_for_other_nodes') { + return { + level: ServiceStatusLevels.unavailable, + summary: `SavedObjects service is waiting for other nodes to complete the migration`, + detail: + `If no other Kibana instance is attempting ` + + `migrations, you can get past this message by deleting index ${migrationStatus.waitingIndex} and ` + + `restarting Kibana.`, + }; + } else if (migrationStatus.status === 'running') { + return { + level: ServiceStatusLevels.unavailable, + summary: `SavedObjects service is running migrations`, + }; + } + + const statusCounts: SavedObjectStatusMeta['migratedIndices'] = { migrated: 0, skipped: 0 }; + if (migrationStatus.result) { + migrationStatus.result.forEach(({ status }) => { + statusCounts[status] = (statusCounts[status] ?? 0) + 1; + }); + } + + return { + level: ServiceStatusLevels.available, + summary: `SavedObjects service has completed migrations and is available`, + meta: { + migratedIndices: statusCounts, + }, + }; +}; diff --git a/src/core/server/integration_tests/saved_objects/migrations/skip_migration.test.ts b/src/core/server/integration_tests/saved_objects/migrations/skip_migration.test.ts new file mode 100644 index 0000000000000..f6e000efeacb2 --- /dev/null +++ b/src/core/server/integration_tests/saved_objects/migrations/skip_migration.test.ts @@ -0,0 +1,104 @@ +/* + * Copyright 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 Path from 'path'; +import Fs from 'fs'; +import Util from 'util'; +import { firstValueFrom } from 'rxjs'; +import * as kbnTestServer from '../../../../test_helpers/kbn_server'; +import { Root } from '@kbn/core-root-server-internal'; + +const logFilePath = Path.join(__dirname, 'cleanup.log'); +const asyncUnlink = Util.promisify(Fs.unlink); + +async function removeLogFile() { + // ignore errors if it doesn't exist + await asyncUnlink(logFilePath).catch(() => void 0); +} + +function createRoot({ skipMigration }: { skipMigration: boolean }) { + return kbnTestServer.createRootWithCorePlugins( + { + migrations: { + skip: skipMigration, + }, + logging: { + appenders: { + file: { + type: 'file', + fileName: logFilePath, + layout: { + type: 'json', + }, + }, + }, + loggers: [ + { + name: 'root', + appenders: ['file'], + level: 'info', + }, + ], + }, + }, + { + oss: true, + } + ); +} + +describe('starting with `migration.skip: true` when indices are up to date', () => { + let esServer: kbnTestServer.TestElasticsearchUtils; + let root: Root; + + beforeAll(async () => { + await removeLogFile(); + }); + + afterAll(async () => { + if (root) { + await root.shutdown(); + } + if (esServer) { + await esServer.stop(); + } + + await new Promise((resolve) => setTimeout(resolve, 10000)); + }); + + it('starts and display the correct service status', async () => { + const { startES } = kbnTestServer.createTestServers({ + adjustTimeout: (t: number) => jest.setTimeout(t), + settings: { + es: { + license: 'basic', + }, + }, + }); + esServer = await startES(); + + // booting root a first time to setup the indices + root = createRoot({ skipMigration: false }); + await root.preboot(); + await root.setup(); + await root.start(); + await root.shutdown(); + + // booting another root with migration skipped this time + root = createRoot({ skipMigration: true }); + await root.preboot(); + const setup = await root.setup(); + await root.start(); + + const status = await firstValueFrom(setup.status.core$); + expect(status.savedObjects.level.toString()).toEqual('available'); + expect(status.savedObjects.summary).toEqual( + 'SavedObjects service has completed migrations and is available' + ); + }); +}); From 87c64dd14a6d9c508249a55036ca7c13ee33363b Mon Sep 17 00:00:00 2001 From: Julian Gernun <17549662+jcger@users.noreply.github.com> Date: Mon, 21 Nov 2022 09:18:34 +0100 Subject: [PATCH 03/20] [RAM] Fix broken action type filter in rules list (#145691) ## Summary Closes https://github.com/elastic/kibana/issues/145636 https://user-images.githubusercontent.com/17549662/202652963-205d1590-5cdf-4b4c-8f8b-e1133e6c274c.mov ### Checklist - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios --- .../rules_list/components/rules_list.test.tsx | 29 +++++++++++++++++++ .../rules_list/components/rules_list.tsx | 2 +- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/rules_list/components/rules_list.test.tsx b/x-pack/plugins/triggers_actions_ui/public/application/sections/rules_list/components/rules_list.test.tsx index 59876bd48b459..928feb0aa900f 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/sections/rules_list/components/rules_list.test.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/rules_list/components/rules_list.test.tsx @@ -555,6 +555,35 @@ describe('rules_list component with props', () => { await setup(); expect(wrapper.find('ActionTypeFilter')).toHaveLength(1); }); + + it('filters when the action type filter is changed', async () => { + wrapper = mountWithIntl(); + await act(async () => { + await nextTick(); + wrapper.update(); + }); + (getIsExperimentalFeatureEnabled as jest.Mock).mockImplementation(() => true); + loadRulesWithKueryFilter.mockReset(); + await setup(); + + wrapper.find(`[data-test-subj="actionTypeFilterButton"]`).first().simulate('click'); + await act(async () => { + await nextTick(); + wrapper.update(); + }); + wrapper.find(`[data-test-subj="actionTypetestFilterOption"]`).first().simulate('click'); + expect( + wrapper.find('[data-test-subj="actionTypetestFilterOption"] EuiIcon[type="check"]').exists() + ).toBeTruthy(); // tick icon is being shown + expect( + wrapper + .find('[data-test-subj="actionTypetest2FilterOption"] EuiIcon[type="empty"]') + .exists() + ).toBeTruthy(); // doesnt have a tick icon + expect( + wrapper.find('[data-test-subj="actionTypeFilterButton"] .euiNotificationBadge').text() + ).toEqual('1'); // badge is being shown + }); }); describe('showCreateRuleButton prop', () => { diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/rules_list/components/rules_list.tsx b/x-pack/plugins/triggers_actions_ui/public/application/sections/rules_list/components/rules_list.tsx index ae7b2dc8b437e..791bfa5e76574 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/sections/rules_list/components/rules_list.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/rules_list/components/rules_list.tsx @@ -644,7 +644,7 @@ export const RulesList = ({ key="action-type-filter" actionTypes={actionTypes} onChange={setActionTypesFilter} - filters={typesFilter} + filters={actionTypesFilter} /> ), ...getRuleOutcomeOrStatusFilter(), From ba67a6630c9970ab2da4dbf3bbf379af327eaa85 Mon Sep 17 00:00:00 2001 From: Stratoula Kalafateli Date: Mon, 21 Nov 2022 11:47:55 +0200 Subject: [PATCH 04/20] [TSVB] Unskips functional tests and fixes flakiness (#145804) ## Summary Closes https://github.com/elastic/kibana/issues/145563 Closes https://github.com/elastic/kibana/issues/145562 Closes https://github.com/elastic/kibana/issues/145561 Closes https://github.com/elastic/kibana/issues/145560 Closes https://github.com/elastic/kibana/issues/145644 Closes https://github.com/elastic/kibana/issues/139096 Closes https://github.com/elastic/kibana/issues/145564 They also fail for the same reason in FF. They started fail when a change made by the operations team. For some reason while the list appears on the DOM the click by mouse doesn't work for the FF tests. I changed the helper a bit to not use it. ![image](https://user-images.githubusercontent.com/17003240/202997107-1ddcfd69-c935-4d0a-891f-1feb9d00ebb5.png) Runner for tests (50 times) to ensure that nothing has broken https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/1577#_ I couldn't run the firefox tests on the flaky runner (I get an error when initializing it) but these tests were failing every time we run them on FF locally I am quite optimistic that this change will stabilize them in FF too. --- test/functional/apps/visualize/group5/_tsvb_time_series.ts | 5 +---- test/functional/page_objects/visual_builder_page.ts | 3 ++- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/test/functional/apps/visualize/group5/_tsvb_time_series.ts b/test/functional/apps/visualize/group5/_tsvb_time_series.ts index 83342d5042ee7..fb59d947b6790 100644 --- a/test/functional/apps/visualize/group5/_tsvb_time_series.ts +++ b/test/functional/apps/visualize/group5/_tsvb_time_series.ts @@ -28,10 +28,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { const browser = getService('browser'); const kibanaServer = getService('kibanaServer'); - // Failing: See https://github.com/elastic/kibana/issues/145563 - // Failing: See https://github.com/elastic/kibana/issues/145560 - // Failing: See https://github.com/elastic/kibana/issues/139096 - describe.skip('visual builder', function describeIndexTests() { + describe('visual builder', function describeIndexTests() { before(async () => { await security.testUser.setRoles([ 'kibana_admin', diff --git a/test/functional/page_objects/visual_builder_page.ts b/test/functional/page_objects/visual_builder_page.ts index 1aacde4127f37..a9971f27c968f 100644 --- a/test/functional/page_objects/visual_builder_page.ts +++ b/test/functional/page_objects/visual_builder_page.ts @@ -824,7 +824,8 @@ export class VisualBuilderPageObject extends FtrService { public async setMetricsGroupBy(option: string) { const groupBy = await this.testSubjects.find('groupBySelect'); - await this.comboBox.setElement(groupBy, option, { clickWithMouse: true }); + await this.comboBox.setElement(groupBy, option); + return await this.header.waitUntilLoadingHasFinished(); } public async setMetricsGroupByTerms( From f982f4684002cc069f832f30fcf6e78438fe5842 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yulia=20=C4=8Cech?= <6585477+yuliacech@users.noreply.github.com> Date: Mon, 21 Nov 2022 11:09:16 +0100 Subject: [PATCH 05/20] [Guided onboarding] Copy update for error handling and loading state (#145748) ## Summary This PR updates the copy for the error handling and loading state in guided onboarding. Follow up to https://github.com/elastic/kibana/pull/145228 --- .../guided_onboarding/public/components/guide_panel.tsx | 4 ++-- .../public/components/quit_guide_modal.tsx | 2 +- .../components/guided_onboarding/getting_started.tsx | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/plugins/guided_onboarding/public/components/guide_panel.tsx b/src/plugins/guided_onboarding/public/components/guide_panel.tsx index a31083a384a26..e8c60786c9870 100644 --- a/src/plugins/guided_onboarding/public/components/guide_panel.tsx +++ b/src/plugins/guided_onboarding/public/components/guide_panel.tsx @@ -112,7 +112,7 @@ export const GuidePanel = ({ api, application, notifications }: GuidePanelProps) } catch (error) { notifications.toasts.addDanger({ title: i18n.translate('guidedOnboarding.dropdownPanel.stepHandlerError', { - defaultMessage: 'Unable to update the guide. Please try again later.', + defaultMessage: 'Unable to update the guide. Wait a moment and try again.', }), text: error.message, }); @@ -138,7 +138,7 @@ export const GuidePanel = ({ api, application, notifications }: GuidePanelProps) } catch (error) { notifications.toasts.addDanger({ title: i18n.translate('guidedOnboarding.dropdownPanel.completeGuideError', { - defaultMessage: 'Unable to update the guide. Please try again later.', + defaultMessage: 'Unable to update the guide. Wait a moment and try again.', }), text: error.message, }); diff --git a/src/plugins/guided_onboarding/public/components/quit_guide_modal.tsx b/src/plugins/guided_onboarding/public/components/quit_guide_modal.tsx index a50dd28c677b0..6765e7a4ecbf9 100644 --- a/src/plugins/guided_onboarding/public/components/quit_guide_modal.tsx +++ b/src/plugins/guided_onboarding/public/components/quit_guide_modal.tsx @@ -46,7 +46,7 @@ export const QuitGuideModal = ({ setIsLoading(false); notifications.toasts.addDanger({ title: i18n.translate('guidedOnboarding.quitGuideModal.deactivateGuideError', { - defaultMessage: 'Unable to update the guide. Please try again later.', + defaultMessage: 'Unable to update the guide. Wait a moment and try again.', }), text: error.message, }); diff --git a/src/plugins/home/public/application/components/guided_onboarding/getting_started.tsx b/src/plugins/home/public/application/components/guided_onboarding/getting_started.tsx index 6e4d605cc30b3..15fc9953ba819 100644 --- a/src/plugins/home/public/application/components/guided_onboarding/getting_started.tsx +++ b/src/plugins/home/public/application/components/guided_onboarding/getting_started.tsx @@ -120,7 +120,7 @@ export const GettingStarted = () => { } catch (err) { getServices().toastNotifications.addDanger({ title: i18n.translate('home.guidedOnboarding.gettingStarted.activateGuide.errorMessage', { - defaultMessage: 'Unable to start the guide. Please try again later.', + defaultMessage: 'Unable to start the guide. Wait a moment and try again.', }), text: err.message, }); @@ -134,7 +134,7 @@ export const GettingStarted = () => { body={ {i18n.translate('home.guidedOnboarding.gettingStarted.loadingIndicator', { - defaultMessage: 'Loading setup guide state...', + defaultMessage: 'Loading the guide state...', })} } @@ -151,7 +151,7 @@ export const GettingStarted = () => { title={

{i18n.translate('home.guidedOnboarding.gettingStarted.errorSectionTitle', { - defaultMessage: 'Unable to load guide state', + defaultMessage: 'Unable to load the guide state', })}

} @@ -159,7 +159,7 @@ export const GettingStarted = () => { <> {i18n.translate('home.guidedOnboarding.gettingStarted.errorSectionDescription', { - defaultMessage: 'There was an error loading the guide state. Try again later.', + defaultMessage: `The guide couldn't be loaded. Wait a moment and try again.`, })} From 327ca6b57a0810fc6e9aa3b39f352f860b81051c Mon Sep 17 00:00:00 2001 From: Marta Bondyra <4283304+mbondyra@users.noreply.github.com> Date: Mon, 21 Nov 2022 11:35:34 +0100 Subject: [PATCH 06/20] [Event Annotation plugin] add codeowners (#145741) ## Summary Adding codeowners for event annotation plugin Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .github/CODEOWNERS | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 8ef919aed4a92..978c0cf7d842e 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -26,6 +26,7 @@ # Vis Editors /x-pack/plugins/lens/ @elastic/kibana-visualizations /src/plugins/charts/ @elastic/kibana-visualizations +/src/plugins/event_annotation @elastic/kibana-visualizations /src/plugins/vis_default_editor/ @elastic/kibana-visualizations /src/plugins/vis_types/metric/ @elastic/kibana-visualizations /src/plugins/vis_types/table/ @elastic/kibana-visualizations From 0efb547f4ecf90b1a8f8ce4974c81bc62b7e7f2a Mon Sep 17 00:00:00 2001 From: Katerina Patticha Date: Mon, 21 Nov 2022 11:49:56 +0100 Subject: [PATCH 07/20] [APM] Split elasticsearch fields per type (#145643) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary closes https://github.com/elastic/kibana/issues/140925 Split the es fields according to the following ``` common/ ├─ es_fields/ │ ├─ apm.ts │ ├─ infra_metrics.ts | ├─ rum.ts ``` - rum fields were not used in APM so removed them entirely (just 3) - fields like `kubernetes.pod.name` that exists both in apm and infra metrics fields will live in apm file - replace hardcode string with con Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../custom_link/custom_link_filter_options.ts | 2 +- .../common/custom_link/custom_link_types.d.ts | 2 +- x-pack/plugins/apm/common/dependencies.ts | 2 +- .../apm/common/environment_filter_values.ts | 2 +- .../__snapshots__/es_fields.test.ts.snap} | 18 ------------- .../apm.ts} | 26 +++++-------------- .../es_fields.test.ts} | 16 ++++++++---- .../apm/common/es_fields/infra_metrics.ts | 15 +++++++++++ .../plugins/apm/common/service_groups.test.ts | 2 +- x-pack/plugins/apm/common/service_groups.ts | 2 +- x-pack/plugins/apm/common/service_map.ts | 2 +- .../common/utils/environment_query.test.ts | 2 +- .../apm/common/utils/environment_query.ts | 5 +--- .../components/alerting/utils/fields.tsx | 2 +- .../components/app/alerts_overview/index.tsx | 2 +- .../context_popover/field_stats_popover.tsx | 2 +- .../use_failed_transactions_correlations.ts | 2 +- .../error_group_details/detail_view/index.tsx | 2 +- .../infra_overview/infra_tabs/use_tabs.tsx | 12 ++++++--- .../components/app/service_logs/index.tsx | 2 +- .../app/service_map/cytoscape_options.ts | 2 +- .../components/app/service_map/icons.ts | 2 +- .../app/service_map/popover/edge_contents.tsx | 2 +- .../popover/externals_list_contents.tsx | 2 +- .../app/service_map/popover/index.tsx | 5 +--- .../service_map/popover/resource_contents.tsx | 5 +--- .../latency_map/get_layer_list.ts | 2 +- .../most_used_chart/index.tsx | 2 +- .../most_used_chart/most_used_chart.test.tsx | 2 +- .../service_oveview_mobile_charts.tsx | 2 +- .../use_filters_for_mobile_charts.ts | 2 +- .../instance_actions_menu/index.tsx | 2 +- .../intance_details.tsx | 11 +++++--- .../service_page/service_page.tsx | 2 +- .../app/settings/agent_explorer/index.tsx | 2 +- .../get_redirect_to_trace_page_url.ts | 2 +- ...use_transaction_distribution_chart_data.ts | 2 +- .../waterfall/flyout_top_level_properties.tsx | 2 +- .../span_flyout/sticky_span_properties.tsx | 2 +- .../waterfall/waterfall_item.tsx | 2 +- .../analyze_data_button.tsx | 2 +- .../index.tsx | 2 +- .../charts/timeline/marker/error_marker.tsx | 2 +- .../critical_path_flamegraph_tooltip.tsx | 2 +- .../shared/environment_select/index.tsx | 2 +- .../shared/kuery_bar/get_bool_filter.ts | 2 +- .../discover_links/discover_error_link.tsx | 2 +- .../discover_links/discover_span_link.tsx | 2 +- .../discover_transaction_link.tsx | 2 +- .../sticky_properties.test.tsx | 2 +- .../aggregate_latency_metrics/index.ts | 2 +- .../create_anomaly_detection_jobs.ts | 5 +--- .../collect_data_telemetry/tasks.test.ts | 2 +- .../collect_data_telemetry/tasks.ts | 2 +- .../exclude_rum_exit_spans_query.ts | 2 +- .../get_destination_map.ts | 2 +- .../get_connection_stats/get_stats.ts | 2 +- .../unpack_processor_events.ts | 2 +- .../lib/helpers/service_metrics/index.ts | 2 +- ...et_is_using_service_destination_metrics.ts | 2 +- .../lib/helpers/transaction_coldstart_rate.ts | 2 +- .../lib/helpers/transaction_error_rate.ts | 2 +- .../server/lib/helpers/transactions/index.ts | 2 +- .../transaction_groups/get_coldstart_rate.ts | 2 +- .../get_failed_transaction_rate.ts | 2 +- x-pack/plugins/apm/server/plugin.ts | 2 +- .../agent_explorer/get_agent_instances.ts | 2 +- .../routes/agent_explorer/get_agents_items.ts | 2 +- .../get_service_group_fields_for_anomaly.ts | 2 +- .../anomaly/register_anomaly_rule_type.ts | 2 +- .../get_error_count_chart_preview.ts | 2 +- .../register_error_count_rule_type.ts | 2 +- .../get_transaction_duration_chart_preview.ts | 2 +- ...register_transaction_duration_rule_type.ts | 2 +- ...et_transaction_error_rate_chart_preview.ts | 2 +- ...gister_transaction_error_rate_rule_type.ts | 2 +- .../queries/fetch_duration_correlation.ts | 2 +- .../queries/fetch_duration_fractions.ts | 2 +- ...etch_failed_events_correlation_p_values.ts | 2 +- .../apm/server/routes/correlations/route.ts | 2 +- .../correlations/utils/get_duration_field.ts | 2 +- .../data_view/create_static_data_view.ts | 2 +- .../get_dependency_latency_distribution.ts | 2 +- .../get_error_rate_charts_for_dependency.ts | 2 +- .../get_latency_charts_for_dependency.ts | 2 +- .../get_metadata_for_dependency.ts | 2 +- .../get_throughput_charts_for_dependency.ts | 2 +- .../get_top_dependency_operations.ts | 2 +- .../dependencies/get_top_dependency_spans.ts | 2 +- .../get_upstream_services_for_dependency.ts | 2 +- .../environments/get_all_environments.ts | 2 +- .../routes/environments/get_environments.ts | 2 +- .../routes/errors/distribution/get_buckets.ts | 5 +--- .../get_top_erroneous_transactions.ts | 2 +- .../get_error_group_detailed_statistics.ts | 5 +--- .../get_error_group_main_statistics.ts | 2 +- .../get_error_group_sample.ts | 2 +- .../event_metadata/get_event_metadata.ts | 2 +- .../fleet/register_fleet_policy_callbacks.ts | 2 +- .../routes/infrastructure/get_host_names.ts | 5 +--- .../infrastructure/get_infrastructure_data.ts | 2 +- .../routes/latency_distribution/route.ts | 2 +- .../gc/fetch_and_transform_gc_metrics.test.ts | 2 +- .../java/gc/fetch_and_transform_gc_metrics.ts | 2 +- .../by_agent/java/gc/get_gc_rate_chart.ts | 2 +- .../by_agent/java/gc/get_gc_time_chart.ts | 2 +- .../by_agent/java/heap_memory/index.ts | 2 +- .../by_agent/java/non_heap_memory/index.ts | 2 +- .../by_agent/java/thread_count/index.ts | 2 +- .../metrics/by_agent/shared/cpu/index.ts | 2 +- .../metrics/by_agent/shared/memory/index.ts | 2 +- .../metrics/fetch_and_transform_metrics.ts | 2 +- .../routes/metrics/get_service_nodes.ts | 7 ++--- .../get_active_instances_overview.ts | 2 +- .../get_active_instances_timeseries.ts | 2 +- .../serverless/get_cold_start_count_chart.ts | 2 +- .../get_cold_start_duration_chart.ts | 2 +- .../serverless/get_compute_usage_chart.ts | 2 +- .../get_serverless_function_latency_chart.ts | 2 +- .../get_serverless_functions_overview.ts | 2 +- .../serverless/get_serverless_summary.ts | 2 +- .../routes/mobile/get_mobile_filters.ts | 2 +- .../get_service_count.ts | 2 +- .../get_transactions_per_minute.ts | 2 +- .../service_groups/get_services_counts.ts | 2 +- .../routes/service_groups/lookup_services.ts | 2 +- .../fetch_service_paths_from_trace_ids.ts | 2 +- .../routes/service_map/get_service_map.ts | 2 +- .../get_service_map_dependency_node_info.ts | 2 +- .../get_service_map_service_node_info.ts | 2 +- .../service_map/get_trace_sample_ids.ts | 2 +- .../service_map/group_resource_nodes.ts | 5 +--- .../transform_service_map_responses.test.ts | 2 +- .../transform_service_map_responses.ts | 2 +- .../get_derived_service_annotations.ts | 2 +- .../annotations/get_stored_annotations.ts | 2 +- .../routes/services/get_service_agent.ts | 2 +- .../services/get_service_dependencies.ts | 2 +- .../get_service_dependencies_breakdown.ts | 2 +- ...get_service_instance_container_metadata.ts | 8 +++--- .../get_service_instance_metadata_details.ts | 2 +- ...vice_instances_system_metric_statistics.ts | 2 +- ...ervice_instances_transaction_statistics.ts | 2 +- .../services/get_service_metadata_details.ts | 3 ++- .../services/get_service_metadata_icons.ts | 2 +- .../services/get_service_node_metadata.ts | 10 ++----- ...get_service_overview_container_metadata.ts | 8 +++--- ...e_transaction_group_detailed_statistics.ts | 2 +- .../get_service_transaction_groups.ts | 2 +- .../services/get_service_transaction_types.ts | 5 +--- ...et_service_aggregated_transaction_stats.ts | 2 +- .../get_service_transaction_stats.ts | 2 +- ...ervices_from_error_and_metric_documents.ts | 2 +- .../get_sorted_and_filtered_services.ts | 2 +- ...regated_transaction_detailed_statistics.ts | 2 +- ...service_transaction_detailed_statistics.ts | 2 +- .../server/routes/services/get_throughput.ts | 2 +- .../find_exact_configuration.ts | 2 +- .../get_agent_name_by_service.ts | 4 +-- ...t_config_applied_to_agent_through_fleet.ts | 2 +- .../get_existing_environments_for_service.ts | 2 +- .../search_configurations.ts | 2 +- .../settings/custom_link/custom_link_types.ts | 2 +- .../custom_link/get_transaction.test.ts | 2 +- .../custom_link/list_custom_links.test.ts | 2 +- .../routes/span_links/get_linked_children.ts | 2 +- .../routes/span_links/get_linked_parents.ts | 2 +- .../span_links/get_span_links_details.ts | 2 +- .../get_service_statistics.ts | 2 +- .../storage_explorer/get_size_timeseries.ts | 6 +---- .../get_storage_details_per_service.ts | 2 +- .../get_summary_statistics.ts | 6 +---- .../get_total_transactions_per_service.ts | 2 +- .../get_suggestions_with_terms_aggregation.ts | 2 +- .../traces/get_aggregated_critical_path.ts | 2 +- .../traces/get_top_traces_primary_stats.ts | 2 +- .../server/routes/traces/get_trace_items.ts | 2 +- .../traces/get_trace_samples_by_query.ts | 2 +- .../routes/transactions/breakdown/index.ts | 2 +- .../transactions/get_latency_charts/index.ts | 2 +- .../transactions/get_transaction/index.ts | 5 +--- .../get_transaction_by_trace/index.ts | 5 +--- .../transactions/trace_samples/index.ts | 2 +- .../correlations/failed_transactions.spec.ts | 2 +- .../event_metadata/event_metadata.spec.ts | 2 +- .../tests/suggestions/suggestions.spec.ts | 2 +- 186 files changed, 240 insertions(+), 287 deletions(-) rename x-pack/plugins/apm/common/{__snapshots__/elasticsearch_fieldnames.test.ts.snap => es_fields/__snapshots__/es_fields.test.ts.snap} (97%) rename x-pack/plugins/apm/common/{elasticsearch_fieldnames.ts => es_fields/apm.ts} (91%) rename x-pack/plugins/apm/common/{elasticsearch_fieldnames.test.ts => es_fields/es_fields.test.ts} (90%) create mode 100644 x-pack/plugins/apm/common/es_fields/infra_metrics.ts diff --git a/x-pack/plugins/apm/common/custom_link/custom_link_filter_options.ts b/x-pack/plugins/apm/common/custom_link/custom_link_filter_options.ts index b22eda64e06f6..dbf7adf182e7e 100644 --- a/x-pack/plugins/apm/common/custom_link/custom_link_filter_options.ts +++ b/x-pack/plugins/apm/common/custom_link/custom_link_filter_options.ts @@ -10,7 +10,7 @@ import { SERVICE_ENVIRONMENT, TRANSACTION_NAME, TRANSACTION_TYPE, -} from '../elasticsearch_fieldnames'; +} from '../es_fields/apm'; export const FILTER_OPTIONS = [ SERVICE_NAME, diff --git a/x-pack/plugins/apm/common/custom_link/custom_link_types.d.ts b/x-pack/plugins/apm/common/custom_link/custom_link_types.d.ts index f55af6aa558df..87c9df89ff176 100644 --- a/x-pack/plugins/apm/common/custom_link/custom_link_types.d.ts +++ b/x-pack/plugins/apm/common/custom_link/custom_link_types.d.ts @@ -10,7 +10,7 @@ import { SERVICE_ENVIRONMENT, TRANSACTION_NAME, TRANSACTION_TYPE, -} from '../elasticsearch_fieldnames'; +} from '../es_fields/apm'; import { FILTER_OPTIONS } from './custom_link_filter_options'; export interface CustomLinkES { diff --git a/x-pack/plugins/apm/common/dependencies.ts b/x-pack/plugins/apm/common/dependencies.ts index de7dc69639b6d..6228d4b9d279d 100644 --- a/x-pack/plugins/apm/common/dependencies.ts +++ b/x-pack/plugins/apm/common/dependencies.ts @@ -10,7 +10,7 @@ import { ProcessorEvent } from '@kbn/observability-plugin/common'; import { PROCESSOR_EVENT, SPAN_DESTINATION_SERVICE_RESOURCE, -} from './elasticsearch_fieldnames'; +} from './es_fields/apm'; import { environmentQuery } from './utils/environment_query'; export const kueryBarPlaceholder = i18n.translate( diff --git a/x-pack/plugins/apm/common/environment_filter_values.ts b/x-pack/plugins/apm/common/environment_filter_values.ts index df53b08fcf56f..e4779ee9547f0 100644 --- a/x-pack/plugins/apm/common/environment_filter_values.ts +++ b/x-pack/plugins/apm/common/environment_filter_values.ts @@ -6,7 +6,7 @@ */ import { i18n } from '@kbn/i18n'; -import { SERVICE_ENVIRONMENT } from './elasticsearch_fieldnames'; +import { SERVICE_ENVIRONMENT } from './es_fields/apm'; import { Environment } from './environment_rt'; const ENVIRONMENT_ALL_VALUE = 'ENVIRONMENT_ALL' as const; diff --git a/x-pack/plugins/apm/common/__snapshots__/elasticsearch_fieldnames.test.ts.snap b/x-pack/plugins/apm/common/es_fields/__snapshots__/es_fields.test.ts.snap similarity index 97% rename from x-pack/plugins/apm/common/__snapshots__/elasticsearch_fieldnames.test.ts.snap rename to x-pack/plugins/apm/common/es_fields/__snapshots__/es_fields.test.ts.snap index ab7a6d4139d4a..efe6189109b49 100644 --- a/x-pack/plugins/apm/common/__snapshots__/elasticsearch_fieldnames.test.ts.snap +++ b/x-pack/plugins/apm/common/es_fields/__snapshots__/es_fields.test.ts.snap @@ -251,18 +251,12 @@ exports[`Error TRANSACTION_SUCCESS_COUNT 1`] = `undefined`; exports[`Error TRANSACTION_TYPE 1`] = `"request"`; -exports[`Error TRANSACTION_URL 1`] = `undefined`; - exports[`Error URL_FULL 1`] = `undefined`; -exports[`Error USER_AGENT_DEVICE 1`] = `undefined`; - exports[`Error USER_AGENT_NAME 1`] = `undefined`; exports[`Error USER_AGENT_ORIGINAL 1`] = `undefined`; -exports[`Error USER_AGENT_OS 1`] = `undefined`; - exports[`Error USER_ID 1`] = `undefined`; exports[`Span AGENT 1`] = ` @@ -508,18 +502,12 @@ exports[`Span TRANSACTION_SUCCESS_COUNT 1`] = `undefined`; exports[`Span TRANSACTION_TYPE 1`] = `undefined`; -exports[`Span TRANSACTION_URL 1`] = `undefined`; - exports[`Span URL_FULL 1`] = `undefined`; -exports[`Span USER_AGENT_DEVICE 1`] = `undefined`; - exports[`Span USER_AGENT_NAME 1`] = `undefined`; exports[`Span USER_AGENT_ORIGINAL 1`] = `undefined`; -exports[`Span USER_AGENT_OS 1`] = `undefined`; - exports[`Span USER_ID 1`] = `undefined`; exports[`Transaction AGENT 1`] = ` @@ -783,16 +771,10 @@ exports[`Transaction TRANSACTION_SUCCESS_COUNT 1`] = `undefined`; exports[`Transaction TRANSACTION_TYPE 1`] = `"transaction type"`; -exports[`Transaction TRANSACTION_URL 1`] = `"http://www.elastic.co"`; - exports[`Transaction URL_FULL 1`] = `"http://www.elastic.co"`; -exports[`Transaction USER_AGENT_DEVICE 1`] = `undefined`; - exports[`Transaction USER_AGENT_NAME 1`] = `"Other"`; exports[`Transaction USER_AGENT_ORIGINAL 1`] = `"test original"`; -exports[`Transaction USER_AGENT_OS 1`] = `undefined`; - exports[`Transaction USER_ID 1`] = `"1337"`; diff --git a/x-pack/plugins/apm/common/elasticsearch_fieldnames.ts b/x-pack/plugins/apm/common/es_fields/apm.ts similarity index 91% rename from x-pack/plugins/apm/common/elasticsearch_fieldnames.ts rename to x-pack/plugins/apm/common/es_fields/apm.ts index 1734742c31d86..8d1bf4dd9d44e 100644 --- a/x-pack/plugins/apm/common/elasticsearch_fieldnames.ts +++ b/x-pack/plugins/apm/common/es_fields/apm.ts @@ -5,6 +5,12 @@ * 2.0. */ +export const AGENT = 'agent'; +export const AGENT_NAME = 'agent.name'; +export const AGENT_VERSION = 'agent.version'; + +export const DESTINATION_ADDRESS = 'destination.address'; + export const CLOUD = 'cloud'; export const CLOUD_AVAILABILITY_ZONE = 'cloud.availability_zone'; export const CLOUD_PROVIDER = 'cloud.provider'; @@ -27,10 +33,6 @@ export const SERVICE_RUNTIME_VERSION = 'service.runtime.version'; export const SERVICE_NODE_NAME = 'service.node.name'; export const SERVICE_VERSION = 'service.version'; -export const AGENT = 'agent'; -export const AGENT_NAME = 'agent.name'; -export const AGENT_VERSION = 'agent.version'; - export const URL_FULL = 'url.full'; export const HTTP_REQUEST_METHOD = 'http.request.method'; export const HTTP_RESPONSE_STATUS_CODE = 'http.response.status_code'; @@ -38,8 +40,6 @@ export const USER_ID = 'user.id'; export const USER_AGENT_ORIGINAL = 'user_agent.original'; export const USER_AGENT_NAME = 'user_agent.name'; -export const DESTINATION_ADDRESS = 'destination.address'; - export const OBSERVER_HOSTNAME = 'observer.hostname'; export const OBSERVER_LISTENING = 'observer.listening'; export const PROCESSOR_EVENT = 'processor.event'; @@ -125,29 +125,17 @@ export const HOST_NAME = 'host.name'; export const HOST_OS_PLATFORM = 'host.os.platform'; export const HOST_ARCHITECTURE = 'host.architecture'; export const HOST_OS_VERSION = 'host.os.version'; + export const CONTAINER_ID = 'container.id'; export const CONTAINER = 'container'; export const CONTAINER_IMAGE = 'container.image.name'; -// Kubernetes export const KUBERNETES = 'kubernetes'; -export const KUBERNETES_CONTAINER_NAME = 'kubernetes.container.name'; -export const KUBERNETES_DEPLOYMENT = 'kubernetes.deployment'; -export const KUBERNETES_DEPLOYMENT_NAME = 'kubernetes.deployment.name'; -export const KUBERNETES_NAMESPACE_NAME = 'kubernetes.namespace.name'; -export const KUBERNETES_NAMESPACE = 'kubernetes.namespace'; export const KUBERNETES_POD_NAME = 'kubernetes.pod.name'; export const KUBERNETES_POD_UID = 'kubernetes.pod.uid'; -export const KUBERNETES_REPLICASET = 'kubernetes.replicaset'; -export const KUBERNETES_REPLICASET_NAME = 'kubernetes.replicaset.name'; export const CLIENT_GEO_COUNTRY_ISO_CODE = 'client.geo.country_iso_code'; -// RUM Labels -export const TRANSACTION_URL = 'url.full'; -export const USER_AGENT_DEVICE = 'user_agent.device.name'; -export const USER_AGENT_OS = 'user_agent.os.name'; - export const FAAS_ID = 'faas.id'; export const FAAS_NAME = 'faas.name'; export const FAAS_COLDSTART = 'faas.coldstart'; diff --git a/x-pack/plugins/apm/common/elasticsearch_fieldnames.test.ts b/x-pack/plugins/apm/common/es_fields/es_fields.test.ts similarity index 90% rename from x-pack/plugins/apm/common/elasticsearch_fieldnames.test.ts rename to x-pack/plugins/apm/common/es_fields/es_fields.test.ts index debf75f79ec7e..416a7f6fc39e8 100644 --- a/x-pack/plugins/apm/common/elasticsearch_fieldnames.test.ts +++ b/x-pack/plugins/apm/common/es_fields/es_fields.test.ts @@ -6,11 +6,17 @@ */ import { get } from 'lodash'; -import { AllowUnknownProperties } from '../typings/common'; -import { APMError } from '../typings/es_schemas/ui/apm_error'; -import { Span } from '../typings/es_schemas/ui/span'; -import { Transaction } from '../typings/es_schemas/ui/transaction'; -import * as fieldnames from './elasticsearch_fieldnames'; +import { AllowUnknownProperties } from '../../typings/common'; +import { APMError } from '../../typings/es_schemas/ui/apm_error'; +import { Span } from '../../typings/es_schemas/ui/span'; +import { Transaction } from '../../typings/es_schemas/ui/transaction'; +import * as apmFieldnames from './apm'; +import * as infraMetricsFieldnames from './infra_metrics'; + +const fieldnames = { + ...apmFieldnames, + ...infraMetricsFieldnames, +}; describe('Transaction', () => { const transaction: AllowUnknownProperties = { diff --git a/x-pack/plugins/apm/common/es_fields/infra_metrics.ts b/x-pack/plugins/apm/common/es_fields/infra_metrics.ts new file mode 100644 index 0000000000000..fbf09e1887dfb --- /dev/null +++ b/x-pack/plugins/apm/common/es_fields/infra_metrics.ts @@ -0,0 +1,15 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +// Kubernetes +export const KUBERNETES_CONTAINER_NAME = 'kubernetes.container.name'; +export const KUBERNETES_DEPLOYMENT = 'kubernetes.deployment'; +export const KUBERNETES_DEPLOYMENT_NAME = 'kubernetes.deployment.name'; +export const KUBERNETES_NAMESPACE_NAME = 'kubernetes.namespace.name'; +export const KUBERNETES_NAMESPACE = 'kubernetes.namespace'; +export const KUBERNETES_REPLICASET = 'kubernetes.replicaset'; +export const KUBERNETES_REPLICASET_NAME = 'kubernetes.replicaset.name'; diff --git a/x-pack/plugins/apm/common/service_groups.test.ts b/x-pack/plugins/apm/common/service_groups.test.ts index 856eec4ef2e3f..28c9120338ad5 100644 --- a/x-pack/plugins/apm/common/service_groups.test.ts +++ b/x-pack/plugins/apm/common/service_groups.test.ts @@ -14,7 +14,7 @@ import { TRANSACTION_TYPE, TRANSACTION_DURATION, SERVICE_FRAMEWORK_VERSION, -} from './elasticsearch_fieldnames'; +} from './es_fields/apm'; describe('service_groups common utils', () => { describe('isSupportedField', () => { diff --git a/x-pack/plugins/apm/common/service_groups.ts b/x-pack/plugins/apm/common/service_groups.ts index 4b2ba1288ecae..cf58c0e9a4b8d 100644 --- a/x-pack/plugins/apm/common/service_groups.ts +++ b/x-pack/plugins/apm/common/service_groups.ts @@ -13,7 +13,7 @@ import { SERVICE_NAME, SERVICE_ENVIRONMENT, SERVICE_LANGUAGE_NAME, -} from './elasticsearch_fieldnames'; +} from './es_fields/apm'; const LABELS = 'labels'; // implies labels.* wildcard diff --git a/x-pack/plugins/apm/common/service_map.ts b/x-pack/plugins/apm/common/service_map.ts index d10785d614cd3..fb2fa7fae6540 100644 --- a/x-pack/plugins/apm/common/service_map.ts +++ b/x-pack/plugins/apm/common/service_map.ts @@ -23,7 +23,7 @@ import { ServiceAnomalyStats } from './anomaly_detection'; // SPAN_DESTINATION_SERVICE_RESOURCE, // SPAN_SUBTYPE, // SPAN_TYPE, -// } from './elasticsearch_fieldnames'; +// } from './es_fields/apm'; export interface ServiceConnectionNode extends cytoscape.NodeDataDefinition { 'service.name': string; diff --git a/x-pack/plugins/apm/common/utils/environment_query.test.ts b/x-pack/plugins/apm/common/utils/environment_query.test.ts index fbd1b6b9a7a2d..f039b3f281fac 100644 --- a/x-pack/plugins/apm/common/utils/environment_query.test.ts +++ b/x-pack/plugins/apm/common/utils/environment_query.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { SERVICE_ENVIRONMENT } from '../elasticsearch_fieldnames'; +import { SERVICE_ENVIRONMENT } from '../es_fields/apm'; import { ENVIRONMENT_NOT_DEFINED } from '../environment_filter_values'; import { environmentQuery } from './environment_query'; diff --git a/x-pack/plugins/apm/common/utils/environment_query.ts b/x-pack/plugins/apm/common/utils/environment_query.ts index 42744778b861b..4b9edc8c51be5 100644 --- a/x-pack/plugins/apm/common/utils/environment_query.ts +++ b/x-pack/plugins/apm/common/utils/environment_query.ts @@ -6,10 +6,7 @@ */ import { QueryDslQueryContainer } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; -import { - SERVICE_ENVIRONMENT, - SERVICE_NODE_NAME, -} from '../elasticsearch_fieldnames'; +import { SERVICE_ENVIRONMENT, SERVICE_NODE_NAME } from '../es_fields/apm'; import { ENVIRONMENT_ALL, ENVIRONMENT_NOT_DEFINED, diff --git a/x-pack/plugins/apm/public/components/alerting/utils/fields.tsx b/x-pack/plugins/apm/public/components/alerting/utils/fields.tsx index 3f028c2ead002..df6090239dbe7 100644 --- a/x-pack/plugins/apm/public/components/alerting/utils/fields.tsx +++ b/x-pack/plugins/apm/public/components/alerting/utils/fields.tsx @@ -12,7 +12,7 @@ import { SERVICE_ENVIRONMENT, SERVICE_NAME, TRANSACTION_TYPE, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { ENVIRONMENT_ALL, getEnvironmentLabel, diff --git a/x-pack/plugins/apm/public/components/app/alerts_overview/index.tsx b/x-pack/plugins/apm/public/components/app/alerts_overview/index.tsx index 01a5ed8ada073..826f7b809715c 100644 --- a/x-pack/plugins/apm/public/components/app/alerts_overview/index.tsx +++ b/x-pack/plugins/apm/public/components/app/alerts_overview/index.tsx @@ -12,7 +12,7 @@ import { AlertConsumers } from '@kbn/rule-data-utils'; import { useKibana } from '@kbn/kibana-react-plugin/public'; import { ApmPluginStartDeps } from '../../../plugin'; import { useApmParams } from '../../../hooks/use_apm_params'; -import { SERVICE_NAME } from '../../../../common/elasticsearch_fieldnames'; +import { SERVICE_NAME } from '../../../../common/es_fields/apm'; import { environmentQuery } from '../../../../common/utils/environment_query'; import { AlertsTableStatusFilter, diff --git a/x-pack/plugins/apm/public/components/app/correlations/context_popover/field_stats_popover.tsx b/x-pack/plugins/apm/public/components/app/correlations/context_popover/field_stats_popover.tsx index 6bc7ae8fecf0f..28518aba7b9b6 100644 --- a/x-pack/plugins/apm/public/components/app/correlations/context_popover/field_stats_popover.tsx +++ b/x-pack/plugins/apm/public/components/app/correlations/context_popover/field_stats_popover.tsx @@ -36,7 +36,7 @@ import { SERVICE_NAME, TRANSACTION_NAME, TRANSACTION_TYPE, -} from '../../../../../common/elasticsearch_fieldnames'; +} from '../../../../../common/es_fields/apm'; import { useApmParams } from '../../../../hooks/use_apm_params'; import { useApmPluginContext } from '../../../../context/apm_plugin/use_apm_plugin_context'; import { useFetchParams } from '../use_fetch_params'; diff --git a/x-pack/plugins/apm/public/components/app/correlations/use_failed_transactions_correlations.ts b/x-pack/plugins/apm/public/components/app/correlations/use_failed_transactions_correlations.ts index 59c594c04b0c5..e381071a185be 100644 --- a/x-pack/plugins/apm/public/components/app/correlations/use_failed_transactions_correlations.ts +++ b/x-pack/plugins/apm/public/components/app/correlations/use_failed_transactions_correlations.ts @@ -13,7 +13,7 @@ import type { ResponseErrorBody, } from '@kbn/core-http-browser'; -import { EVENT_OUTCOME } from '../../../../common/elasticsearch_fieldnames'; +import { EVENT_OUTCOME } from '../../../../common/es_fields/apm'; import { EventOutcome } from '../../../../common/event_outcome'; import { DEBOUNCE_INTERVAL, diff --git a/x-pack/plugins/apm/public/components/app/error_group_details/detail_view/index.tsx b/x-pack/plugins/apm/public/components/app/error_group_details/detail_view/index.tsx index 21124629a4063..22afb5198a1ca 100644 --- a/x-pack/plugins/apm/public/components/app/error_group_details/detail_view/index.tsx +++ b/x-pack/plugins/apm/public/components/app/error_group_details/detail_view/index.tsx @@ -43,7 +43,7 @@ import { import { ExceptionStacktrace } from './exception_stacktrace'; import { useApmRouter } from '../../../../hooks/use_apm_router'; import { useApmParams } from '../../../../hooks/use_apm_params'; -import { ERROR_GROUP_ID } from '../../../../../common/elasticsearch_fieldnames'; +import { ERROR_GROUP_ID } from '../../../../../common/es_fields/apm'; import { TraceSearchType } from '../../../../../common/trace_explorer'; import { TransactionTab } from '../../transaction_details/waterfall_with_summary/transaction_tabs'; import { useTraceExplorerEnabledSetting } from '../../../../hooks/use_trace_explorer_enabled_setting'; diff --git a/x-pack/plugins/apm/public/components/app/infra_overview/infra_tabs/use_tabs.tsx b/x-pack/plugins/apm/public/components/app/infra_overview/infra_tabs/use_tabs.tsx index e5244981f110b..d9a802e2c78b5 100644 --- a/x-pack/plugins/apm/public/components/app/infra_overview/infra_tabs/use_tabs.tsx +++ b/x-pack/plugins/apm/public/components/app/infra_overview/infra_tabs/use_tabs.tsx @@ -12,7 +12,11 @@ import React from 'react'; import { EuiSpacer } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { ApmPluginStartDeps } from '../../../../plugin'; - +import { + KUBERNETES_POD_NAME, + HOST_NAME, + CONTAINER_ID, +} from '../../../../../common/es_fields/apm'; type Tab = NonNullable[0] & { id: 'containers' | 'pods' | 'hosts'; hidden?: boolean; @@ -57,7 +61,7 @@ export function useTabs({ should: [ { terms: { - 'host.name': hostNames, + [HOST_NAME]: hostNames, }, }, ], @@ -69,7 +73,7 @@ export function useTabs({ const podsFilter = useMemo( () => ({ bool: { - filter: [{ terms: { 'kubernetes.pod.name': podNames } }], + filter: [{ terms: { [KUBERNETES_POD_NAME]: podNames } }], }, }), [podNames] @@ -77,7 +81,7 @@ export function useTabs({ const containersFilter = useMemo( () => ({ bool: { - filter: [{ terms: { 'container.id': containerIds } }], + filter: [{ terms: { [CONTAINER_ID]: containerIds } }], }, }), [containerIds] diff --git a/x-pack/plugins/apm/public/components/app/service_logs/index.tsx b/x-pack/plugins/apm/public/components/app/service_logs/index.tsx index 4e48dadb2b921..6616eee3d85d1 100644 --- a/x-pack/plugins/apm/public/components/app/service_logs/index.tsx +++ b/x-pack/plugins/apm/public/components/app/service_logs/index.tsx @@ -16,7 +16,7 @@ import { CONTAINER_ID, HOST_NAME, SERVICE_NAME, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { useApmParams } from '../../../hooks/use_apm_params'; import { useTimeRange } from '../../../hooks/use_time_range'; diff --git a/x-pack/plugins/apm/public/components/app/service_map/cytoscape_options.ts b/x-pack/plugins/apm/public/components/app/service_map/cytoscape_options.ts index 524006967cbf5..dbd27134f4eb7 100644 --- a/x-pack/plugins/apm/public/components/app/service_map/cytoscape_options.ts +++ b/x-pack/plugins/apm/public/components/app/service_map/cytoscape_options.ts @@ -12,7 +12,7 @@ import { ServiceAnomalyStats } from '../../../../common/anomaly_detection'; import { SERVICE_NAME, SPAN_DESTINATION_SERVICE_RESOURCE, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { getServiceHealthStatusColor, ServiceHealthStatus, diff --git a/x-pack/plugins/apm/public/components/app/service_map/icons.ts b/x-pack/plugins/apm/public/components/app/service_map/icons.ts index 3f6f7cb893024..187a84cb6cca6 100644 --- a/x-pack/plugins/apm/public/components/app/service_map/icons.ts +++ b/x-pack/plugins/apm/public/components/app/service_map/icons.ts @@ -10,7 +10,7 @@ import { AGENT_NAME, SPAN_SUBTYPE, SPAN_TYPE, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { getAgentIcon } from '../../shared/agent_icon/get_agent_icon'; import { getSpanIcon } from '../../shared/span_icon/get_span_icon'; diff --git a/x-pack/plugins/apm/public/components/app/service_map/popover/edge_contents.tsx b/x-pack/plugins/apm/public/components/app/service_map/popover/edge_contents.tsx index 8f5b7e9acce39..36bc1ba74fd56 100644 --- a/x-pack/plugins/apm/public/components/app/service_map/popover/edge_contents.tsx +++ b/x-pack/plugins/apm/public/components/app/service_map/popover/edge_contents.tsx @@ -19,7 +19,7 @@ import { TransactionTab } from '../../transaction_details/waterfall_with_summary import { SERVICE_NAME, SPAN_DESTINATION_SERVICE_RESOURCE, -} from '../../../../../common/elasticsearch_fieldnames'; +} from '../../../../../common/es_fields/apm'; export function EdgeContents({ elementData }: ContentsProps) { const edgeData = elementData as EdgeDataDefinition; diff --git a/x-pack/plugins/apm/public/components/app/service_map/popover/externals_list_contents.tsx b/x-pack/plugins/apm/public/components/app/service_map/popover/externals_list_contents.tsx index 19a914a7a3c5a..726280024efcf 100644 --- a/x-pack/plugins/apm/public/components/app/service_map/popover/externals_list_contents.tsx +++ b/x-pack/plugins/apm/public/components/app/service_map/popover/externals_list_contents.tsx @@ -19,7 +19,7 @@ import { SPAN_DESTINATION_SERVICE_RESOURCE, SPAN_TYPE, SPAN_SUBTYPE, -} from '../../../../../common/elasticsearch_fieldnames'; +} from '../../../../../common/es_fields/apm'; import { ExternalConnectionNode } from '../../../../../common/service_map'; const ExternalResourcesList = euiStyled.section` diff --git a/x-pack/plugins/apm/public/components/app/service_map/popover/index.tsx b/x-pack/plugins/apm/public/components/app/service_map/popover/index.tsx index 64d750a70b805..386b550b7f8b0 100644 --- a/x-pack/plugins/apm/public/components/app/service_map/popover/index.tsx +++ b/x-pack/plugins/apm/public/components/app/service_map/popover/index.tsx @@ -22,10 +22,7 @@ import React, { useRef, useState, } from 'react'; -import { - SERVICE_NAME, - SPAN_TYPE, -} from '../../../../../common/elasticsearch_fieldnames'; +import { SERVICE_NAME, SPAN_TYPE } from '../../../../../common/es_fields/apm'; import { Environment } from '../../../../../common/environment_rt'; import { useTheme } from '../../../../hooks/use_theme'; import { useTraceExplorerEnabledSetting } from '../../../../hooks/use_trace_explorer_enabled_setting'; diff --git a/x-pack/plugins/apm/public/components/app/service_map/popover/resource_contents.tsx b/x-pack/plugins/apm/public/components/app/service_map/popover/resource_contents.tsx index 3bef0615078d7..b4e70568d026f 100644 --- a/x-pack/plugins/apm/public/components/app/service_map/popover/resource_contents.tsx +++ b/x-pack/plugins/apm/public/components/app/service_map/popover/resource_contents.tsx @@ -14,10 +14,7 @@ import React from 'react'; import { euiStyled } from '@kbn/kibana-react-plugin/common'; import { NodeDataDefinition } from 'cytoscape'; import type { ContentsProps } from '.'; -import { - SPAN_SUBTYPE, - SPAN_TYPE, -} from '../../../../../common/elasticsearch_fieldnames'; +import { SPAN_SUBTYPE, SPAN_TYPE } from '../../../../../common/es_fields/apm'; const ItemRow = euiStyled.div` line-height: 2; diff --git a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/latency_map/get_layer_list.ts b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/latency_map/get_layer_list.ts index 49bf9fdbe2656..31150b73fcf51 100644 --- a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/latency_map/get_layer_list.ts +++ b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/latency_map/get_layer_list.ts @@ -25,7 +25,7 @@ import { i18n } from '@kbn/i18n'; import { CLIENT_GEO_COUNTRY_ISO_CODE, TRANSACTION_DURATION, -} from '../../../../../../common/elasticsearch_fieldnames'; +} from '../../../../../../common/es_fields/apm'; import { APM_STATIC_DATA_VIEW_ID } from '../../../../../../common/data_view_constants'; interface VectorLayerDescriptor extends BaseVectorLayerDescriptor { diff --git a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/most_used_chart/index.tsx b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/most_used_chart/index.tsx index 5d1481a010d91..101ae1592e5f1 100644 --- a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/most_used_chart/index.tsx +++ b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/most_used_chart/index.tsx @@ -17,7 +17,7 @@ import { HOST_OS_VERSION, NETWORK_CONNECTION_TYPE, SERVICE_VERSION, -} from '../../../../../../common/elasticsearch_fieldnames'; +} from '../../../../../../common/es_fields/apm'; export type MostUsedMetricTypes = | typeof DEVICE_MODEL_NAME diff --git a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/most_used_chart/most_used_chart.test.tsx b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/most_used_chart/most_used_chart.test.tsx index fa4a5bf3657f6..49e0cefc6ddf9 100644 --- a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/most_used_chart/most_used_chart.test.tsx +++ b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/most_used_chart/most_used_chart.test.tsx @@ -13,7 +13,7 @@ import { createKibanaReactContext } from '@kbn/kibana-react-plugin/public'; import { MockApmPluginContextWrapper } from '../../../../../context/apm_plugin/mock_apm_plugin_context'; import { getLensAttributes } from './get_lens_attributes'; import { MostUsedChart, MostUsedMetricTypes } from '.'; -import { HOST_OS_VERSION } from '../../../../../../common/elasticsearch_fieldnames'; +import { HOST_OS_VERSION } from '../../../../../../common/es_fields/apm'; const mockEmbeddableComponent = jest.fn(); diff --git a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/service_oveview_mobile_charts.tsx b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/service_oveview_mobile_charts.tsx index 5b06edee24f35..cf2feb2ad4d8c 100644 --- a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/service_oveview_mobile_charts.tsx +++ b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/service_oveview_mobile_charts.tsx @@ -37,7 +37,7 @@ import { HOST_OS_VERSION, NETWORK_CONNECTION_TYPE, SERVICE_VERSION, -} from '../../../../../common/elasticsearch_fieldnames'; +} from '../../../../../common/es_fields/apm'; interface Props { latencyChartHeight: number; rowDirection: 'column' | 'row'; diff --git a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/use_filters_for_mobile_charts.ts b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/use_filters_for_mobile_charts.ts index b64bbb1c0cc5b..c642dfe33116d 100644 --- a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/use_filters_for_mobile_charts.ts +++ b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_charts/use_filters_for_mobile_charts.ts @@ -16,7 +16,7 @@ import { DEVICE_MODEL_NAME, NETWORK_CONNECTION_TYPE, SERVICE_VERSION, -} from '../../../../../common/elasticsearch_fieldnames'; +} from '../../../../../common/es_fields/apm'; export function useFiltersForMobileCharts() { const { diff --git a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_instances_table/instance_actions_menu/index.tsx b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_instances_table/instance_actions_menu/index.tsx index fd8b43700f9b6..f37e9b52b7093 100644 --- a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_instances_table/instance_actions_menu/index.tsx +++ b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_instances_table/instance_actions_menu/index.tsx @@ -16,7 +16,7 @@ import { SectionTitle, } from '@kbn/observability-plugin/public'; import { isJavaAgentName } from '../../../../../../common/agent_name'; -import { SERVICE_NODE_NAME } from '../../../../../../common/elasticsearch_fieldnames'; +import { SERVICE_NODE_NAME } from '../../../../../../common/es_fields/apm'; import { useApmPluginContext } from '../../../../../context/apm_plugin/use_apm_plugin_context'; import { FETCH_STATUS } from '../../../../../hooks/use_fetcher'; import { pushNewItemToKueryBar } from '../../../../shared/kuery_bar/utils'; diff --git a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_instances_table/intance_details.tsx b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_instances_table/intance_details.tsx index c759f356753a0..b862ad858d0c6 100644 --- a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_instances_table/intance_details.tsx +++ b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_instances_table/intance_details.tsx @@ -18,17 +18,20 @@ import { CLOUD_PROVIDER, CONTAINER_ID, HOST_NAME, + SERVICE_VERSION, SERVICE_NODE_NAME, SERVICE_RUNTIME_NAME, SERVICE_RUNTIME_VERSION, - SERVICE_VERSION, - KUBERNETES_CONTAINER_NAME, - KUBERNETES_NAMESPACE, KUBERNETES_POD_NAME, KUBERNETES_POD_UID, +} from '../../../../../common/es_fields/apm'; + +import { + KUBERNETES_CONTAINER_NAME, + KUBERNETES_NAMESPACE, KUBERNETES_REPLICASET_NAME, KUBERNETES_DEPLOYMENT_NAME, -} from '../../../../../common/elasticsearch_fieldnames'; +} from '../../../../../common/es_fields/infra_metrics'; import { FETCH_STATUS } from '../../../../hooks/use_fetcher'; import { useTheme } from '../../../../hooks/use_theme'; diff --git a/x-pack/plugins/apm/public/components/app/settings/agent_configurations/agent_configuration_create_edit/service_page/service_page.tsx b/x-pack/plugins/apm/public/components/app/settings/agent_configurations/agent_configuration_create_edit/service_page/service_page.tsx index 1a4e8a4727d85..31b8ae54a4fc2 100644 --- a/x-pack/plugins/apm/public/components/app/settings/agent_configurations/agent_configuration_create_edit/service_page/service_page.tsx +++ b/x-pack/plugins/apm/public/components/app/settings/agent_configurations/agent_configuration_create_edit/service_page/service_page.tsx @@ -19,7 +19,7 @@ import { useFetcher, FETCH_STATUS } from '../../../../../../hooks/use_fetcher'; import { FormRowSelect } from './form_row_select'; import { LegacyAPMLink } from '../../../../../shared/links/apm/apm_link'; import { FormRowSuggestionsSelect } from './form_row_suggestions_select'; -import { SERVICE_NAME } from '../../../../../../../common/elasticsearch_fieldnames'; +import { SERVICE_NAME } from '../../../../../../../common/es_fields/apm'; interface Props { newConfig: AgentConfigurationIntake; setNewConfig: React.Dispatch>; diff --git a/x-pack/plugins/apm/public/components/app/settings/agent_explorer/index.tsx b/x-pack/plugins/apm/public/components/app/settings/agent_explorer/index.tsx index 11f4f8d0d79a1..2770fd1737afe 100644 --- a/x-pack/plugins/apm/public/components/app/settings/agent_explorer/index.tsx +++ b/x-pack/plugins/apm/public/components/app/settings/agent_explorer/index.tsx @@ -20,7 +20,7 @@ import { useHistory } from 'react-router-dom'; import { SERVICE_LANGUAGE_NAME, SERVICE_NAME, -} from '../../../../../common/elasticsearch_fieldnames'; +} from '../../../../../common/es_fields/apm'; import { useApmParams } from '../../../../hooks/use_apm_params'; import { FETCH_STATUS } from '../../../../hooks/use_fetcher'; import { useProgressiveFetcher } from '../../../../hooks/use_progressive_fetcher'; diff --git a/x-pack/plugins/apm/public/components/app/trace_link/get_redirect_to_trace_page_url.ts b/x-pack/plugins/apm/public/components/app/trace_link/get_redirect_to_trace_page_url.ts index a94ecd5c8f875..0f76d5e7dee9f 100644 --- a/x-pack/plugins/apm/public/components/app/trace_link/get_redirect_to_trace_page_url.ts +++ b/x-pack/plugins/apm/public/components/app/trace_link/get_redirect_to_trace_page_url.ts @@ -6,7 +6,7 @@ */ import { format } from 'url'; -import { TRACE_ID } from '../../../../common/elasticsearch_fieldnames'; +import { TRACE_ID } from '../../../../common/es_fields/apm'; export const getRedirectToTracePageUrl = ({ traceId, diff --git a/x-pack/plugins/apm/public/components/app/transaction_details/distribution/use_transaction_distribution_chart_data.ts b/x-pack/plugins/apm/public/components/app/transaction_details/distribution/use_transaction_distribution_chart_data.ts index 77f284e0ffee7..752c8dd4c9ee4 100644 --- a/x-pack/plugins/apm/public/components/app/transaction_details/distribution/use_transaction_distribution_chart_data.ts +++ b/x-pack/plugins/apm/public/components/app/transaction_details/distribution/use_transaction_distribution_chart_data.ts @@ -8,7 +8,7 @@ import { useEffect } from 'react'; import { i18n } from '@kbn/i18n'; import { DEFAULT_PERCENTILE_THRESHOLD } from '../../../../../common/correlations/constants'; -import { EVENT_OUTCOME } from '../../../../../common/elasticsearch_fieldnames'; +import { EVENT_OUTCOME } from '../../../../../common/es_fields/apm'; import { EventOutcome } from '../../../../../common/event_outcome'; import { LatencyDistributionChartType } from '../../../../../common/latency_distribution_chart_types'; import { useApmPluginContext } from '../../../../context/apm_plugin/use_apm_plugin_context'; diff --git a/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/flyout_top_level_properties.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/flyout_top_level_properties.tsx index 43af7b9c7414c..5b766a9cf04a9 100644 --- a/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/flyout_top_level_properties.tsx +++ b/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/flyout_top_level_properties.tsx @@ -10,7 +10,7 @@ import React from 'react'; import { SERVICE_NAME, TRANSACTION_NAME, -} from '../../../../../../../common/elasticsearch_fieldnames'; +} from '../../../../../../../common/es_fields/apm'; import { getNextEnvironmentUrlParam } from '../../../../../../../common/environment_filter_values'; import { LatencyAggregationType } from '../../../../../../../common/latency_aggregation_types'; import { Transaction } from '../../../../../../../typings/es_schemas/ui/transaction'; diff --git a/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/span_flyout/sticky_span_properties.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/span_flyout/sticky_span_properties.tsx index 59abacb1c325c..30ff2a8945d7c 100644 --- a/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/span_flyout/sticky_span_properties.tsx +++ b/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/span_flyout/sticky_span_properties.tsx @@ -13,7 +13,7 @@ import { SPAN_DESTINATION_SERVICE_RESOURCE, SPAN_NAME, TRANSACTION_NAME, -} from '../../../../../../../../common/elasticsearch_fieldnames'; +} from '../../../../../../../../common/es_fields/apm'; import { getNextEnvironmentUrlParam } from '../../../../../../../../common/environment_filter_values'; import { NOT_AVAILABLE_LABEL } from '../../../../../../../../common/i18n'; import { Span } from '../../../../../../../../typings/es_schemas/ui/span'; diff --git a/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/waterfall_item.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/waterfall_item.tsx index 8057ee3a32b7d..e2e4ea1fb00f4 100644 --- a/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/waterfall_item.tsx +++ b/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/waterfall_item.tsx @@ -14,7 +14,7 @@ import { isRumAgentName } from '../../../../../../../common/agent_name'; import { TRACE_ID, TRANSACTION_ID, -} from '../../../../../../../common/elasticsearch_fieldnames'; +} from '../../../../../../../common/es_fields/apm'; import { asDuration } from '../../../../../../../common/utils/formatters'; import { Margins } from '../../../../../shared/charts/timeline'; import { TruncateWithTooltip } from '../../../../../shared/truncate_with_tooltip'; diff --git a/x-pack/plugins/apm/public/components/routing/templates/apm_service_template/analyze_data_button.tsx b/x-pack/plugins/apm/public/components/routing/templates/apm_service_template/analyze_data_button.tsx index f7eb437f1d096..7a3ab4639d986 100644 --- a/x-pack/plugins/apm/public/components/routing/templates/apm_service_template/analyze_data_button.tsx +++ b/x-pack/plugins/apm/public/components/routing/templates/apm_service_template/analyze_data_button.tsx @@ -19,7 +19,7 @@ import { SERVICE_ENVIRONMENT, SERVICE_NAME, TRANSACTION_DURATION, -} from '../../../../../common/elasticsearch_fieldnames'; +} from '../../../../../common/es_fields/apm'; import { ENVIRONMENT_ALL, ENVIRONMENT_NOT_DEFINED, diff --git a/x-pack/plugins/apm/public/components/shared/charts/instances_latency_distribution_chart/index.tsx b/x-pack/plugins/apm/public/components/shared/charts/instances_latency_distribution_chart/index.tsx index dc01779cc3af3..e74c1014bcbec 100644 --- a/x-pack/plugins/apm/public/components/shared/charts/instances_latency_distribution_chart/index.tsx +++ b/x-pack/plugins/apm/public/components/shared/charts/instances_latency_distribution_chart/index.tsx @@ -24,7 +24,7 @@ import React from 'react'; import { useHistory } from 'react-router-dom'; import { useChartTheme } from '@kbn/observability-plugin/public'; import { usePreviousPeriodLabel } from '../../../../hooks/use_previous_period_text'; -import { SERVICE_NODE_NAME } from '../../../../../common/elasticsearch_fieldnames'; +import { SERVICE_NODE_NAME } from '../../../../../common/es_fields/apm'; import { asTransactionRate, getDurationFormatter, diff --git a/x-pack/plugins/apm/public/components/shared/charts/timeline/marker/error_marker.tsx b/x-pack/plugins/apm/public/components/shared/charts/timeline/marker/error_marker.tsx index 17ad34f70c008..a98f9d8a3203c 100644 --- a/x-pack/plugins/apm/public/components/shared/charts/timeline/marker/error_marker.tsx +++ b/x-pack/plugins/apm/public/components/shared/charts/timeline/marker/error_marker.tsx @@ -11,7 +11,7 @@ import { euiStyled } from '@kbn/kibana-react-plugin/common'; import { TRACE_ID, TRANSACTION_ID, -} from '../../../../../../common/elasticsearch_fieldnames'; +} from '../../../../../../common/es_fields/apm'; import { asDuration } from '../../../../../../common/utils/formatters'; import { useLegacyUrlParams } from '../../../../../context/url_params_context/use_url_params'; import { useTheme } from '../../../../../hooks/use_theme'; diff --git a/x-pack/plugins/apm/public/components/shared/critical_path_flamegraph/critical_path_flamegraph_tooltip.tsx b/x-pack/plugins/apm/public/components/shared/critical_path_flamegraph/critical_path_flamegraph_tooltip.tsx index 882b974abd6fe..e4687719cdfc3 100644 --- a/x-pack/plugins/apm/public/components/shared/critical_path_flamegraph/critical_path_flamegraph_tooltip.tsx +++ b/x-pack/plugins/apm/public/components/shared/critical_path_flamegraph/critical_path_flamegraph_tooltip.tsx @@ -23,7 +23,7 @@ import { SPAN_TYPE, TRANSACTION_NAME, TRANSACTION_TYPE, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { SpanIcon } from '../span_icon'; import { AgentIcon } from '../agent_icon'; import { asPercent } from '../../../../common/utils/formatters'; diff --git a/x-pack/plugins/apm/public/components/shared/environment_select/index.tsx b/x-pack/plugins/apm/public/components/shared/environment_select/index.tsx index f954d6d693171..a6b14b4f0a4e8 100644 --- a/x-pack/plugins/apm/public/components/shared/environment_select/index.tsx +++ b/x-pack/plugins/apm/public/components/shared/environment_select/index.tsx @@ -14,7 +14,7 @@ import { ENVIRONMENT_NOT_DEFINED, ENVIRONMENT_ALL, } from '../../../../common/environment_filter_values'; -import { SERVICE_ENVIRONMENT } from '../../../../common/elasticsearch_fieldnames'; +import { SERVICE_ENVIRONMENT } from '../../../../common/es_fields/apm'; import { FETCH_STATUS, useFetcher } from '../../../hooks/use_fetcher'; import { useTimeRange } from '../../../hooks/use_time_range'; import { useApmParams } from '../../../hooks/use_apm_params'; diff --git a/x-pack/plugins/apm/public/components/shared/kuery_bar/get_bool_filter.ts b/x-pack/plugins/apm/public/components/shared/kuery_bar/get_bool_filter.ts index e2db3349323ee..92a8a9172ff9a 100644 --- a/x-pack/plugins/apm/public/components/shared/kuery_bar/get_bool_filter.ts +++ b/x-pack/plugins/apm/public/components/shared/kuery_bar/get_bool_filter.ts @@ -12,7 +12,7 @@ import { SERVICE_NAME, TRANSACTION_NAME, TRANSACTION_TYPE, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { ENVIRONMENT_ALL } from '../../../../common/environment_filter_values'; import { UIProcessorEvent } from '../../../../common/processor_event'; import { environmentQuery } from '../../../../common/utils/environment_query'; diff --git a/x-pack/plugins/apm/public/components/shared/links/discover_links/discover_error_link.tsx b/x-pack/plugins/apm/public/components/shared/links/discover_links/discover_error_link.tsx index c7d35e7c983e8..b54d3a393a72f 100644 --- a/x-pack/plugins/apm/public/components/shared/links/discover_links/discover_error_link.tsx +++ b/x-pack/plugins/apm/public/components/shared/links/discover_links/discover_error_link.tsx @@ -9,7 +9,7 @@ import React, { ReactNode } from 'react'; import { ERROR_GROUP_ID, SERVICE_NAME, -} from '../../../../../common/elasticsearch_fieldnames'; +} from '../../../../../common/es_fields/apm'; import { APMError } from '../../../../../typings/es_schemas/ui/apm_error'; import { DiscoverLink } from './discover_link'; diff --git a/x-pack/plugins/apm/public/components/shared/links/discover_links/discover_span_link.tsx b/x-pack/plugins/apm/public/components/shared/links/discover_links/discover_span_link.tsx index f943e6fb49985..c8bcc29a15a98 100644 --- a/x-pack/plugins/apm/public/components/shared/links/discover_links/discover_span_link.tsx +++ b/x-pack/plugins/apm/public/components/shared/links/discover_links/discover_span_link.tsx @@ -6,7 +6,7 @@ */ import React, { ReactNode } from 'react'; -import { SPAN_ID } from '../../../../../common/elasticsearch_fieldnames'; +import { SPAN_ID } from '../../../../../common/es_fields/apm'; import { Span } from '../../../../../typings/es_schemas/ui/span'; import { DiscoverLink } from './discover_link'; diff --git a/x-pack/plugins/apm/public/components/shared/links/discover_links/discover_transaction_link.tsx b/x-pack/plugins/apm/public/components/shared/links/discover_links/discover_transaction_link.tsx index d776572cc9e32..3a79e880e1bd1 100644 --- a/x-pack/plugins/apm/public/components/shared/links/discover_links/discover_transaction_link.tsx +++ b/x-pack/plugins/apm/public/components/shared/links/discover_links/discover_transaction_link.tsx @@ -10,7 +10,7 @@ import { PROCESSOR_EVENT, TRACE_ID, TRANSACTION_ID, -} from '../../../../../common/elasticsearch_fieldnames'; +} from '../../../../../common/es_fields/apm'; import { Transaction } from '../../../../../typings/es_schemas/ui/transaction'; import { DiscoverLink } from './discover_link'; diff --git a/x-pack/plugins/apm/public/components/shared/sticky_properties/sticky_properties.test.tsx b/x-pack/plugins/apm/public/components/shared/sticky_properties/sticky_properties.test.tsx index 5207dae54efad..492200290dbe1 100644 --- a/x-pack/plugins/apm/public/components/shared/sticky_properties/sticky_properties.test.tsx +++ b/x-pack/plugins/apm/public/components/shared/sticky_properties/sticky_properties.test.tsx @@ -8,7 +8,7 @@ import React from 'react'; import { StickyProperties } from '.'; import { shallow } from 'enzyme'; -import { USER_ID, URL_FULL } from '../../../../common/elasticsearch_fieldnames'; +import { USER_ID, URL_FULL } from '../../../../common/es_fields/apm'; import { mockMoment } from '../../../utils/test_helpers'; describe('StickyProperties', () => { diff --git a/x-pack/plugins/apm/scripts/aggregate_latency_metrics/index.ts b/x-pack/plugins/apm/scripts/aggregate_latency_metrics/index.ts index 8576034d167ad..e2b3ef28f21ee 100644 --- a/x-pack/plugins/apm/scripts/aggregate_latency_metrics/index.ts +++ b/x-pack/plugins/apm/scripts/aggregate_latency_metrics/index.ts @@ -23,7 +23,7 @@ import { SERVICE_VERSION, TRANSACTION_RESULT, PROCESSOR_EVENT, -} from '../../common/elasticsearch_fieldnames'; +} from '../../common/es_fields/apm'; import { createOrUpdateIndex } from '../shared/create_or_update_index'; import { parseIndexUrl } from '../shared/parse_index_url'; import { ESClient, getEsClient } from '../shared/get_es_client'; diff --git a/x-pack/plugins/apm/server/lib/anomaly_detection/create_anomaly_detection_jobs.ts b/x-pack/plugins/apm/server/lib/anomaly_detection/create_anomaly_detection_jobs.ts index 7480fd1c847f3..3221212da93aa 100644 --- a/x-pack/plugins/apm/server/lib/anomaly_detection/create_anomaly_detection_jobs.ts +++ b/x-pack/plugins/apm/server/lib/anomaly_detection/create_anomaly_detection_jobs.ts @@ -12,10 +12,7 @@ import moment from 'moment'; import uuid from 'uuid/v4'; import { ProcessorEvent } from '@kbn/observability-plugin/common'; import { ML_ERRORS } from '../../../common/anomaly_detection'; -import { - METRICSET_NAME, - PROCESSOR_EVENT, -} from '../../../common/elasticsearch_fieldnames'; +import { METRICSET_NAME, PROCESSOR_EVENT } from '../../../common/es_fields/apm'; import { Environment } from '../../../common/environment_rt'; import { environmentQuery } from '../../../common/utils/environment_query'; import { withApmSpan } from '../../utils/with_apm_span'; diff --git a/x-pack/plugins/apm/server/lib/apm_telemetry/collect_data_telemetry/tasks.test.ts b/x-pack/plugins/apm/server/lib/apm_telemetry/collect_data_telemetry/tasks.test.ts index babbd57ccc9dc..1b9103aeefc6a 100644 --- a/x-pack/plugins/apm/server/lib/apm_telemetry/collect_data_telemetry/tasks.test.ts +++ b/x-pack/plugins/apm/server/lib/apm_telemetry/collect_data_telemetry/tasks.test.ts @@ -11,7 +11,7 @@ import { tasks } from './tasks'; import { SERVICE_NAME, SERVICE_ENVIRONMENT, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; describe('data telemetry collection tasks', () => { const indices = { diff --git a/x-pack/plugins/apm/server/lib/apm_telemetry/collect_data_telemetry/tasks.ts b/x-pack/plugins/apm/server/lib/apm_telemetry/collect_data_telemetry/tasks.ts index db07108179756..d7d14c37e819f 100644 --- a/x-pack/plugins/apm/server/lib/apm_telemetry/collect_data_telemetry/tasks.ts +++ b/x-pack/plugins/apm/server/lib/apm_telemetry/collect_data_telemetry/tasks.ts @@ -41,7 +41,7 @@ import { TRANSACTION_RESULT, TRANSACTION_TYPE, USER_AGENT_ORIGINAL, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { APM_SERVICE_GROUP_SAVED_OBJECT_TYPE, MAX_NUMBER_OF_SERVICE_GROUPS, diff --git a/x-pack/plugins/apm/server/lib/connections/exclude_rum_exit_spans_query.ts b/x-pack/plugins/apm/server/lib/connections/exclude_rum_exit_spans_query.ts index 4e15500a59466..32c805b330327 100644 --- a/x-pack/plugins/apm/server/lib/connections/exclude_rum_exit_spans_query.ts +++ b/x-pack/plugins/apm/server/lib/connections/exclude_rum_exit_spans_query.ts @@ -6,7 +6,7 @@ */ import { QueryDslQueryContainer } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; -import { AGENT_NAME } from '../../../common/elasticsearch_fieldnames'; +import { AGENT_NAME } from '../../../common/es_fields/apm'; import { RUM_AGENT_NAMES } from '../../../common/agent_name'; // exclude RUM exit spans, as they're high cardinality and don't usually diff --git a/x-pack/plugins/apm/server/lib/connections/get_connection_stats/get_destination_map.ts b/x-pack/plugins/apm/server/lib/connections/get_connection_stats/get_destination_map.ts index 4c76699d2089b..f39a5a3264449 100644 --- a/x-pack/plugins/apm/server/lib/connections/get_connection_stats/get_destination_map.ts +++ b/x-pack/plugins/apm/server/lib/connections/get_connection_stats/get_destination_map.ts @@ -23,7 +23,7 @@ import { SPAN_ID, SPAN_SUBTYPE, SPAN_TYPE, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { withApmSpan } from '../../../utils/with_apm_span'; import { Node, NodeType } from '../../../../common/connections'; import { excludeRumExitSpansQuery } from '../exclude_rum_exit_spans_query'; diff --git a/x-pack/plugins/apm/server/lib/connections/get_connection_stats/get_stats.ts b/x-pack/plugins/apm/server/lib/connections/get_connection_stats/get_stats.ts index 409565db5729f..6f432f72e307e 100644 --- a/x-pack/plugins/apm/server/lib/connections/get_connection_stats/get_stats.ts +++ b/x-pack/plugins/apm/server/lib/connections/get_connection_stats/get_stats.ts @@ -24,7 +24,7 @@ import { SPAN_DESTINATION_SERVICE_RESPONSE_TIME_SUM, SPAN_SUBTYPE, SPAN_TYPE, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { getBucketSize } from '../../helpers/get_bucket_size'; import { EventOutcome } from '../../../../common/event_outcome'; import { NodeType } from '../../../../common/connections'; diff --git a/x-pack/plugins/apm/server/lib/helpers/create_es_client/create_apm_event_client/unpack_processor_events.ts b/x-pack/plugins/apm/server/lib/helpers/create_es_client/create_apm_event_client/unpack_processor_events.ts index 11633dff25fd2..b57916814e179 100644 --- a/x-pack/plugins/apm/server/lib/helpers/create_es_client/create_apm_event_client/unpack_processor_events.ts +++ b/x-pack/plugins/apm/server/lib/helpers/create_es_client/create_apm_event_client/unpack_processor_events.ts @@ -8,7 +8,7 @@ import { uniq, defaultsDeep, cloneDeep } from 'lodash'; import type { ESSearchRequest, ESFilter } from '@kbn/es-types'; import { ProcessorEvent } from '@kbn/observability-plugin/common'; -import { PROCESSOR_EVENT } from '../../../../../common/elasticsearch_fieldnames'; +import { PROCESSOR_EVENT } from '../../../../../common/es_fields/apm'; import { ApmIndicesConfig } from '../../../../routes/settings/apm_indices/get_apm_indices'; const processorEventIndexMap = { diff --git a/x-pack/plugins/apm/server/lib/helpers/service_metrics/index.ts b/x-pack/plugins/apm/server/lib/helpers/service_metrics/index.ts index 1f68eaef98aae..ce50557e44ada 100644 --- a/x-pack/plugins/apm/server/lib/helpers/service_metrics/index.ts +++ b/x-pack/plugins/apm/server/lib/helpers/service_metrics/index.ts @@ -7,7 +7,7 @@ import { kqlQuery, rangeQuery } from '@kbn/observability-plugin/server'; import { ProcessorEvent } from '@kbn/observability-plugin/common'; -import { METRICSET_NAME } from '../../../../common/elasticsearch_fieldnames'; +import { METRICSET_NAME } from '../../../../common/es_fields/apm'; import { APMEventClient } from '../create_es_client/create_apm_event_client'; export async function getSearchServiceMetrics({ diff --git a/x-pack/plugins/apm/server/lib/helpers/spans/get_is_using_service_destination_metrics.ts b/x-pack/plugins/apm/server/lib/helpers/spans/get_is_using_service_destination_metrics.ts index 6b58db02bbbbc..0632f5a0b4d61 100644 --- a/x-pack/plugins/apm/server/lib/helpers/spans/get_is_using_service_destination_metrics.ts +++ b/x-pack/plugins/apm/server/lib/helpers/spans/get_is_using_service_destination_metrics.ts @@ -18,7 +18,7 @@ import { SPAN_DESTINATION_SERVICE_RESPONSE_TIME_SUM, SPAN_DURATION, SPAN_NAME, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { APMEventClient } from '../create_es_client/create_apm_event_client'; export function getProcessorEventForServiceDestinationStatistics( diff --git a/x-pack/plugins/apm/server/lib/helpers/transaction_coldstart_rate.ts b/x-pack/plugins/apm/server/lib/helpers/transaction_coldstart_rate.ts index 4ea3958f07361..2a01534a58c2f 100644 --- a/x-pack/plugins/apm/server/lib/helpers/transaction_coldstart_rate.ts +++ b/x-pack/plugins/apm/server/lib/helpers/transaction_coldstart_rate.ts @@ -9,7 +9,7 @@ import type { AggregationOptionsByType, AggregationResultOf, } from '@kbn/es-types'; -import { FAAS_COLDSTART } from '../../../common/elasticsearch_fieldnames'; +import { FAAS_COLDSTART } from '../../../common/es_fields/apm'; export const getColdstartAggregation = () => ({ terms: { diff --git a/x-pack/plugins/apm/server/lib/helpers/transaction_error_rate.ts b/x-pack/plugins/apm/server/lib/helpers/transaction_error_rate.ts index 665784ce53454..ff06cfd0f69d5 100644 --- a/x-pack/plugins/apm/server/lib/helpers/transaction_error_rate.ts +++ b/x-pack/plugins/apm/server/lib/helpers/transaction_error_rate.ts @@ -10,7 +10,7 @@ import type { AggregationResultOf, } from '@kbn/es-types'; import { isNull } from 'lodash'; -import { EVENT_OUTCOME } from '../../../common/elasticsearch_fieldnames'; +import { EVENT_OUTCOME } from '../../../common/es_fields/apm'; import { EventOutcome } from '../../../common/event_outcome'; export const getOutcomeAggregation = () => { diff --git a/x-pack/plugins/apm/server/lib/helpers/transactions/index.ts b/x-pack/plugins/apm/server/lib/helpers/transactions/index.ts index 3e54ee7fda79f..534d9af012fe9 100644 --- a/x-pack/plugins/apm/server/lib/helpers/transactions/index.ts +++ b/x-pack/plugins/apm/server/lib/helpers/transactions/index.ts @@ -13,7 +13,7 @@ import { TRANSACTION_DURATION_HISTOGRAM, TRANSACTION_ROOT, PARENT_ID, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { APMConfig } from '../../..'; import { APMEventClient } from '../create_es_client/create_apm_event_client'; diff --git a/x-pack/plugins/apm/server/lib/transaction_groups/get_coldstart_rate.ts b/x-pack/plugins/apm/server/lib/transaction_groups/get_coldstart_rate.ts index 74419d47507a4..8c8c2be00dd4b 100644 --- a/x-pack/plugins/apm/server/lib/transaction_groups/get_coldstart_rate.ts +++ b/x-pack/plugins/apm/server/lib/transaction_groups/get_coldstart_rate.ts @@ -12,7 +12,7 @@ import { SERVICE_NAME, TRANSACTION_NAME, TRANSACTION_TYPE, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { offsetPreviousPeriodCoordinates } from '../../../common/utils/offset_previous_period_coordinate'; import { environmentQuery } from '../../../common/utils/environment_query'; import { Coordinate } from '../../../typings/timeseries'; diff --git a/x-pack/plugins/apm/server/lib/transaction_groups/get_failed_transaction_rate.ts b/x-pack/plugins/apm/server/lib/transaction_groups/get_failed_transaction_rate.ts index 8fb57d037a3c6..f34ab55f485ba 100644 --- a/x-pack/plugins/apm/server/lib/transaction_groups/get_failed_transaction_rate.ts +++ b/x-pack/plugins/apm/server/lib/transaction_groups/get_failed_transaction_rate.ts @@ -15,7 +15,7 @@ import { SERVICE_NAME, TRANSACTION_NAME, TRANSACTION_TYPE, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { EventOutcome } from '../../../common/event_outcome'; import { environmentQuery } from '../../../common/utils/environment_query'; import { Coordinate } from '../../../typings/timeseries'; diff --git a/x-pack/plugins/apm/server/plugin.ts b/x-pack/plugins/apm/server/plugin.ts index f40ce41fa3f63..7fc3ab4f4d52e 100644 --- a/x-pack/plugins/apm/server/plugin.ts +++ b/x-pack/plugins/apm/server/plugin.ts @@ -51,7 +51,7 @@ import { SERVICE_ENVIRONMENT, SERVICE_NAME, TRANSACTION_TYPE, -} from '../common/elasticsearch_fieldnames'; +} from '../common/es_fields/apm'; import { tutorialProvider } from './tutorial'; import { migrateLegacyAPMIndicesToSpaceAware } from './saved_objects/migrations/migrate_legacy_apm_indices_to_space_aware'; diff --git a/x-pack/plugins/apm/server/routes/agent_explorer/get_agent_instances.ts b/x-pack/plugins/apm/server/routes/agent_explorer/get_agent_instances.ts index abebc4285a1e2..2a9bfcda1977c 100644 --- a/x-pack/plugins/apm/server/routes/agent_explorer/get_agent_instances.ts +++ b/x-pack/plugins/apm/server/routes/agent_explorer/get_agent_instances.ts @@ -18,7 +18,7 @@ import { SERVICE_ENVIRONMENT, SERVICE_NAME, SERVICE_NODE_NAME, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { environmentQuery } from '../../../common/utils/environment_query'; import { APMEventClient } from '../../lib/helpers/create_es_client/create_apm_event_client'; diff --git a/x-pack/plugins/apm/server/routes/agent_explorer/get_agents_items.ts b/x-pack/plugins/apm/server/routes/agent_explorer/get_agents_items.ts index 9fbb4a772e890..43cfc271da9aa 100644 --- a/x-pack/plugins/apm/server/routes/agent_explorer/get_agents_items.ts +++ b/x-pack/plugins/apm/server/routes/agent_explorer/get_agents_items.ts @@ -18,7 +18,7 @@ import { SERVICE_LANGUAGE_NAME, SERVICE_NAME, SERVICE_NODE_NAME, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { environmentQuery } from '../../../common/utils/environment_query'; import { AgentName } from '../../../typings/es_schemas/ui/fields/agent'; import { APMEventClient } from '../../lib/helpers/create_es_client/create_apm_event_client'; diff --git a/x-pack/plugins/apm/server/routes/alerts/rule_types/anomaly/get_service_group_fields_for_anomaly.ts b/x-pack/plugins/apm/server/routes/alerts/rule_types/anomaly/get_service_group_fields_for_anomaly.ts index 0786cd81aa7f2..a5c4205298438 100644 --- a/x-pack/plugins/apm/server/routes/alerts/rule_types/anomaly/get_service_group_fields_for_anomaly.ts +++ b/x-pack/plugins/apm/server/routes/alerts/rule_types/anomaly/get_service_group_fields_for_anomaly.ts @@ -14,7 +14,7 @@ import { SERVICE_NAME, TRANSACTION_TYPE, TRANSACTION_DURATION, -} from '../../../../../common/elasticsearch_fieldnames'; +} from '../../../../../common/es_fields/apm'; import { alertingEsClient } from '../../alerting_es_client'; import { getServiceGroupFields, diff --git a/x-pack/plugins/apm/server/routes/alerts/rule_types/anomaly/register_anomaly_rule_type.ts b/x-pack/plugins/apm/server/routes/alerts/rule_types/anomaly/register_anomaly_rule_type.ts index c2e4191fc49f5..889b249ceca3b 100644 --- a/x-pack/plugins/apm/server/routes/alerts/rule_types/anomaly/register_anomaly_rule_type.ts +++ b/x-pack/plugins/apm/server/routes/alerts/rule_types/anomaly/register_anomaly_rule_type.ts @@ -31,7 +31,7 @@ import { SERVICE_ENVIRONMENT, SERVICE_NAME, TRANSACTION_TYPE, -} from '../../../../../common/elasticsearch_fieldnames'; +} from '../../../../../common/es_fields/apm'; import { getEnvironmentEsField, getEnvironmentLabel, diff --git a/x-pack/plugins/apm/server/routes/alerts/rule_types/error_count/get_error_count_chart_preview.ts b/x-pack/plugins/apm/server/routes/alerts/rule_types/error_count/get_error_count_chart_preview.ts index fa819e268c802..4dfdf665e3d08 100644 --- a/x-pack/plugins/apm/server/routes/alerts/rule_types/error_count/get_error_count_chart_preview.ts +++ b/x-pack/plugins/apm/server/routes/alerts/rule_types/error_count/get_error_count_chart_preview.ts @@ -7,7 +7,7 @@ import { rangeQuery, termQuery } from '@kbn/observability-plugin/server'; import { ProcessorEvent } from '@kbn/observability-plugin/common'; -import { SERVICE_NAME } from '../../../../../common/elasticsearch_fieldnames'; +import { SERVICE_NAME } from '../../../../../common/es_fields/apm'; import { AlertParams } from '../../route'; import { environmentQuery } from '../../../../../common/utils/environment_query'; import { APMEventClient } from '../../../../lib/helpers/create_es_client/create_apm_event_client'; diff --git a/x-pack/plugins/apm/server/routes/alerts/rule_types/error_count/register_error_count_rule_type.ts b/x-pack/plugins/apm/server/routes/alerts/rule_types/error_count/register_error_count_rule_type.ts index 648aa857870cc..276e817093f40 100644 --- a/x-pack/plugins/apm/server/routes/alerts/rule_types/error_count/register_error_count_rule_type.ts +++ b/x-pack/plugins/apm/server/routes/alerts/rule_types/error_count/register_error_count_rule_type.ts @@ -34,7 +34,7 @@ import { PROCESSOR_EVENT, SERVICE_ENVIRONMENT, SERVICE_NAME, -} from '../../../../../common/elasticsearch_fieldnames'; +} from '../../../../../common/es_fields/apm'; import { environmentQuery } from '../../../../../common/utils/environment_query'; import { getApmIndices } from '../../../settings/apm_indices/get_apm_indices'; import { apmActionVariables } from '../../action_variables'; diff --git a/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_duration/get_transaction_duration_chart_preview.ts b/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_duration/get_transaction_duration_chart_preview.ts index 781e9739fdba9..0b4add4c316c3 100644 --- a/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_duration/get_transaction_duration_chart_preview.ts +++ b/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_duration/get_transaction_duration_chart_preview.ts @@ -12,7 +12,7 @@ import { SERVICE_NAME, SERVICE_ENVIRONMENT, TRANSACTION_TYPE, -} from '../../../../../common/elasticsearch_fieldnames'; +} from '../../../../../common/es_fields/apm'; import { environmentQuery } from '../../../../../common/utils/environment_query'; import { AlertParams } from '../../route'; import { diff --git a/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_duration/register_transaction_duration_rule_type.ts b/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_duration/register_transaction_duration_rule_type.ts index 304a752079e12..56cf1fc466584 100644 --- a/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_duration/register_transaction_duration_rule_type.ts +++ b/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_duration/register_transaction_duration_rule_type.ts @@ -33,7 +33,7 @@ import { SERVICE_NAME, TRANSACTION_TYPE, SERVICE_ENVIRONMENT, -} from '../../../../../common/elasticsearch_fieldnames'; +} from '../../../../../common/es_fields/apm'; import { ENVIRONMENT_NOT_DEFINED, getEnvironmentEsField, diff --git a/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_error_rate/get_transaction_error_rate_chart_preview.ts b/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_error_rate/get_transaction_error_rate_chart_preview.ts index d799e025c3453..d8d1b91acc60c 100644 --- a/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_error_rate/get_transaction_error_rate_chart_preview.ts +++ b/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_error_rate/get_transaction_error_rate_chart_preview.ts @@ -9,7 +9,7 @@ import { rangeQuery, termQuery } from '@kbn/observability-plugin/server'; import { SERVICE_NAME, TRANSACTION_TYPE, -} from '../../../../../common/elasticsearch_fieldnames'; +} from '../../../../../common/es_fields/apm'; import { environmentQuery } from '../../../../../common/utils/environment_query'; import { AlertParams } from '../../route'; import { diff --git a/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_error_rate/register_transaction_error_rate_rule_type.ts b/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_error_rate/register_transaction_error_rate_rule_type.ts index 97f07e32566fd..cda1c0a9f2f88 100644 --- a/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_error_rate/register_transaction_error_rate_rule_type.ts +++ b/x-pack/plugins/apm/server/routes/alerts/rule_types/transaction_error_rate/register_transaction_error_rate_rule_type.ts @@ -36,7 +36,7 @@ import { SERVICE_ENVIRONMENT, SERVICE_NAME, TRANSACTION_TYPE, -} from '../../../../../common/elasticsearch_fieldnames'; +} from '../../../../../common/es_fields/apm'; import { EventOutcome } from '../../../../../common/event_outcome'; import { asDecimalOrInteger } from '../../../../../common/utils/formatters'; import { environmentQuery } from '../../../../../common/utils/environment_query'; diff --git a/x-pack/plugins/apm/server/routes/correlations/queries/fetch_duration_correlation.ts b/x-pack/plugins/apm/server/routes/correlations/queries/fetch_duration_correlation.ts index 48d468c517972..e431f3eec1fdb 100644 --- a/x-pack/plugins/apm/server/routes/correlations/queries/fetch_duration_correlation.ts +++ b/x-pack/plugins/apm/server/routes/correlations/queries/fetch_duration_correlation.ts @@ -10,7 +10,7 @@ import { ProcessorEvent } from '@kbn/observability-plugin/common'; import { SPAN_DURATION, TRANSACTION_DURATION, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import type { CommonCorrelationsQueryParams } from '../../../../common/correlations/types'; import { getCommonCorrelationsQuery } from './get_common_correlations_query'; import { APMEventClient } from '../../../lib/helpers/create_es_client/create_apm_event_client'; diff --git a/x-pack/plugins/apm/server/routes/correlations/queries/fetch_duration_fractions.ts b/x-pack/plugins/apm/server/routes/correlations/queries/fetch_duration_fractions.ts index 222cce131372d..8d088ea0dd2f3 100644 --- a/x-pack/plugins/apm/server/routes/correlations/queries/fetch_duration_fractions.ts +++ b/x-pack/plugins/apm/server/routes/correlations/queries/fetch_duration_fractions.ts @@ -12,7 +12,7 @@ import { CommonCorrelationsQueryParams } from '../../../../common/correlations/t import { SPAN_DURATION, TRANSACTION_DURATION, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { APMEventClient } from '../../../lib/helpers/create_es_client/create_apm_event_client'; import { getCommonCorrelationsQuery } from './get_common_correlations_query'; diff --git a/x-pack/plugins/apm/server/routes/correlations/queries/fetch_failed_events_correlation_p_values.ts b/x-pack/plugins/apm/server/routes/correlations/queries/fetch_failed_events_correlation_p_values.ts index 405ca6250e5d5..788ee820e4453 100644 --- a/x-pack/plugins/apm/server/routes/correlations/queries/fetch_failed_events_correlation_p_values.ts +++ b/x-pack/plugins/apm/server/routes/correlations/queries/fetch_failed_events_correlation_p_values.ts @@ -10,7 +10,7 @@ import { FailedTransactionsCorrelation } from '../../../../common/correlations/f import { EVENT_OUTCOME, PROCESSOR_EVENT, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { EventOutcome } from '../../../../common/event_outcome'; import { LatencyDistributionChartType } from '../../../../common/latency_distribution_chart_types'; import { getCommonCorrelationsQuery } from './get_common_correlations_query'; diff --git a/x-pack/plugins/apm/server/routes/correlations/route.ts b/x-pack/plugins/apm/server/routes/correlations/route.ts index 00cba18950319..1957da0d7caba 100644 --- a/x-pack/plugins/apm/server/routes/correlations/route.ts +++ b/x-pack/plugins/apm/server/routes/correlations/route.ts @@ -22,7 +22,7 @@ import { SERVICE_NAME, TRANSACTION_NAME, TRANSACTION_TYPE, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { fetchFieldValueFieldStats } from './queries/field_stats/fetch_field_value_field_stats'; import { fetchFieldValuePairs } from './queries/fetch_field_value_pairs'; import { fetchSignificantCorrelations } from './queries/fetch_significant_correlations'; diff --git a/x-pack/plugins/apm/server/routes/correlations/utils/get_duration_field.ts b/x-pack/plugins/apm/server/routes/correlations/utils/get_duration_field.ts index 80824382b362f..7c353ff0939aa 100644 --- a/x-pack/plugins/apm/server/routes/correlations/utils/get_duration_field.ts +++ b/x-pack/plugins/apm/server/routes/correlations/utils/get_duration_field.ts @@ -9,7 +9,7 @@ import { SPAN_DURATION, TRANSACTION_DURATION, TRANSACTION_DURATION_HISTOGRAM, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { LatencyDistributionChartType } from '../../../../common/latency_distribution_chart_types'; const { diff --git a/x-pack/plugins/apm/server/routes/data_view/create_static_data_view.ts b/x-pack/plugins/apm/server/routes/data_view/create_static_data_view.ts index 61fbe9b362347..7422c878163b7 100644 --- a/x-pack/plugins/apm/server/routes/data_view/create_static_data_view.ts +++ b/x-pack/plugins/apm/server/routes/data_view/create_static_data_view.ts @@ -12,7 +12,7 @@ import { TRACE_ID, TRANSACTION_ID, TRANSACTION_DURATION, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { APM_STATIC_DATA_VIEW_ID } from '../../../common/data_view_constants'; import { hasHistoricalAgentData } from '../historical_data/has_historical_agent_data'; import { withApmSpan } from '../../utils/with_apm_span'; diff --git a/x-pack/plugins/apm/server/routes/dependencies/get_dependency_latency_distribution.ts b/x-pack/plugins/apm/server/routes/dependencies/get_dependency_latency_distribution.ts index 150ec8664a246..72945e44df1a2 100644 --- a/x-pack/plugins/apm/server/routes/dependencies/get_dependency_latency_distribution.ts +++ b/x-pack/plugins/apm/server/routes/dependencies/get_dependency_latency_distribution.ts @@ -10,7 +10,7 @@ import { EVENT_OUTCOME, SPAN_DESTINATION_SERVICE_RESOURCE, SPAN_NAME, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { Environment } from '../../../common/environment_rt'; import { EventOutcome } from '../../../common/event_outcome'; import { LatencyDistributionChartType } from '../../../common/latency_distribution_chart_types'; diff --git a/x-pack/plugins/apm/server/routes/dependencies/get_error_rate_charts_for_dependency.ts b/x-pack/plugins/apm/server/routes/dependencies/get_error_rate_charts_for_dependency.ts index 135178aca2ac9..81395df6ca491 100644 --- a/x-pack/plugins/apm/server/routes/dependencies/get_error_rate_charts_for_dependency.ts +++ b/x-pack/plugins/apm/server/routes/dependencies/get_error_rate_charts_for_dependency.ts @@ -15,7 +15,7 @@ import { EVENT_OUTCOME, SPAN_DESTINATION_SERVICE_RESOURCE, SPAN_NAME, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { environmentQuery } from '../../../common/utils/environment_query'; import { getMetricsDateHistogramParams } from '../../lib/helpers/metrics'; import { getOffsetInMs } from '../../../common/utils/get_offset_in_ms'; diff --git a/x-pack/plugins/apm/server/routes/dependencies/get_latency_charts_for_dependency.ts b/x-pack/plugins/apm/server/routes/dependencies/get_latency_charts_for_dependency.ts index 14689f9665708..0127c0db380c0 100644 --- a/x-pack/plugins/apm/server/routes/dependencies/get_latency_charts_for_dependency.ts +++ b/x-pack/plugins/apm/server/routes/dependencies/get_latency_charts_for_dependency.ts @@ -13,7 +13,7 @@ import { import { SPAN_DESTINATION_SERVICE_RESOURCE, SPAN_NAME, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { environmentQuery } from '../../../common/utils/environment_query'; import { getMetricsDateHistogramParams } from '../../lib/helpers/metrics'; import { getOffsetInMs } from '../../../common/utils/get_offset_in_ms'; diff --git a/x-pack/plugins/apm/server/routes/dependencies/get_metadata_for_dependency.ts b/x-pack/plugins/apm/server/routes/dependencies/get_metadata_for_dependency.ts index 5daf4483f8fd0..ef3d532ee97b0 100644 --- a/x-pack/plugins/apm/server/routes/dependencies/get_metadata_for_dependency.ts +++ b/x-pack/plugins/apm/server/routes/dependencies/get_metadata_for_dependency.ts @@ -8,7 +8,7 @@ import { rangeQuery } from '@kbn/observability-plugin/server'; import { ProcessorEvent } from '@kbn/observability-plugin/common'; import { maybe } from '../../../common/utils/maybe'; -import { SPAN_DESTINATION_SERVICE_RESOURCE } from '../../../common/elasticsearch_fieldnames'; +import { SPAN_DESTINATION_SERVICE_RESOURCE } from '../../../common/es_fields/apm'; import { APMEventClient } from '../../lib/helpers/create_es_client/create_apm_event_client'; export async function getMetadataForDependency({ diff --git a/x-pack/plugins/apm/server/routes/dependencies/get_throughput_charts_for_dependency.ts b/x-pack/plugins/apm/server/routes/dependencies/get_throughput_charts_for_dependency.ts index 6ba07907666be..6f9982a60a49c 100644 --- a/x-pack/plugins/apm/server/routes/dependencies/get_throughput_charts_for_dependency.ts +++ b/x-pack/plugins/apm/server/routes/dependencies/get_throughput_charts_for_dependency.ts @@ -13,7 +13,7 @@ import { import { SPAN_DESTINATION_SERVICE_RESOURCE, SPAN_NAME, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { environmentQuery } from '../../../common/utils/environment_query'; import { getOffsetInMs } from '../../../common/utils/get_offset_in_ms'; import { getBucketSize } from '../../lib/helpers/get_bucket_size'; diff --git a/x-pack/plugins/apm/server/routes/dependencies/get_top_dependency_operations.ts b/x-pack/plugins/apm/server/routes/dependencies/get_top_dependency_operations.ts index b2e4c44a730fb..bc01a0b0220a4 100644 --- a/x-pack/plugins/apm/server/routes/dependencies/get_top_dependency_operations.ts +++ b/x-pack/plugins/apm/server/routes/dependencies/get_top_dependency_operations.ts @@ -17,7 +17,7 @@ import { SPAN_DESTINATION_SERVICE_RESPONSE_TIME_COUNT, SPAN_DESTINATION_SERVICE_RESPONSE_TIME_SUM, SPAN_NAME, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { Environment } from '../../../common/environment_rt'; import { EventOutcome } from '../../../common/event_outcome'; import { environmentQuery } from '../../../common/utils/environment_query'; diff --git a/x-pack/plugins/apm/server/routes/dependencies/get_top_dependency_spans.ts b/x-pack/plugins/apm/server/routes/dependencies/get_top_dependency_spans.ts index 83d7f2bf52b9e..b8e579cff80df 100644 --- a/x-pack/plugins/apm/server/routes/dependencies/get_top_dependency_spans.ts +++ b/x-pack/plugins/apm/server/routes/dependencies/get_top_dependency_spans.ts @@ -26,7 +26,7 @@ import { TRANSACTION_ID, TRANSACTION_NAME, TRANSACTION_TYPE, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { Environment } from '../../../common/environment_rt'; import { EventOutcome } from '../../../common/event_outcome'; import { environmentQuery } from '../../../common/utils/environment_query'; diff --git a/x-pack/plugins/apm/server/routes/dependencies/get_upstream_services_for_dependency.ts b/x-pack/plugins/apm/server/routes/dependencies/get_upstream_services_for_dependency.ts index 8f2710cbc972f..0beda0afa4e13 100644 --- a/x-pack/plugins/apm/server/routes/dependencies/get_upstream_services_for_dependency.ts +++ b/x-pack/plugins/apm/server/routes/dependencies/get_upstream_services_for_dependency.ts @@ -6,7 +6,7 @@ */ import { kqlQuery } from '@kbn/observability-plugin/server'; -import { SPAN_DESTINATION_SERVICE_RESOURCE } from '../../../common/elasticsearch_fieldnames'; +import { SPAN_DESTINATION_SERVICE_RESOURCE } from '../../../common/es_fields/apm'; import { environmentQuery } from '../../../common/utils/environment_query'; import { getConnectionStats } from '../../lib/connections/get_connection_stats'; import { getConnectionStatsItemsWithRelativeImpact } from '../../lib/connections/get_connection_stats/get_connection_stats_items_with_relative_impact'; diff --git a/x-pack/plugins/apm/server/routes/environments/get_all_environments.ts b/x-pack/plugins/apm/server/routes/environments/get_all_environments.ts index 8cd7c14a0d629..bd8c2ec4fb8f7 100644 --- a/x-pack/plugins/apm/server/routes/environments/get_all_environments.ts +++ b/x-pack/plugins/apm/server/routes/environments/get_all_environments.ts @@ -10,7 +10,7 @@ import { ProcessorEvent } from '@kbn/observability-plugin/common'; import { SERVICE_NAME, SERVICE_ENVIRONMENT, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { ENVIRONMENT_NOT_DEFINED } from '../../../common/environment_filter_values'; import { getProcessorEventForTransactions } from '../../lib/helpers/transactions'; import { APMEventClient } from '../../lib/helpers/create_es_client/create_apm_event_client'; diff --git a/x-pack/plugins/apm/server/routes/environments/get_environments.ts b/x-pack/plugins/apm/server/routes/environments/get_environments.ts index e8a3abace204e..f04d67fe7d339 100644 --- a/x-pack/plugins/apm/server/routes/environments/get_environments.ts +++ b/x-pack/plugins/apm/server/routes/environments/get_environments.ts @@ -10,7 +10,7 @@ import { ProcessorEvent } from '@kbn/observability-plugin/common'; import { SERVICE_ENVIRONMENT, SERVICE_NAME, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { ENVIRONMENT_NOT_DEFINED } from '../../../common/environment_filter_values'; import { getProcessorEventForTransactions } from '../../lib/helpers/transactions'; import { Environment } from '../../../common/environment_rt'; diff --git a/x-pack/plugins/apm/server/routes/errors/distribution/get_buckets.ts b/x-pack/plugins/apm/server/routes/errors/distribution/get_buckets.ts index 770305df2aab2..72e9b1c1b2d55 100644 --- a/x-pack/plugins/apm/server/routes/errors/distribution/get_buckets.ts +++ b/x-pack/plugins/apm/server/routes/errors/distribution/get_buckets.ts @@ -11,10 +11,7 @@ import { termQuery, } from '@kbn/observability-plugin/server'; import { ProcessorEvent } from '@kbn/observability-plugin/common'; -import { - ERROR_GROUP_ID, - SERVICE_NAME, -} from '../../../../common/elasticsearch_fieldnames'; +import { ERROR_GROUP_ID, SERVICE_NAME } from '../../../../common/es_fields/apm'; import { environmentQuery } from '../../../../common/utils/environment_query'; import { APMEventClient } from '../../../lib/helpers/create_es_client/create_apm_event_client'; diff --git a/x-pack/plugins/apm/server/routes/errors/erroneous_transactions/get_top_erroneous_transactions.ts b/x-pack/plugins/apm/server/routes/errors/erroneous_transactions/get_top_erroneous_transactions.ts index 70ee012635b01..0c7a5de3ffa6d 100644 --- a/x-pack/plugins/apm/server/routes/errors/erroneous_transactions/get_top_erroneous_transactions.ts +++ b/x-pack/plugins/apm/server/routes/errors/erroneous_transactions/get_top_erroneous_transactions.ts @@ -24,7 +24,7 @@ import { SERVICE_NAME, TRANSACTION_NAME, TRANSACTION_TYPE, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { environmentQuery } from '../../../../common/utils/environment_query'; import { getBucketSize } from '../../../lib/helpers/get_bucket_size'; import { getOffsetInMs } from '../../../../common/utils/get_offset_in_ms'; diff --git a/x-pack/plugins/apm/server/routes/errors/get_error_groups/get_error_group_detailed_statistics.ts b/x-pack/plugins/apm/server/routes/errors/get_error_groups/get_error_group_detailed_statistics.ts index 30720c2d799c3..ba4026ea8dc4f 100644 --- a/x-pack/plugins/apm/server/routes/errors/get_error_groups/get_error_group_detailed_statistics.ts +++ b/x-pack/plugins/apm/server/routes/errors/get_error_groups/get_error_group_detailed_statistics.ts @@ -14,10 +14,7 @@ import { import { ProcessorEvent } from '@kbn/observability-plugin/common'; import { offsetPreviousPeriodCoordinates } from '../../../../common/utils/offset_previous_period_coordinate'; import { Coordinate } from '../../../../typings/timeseries'; -import { - ERROR_GROUP_ID, - SERVICE_NAME, -} from '../../../../common/elasticsearch_fieldnames'; +import { ERROR_GROUP_ID, SERVICE_NAME } from '../../../../common/es_fields/apm'; import { environmentQuery } from '../../../../common/utils/environment_query'; import { getBucketSize } from '../../../lib/helpers/get_bucket_size'; import { getOffsetInMs } from '../../../../common/utils/get_offset_in_ms'; diff --git a/x-pack/plugins/apm/server/routes/errors/get_error_groups/get_error_group_main_statistics.ts b/x-pack/plugins/apm/server/routes/errors/get_error_groups/get_error_group_main_statistics.ts index f4d2fcff4a402..176534c57be4a 100644 --- a/x-pack/plugins/apm/server/routes/errors/get_error_groups/get_error_group_main_statistics.ts +++ b/x-pack/plugins/apm/server/routes/errors/get_error_groups/get_error_group_main_statistics.ts @@ -22,7 +22,7 @@ import { SERVICE_NAME, TRANSACTION_NAME, TRANSACTION_TYPE, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { environmentQuery } from '../../../../common/utils/environment_query'; import { getErrorName } from '../../../lib/helpers/get_error_name'; import { APMEventClient } from '../../../lib/helpers/create_es_client/create_apm_event_client'; diff --git a/x-pack/plugins/apm/server/routes/errors/get_error_groups/get_error_group_sample.ts b/x-pack/plugins/apm/server/routes/errors/get_error_groups/get_error_group_sample.ts index 744db1c9c21b8..20615dc3be536 100644 --- a/x-pack/plugins/apm/server/routes/errors/get_error_groups/get_error_group_sample.ts +++ b/x-pack/plugins/apm/server/routes/errors/get_error_groups/get_error_group_sample.ts @@ -12,7 +12,7 @@ import { ERROR_GROUP_ID, SERVICE_NAME, TRANSACTION_SAMPLED, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { environmentQuery } from '../../../../common/utils/environment_query'; import { getTransaction } from '../../transactions/get_transaction'; import { APMEventClient } from '../../../lib/helpers/create_es_client/create_apm_event_client'; diff --git a/x-pack/plugins/apm/server/routes/event_metadata/get_event_metadata.ts b/x-pack/plugins/apm/server/routes/event_metadata/get_event_metadata.ts index a30160840657e..7788784326389 100644 --- a/x-pack/plugins/apm/server/routes/event_metadata/get_event_metadata.ts +++ b/x-pack/plugins/apm/server/routes/event_metadata/get_event_metadata.ts @@ -11,7 +11,7 @@ import { ERROR_ID, SPAN_ID, TRANSACTION_ID, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import type { APMEventClient } from '../../lib/helpers/create_es_client/create_apm_event_client'; export async function getEventMetadata({ diff --git a/x-pack/plugins/apm/server/routes/fleet/register_fleet_policy_callbacks.ts b/x-pack/plugins/apm/server/routes/fleet/register_fleet_policy_callbacks.ts index 52e77f3643bcd..0e05d9664cedd 100644 --- a/x-pack/plugins/apm/server/routes/fleet/register_fleet_policy_callbacks.ts +++ b/x-pack/plugins/apm/server/routes/fleet/register_fleet_policy_callbacks.ts @@ -16,7 +16,7 @@ import { import { APMPlugin, APMRouteHandlerResources } from '../..'; import { createInternalESClient } from '../../lib/helpers/create_es_client/create_internal_es_client'; import { AgentConfiguration } from '../../../common/agent_configuration/configuration_types'; -import { AGENT_NAME } from '../../../common/elasticsearch_fieldnames'; +import { AGENT_NAME } from '../../../common/es_fields/apm'; import { APMPluginStartDependencies } from '../../types'; import { mergePackagePolicyWithApm } from './merge_package_policy_with_apm'; diff --git a/x-pack/plugins/apm/server/routes/infrastructure/get_host_names.ts b/x-pack/plugins/apm/server/routes/infrastructure/get_host_names.ts index 257233fada9cb..59c4eec1556b4 100644 --- a/x-pack/plugins/apm/server/routes/infrastructure/get_host_names.ts +++ b/x-pack/plugins/apm/server/routes/infrastructure/get_host_names.ts @@ -6,10 +6,7 @@ */ import { rangeQuery } from '@kbn/observability-plugin/server'; -import { - CONTAINER_ID, - HOST_NAME, -} from '../../../common/elasticsearch_fieldnames'; +import { CONTAINER_ID, HOST_NAME } from '../../../common/es_fields/apm'; import { InfraMetricsClient } from '../../lib/helpers/create_es_client/create_infra_metrics_client/create_infra_metrics_client'; export async function getContainerHostNames({ diff --git a/x-pack/plugins/apm/server/routes/infrastructure/get_infrastructure_data.ts b/x-pack/plugins/apm/server/routes/infrastructure/get_infrastructure_data.ts index 73c9732335c10..20983009b7f05 100644 --- a/x-pack/plugins/apm/server/routes/infrastructure/get_infrastructure_data.ts +++ b/x-pack/plugins/apm/server/routes/infrastructure/get_infrastructure_data.ts @@ -13,7 +13,7 @@ import { CONTAINER_ID, HOST_HOSTNAME, KUBERNETES_POD_NAME, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { APMEventClient } from '../../lib/helpers/create_es_client/create_apm_event_client'; export const getInfrastructureData = async ({ diff --git a/x-pack/plugins/apm/server/routes/latency_distribution/route.ts b/x-pack/plugins/apm/server/routes/latency_distribution/route.ts index 0208d0a979b7e..0ef6ba54f9877 100644 --- a/x-pack/plugins/apm/server/routes/latency_distribution/route.ts +++ b/x-pack/plugins/apm/server/routes/latency_distribution/route.ts @@ -17,7 +17,7 @@ import { SERVICE_NAME, TRANSACTION_NAME, TRANSACTION_TYPE, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { latencyDistributionChartTypeRt, LatencyDistributionChartType, diff --git a/x-pack/plugins/apm/server/routes/metrics/by_agent/java/gc/fetch_and_transform_gc_metrics.test.ts b/x-pack/plugins/apm/server/routes/metrics/by_agent/java/gc/fetch_and_transform_gc_metrics.test.ts index debb20c11f1a5..2979fcc8c45b3 100644 --- a/x-pack/plugins/apm/server/routes/metrics/by_agent/java/gc/fetch_and_transform_gc_metrics.test.ts +++ b/x-pack/plugins/apm/server/routes/metrics/by_agent/java/gc/fetch_and_transform_gc_metrics.test.ts @@ -9,7 +9,7 @@ import { APMConfig } from '../../../../..'; import { METRIC_JAVA_GC_COUNT, METRIC_JAVA_GC_TIME, -} from '../../../../../../common/elasticsearch_fieldnames'; +} from '../../../../../../common/es_fields/apm'; import { APMEventClient } from '../../../../../lib/helpers/create_es_client/create_apm_event_client'; import { ChartBase } from '../../../types'; diff --git a/x-pack/plugins/apm/server/routes/metrics/by_agent/java/gc/fetch_and_transform_gc_metrics.ts b/x-pack/plugins/apm/server/routes/metrics/by_agent/java/gc/fetch_and_transform_gc_metrics.ts index cb97295bbca01..d8526aa71f230 100644 --- a/x-pack/plugins/apm/server/routes/metrics/by_agent/java/gc/fetch_and_transform_gc_metrics.ts +++ b/x-pack/plugins/apm/server/routes/metrics/by_agent/java/gc/fetch_and_transform_gc_metrics.ts @@ -19,7 +19,7 @@ import { METRIC_JAVA_GC_COUNT, METRIC_JAVA_GC_TIME, SERVICE_NAME, -} from '../../../../../../common/elasticsearch_fieldnames'; +} from '../../../../../../common/es_fields/apm'; import { getBucketSize } from '../../../../../lib/helpers/get_bucket_size'; import { getVizColorForIndex } from '../../../../../../common/viz_colors'; import { JAVA_AGENT_NAMES } from '../../../../../../common/agent_name'; diff --git a/x-pack/plugins/apm/server/routes/metrics/by_agent/java/gc/get_gc_rate_chart.ts b/x-pack/plugins/apm/server/routes/metrics/by_agent/java/gc/get_gc_rate_chart.ts index 6fac756ccef5f..fe1dc496d21a9 100644 --- a/x-pack/plugins/apm/server/routes/metrics/by_agent/java/gc/get_gc_rate_chart.ts +++ b/x-pack/plugins/apm/server/routes/metrics/by_agent/java/gc/get_gc_rate_chart.ts @@ -7,7 +7,7 @@ import { euiLightVars as theme } from '@kbn/ui-theme'; import { i18n } from '@kbn/i18n'; -import { METRIC_JAVA_GC_COUNT } from '../../../../../../common/elasticsearch_fieldnames'; +import { METRIC_JAVA_GC_COUNT } from '../../../../../../common/es_fields/apm'; import { fetchAndTransformGcMetrics } from './fetch_and_transform_gc_metrics'; import { ChartBase } from '../../../types'; import { APMConfig } from '../../../../..'; diff --git a/x-pack/plugins/apm/server/routes/metrics/by_agent/java/gc/get_gc_time_chart.ts b/x-pack/plugins/apm/server/routes/metrics/by_agent/java/gc/get_gc_time_chart.ts index fed63945800da..4c3fdf23bcda0 100644 --- a/x-pack/plugins/apm/server/routes/metrics/by_agent/java/gc/get_gc_time_chart.ts +++ b/x-pack/plugins/apm/server/routes/metrics/by_agent/java/gc/get_gc_time_chart.ts @@ -7,7 +7,7 @@ import { euiLightVars as theme } from '@kbn/ui-theme'; import { i18n } from '@kbn/i18n'; -import { METRIC_JAVA_GC_TIME } from '../../../../../../common/elasticsearch_fieldnames'; +import { METRIC_JAVA_GC_TIME } from '../../../../../../common/es_fields/apm'; import { fetchAndTransformGcMetrics } from './fetch_and_transform_gc_metrics'; import { ChartBase } from '../../../types'; import { APMEventClient } from '../../../../../lib/helpers/create_es_client/create_apm_event_client'; diff --git a/x-pack/plugins/apm/server/routes/metrics/by_agent/java/heap_memory/index.ts b/x-pack/plugins/apm/server/routes/metrics/by_agent/java/heap_memory/index.ts index 86c0b0af26054..5dca1df3b321d 100644 --- a/x-pack/plugins/apm/server/routes/metrics/by_agent/java/heap_memory/index.ts +++ b/x-pack/plugins/apm/server/routes/metrics/by_agent/java/heap_memory/index.ts @@ -12,7 +12,7 @@ import { METRIC_JAVA_HEAP_MEMORY_COMMITTED, METRIC_JAVA_HEAP_MEMORY_USED, AGENT_NAME, -} from '../../../../../../common/elasticsearch_fieldnames'; +} from '../../../../../../common/es_fields/apm'; import { fetchAndTransformMetrics } from '../../../fetch_and_transform_metrics'; import { ChartBase } from '../../../types'; import { JAVA_AGENT_NAMES } from '../../../../../../common/agent_name'; diff --git a/x-pack/plugins/apm/server/routes/metrics/by_agent/java/non_heap_memory/index.ts b/x-pack/plugins/apm/server/routes/metrics/by_agent/java/non_heap_memory/index.ts index 888af8d795afb..de9522528e0bf 100644 --- a/x-pack/plugins/apm/server/routes/metrics/by_agent/java/non_heap_memory/index.ts +++ b/x-pack/plugins/apm/server/routes/metrics/by_agent/java/non_heap_memory/index.ts @@ -12,7 +12,7 @@ import { METRIC_JAVA_NON_HEAP_MEMORY_COMMITTED, METRIC_JAVA_NON_HEAP_MEMORY_USED, AGENT_NAME, -} from '../../../../../../common/elasticsearch_fieldnames'; +} from '../../../../../../common/es_fields/apm'; import { ChartBase } from '../../../types'; import { fetchAndTransformMetrics } from '../../../fetch_and_transform_metrics'; import { JAVA_AGENT_NAMES } from '../../../../../../common/agent_name'; diff --git a/x-pack/plugins/apm/server/routes/metrics/by_agent/java/thread_count/index.ts b/x-pack/plugins/apm/server/routes/metrics/by_agent/java/thread_count/index.ts index 74daa14438a15..fdb0215576301 100644 --- a/x-pack/plugins/apm/server/routes/metrics/by_agent/java/thread_count/index.ts +++ b/x-pack/plugins/apm/server/routes/metrics/by_agent/java/thread_count/index.ts @@ -10,7 +10,7 @@ import { i18n } from '@kbn/i18n'; import { METRIC_JAVA_THREAD_COUNT, AGENT_NAME, -} from '../../../../../../common/elasticsearch_fieldnames'; +} from '../../../../../../common/es_fields/apm'; import { ChartBase } from '../../../types'; import { fetchAndTransformMetrics } from '../../../fetch_and_transform_metrics'; import { JAVA_AGENT_NAMES } from '../../../../../../common/agent_name'; diff --git a/x-pack/plugins/apm/server/routes/metrics/by_agent/shared/cpu/index.ts b/x-pack/plugins/apm/server/routes/metrics/by_agent/shared/cpu/index.ts index 7da8e16bc28cc..2dff5e5ef99e2 100644 --- a/x-pack/plugins/apm/server/routes/metrics/by_agent/shared/cpu/index.ts +++ b/x-pack/plugins/apm/server/routes/metrics/by_agent/shared/cpu/index.ts @@ -10,7 +10,7 @@ import { i18n } from '@kbn/i18n'; import { METRIC_SYSTEM_CPU_PERCENT, METRIC_PROCESS_CPU_PERCENT, -} from '../../../../../../common/elasticsearch_fieldnames'; +} from '../../../../../../common/es_fields/apm'; import { ChartBase } from '../../../types'; import { fetchAndTransformMetrics } from '../../../fetch_and_transform_metrics'; import { APMConfig } from '../../../../..'; diff --git a/x-pack/plugins/apm/server/routes/metrics/by_agent/shared/memory/index.ts b/x-pack/plugins/apm/server/routes/metrics/by_agent/shared/memory/index.ts index c4aa4f82fe558..2bb6b4a84925d 100644 --- a/x-pack/plugins/apm/server/routes/metrics/by_agent/shared/memory/index.ts +++ b/x-pack/plugins/apm/server/routes/metrics/by_agent/shared/memory/index.ts @@ -14,7 +14,7 @@ import { METRIC_CGROUP_MEMORY_USAGE_BYTES, METRIC_SYSTEM_FREE_MEMORY, METRIC_SYSTEM_TOTAL_MEMORY, -} from '../../../../../../common/elasticsearch_fieldnames'; +} from '../../../../../../common/es_fields/apm'; import { fetchAndTransformMetrics } from '../../../fetch_and_transform_metrics'; import { ChartBase } from '../../../types'; import { APMConfig } from '../../../../..'; diff --git a/x-pack/plugins/apm/server/routes/metrics/fetch_and_transform_metrics.ts b/x-pack/plugins/apm/server/routes/metrics/fetch_and_transform_metrics.ts index c23950b311e24..46a6610759e53 100644 --- a/x-pack/plugins/apm/server/routes/metrics/fetch_and_transform_metrics.ts +++ b/x-pack/plugins/apm/server/routes/metrics/fetch_and_transform_metrics.ts @@ -22,7 +22,7 @@ import { environmentQuery, serviceNodeNameQuery, } from '../../../common/utils/environment_query'; -import { SERVICE_NAME } from '../../../common/elasticsearch_fieldnames'; +import { SERVICE_NAME } from '../../../common/es_fields/apm'; import { ChartType, Coordinate, YUnit } from '../../../typings/timeseries'; import { APMConfig } from '../..'; diff --git a/x-pack/plugins/apm/server/routes/metrics/get_service_nodes.ts b/x-pack/plugins/apm/server/routes/metrics/get_service_nodes.ts index 2dd719717be00..c59da62d0c815 100644 --- a/x-pack/plugins/apm/server/routes/metrics/get_service_nodes.ts +++ b/x-pack/plugins/apm/server/routes/metrics/get_service_nodes.ts @@ -13,13 +13,10 @@ import { METRIC_JAVA_THREAD_COUNT, METRIC_PROCESS_CPU_PERCENT, HOST_NAME, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { SERVICE_NODE_NAME_MISSING } from '../../../common/service_nodes'; import { asMutableArray } from '../../../common/utils/as_mutable_array'; -import { - SERVICE_NAME, - SERVICE_NODE_NAME, -} from '../../../common/elasticsearch_fieldnames'; +import { SERVICE_NAME, SERVICE_NODE_NAME } from '../../../common/es_fields/apm'; import { environmentQuery } from '../../../common/utils/environment_query'; import { APMEventClient } from '../../lib/helpers/create_es_client/create_apm_event_client'; diff --git a/x-pack/plugins/apm/server/routes/metrics/serverless/get_active_instances_overview.ts b/x-pack/plugins/apm/server/routes/metrics/serverless/get_active_instances_overview.ts index 5361070e50c8d..6038fc6ab6fd6 100644 --- a/x-pack/plugins/apm/server/routes/metrics/serverless/get_active_instances_overview.ts +++ b/x-pack/plugins/apm/server/routes/metrics/serverless/get_active_instances_overview.ts @@ -19,7 +19,7 @@ import { METRIC_SYSTEM_TOTAL_MEMORY, SERVICE_NAME, SERVICE_NODE_NAME, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { getServerlessFunctionNameFromId } from '../../../../common/serverless'; import { environmentQuery } from '../../../../common/utils/environment_query'; import { Coordinate } from '../../../../typings/timeseries'; diff --git a/x-pack/plugins/apm/server/routes/metrics/serverless/get_active_instances_timeseries.ts b/x-pack/plugins/apm/server/routes/metrics/serverless/get_active_instances_timeseries.ts index facd270aec728..97fb24124d034 100644 --- a/x-pack/plugins/apm/server/routes/metrics/serverless/get_active_instances_timeseries.ts +++ b/x-pack/plugins/apm/server/routes/metrics/serverless/get_active_instances_timeseries.ts @@ -16,7 +16,7 @@ import { METRICSET_NAME, SERVICE_NAME, SERVICE_NODE_NAME, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { environmentQuery } from '../../../../common/utils/environment_query'; import { Coordinate } from '../../../../typings/timeseries'; import { getMetricsDateHistogramParams } from '../../../lib/helpers/metrics'; diff --git a/x-pack/plugins/apm/server/routes/metrics/serverless/get_cold_start_count_chart.ts b/x-pack/plugins/apm/server/routes/metrics/serverless/get_cold_start_count_chart.ts index a56e6c4c8764c..846754a645aa4 100644 --- a/x-pack/plugins/apm/server/routes/metrics/serverless/get_cold_start_count_chart.ts +++ b/x-pack/plugins/apm/server/routes/metrics/serverless/get_cold_start_count_chart.ts @@ -13,7 +13,7 @@ import { FAAS_COLDSTART, FAAS_ID, METRICSET_NAME, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { fetchAndTransformMetrics } from '../fetch_and_transform_metrics'; import { ChartBase } from '../types'; import { APMEventClient } from '../../../lib/helpers/create_es_client/create_apm_event_client'; diff --git a/x-pack/plugins/apm/server/routes/metrics/serverless/get_cold_start_duration_chart.ts b/x-pack/plugins/apm/server/routes/metrics/serverless/get_cold_start_duration_chart.ts index b1802edb5440b..caca426769ec9 100644 --- a/x-pack/plugins/apm/server/routes/metrics/serverless/get_cold_start_duration_chart.ts +++ b/x-pack/plugins/apm/server/routes/metrics/serverless/get_cold_start_duration_chart.ts @@ -12,7 +12,7 @@ import { FAAS_COLDSTART_DURATION, FAAS_ID, METRICSET_NAME, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { fetchAndTransformMetrics } from '../fetch_and_transform_metrics'; import { ChartBase } from '../types'; import { isFiniteNumber } from '../../../../common/utils/is_finite_number'; diff --git a/x-pack/plugins/apm/server/routes/metrics/serverless/get_compute_usage_chart.ts b/x-pack/plugins/apm/server/routes/metrics/serverless/get_compute_usage_chart.ts index 1c08588d9ec64..725cc7e893025 100644 --- a/x-pack/plugins/apm/server/routes/metrics/serverless/get_compute_usage_chart.ts +++ b/x-pack/plugins/apm/server/routes/metrics/serverless/get_compute_usage_chart.ts @@ -20,7 +20,7 @@ import { METRICSET_NAME, METRIC_SYSTEM_TOTAL_MEMORY, SERVICE_NAME, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { environmentQuery } from '../../../../common/utils/environment_query'; import { getMetricsDateHistogramParams } from '../../../lib/helpers/metrics'; import { GenericMetricsChart } from '../fetch_and_transform_metrics'; diff --git a/x-pack/plugins/apm/server/routes/metrics/serverless/get_serverless_function_latency_chart.ts b/x-pack/plugins/apm/server/routes/metrics/serverless/get_serverless_function_latency_chart.ts index 47593c3f48409..40e2d2e0f3dad 100644 --- a/x-pack/plugins/apm/server/routes/metrics/serverless/get_serverless_function_latency_chart.ts +++ b/x-pack/plugins/apm/server/routes/metrics/serverless/get_serverless_function_latency_chart.ts @@ -13,7 +13,7 @@ import { FAAS_BILLED_DURATION, FAAS_ID, METRICSET_NAME, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { LatencyAggregationType } from '../../../../common/latency_aggregation_types'; import { isFiniteNumber } from '../../../../common/utils/is_finite_number'; import { getVizColorForIndex } from '../../../../common/viz_colors'; diff --git a/x-pack/plugins/apm/server/routes/metrics/serverless/get_serverless_functions_overview.ts b/x-pack/plugins/apm/server/routes/metrics/serverless/get_serverless_functions_overview.ts index 236e950c1f13c..d253b6bc63f85 100644 --- a/x-pack/plugins/apm/server/routes/metrics/serverless/get_serverless_functions_overview.ts +++ b/x-pack/plugins/apm/server/routes/metrics/serverless/get_serverless_functions_overview.ts @@ -19,7 +19,7 @@ import { METRIC_SYSTEM_FREE_MEMORY, METRIC_SYSTEM_TOTAL_MEMORY, SERVICE_NAME, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { getServerlessFunctionNameFromId } from '../../../../common/serverless'; import { environmentQuery } from '../../../../common/utils/environment_query'; import { calcMemoryUsed } from './helper'; diff --git a/x-pack/plugins/apm/server/routes/metrics/serverless/get_serverless_summary.ts b/x-pack/plugins/apm/server/routes/metrics/serverless/get_serverless_summary.ts index 7d8f94606f86b..4e5bac125d2f3 100644 --- a/x-pack/plugins/apm/server/routes/metrics/serverless/get_serverless_summary.ts +++ b/x-pack/plugins/apm/server/routes/metrics/serverless/get_serverless_summary.ts @@ -19,7 +19,7 @@ import { METRIC_SYSTEM_FREE_MEMORY, METRIC_SYSTEM_TOTAL_MEMORY, SERVICE_NAME, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { environmentQuery } from '../../../../common/utils/environment_query'; import { APMEventClient } from '../../../lib/helpers/create_es_client/create_apm_event_client'; import { calcEstimatedCost, calcMemoryUsedRate } from './helper'; diff --git a/x-pack/plugins/apm/server/routes/mobile/get_mobile_filters.ts b/x-pack/plugins/apm/server/routes/mobile/get_mobile_filters.ts index bdd1667b4c8e8..bc2af83764c9c 100644 --- a/x-pack/plugins/apm/server/routes/mobile/get_mobile_filters.ts +++ b/x-pack/plugins/apm/server/routes/mobile/get_mobile_filters.ts @@ -19,7 +19,7 @@ import { SERVICE_NAME, SERVICE_VERSION, TRANSACTION_TYPE, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { environmentQuery } from '../../../common/utils/environment_query'; import { APMEventClient } from '../../lib/helpers/create_es_client/create_apm_event_client'; diff --git a/x-pack/plugins/apm/server/routes/observability_overview/get_service_count.ts b/x-pack/plugins/apm/server/routes/observability_overview/get_service_count.ts index 315f9345bff84..73ada87ff7d45 100644 --- a/x-pack/plugins/apm/server/routes/observability_overview/get_service_count.ts +++ b/x-pack/plugins/apm/server/routes/observability_overview/get_service_count.ts @@ -7,7 +7,7 @@ import { rangeQuery } from '@kbn/observability-plugin/server'; import { ProcessorEvent } from '@kbn/observability-plugin/common'; -import { SERVICE_NAME } from '../../../common/elasticsearch_fieldnames'; +import { SERVICE_NAME } from '../../../common/es_fields/apm'; import { getProcessorEventForTransactions } from '../../lib/helpers/transactions'; import { APMEventClient } from '../../lib/helpers/create_es_client/create_apm_event_client'; diff --git a/x-pack/plugins/apm/server/routes/observability_overview/get_transactions_per_minute.ts b/x-pack/plugins/apm/server/routes/observability_overview/get_transactions_per_minute.ts index 8f99b6a08ae84..844cab9da1ca3 100644 --- a/x-pack/plugins/apm/server/routes/observability_overview/get_transactions_per_minute.ts +++ b/x-pack/plugins/apm/server/routes/observability_overview/get_transactions_per_minute.ts @@ -10,7 +10,7 @@ import { TRANSACTION_PAGE_LOAD, TRANSACTION_REQUEST, } from '../../../common/transaction_types'; -import { TRANSACTION_TYPE } from '../../../common/elasticsearch_fieldnames'; +import { TRANSACTION_TYPE } from '../../../common/es_fields/apm'; import { getDocumentTypeFilterForTransactions, getProcessorEventForTransactions, diff --git a/x-pack/plugins/apm/server/routes/service_groups/get_services_counts.ts b/x-pack/plugins/apm/server/routes/service_groups/get_services_counts.ts index b261c2a4cfd4a..80582c9fb982f 100644 --- a/x-pack/plugins/apm/server/routes/service_groups/get_services_counts.ts +++ b/x-pack/plugins/apm/server/routes/service_groups/get_services_counts.ts @@ -8,7 +8,7 @@ import { ProcessorEvent } from '@kbn/observability-plugin/common'; import { rangeQuery, kqlQuery } from '@kbn/observability-plugin/server'; import { QueryDslQueryContainer } from '@elastic/elasticsearch/lib/api/types'; -import { SERVICE_NAME } from '../../../common/elasticsearch_fieldnames'; +import { SERVICE_NAME } from '../../../common/es_fields/apm'; import { SavedServiceGroup } from '../../../common/service_groups'; import { APMEventClient } from '../../lib/helpers/create_es_client/create_apm_event_client'; diff --git a/x-pack/plugins/apm/server/routes/service_groups/lookup_services.ts b/x-pack/plugins/apm/server/routes/service_groups/lookup_services.ts index 4acfb49762629..734cb3ddd6251 100644 --- a/x-pack/plugins/apm/server/routes/service_groups/lookup_services.ts +++ b/x-pack/plugins/apm/server/routes/service_groups/lookup_services.ts @@ -12,7 +12,7 @@ import { AGENT_NAME, SERVICE_ENVIRONMENT, SERVICE_NAME, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { APMEventClient } from '../../lib/helpers/create_es_client/create_apm_event_client'; export async function lookupServices({ diff --git a/x-pack/plugins/apm/server/routes/service_map/fetch_service_paths_from_trace_ids.ts b/x-pack/plugins/apm/server/routes/service_map/fetch_service_paths_from_trace_ids.ts index 5d044846da6e7..ee09078795df6 100644 --- a/x-pack/plugins/apm/server/routes/service_map/fetch_service_paths_from_trace_ids.ts +++ b/x-pack/plugins/apm/server/routes/service_map/fetch_service_paths_from_trace_ids.ts @@ -7,7 +7,7 @@ import { rangeQuery } from '@kbn/observability-plugin/server'; import { ProcessorEvent } from '@kbn/observability-plugin/common'; -import { TRACE_ID } from '../../../common/elasticsearch_fieldnames'; +import { TRACE_ID } from '../../../common/es_fields/apm'; import { ConnectionNode, ExternalConnectionNode, diff --git a/x-pack/plugins/apm/server/routes/service_map/get_service_map.ts b/x-pack/plugins/apm/server/routes/service_map/get_service_map.ts index d5a7c20b5204f..35c422c53156e 100644 --- a/x-pack/plugins/apm/server/routes/service_map/get_service_map.ts +++ b/x-pack/plugins/apm/server/routes/service_map/get_service_map.ts @@ -13,7 +13,7 @@ import { AGENT_NAME, SERVICE_ENVIRONMENT, SERVICE_NAME, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { environmentQuery } from '../../../common/utils/environment_query'; import { withApmSpan } from '../../utils/with_apm_span'; import { MlClient } from '../../lib/helpers/get_ml_client'; diff --git a/x-pack/plugins/apm/server/routes/service_map/get_service_map_dependency_node_info.ts b/x-pack/plugins/apm/server/routes/service_map/get_service_map_dependency_node_info.ts index 241672a7fa4db..c373fcea49071 100644 --- a/x-pack/plugins/apm/server/routes/service_map/get_service_map_dependency_node_info.ts +++ b/x-pack/plugins/apm/server/routes/service_map/get_service_map_dependency_node_info.ts @@ -12,7 +12,7 @@ import { SPAN_DESTINATION_SERVICE_RESOURCE, SPAN_DESTINATION_SERVICE_RESPONSE_TIME_COUNT, SPAN_DESTINATION_SERVICE_RESPONSE_TIME_SUM, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { EventOutcome } from '../../../common/event_outcome'; import { environmentQuery } from '../../../common/utils/environment_query'; import { withApmSpan } from '../../utils/with_apm_span'; diff --git a/x-pack/plugins/apm/server/routes/service_map/get_service_map_service_node_info.ts b/x-pack/plugins/apm/server/routes/service_map/get_service_map_service_node_info.ts index 7f4b260b83309..bbcbd439443fc 100644 --- a/x-pack/plugins/apm/server/routes/service_map/get_service_map_service_node_info.ts +++ b/x-pack/plugins/apm/server/routes/service_map/get_service_map_service_node_info.ts @@ -15,7 +15,7 @@ import { METRIC_SYSTEM_TOTAL_MEMORY, SERVICE_NAME, TRANSACTION_TYPE, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { NodeStats } from '../../../common/service_map'; import { TRANSACTION_PAGE_LOAD, diff --git a/x-pack/plugins/apm/server/routes/service_map/get_trace_sample_ids.ts b/x-pack/plugins/apm/server/routes/service_map/get_trace_sample_ids.ts index 2289d3df26485..d65e97c6988e5 100644 --- a/x-pack/plugins/apm/server/routes/service_map/get_trace_sample_ids.ts +++ b/x-pack/plugins/apm/server/routes/service_map/get_trace_sample_ids.ts @@ -15,7 +15,7 @@ import { SERVICE_NAME, SPAN_DESTINATION_SERVICE_RESOURCE, TRACE_ID, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { SERVICE_MAP_TIMEOUT_ERROR } from '../../../common/service_map'; import { environmentQuery } from '../../../common/utils/environment_query'; import { serviceGroupQuery } from '../../lib/service_group_query'; diff --git a/x-pack/plugins/apm/server/routes/service_map/group_resource_nodes.ts b/x-pack/plugins/apm/server/routes/service_map/group_resource_nodes.ts index e9434861f9ad7..6b5bd0f761806 100644 --- a/x-pack/plugins/apm/server/routes/service_map/group_resource_nodes.ts +++ b/x-pack/plugins/apm/server/routes/service_map/group_resource_nodes.ts @@ -8,10 +8,7 @@ import { i18n } from '@kbn/i18n'; import { groupBy } from 'lodash'; import { ValuesType } from 'utility-types'; -import { - SPAN_TYPE, - SPAN_SUBTYPE, -} from '../../../common/elasticsearch_fieldnames'; +import { SPAN_TYPE, SPAN_SUBTYPE } from '../../../common/es_fields/apm'; import { ConnectionElement, isSpanGroupingSupported, diff --git a/x-pack/plugins/apm/server/routes/service_map/transform_service_map_responses.test.ts b/x-pack/plugins/apm/server/routes/service_map/transform_service_map_responses.test.ts index b27e6ea03bdb2..f33f1fdf28094 100644 --- a/x-pack/plugins/apm/server/routes/service_map/transform_service_map_responses.test.ts +++ b/x-pack/plugins/apm/server/routes/service_map/transform_service_map_responses.test.ts @@ -14,7 +14,7 @@ import { SPAN_DESTINATION_SERVICE_RESOURCE, SPAN_SUBTYPE, SPAN_TYPE, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { transformServiceMapResponses, ServiceMapResponse, diff --git a/x-pack/plugins/apm/server/routes/service_map/transform_service_map_responses.ts b/x-pack/plugins/apm/server/routes/service_map/transform_service_map_responses.ts index 4d4522461252b..54299848473bb 100644 --- a/x-pack/plugins/apm/server/routes/service_map/transform_service_map_responses.ts +++ b/x-pack/plugins/apm/server/routes/service_map/transform_service_map_responses.ts @@ -12,7 +12,7 @@ import { SPAN_DESTINATION_SERVICE_RESOURCE, SPAN_TYPE, SPAN_SUBTYPE, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { Connection, ConnectionNode, diff --git a/x-pack/plugins/apm/server/routes/services/annotations/get_derived_service_annotations.ts b/x-pack/plugins/apm/server/routes/services/annotations/get_derived_service_annotations.ts index c98bc9dbeb17b..ce5a5eb959217 100644 --- a/x-pack/plugins/apm/server/routes/services/annotations/get_derived_service_annotations.ts +++ b/x-pack/plugins/apm/server/routes/services/annotations/get_derived_service_annotations.ts @@ -12,7 +12,7 @@ import { Annotation, AnnotationType } from '../../../../common/annotations'; import { SERVICE_NAME, SERVICE_VERSION, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { environmentQuery } from '../../../../common/utils/environment_query'; import { getDocumentTypeFilterForTransactions, diff --git a/x-pack/plugins/apm/server/routes/services/annotations/get_stored_annotations.ts b/x-pack/plugins/apm/server/routes/services/annotations/get_stored_annotations.ts index eaf1a1dd04d30..8422373d5e8d9 100644 --- a/x-pack/plugins/apm/server/routes/services/annotations/get_stored_annotations.ts +++ b/x-pack/plugins/apm/server/routes/services/annotations/get_stored_annotations.ts @@ -17,7 +17,7 @@ import { Annotation as ESAnnotation } from '@kbn/observability-plugin/common/ann import { ScopedAnnotationsClient } from '@kbn/observability-plugin/server'; import { environmentQuery } from '../../../../common/utils/environment_query'; import { Annotation, AnnotationType } from '../../../../common/annotations'; -import { SERVICE_NAME } from '../../../../common/elasticsearch_fieldnames'; +import { SERVICE_NAME } from '../../../../common/es_fields/apm'; import { withApmSpan } from '../../../utils/with_apm_span'; export function getStoredAnnotations({ diff --git a/x-pack/plugins/apm/server/routes/services/get_service_agent.ts b/x-pack/plugins/apm/server/routes/services/get_service_agent.ts index e848dd9befbfb..567cd47b28999 100644 --- a/x-pack/plugins/apm/server/routes/services/get_service_agent.ts +++ b/x-pack/plugins/apm/server/routes/services/get_service_agent.ts @@ -11,7 +11,7 @@ import { AGENT_NAME, SERVICE_NAME, SERVICE_RUNTIME_NAME, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { APMEventClient } from '../../lib/helpers/create_es_client/create_apm_event_client'; interface ServiceAgent { diff --git a/x-pack/plugins/apm/server/routes/services/get_service_dependencies.ts b/x-pack/plugins/apm/server/routes/services/get_service_dependencies.ts index e0878a9361f30..45bc74a5d0c71 100644 --- a/x-pack/plugins/apm/server/routes/services/get_service_dependencies.ts +++ b/x-pack/plugins/apm/server/routes/services/get_service_dependencies.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { SERVICE_NAME } from '../../../common/elasticsearch_fieldnames'; +import { SERVICE_NAME } from '../../../common/es_fields/apm'; import { environmentQuery } from '../../../common/utils/environment_query'; import { getConnectionStats } from '../../lib/connections/get_connection_stats'; import { getConnectionStatsItemsWithRelativeImpact } from '../../lib/connections/get_connection_stats/get_connection_stats_items_with_relative_impact'; diff --git a/x-pack/plugins/apm/server/routes/services/get_service_dependencies_breakdown.ts b/x-pack/plugins/apm/server/routes/services/get_service_dependencies_breakdown.ts index 8b940b8525b66..defe47c0bd61c 100644 --- a/x-pack/plugins/apm/server/routes/services/get_service_dependencies_breakdown.ts +++ b/x-pack/plugins/apm/server/routes/services/get_service_dependencies_breakdown.ts @@ -7,7 +7,7 @@ import { sortBy, take } from 'lodash'; import { kqlQuery } from '@kbn/observability-plugin/server'; import { getNodeName } from '../../../common/connections'; -import { SERVICE_NAME } from '../../../common/elasticsearch_fieldnames'; +import { SERVICE_NAME } from '../../../common/es_fields/apm'; import { environmentQuery } from '../../../common/utils/environment_query'; import { getConnectionStats } from '../../lib/connections/get_connection_stats'; import { APMEventClient } from '../../lib/helpers/create_es_client/create_apm_event_client'; diff --git a/x-pack/plugins/apm/server/routes/services/get_service_instance_container_metadata.ts b/x-pack/plugins/apm/server/routes/services/get_service_instance_container_metadata.ts index b5b98890ac636..049a01c55fb12 100644 --- a/x-pack/plugins/apm/server/routes/services/get_service_instance_container_metadata.ts +++ b/x-pack/plugins/apm/server/routes/services/get_service_instance_container_metadata.ts @@ -10,13 +10,15 @@ import { CONTAINER_ID, CONTAINER_IMAGE, KUBERNETES, - KUBERNETES_CONTAINER_NAME, - KUBERNETES_NAMESPACE, KUBERNETES_POD_NAME, KUBERNETES_POD_UID, +} from '../../../common/es_fields/apm'; +import { + KUBERNETES_CONTAINER_NAME, + KUBERNETES_NAMESPACE, KUBERNETES_REPLICASET_NAME, KUBERNETES_DEPLOYMENT_NAME, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/infra_metrics'; import { Kubernetes } from '../../../typings/es_schemas/raw/fields/kubernetes'; import { maybe } from '../../../common/utils/maybe'; import { InfraMetricsClient } from '../../lib/helpers/create_es_client/create_infra_metrics_client/create_infra_metrics_client'; diff --git a/x-pack/plugins/apm/server/routes/services/get_service_instance_metadata_details.ts b/x-pack/plugins/apm/server/routes/services/get_service_instance_metadata_details.ts index 22893a5acefd3..9ff813c6cd1b5 100644 --- a/x-pack/plugins/apm/server/routes/services/get_service_instance_metadata_details.ts +++ b/x-pack/plugins/apm/server/routes/services/get_service_instance_metadata_details.ts @@ -11,7 +11,7 @@ import { METRICSET_NAME, SERVICE_NAME, SERVICE_NODE_NAME, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { maybe } from '../../../common/utils/maybe'; import { getDocumentTypeFilterForTransactions, diff --git a/x-pack/plugins/apm/server/routes/services/get_service_instances/get_service_instances_system_metric_statistics.ts b/x-pack/plugins/apm/server/routes/services/get_service_instances/get_service_instances_system_metric_statistics.ts index 71e1b2f7658c1..63fb6464dee36 100644 --- a/x-pack/plugins/apm/server/routes/services/get_service_instances/get_service_instances_system_metric_statistics.ts +++ b/x-pack/plugins/apm/server/routes/services/get_service_instances/get_service_instances_system_metric_statistics.ts @@ -15,7 +15,7 @@ import { METRIC_SYSTEM_TOTAL_MEMORY, SERVICE_NAME, SERVICE_NODE_NAME, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { SERVICE_NODE_NAME_MISSING } from '../../../../common/service_nodes'; import { Coordinate } from '../../../../typings/timeseries'; import { environmentQuery } from '../../../../common/utils/environment_query'; diff --git a/x-pack/plugins/apm/server/routes/services/get_service_instances/get_service_instances_transaction_statistics.ts b/x-pack/plugins/apm/server/routes/services/get_service_instances/get_service_instances_transaction_statistics.ts index 8bff6b47308bc..2b46b68eaf96a 100644 --- a/x-pack/plugins/apm/server/routes/services/get_service_instances/get_service_instances_transaction_statistics.ts +++ b/x-pack/plugins/apm/server/routes/services/get_service_instances/get_service_instances_transaction_statistics.ts @@ -10,7 +10,7 @@ import { SERVICE_NAME, SERVICE_NODE_NAME, TRANSACTION_TYPE, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { EventOutcome } from '../../../../common/event_outcome'; import { LatencyAggregationType } from '../../../../common/latency_aggregation_types'; import { SERVICE_NODE_NAME_MISSING } from '../../../../common/service_nodes'; diff --git a/x-pack/plugins/apm/server/routes/services/get_service_metadata_details.ts b/x-pack/plugins/apm/server/routes/services/get_service_metadata_details.ts index dfe482325035b..4563bd851f8a8 100644 --- a/x-pack/plugins/apm/server/routes/services/get_service_metadata_details.ts +++ b/x-pack/plugins/apm/server/routes/services/get_service_metadata_details.ts @@ -24,7 +24,8 @@ import { SERVICE_VERSION, FAAS_ID, FAAS_TRIGGER_TYPE, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; + import { ContainerType } from '../../../common/service_metadata'; import { TransactionRaw } from '../../../typings/es_schemas/raw/transaction_raw'; import { getProcessorEventForTransactions } from '../../lib/helpers/transactions'; diff --git a/x-pack/plugins/apm/server/routes/services/get_service_metadata_icons.ts b/x-pack/plugins/apm/server/routes/services/get_service_metadata_icons.ts index 6b6ee0489ad19..f94cb4e5d3b29 100644 --- a/x-pack/plugins/apm/server/routes/services/get_service_metadata_icons.ts +++ b/x-pack/plugins/apm/server/routes/services/get_service_metadata_icons.ts @@ -16,7 +16,7 @@ import { SERVICE_NAME, KUBERNETES_POD_NAME, HOST_OS_PLATFORM, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { ContainerType } from '../../../common/service_metadata'; import { TransactionRaw } from '../../../typings/es_schemas/raw/transaction_raw'; import { getProcessorEventForTransactions } from '../../lib/helpers/transactions'; diff --git a/x-pack/plugins/apm/server/routes/services/get_service_node_metadata.ts b/x-pack/plugins/apm/server/routes/services/get_service_node_metadata.ts index f85bed4b77bba..0a1e4c113168d 100644 --- a/x-pack/plugins/apm/server/routes/services/get_service_node_metadata.ts +++ b/x-pack/plugins/apm/server/routes/services/get_service_node_metadata.ts @@ -7,15 +7,9 @@ import { kqlQuery, rangeQuery } from '@kbn/observability-plugin/server'; import { ProcessorEvent } from '@kbn/observability-plugin/common'; -import { - HOST_NAME, - CONTAINER_ID, -} from '../../../common/elasticsearch_fieldnames'; +import { HOST_NAME, CONTAINER_ID } from '../../../common/es_fields/apm'; import { NOT_AVAILABLE_LABEL } from '../../../common/i18n'; -import { - SERVICE_NAME, - SERVICE_NODE_NAME, -} from '../../../common/elasticsearch_fieldnames'; +import { SERVICE_NAME, SERVICE_NODE_NAME } from '../../../common/es_fields/apm'; import { environmentQuery, serviceNodeNameQuery, diff --git a/x-pack/plugins/apm/server/routes/services/get_service_overview_container_metadata.ts b/x-pack/plugins/apm/server/routes/services/get_service_overview_container_metadata.ts index 4b8d979a7dd85..5840f143869ef 100644 --- a/x-pack/plugins/apm/server/routes/services/get_service_overview_container_metadata.ts +++ b/x-pack/plugins/apm/server/routes/services/get_service_overview_container_metadata.ts @@ -10,13 +10,15 @@ import { CONTAINER_ID, CONTAINER_IMAGE, KUBERNETES, - KUBERNETES_CONTAINER_NAME, - KUBERNETES_NAMESPACE, KUBERNETES_POD_NAME, KUBERNETES_POD_UID, +} from '../../../common/es_fields/apm'; +import { + KUBERNETES_CONTAINER_NAME, + KUBERNETES_NAMESPACE, KUBERNETES_REPLICASET_NAME, KUBERNETES_DEPLOYMENT_NAME, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/infra_metrics'; import { InfraMetricsClient } from '../../lib/helpers/create_es_client/create_infra_metrics_client/create_infra_metrics_client'; export const getServiceOverviewContainerMetadata = async ({ diff --git a/x-pack/plugins/apm/server/routes/services/get_service_transaction_group_detailed_statistics.ts b/x-pack/plugins/apm/server/routes/services/get_service_transaction_group_detailed_statistics.ts index 5e8c5b0cc1c55..60d28bfd6bd22 100644 --- a/x-pack/plugins/apm/server/routes/services/get_service_transaction_group_detailed_statistics.ts +++ b/x-pack/plugins/apm/server/routes/services/get_service_transaction_group_detailed_statistics.ts @@ -12,7 +12,7 @@ import { SERVICE_NAME, TRANSACTION_NAME, TRANSACTION_TYPE, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { EventOutcome } from '../../../common/event_outcome'; import { LatencyAggregationType } from '../../../common/latency_aggregation_types'; import { offsetPreviousPeriodCoordinates } from '../../../common/utils/offset_previous_period_coordinate'; diff --git a/x-pack/plugins/apm/server/routes/services/get_service_transaction_groups.ts b/x-pack/plugins/apm/server/routes/services/get_service_transaction_groups.ts index 7b828d91af9a0..67b601c8426d0 100644 --- a/x-pack/plugins/apm/server/routes/services/get_service_transaction_groups.ts +++ b/x-pack/plugins/apm/server/routes/services/get_service_transaction_groups.ts @@ -11,7 +11,7 @@ import { SERVICE_NAME, TRANSACTION_NAME, TRANSACTION_TYPE, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { EventOutcome } from '../../../common/event_outcome'; import { LatencyAggregationType } from '../../../common/latency_aggregation_types'; import { environmentQuery } from '../../../common/utils/environment_query'; diff --git a/x-pack/plugins/apm/server/routes/services/get_service_transaction_types.ts b/x-pack/plugins/apm/server/routes/services/get_service_transaction_types.ts index 1081c35b7eb70..884ce3b00023d 100644 --- a/x-pack/plugins/apm/server/routes/services/get_service_transaction_types.ts +++ b/x-pack/plugins/apm/server/routes/services/get_service_transaction_types.ts @@ -6,10 +6,7 @@ */ import { rangeQuery } from '@kbn/observability-plugin/server'; -import { - SERVICE_NAME, - TRANSACTION_TYPE, -} from '../../../common/elasticsearch_fieldnames'; +import { SERVICE_NAME, TRANSACTION_TYPE } from '../../../common/es_fields/apm'; import { APMEventClient } from '../../lib/helpers/create_es_client/create_apm_event_client'; import { getDocumentTypeFilterForTransactions, diff --git a/x-pack/plugins/apm/server/routes/services/get_services/get_service_aggregated_transaction_stats.ts b/x-pack/plugins/apm/server/routes/services/get_services/get_service_aggregated_transaction_stats.ts index 73436ad9afb67..e3517dfab3940 100644 --- a/x-pack/plugins/apm/server/routes/services/get_services/get_service_aggregated_transaction_stats.ts +++ b/x-pack/plugins/apm/server/routes/services/get_services/get_service_aggregated_transaction_stats.ts @@ -15,7 +15,7 @@ import { TRANSACTION_DURATION_SUMMARY, TRANSACTION_FAILURE_COUNT, TRANSACTION_SUCCESS_COUNT, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { TRANSACTION_PAGE_LOAD, TRANSACTION_REQUEST, diff --git a/x-pack/plugins/apm/server/routes/services/get_services/get_service_transaction_stats.ts b/x-pack/plugins/apm/server/routes/services/get_services/get_service_transaction_stats.ts index ba5903133e445..631f9674b6652 100644 --- a/x-pack/plugins/apm/server/routes/services/get_services/get_service_transaction_stats.ts +++ b/x-pack/plugins/apm/server/routes/services/get_services/get_service_transaction_stats.ts @@ -11,7 +11,7 @@ import { SERVICE_ENVIRONMENT, SERVICE_NAME, TRANSACTION_TYPE, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { TRANSACTION_PAGE_LOAD, TRANSACTION_REQUEST, diff --git a/x-pack/plugins/apm/server/routes/services/get_services/get_services_from_error_and_metric_documents.ts b/x-pack/plugins/apm/server/routes/services/get_services/get_services_from_error_and_metric_documents.ts index 7ae1698b988dd..dd07277864d78 100644 --- a/x-pack/plugins/apm/server/routes/services/get_services/get_services_from_error_and_metric_documents.ts +++ b/x-pack/plugins/apm/server/routes/services/get_services/get_services_from_error_and_metric_documents.ts @@ -12,7 +12,7 @@ import { AGENT_NAME, SERVICE_ENVIRONMENT, SERVICE_NAME, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { environmentQuery } from '../../../../common/utils/environment_query'; import { serviceGroupQuery } from '../../../lib/service_group_query'; import { ServiceGroup } from '../../../../common/service_groups'; diff --git a/x-pack/plugins/apm/server/routes/services/get_services/get_sorted_and_filtered_services.ts b/x-pack/plugins/apm/server/routes/services/get_services/get_sorted_and_filtered_services.ts index dff072cfc05f6..0c870c61b784e 100644 --- a/x-pack/plugins/apm/server/routes/services/get_services/get_sorted_and_filtered_services.ts +++ b/x-pack/plugins/apm/server/routes/services/get_services/get_sorted_and_filtered_services.ts @@ -8,7 +8,7 @@ import { Logger } from '@kbn/logging'; import { ProcessorEvent } from '@kbn/observability-plugin/common'; import { APMEventClient } from '../../../lib/helpers/create_es_client/create_apm_event_client'; -import { SERVICE_NAME } from '../../../../common/elasticsearch_fieldnames'; +import { SERVICE_NAME } from '../../../../common/es_fields/apm'; import { ENVIRONMENT_ALL } from '../../../../common/environment_filter_values'; import { Environment } from '../../../../common/environment_rt'; import { joinByKey } from '../../../../common/utils/join_by_key'; diff --git a/x-pack/plugins/apm/server/routes/services/get_services_detailed_statistics/get_service_aggregated_transaction_detailed_statistics.ts b/x-pack/plugins/apm/server/routes/services/get_services_detailed_statistics/get_service_aggregated_transaction_detailed_statistics.ts index f6ae0b220ee43..93097f2ed0e29 100644 --- a/x-pack/plugins/apm/server/routes/services/get_services_detailed_statistics/get_service_aggregated_transaction_detailed_statistics.ts +++ b/x-pack/plugins/apm/server/routes/services/get_services_detailed_statistics/get_service_aggregated_transaction_detailed_statistics.ts @@ -14,7 +14,7 @@ import { TRANSACTION_DURATION_SUMMARY, TRANSACTION_FAILURE_COUNT, TRANSACTION_SUCCESS_COUNT, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { withApmSpan } from '../../../utils/with_apm_span'; import { TRANSACTION_PAGE_LOAD, diff --git a/x-pack/plugins/apm/server/routes/services/get_services_detailed_statistics/get_service_transaction_detailed_statistics.ts b/x-pack/plugins/apm/server/routes/services/get_services_detailed_statistics/get_service_transaction_detailed_statistics.ts index fbddad6aa1c42..8170d5a73e8c6 100644 --- a/x-pack/plugins/apm/server/routes/services/get_services_detailed_statistics/get_service_transaction_detailed_statistics.ts +++ b/x-pack/plugins/apm/server/routes/services/get_services_detailed_statistics/get_service_transaction_detailed_statistics.ts @@ -10,7 +10,7 @@ import { kqlQuery, rangeQuery } from '@kbn/observability-plugin/server'; import { SERVICE_NAME, TRANSACTION_TYPE, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { withApmSpan } from '../../../utils/with_apm_span'; import { TRANSACTION_PAGE_LOAD, diff --git a/x-pack/plugins/apm/server/routes/services/get_throughput.ts b/x-pack/plugins/apm/server/routes/services/get_throughput.ts index 5413bcbf56322..12b819ae4e32d 100644 --- a/x-pack/plugins/apm/server/routes/services/get_throughput.ts +++ b/x-pack/plugins/apm/server/routes/services/get_throughput.ts @@ -14,7 +14,7 @@ import { SERVICE_NAME, TRANSACTION_NAME, TRANSACTION_TYPE, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { environmentQuery } from '../../../common/utils/environment_query'; import { getDocumentTypeFilterForTransactions, diff --git a/x-pack/plugins/apm/server/routes/settings/agent_configuration/find_exact_configuration.ts b/x-pack/plugins/apm/server/routes/settings/agent_configuration/find_exact_configuration.ts index 484357be294ae..b9a0d5cb36fd0 100644 --- a/x-pack/plugins/apm/server/routes/settings/agent_configuration/find_exact_configuration.ts +++ b/x-pack/plugins/apm/server/routes/settings/agent_configuration/find_exact_configuration.ts @@ -10,7 +10,7 @@ import { AgentConfiguration } from '../../../../common/agent_configuration/confi import { SERVICE_ENVIRONMENT, SERVICE_NAME, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { APMInternalESClient } from '../../../lib/helpers/create_es_client/create_internal_es_client'; import { convertConfigSettingsToString } from './convert_settings_to_string'; import { getConfigsAppliedToAgentsThroughFleet } from './get_config_applied_to_agent_through_fleet'; diff --git a/x-pack/plugins/apm/server/routes/settings/agent_configuration/get_agent_name_by_service.ts b/x-pack/plugins/apm/server/routes/settings/agent_configuration/get_agent_name_by_service.ts index 1ebc98877941f..a1e3c8993972e 100644 --- a/x-pack/plugins/apm/server/routes/settings/agent_configuration/get_agent_name_by_service.ts +++ b/x-pack/plugins/apm/server/routes/settings/agent_configuration/get_agent_name_by_service.ts @@ -6,8 +6,8 @@ */ import { ProcessorEvent } from '@kbn/observability-plugin/common'; -import { SERVICE_NAME } from '../../../../common/elasticsearch_fieldnames'; -import { AGENT_NAME } from '../../../../common/elasticsearch_fieldnames'; +import { SERVICE_NAME } from '../../../../common/es_fields/apm'; +import { AGENT_NAME } from '../../../../common/es_fields/apm'; import { APMEventClient } from '../../../lib/helpers/create_es_client/create_apm_event_client'; export async function getAgentNameByService({ diff --git a/x-pack/plugins/apm/server/routes/settings/agent_configuration/get_config_applied_to_agent_through_fleet.ts b/x-pack/plugins/apm/server/routes/settings/agent_configuration/get_config_applied_to_agent_through_fleet.ts index 1e5099966ea7c..7d4382e054783 100644 --- a/x-pack/plugins/apm/server/routes/settings/agent_configuration/get_config_applied_to_agent_through_fleet.ts +++ b/x-pack/plugins/apm/server/routes/settings/agent_configuration/get_config_applied_to_agent_through_fleet.ts @@ -7,7 +7,7 @@ import { termQuery, rangeQuery } from '@kbn/observability-plugin/server'; import datemath from '@kbn/datemath'; -import { METRICSET_NAME } from '../../../../common/elasticsearch_fieldnames'; +import { METRICSET_NAME } from '../../../../common/es_fields/apm'; import { APMInternalESClient } from '../../../lib/helpers/create_es_client/create_internal_es_client'; export async function getConfigsAppliedToAgentsThroughFleet( diff --git a/x-pack/plugins/apm/server/routes/settings/agent_configuration/get_environments/get_existing_environments_for_service.ts b/x-pack/plugins/apm/server/routes/settings/agent_configuration/get_environments/get_existing_environments_for_service.ts index 336a992da7b2c..4223ecdf0ed21 100644 --- a/x-pack/plugins/apm/server/routes/settings/agent_configuration/get_environments/get_existing_environments_for_service.ts +++ b/x-pack/plugins/apm/server/routes/settings/agent_configuration/get_environments/get_existing_environments_for_service.ts @@ -8,7 +8,7 @@ import { SERVICE_NAME, SERVICE_ENVIRONMENT, -} from '../../../../../common/elasticsearch_fieldnames'; +} from '../../../../../common/es_fields/apm'; import { ALL_OPTION_VALUE } from '../../../../../common/agent_configuration/all_option'; import { APMInternalESClient } from '../../../../lib/helpers/create_es_client/create_internal_es_client'; diff --git a/x-pack/plugins/apm/server/routes/settings/agent_configuration/search_configurations.ts b/x-pack/plugins/apm/server/routes/settings/agent_configuration/search_configurations.ts index ea58a92eca7ca..51f6702a0fb57 100644 --- a/x-pack/plugins/apm/server/routes/settings/agent_configuration/search_configurations.ts +++ b/x-pack/plugins/apm/server/routes/settings/agent_configuration/search_configurations.ts @@ -9,7 +9,7 @@ import type { SearchHit } from '@kbn/es-types'; import { SERVICE_NAME, SERVICE_ENVIRONMENT, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { AgentConfiguration } from '../../../../common/agent_configuration/configuration_types'; import { convertConfigSettingsToString } from './convert_settings_to_string'; import { APMInternalESClient } from '../../../lib/helpers/create_es_client/create_internal_es_client'; diff --git a/x-pack/plugins/apm/server/routes/settings/custom_link/custom_link_types.ts b/x-pack/plugins/apm/server/routes/settings/custom_link/custom_link_types.ts index 48f547e3deb0f..614834006fb7d 100644 --- a/x-pack/plugins/apm/server/routes/settings/custom_link/custom_link_types.ts +++ b/x-pack/plugins/apm/server/routes/settings/custom_link/custom_link_types.ts @@ -16,7 +16,7 @@ import * as t from 'io-ts'; // SERVICE_ENVIRONMENT, // TRANSACTION_NAME, // TRANSACTION_TYPE, -// } from '../../../../common/elasticsearch_fieldnames'; +// } from '../../../../common/es_fields/apm'; export interface CustomLinkES { id?: string; diff --git a/x-pack/plugins/apm/server/routes/settings/custom_link/get_transaction.test.ts b/x-pack/plugins/apm/server/routes/settings/custom_link/get_transaction.test.ts index 1d3639bbb9f11..177ef2173983b 100644 --- a/x-pack/plugins/apm/server/routes/settings/custom_link/get_transaction.test.ts +++ b/x-pack/plugins/apm/server/routes/settings/custom_link/get_transaction.test.ts @@ -15,7 +15,7 @@ import { TRANSACTION_TYPE, SERVICE_ENVIRONMENT, TRANSACTION_NAME, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; describe('custom link get transaction', () => { let mock: SearchParamsMock; diff --git a/x-pack/plugins/apm/server/routes/settings/custom_link/list_custom_links.test.ts b/x-pack/plugins/apm/server/routes/settings/custom_link/list_custom_links.test.ts index 469b6f8c356b1..c0905d2628ccb 100644 --- a/x-pack/plugins/apm/server/routes/settings/custom_link/list_custom_links.test.ts +++ b/x-pack/plugins/apm/server/routes/settings/custom_link/list_custom_links.test.ts @@ -13,7 +13,7 @@ import { import { SERVICE_NAME, TRANSACTION_NAME, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; describe('List Custom Links', () => { let mock: SearchParamsMock; diff --git a/x-pack/plugins/apm/server/routes/span_links/get_linked_children.ts b/x-pack/plugins/apm/server/routes/span_links/get_linked_children.ts index 60dfe40f469fb..4c8b6a8994abd 100644 --- a/x-pack/plugins/apm/server/routes/span_links/get_linked_children.ts +++ b/x-pack/plugins/apm/server/routes/span_links/get_linked_children.ts @@ -15,7 +15,7 @@ import { SPAN_LINKS_SPAN_ID, TRACE_ID, TRANSACTION_ID, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import type { SpanRaw } from '../../../typings/es_schemas/raw/span_raw'; import type { TransactionRaw } from '../../../typings/es_schemas/raw/transaction_raw'; import { getBufferedTimerange } from './utils'; diff --git a/x-pack/plugins/apm/server/routes/span_links/get_linked_parents.ts b/x-pack/plugins/apm/server/routes/span_links/get_linked_parents.ts index 76efb549bc222..2010cd5e86f2f 100644 --- a/x-pack/plugins/apm/server/routes/span_links/get_linked_parents.ts +++ b/x-pack/plugins/apm/server/routes/span_links/get_linked_parents.ts @@ -12,7 +12,7 @@ import { TRACE_ID, TRANSACTION_ID, PROCESSOR_EVENT, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { SpanRaw } from '../../../typings/es_schemas/raw/span_raw'; import { TransactionRaw } from '../../../typings/es_schemas/raw/transaction_raw'; import { APMEventClient } from '../../lib/helpers/create_es_client/create_apm_event_client'; diff --git a/x-pack/plugins/apm/server/routes/span_links/get_span_links_details.ts b/x-pack/plugins/apm/server/routes/span_links/get_span_links_details.ts index c27764e91fbcc..a41fd77e2ce6f 100644 --- a/x-pack/plugins/apm/server/routes/span_links/get_span_links_details.ts +++ b/x-pack/plugins/apm/server/routes/span_links/get_span_links_details.ts @@ -20,7 +20,7 @@ import { SPAN_SUBTYPE, SPAN_TYPE, AGENT_NAME, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { Environment } from '../../../common/environment_rt'; import { SpanLinkDetails } from '../../../common/span_links'; import { SpanLink } from '../../../typings/es_schemas/raw/fields/span_links'; diff --git a/x-pack/plugins/apm/server/routes/storage_explorer/get_service_statistics.ts b/x-pack/plugins/apm/server/routes/storage_explorer/get_service_statistics.ts index 25a3ad5431fa5..7d6cb304e0547 100644 --- a/x-pack/plugins/apm/server/routes/storage_explorer/get_service_statistics.ts +++ b/x-pack/plugins/apm/server/routes/storage_explorer/get_service_statistics.ts @@ -24,7 +24,7 @@ import { TRANSACTION_SAMPLED, AGENT_NAME, INDEX, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { environmentQuery } from '../../../common/utils/environment_query'; import { AgentName } from '../../../typings/es_schemas/ui/fields/agent'; import { diff --git a/x-pack/plugins/apm/server/routes/storage_explorer/get_size_timeseries.ts b/x-pack/plugins/apm/server/routes/storage_explorer/get_size_timeseries.ts index 56c7085a1bdc4..e5246d7c45c92 100644 --- a/x-pack/plugins/apm/server/routes/storage_explorer/get_size_timeseries.ts +++ b/x-pack/plugins/apm/server/routes/storage_explorer/get_size_timeseries.ts @@ -11,11 +11,7 @@ import { termQuery, } from '@kbn/observability-plugin/server'; import { ProcessorEvent } from '@kbn/observability-plugin/common'; -import { - TIER, - SERVICE_NAME, - INDEX, -} from '../../../common/elasticsearch_fieldnames'; +import { TIER, SERVICE_NAME, INDEX } from '../../../common/es_fields/apm'; import { environmentQuery } from '../../../common/utils/environment_query'; import { getBucketSizeForAggregatedTransactions } from '../../lib/helpers/get_bucket_size_for_aggregated_transactions'; import { diff --git a/x-pack/plugins/apm/server/routes/storage_explorer/get_storage_details_per_service.ts b/x-pack/plugins/apm/server/routes/storage_explorer/get_storage_details_per_service.ts index 5ed230235f408..e019c563601cb 100644 --- a/x-pack/plugins/apm/server/routes/storage_explorer/get_storage_details_per_service.ts +++ b/x-pack/plugins/apm/server/routes/storage_explorer/get_storage_details_per_service.ts @@ -16,7 +16,7 @@ import { SERVICE_NAME, TIER, INDEX, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { IndexLifecyclePhaseSelectOption, indexLifeCyclePhaseToDataTier, diff --git a/x-pack/plugins/apm/server/routes/storage_explorer/get_summary_statistics.ts b/x-pack/plugins/apm/server/routes/storage_explorer/get_summary_statistics.ts index 23f2146b18060..eb506170966c0 100644 --- a/x-pack/plugins/apm/server/routes/storage_explorer/get_summary_statistics.ts +++ b/x-pack/plugins/apm/server/routes/storage_explorer/get_summary_statistics.ts @@ -22,11 +22,7 @@ import { indexLifeCyclePhaseToDataTier, } from '../../../common/storage_explorer_types'; import { RandomSampler } from '../../lib/helpers/get_random_sampler'; -import { - SERVICE_NAME, - TIER, - INDEX, -} from '../../../common/elasticsearch_fieldnames'; +import { SERVICE_NAME, TIER, INDEX } from '../../../common/es_fields/apm'; import { environmentQuery } from '../../../common/utils/environment_query'; import { getDocumentTypeFilterForTransactions, diff --git a/x-pack/plugins/apm/server/routes/storage_explorer/get_total_transactions_per_service.ts b/x-pack/plugins/apm/server/routes/storage_explorer/get_total_transactions_per_service.ts index 1f883adee3f70..b1aa823da569c 100644 --- a/x-pack/plugins/apm/server/routes/storage_explorer/get_total_transactions_per_service.ts +++ b/x-pack/plugins/apm/server/routes/storage_explorer/get_total_transactions_per_service.ts @@ -13,7 +13,7 @@ import { getProcessorEventForTransactions, getDocumentTypeFilterForTransactions, } from '../../lib/helpers/transactions'; -import { SERVICE_NAME, TIER } from '../../../common/elasticsearch_fieldnames'; +import { SERVICE_NAME, TIER } from '../../../common/es_fields/apm'; import { IndexLifecyclePhaseSelectOption, indexLifeCyclePhaseToDataTier, diff --git a/x-pack/plugins/apm/server/routes/suggestions/get_suggestions_with_terms_aggregation.ts b/x-pack/plugins/apm/server/routes/suggestions/get_suggestions_with_terms_aggregation.ts index 856b6bea1b9a5..45f344af0a546 100644 --- a/x-pack/plugins/apm/server/routes/suggestions/get_suggestions_with_terms_aggregation.ts +++ b/x-pack/plugins/apm/server/routes/suggestions/get_suggestions_with_terms_aggregation.ts @@ -7,7 +7,7 @@ import { rangeQuery, termQuery } from '@kbn/observability-plugin/server'; import { ProcessorEvent } from '@kbn/observability-plugin/common'; import { getProcessorEventForTransactions } from '../../lib/helpers/transactions'; -import { SERVICE_NAME } from '../../../common/elasticsearch_fieldnames'; +import { SERVICE_NAME } from '../../../common/es_fields/apm'; import { APMEventClient } from '../../lib/helpers/create_es_client/create_apm_event_client'; export async function getSuggestionsWithTermsAggregation({ diff --git a/x-pack/plugins/apm/server/routes/traces/get_aggregated_critical_path.ts b/x-pack/plugins/apm/server/routes/traces/get_aggregated_critical_path.ts index 612039ed0914b..77d42c646d386 100644 --- a/x-pack/plugins/apm/server/routes/traces/get_aggregated_critical_path.ts +++ b/x-pack/plugins/apm/server/routes/traces/get_aggregated_critical_path.ts @@ -18,7 +18,7 @@ import { TRACE_ID, TRANSACTION_NAME, TRANSACTION_TYPE, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { AgentName } from '../../../typings/es_schemas/ui/fields/agent'; import { APMEventClient } from '../../lib/helpers/create_es_client/create_apm_event_client'; diff --git a/x-pack/plugins/apm/server/routes/traces/get_top_traces_primary_stats.ts b/x-pack/plugins/apm/server/routes/traces/get_top_traces_primary_stats.ts index dc9143685902b..6026d3e517cfd 100644 --- a/x-pack/plugins/apm/server/routes/traces/get_top_traces_primary_stats.ts +++ b/x-pack/plugins/apm/server/routes/traces/get_top_traces_primary_stats.ts @@ -28,7 +28,7 @@ import { SERVICE_NAME, TRANSACTION_TYPE, TRANSACTION_NAME, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { RandomSampler } from '../../lib/helpers/get_random_sampler'; import { APMEventClient } from '../../lib/helpers/create_es_client/create_apm_event_client'; diff --git a/x-pack/plugins/apm/server/routes/traces/get_trace_items.ts b/x-pack/plugins/apm/server/routes/traces/get_trace_items.ts index 960924e1aa4b0..31e0d5c292fce 100644 --- a/x-pack/plugins/apm/server/routes/traces/get_trace_items.ts +++ b/x-pack/plugins/apm/server/routes/traces/get_trace_items.ts @@ -17,7 +17,7 @@ import { SPAN_DURATION, TRACE_ID, TRANSACTION_DURATION, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { getLinkedChildrenCountBySpanId } from '../span_links/get_linked_children'; import { APMEventClient } from '../../lib/helpers/create_es_client/create_apm_event_client'; import { APMConfig } from '../..'; diff --git a/x-pack/plugins/apm/server/routes/traces/get_trace_samples_by_query.ts b/x-pack/plugins/apm/server/routes/traces/get_trace_samples_by_query.ts index 2e74d104592d7..9a811b00c82b9 100644 --- a/x-pack/plugins/apm/server/routes/traces/get_trace_samples_by_query.ts +++ b/x-pack/plugins/apm/server/routes/traces/get_trace_samples_by_query.ts @@ -19,7 +19,7 @@ import { TRACE_ID, TRANSACTION_ID, TRANSACTION_SAMPLED, -} from '../../../common/elasticsearch_fieldnames'; +} from '../../../common/es_fields/apm'; import { asMutableArray } from '../../../common/utils/as_mutable_array'; import { APMEventClient } from '../../lib/helpers/create_es_client/create_apm_event_client'; diff --git a/x-pack/plugins/apm/server/routes/transactions/breakdown/index.ts b/x-pack/plugins/apm/server/routes/transactions/breakdown/index.ts index 5630a4c0c475a..74dcf54a30b62 100644 --- a/x-pack/plugins/apm/server/routes/transactions/breakdown/index.ts +++ b/x-pack/plugins/apm/server/routes/transactions/breakdown/index.ts @@ -16,7 +16,7 @@ import { SPAN_SELF_TIME_SUM, TRANSACTION_TYPE, TRANSACTION_NAME, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { environmentQuery } from '../../../../common/utils/environment_query'; import { getMetricsDateHistogramParams } from '../../../lib/helpers/metrics'; import { MAX_KPIS } from './constants'; diff --git a/x-pack/plugins/apm/server/routes/transactions/get_latency_charts/index.ts b/x-pack/plugins/apm/server/routes/transactions/get_latency_charts/index.ts index be534d877d9fd..5e6176d9f3f90 100644 --- a/x-pack/plugins/apm/server/routes/transactions/get_latency_charts/index.ts +++ b/x-pack/plugins/apm/server/routes/transactions/get_latency_charts/index.ts @@ -15,7 +15,7 @@ import { SERVICE_NAME, TRANSACTION_NAME, TRANSACTION_TYPE, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { LatencyAggregationType } from '../../../../common/latency_aggregation_types'; import { offsetPreviousPeriodCoordinates } from '../../../../common/utils/offset_previous_period_coordinate'; import { environmentQuery } from '../../../../common/utils/environment_query'; diff --git a/x-pack/plugins/apm/server/routes/transactions/get_transaction/index.ts b/x-pack/plugins/apm/server/routes/transactions/get_transaction/index.ts index 9ca077744899e..2ec622ef4c723 100644 --- a/x-pack/plugins/apm/server/routes/transactions/get_transaction/index.ts +++ b/x-pack/plugins/apm/server/routes/transactions/get_transaction/index.ts @@ -7,10 +7,7 @@ import { rangeQuery, termQuery } from '@kbn/observability-plugin/server'; import { ProcessorEvent } from '@kbn/observability-plugin/common'; -import { - TRACE_ID, - TRANSACTION_ID, -} from '../../../../common/elasticsearch_fieldnames'; +import { TRACE_ID, TRANSACTION_ID } from '../../../../common/es_fields/apm'; import { asMutableArray } from '../../../../common/utils/as_mutable_array'; import { APMEventClient } from '../../../lib/helpers/create_es_client/create_apm_event_client'; diff --git a/x-pack/plugins/apm/server/routes/transactions/get_transaction_by_trace/index.ts b/x-pack/plugins/apm/server/routes/transactions/get_transaction_by_trace/index.ts index 0f27d37c2b0ab..807c4ef75b58c 100644 --- a/x-pack/plugins/apm/server/routes/transactions/get_transaction_by_trace/index.ts +++ b/x-pack/plugins/apm/server/routes/transactions/get_transaction_by_trace/index.ts @@ -6,10 +6,7 @@ */ import { ProcessorEvent } from '@kbn/observability-plugin/common'; -import { - TRACE_ID, - PARENT_ID, -} from '../../../../common/elasticsearch_fieldnames'; +import { TRACE_ID, PARENT_ID } from '../../../../common/es_fields/apm'; import { APMEventClient } from '../../../lib/helpers/create_es_client/create_apm_event_client'; export async function getRootTransactionByTraceId( diff --git a/x-pack/plugins/apm/server/routes/transactions/trace_samples/index.ts b/x-pack/plugins/apm/server/routes/transactions/trace_samples/index.ts index 9fe3e7ff79335..80cf5fdd4760f 100644 --- a/x-pack/plugins/apm/server/routes/transactions/trace_samples/index.ts +++ b/x-pack/plugins/apm/server/routes/transactions/trace_samples/index.ts @@ -16,7 +16,7 @@ import { TRANSACTION_NAME, TRANSACTION_SAMPLED, TRANSACTION_TYPE, -} from '../../../../common/elasticsearch_fieldnames'; +} from '../../../../common/es_fields/apm'; import { environmentQuery } from '../../../../common/utils/environment_query'; import { APMEventClient } from '../../../lib/helpers/create_es_client/create_apm_event_client'; diff --git a/x-pack/test/apm_api_integration/tests/correlations/failed_transactions.spec.ts b/x-pack/test/apm_api_integration/tests/correlations/failed_transactions.spec.ts index e9c8167b0a878..066f5532d925c 100644 --- a/x-pack/test/apm_api_integration/tests/correlations/failed_transactions.spec.ts +++ b/x-pack/test/apm_api_integration/tests/correlations/failed_transactions.spec.ts @@ -8,7 +8,7 @@ import expect from '@kbn/expect'; import type { FailedTransactionsCorrelationsResponse } from '@kbn/apm-plugin/common/correlations/failed_transactions_correlations/types'; -import { EVENT_OUTCOME } from '@kbn/apm-plugin/common/elasticsearch_fieldnames'; +import { EVENT_OUTCOME } from '@kbn/apm-plugin/common/es_fields/apm'; import { EventOutcome } from '@kbn/apm-plugin/common/event_outcome'; import { LatencyDistributionChartType } from '@kbn/apm-plugin/common/latency_distribution_chart_types'; import { FtrProviderContext } from '../../common/ftr_provider_context'; diff --git a/x-pack/test/apm_api_integration/tests/event_metadata/event_metadata.spec.ts b/x-pack/test/apm_api_integration/tests/event_metadata/event_metadata.spec.ts index 85e9bc73aa0db..a2c3328f633b3 100644 --- a/x-pack/test/apm_api_integration/tests/event_metadata/event_metadata.spec.ts +++ b/x-pack/test/apm_api_integration/tests/event_metadata/event_metadata.spec.ts @@ -6,7 +6,7 @@ */ import expect from '@kbn/expect'; import { ProcessorEvent } from '@kbn/observability-plugin/common'; -import { PROCESSOR_EVENT } from '@kbn/apm-plugin/common/elasticsearch_fieldnames'; +import { PROCESSOR_EVENT } from '@kbn/apm-plugin/common/es_fields/apm'; import { FtrProviderContext } from '../../common/ftr_provider_context'; export default function ApiTest({ getService }: FtrProviderContext) { diff --git a/x-pack/test/apm_api_integration/tests/suggestions/suggestions.spec.ts b/x-pack/test/apm_api_integration/tests/suggestions/suggestions.spec.ts index db15db23776c7..c06ebde82eafb 100644 --- a/x-pack/test/apm_api_integration/tests/suggestions/suggestions.spec.ts +++ b/x-pack/test/apm_api_integration/tests/suggestions/suggestions.spec.ts @@ -9,7 +9,7 @@ import { SERVICE_NAME, TRANSACTION_NAME, TRANSACTION_TYPE, -} from '@kbn/apm-plugin/common/elasticsearch_fieldnames'; +} from '@kbn/apm-plugin/common/es_fields/apm'; import expect from '@kbn/expect'; import { FtrProviderContext } from '../../common/ftr_provider_context'; import { generateData } from './generate_data'; From 98b171db489a94aad1078c501f4a6f161788cffd Mon Sep 17 00:00:00 2001 From: Sergi Massaneda Date: Mon, 21 Nov 2022 11:58:23 +0100 Subject: [PATCH 08/20] [Security Solution] Use Security breadcrumbs for CSP pages (#145248) ## Summary closes https://github.com/elastic/kibana/issues/137491 This PR standardizes the CSP breadcrumbs implementation with Security Solution. ### The main issue The main issue with the CSP breadcrumbs implementation was the "Rules" link. This page does not have a static path, it needs the rule id parameter in it. So it should not exist in the CSP links configuration for Security Solution, only static paths are allowed (a test has been added to check that). Its presence in the links config was causing a "static" Rules breadcrumb to be added automatically when accessing the page, which was not linking to any valid URL. The previous implementation was fixing this problem by resetting the breadcrumbs from inside the Rules page component. Removing the Rules breadcrumb fragment and replacing it with the Rule name. This breadcrumbs change could be appreciated when loading the page: ![breadcrumbs_change](https://user-images.githubusercontent.com/17747913/202159072-12770fc8-e1eb-4a32-a594-ac298defe96f.gif) Since this breadcrumbs "fixing" logic was implemented inside the CSP plugin (the `useCspBreadcrumbs` hook), it needed information from the outside such as the "Manage" breadcrumb info, which was passed from Security to CSP via context. Then the location of the page shown by the breadcrumb fragments was hardcoded in this hook, making it rigid to any change. **Note** The Cases plugin does something similar, but it self-manages the breadcrumbs for **all** their pages in every plugin it is rendered (Security, Obaservabity, Stack), and they always have their own dedicated Cases section, so they don't need to know anything about the solution page hierarchy, they just plug their whole tree at the root level and their breadcrumbs always starts with `[solution] > Cases > ...`. Their approach is not applicable to CSP, which has many pages spread over different sections in Security. It makes much more sense to follow the standard Security breadcrumbs pattern, using the `SpyRoute` properly. ### Changes Align the CSP breadcrumbs with the standard Security breadcrumbs pattern: - The "Rules" entry has been removed from the Security links config. - CSP routes and configuration changed to make "Rules" path consistent as a sub-path of the "Benchmarks" path. - SpyRoute added on every **static** route automatically by the `CspRouter` component. - SpyRoute manually added inside the Rules component, passing the rule name in the `state` prop. - New CSP "trailing breadcrumbs" module added in Security Solution to display the rule name breadcrumb - The Security Manage breadcrumb info is no longer needed in the CSP context. Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../public/application/constants.tsx | 16 -- .../public/application/csp_route.tsx | 49 +++++ .../public/application/csp_router.test.tsx | 171 ++++++++++++------ .../public/application/csp_router.tsx | 80 ++------ .../application/security_solution_context.ts | 6 +- .../public/common/navigation/constants.ts | 16 +- .../security_solution_links.test.ts | 4 +- .../public/common/navigation/types.ts | 12 +- .../common/navigation/use_csp_breadcrumbs.ts | 76 -------- .../custom_assets_extension.tsx | 4 +- .../pages/benchmarks/benchmarks_table.tsx | 4 +- .../public/pages/rules/index.tsx | 42 +---- .../cloud_security_posture/public/types.ts | 9 +- .../security_solution/common/constants.ts | 1 - .../public/app/deep_links/index.ts | 1 - .../public/app/home/home_navigations.ts | 4 - .../cloud_security_posture/breadcrumbs.ts | 25 +++ .../public/cloud_security_posture/links.ts | 8 - .../public/cloud_security_posture/routes.tsx | 29 ++- .../navigation/breadcrumbs/index.ts | 17 +- .../common/components/navigation/types.ts | 1 - .../public/common/links/app_links.test.ts | 25 +++ .../public/common/links/links.test.ts | 2 +- 23 files changed, 295 insertions(+), 307 deletions(-) delete mode 100644 x-pack/plugins/cloud_security_posture/public/application/constants.tsx create mode 100644 x-pack/plugins/cloud_security_posture/public/application/csp_route.tsx delete mode 100644 x-pack/plugins/cloud_security_posture/public/common/navigation/use_csp_breadcrumbs.ts create mode 100644 x-pack/plugins/security_solution/public/cloud_security_posture/breadcrumbs.ts create mode 100644 x-pack/plugins/security_solution/public/common/links/app_links.test.ts diff --git a/x-pack/plugins/cloud_security_posture/public/application/constants.tsx b/x-pack/plugins/cloud_security_posture/public/application/constants.tsx deleted file mode 100644 index a1a5785286604..0000000000000 --- a/x-pack/plugins/cloud_security_posture/public/application/constants.tsx +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ -import type { RouteProps } from 'react-router-dom'; -import type { CspPage } from '../common/navigation/types'; -import * as pages from '../pages'; - -export const pageToComponentMapping: Record = { - findings: pages.Findings, - dashboard: pages.ComplianceDashboard, - benchmarks: pages.Benchmarks, - rules: pages.Rules, -}; diff --git a/x-pack/plugins/cloud_security_posture/public/application/csp_route.tsx b/x-pack/plugins/cloud_security_posture/public/application/csp_route.tsx new file mode 100644 index 0000000000000..7d0197fe0eed7 --- /dev/null +++ b/x-pack/plugins/cloud_security_posture/public/application/csp_route.tsx @@ -0,0 +1,49 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; +import { Route, type RouteProps } from 'react-router-dom'; +import { TrackApplicationView } from '@kbn/usage-collection-plugin/public'; +import { cloudPosturePages } from '../common/navigation/constants'; +import { useSecuritySolutionContext } from './security_solution_context'; +import type { CspPageNavigationItem } from '../common/navigation/types'; + +type CspRouteProps = Omit & CspPageNavigationItem; + +// Security SpyRoute can be automatically rendered for pages with static paths, Security will manage everything using the `links` object. +// Pages with dynamic paths are not in the Security `links` object, they must render SpyRoute with the parameters values, if needed. +const STATIC_PATH_PAGE_IDS = Object.fromEntries( + Object.values(cloudPosturePages).map(({ id }) => [id, true]) +); + +export const CspRoute: React.FC = ({ + id, + children, + component: Component, + disabled = false, + ...cspRouteProps +}) => { + const SpyRoute = useSecuritySolutionContext()?.getSpyRouteComponent(); + + if (disabled) { + return null; + } + + const routeProps: RouteProps = { + ...cspRouteProps, + ...(Component && { + render: (renderProps) => ( + + {STATIC_PATH_PAGE_IDS[id] && SpyRoute && } + + + ), + }), + }; + + return {children}; +}; diff --git a/x-pack/plugins/cloud_security_posture/public/application/csp_router.test.tsx b/x-pack/plugins/cloud_security_posture/public/application/csp_router.test.tsx index 4ecc050ab88bc..36499b4d72baa 100644 --- a/x-pack/plugins/cloud_security_posture/public/application/csp_router.test.tsx +++ b/x-pack/plugins/cloud_security_posture/public/application/csp_router.test.tsx @@ -4,63 +4,132 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { getRoutesFromMapping, addSpyRouteComponentToRoute } from './csp_router'; +import CspRouter from './csp_router'; import React from 'react'; -import Chance from 'chance'; -import { render, screen } from '@testing-library/react'; -import type { RouteComponentProps } from 'react-router-dom'; -import type { CloudSecurityPosturePageId } from '../common/navigation/types'; -import { createPageNavigationItemFixture } from '../test/fixtures/navigation_item'; - -const chance = new Chance(); -const DummyComponent = () => null; - -describe('getRoutesFromMapping', () => { - it('should map routes', () => { - const pageId = chance.word(); - const navigationItems = { [pageId]: createPageNavigationItemFixture() }; - const routesMapping = { [pageId]: DummyComponent }; - const routes = getRoutesFromMapping(navigationItems, routesMapping); - - expect(routes).toHaveLength(1); - expect(routes[0]).toMatchObject({ - path: navigationItems[pageId].path, - component: DummyComponent, +import { render } from '@testing-library/react'; +import { Router } from 'react-router-dom'; +import type { CspPage, CspPageNavigationItem } from '../common/navigation/types'; +import { CspSecuritySolutionContext } from '../types'; +import { createMemoryHistory, MemoryHistory } from 'history'; +import * as constants from '../common/navigation/constants'; +import { QueryClientProviderProps } from '@tanstack/react-query'; + +jest.mock('../pages', () => ({ + Findings: () =>
Findings
, + ComplianceDashboard: () =>
ComplianceDashboard
, + Rules: () =>
Rules
, + Benchmarks: () =>
Benchmarks
, +})); + +jest.mock('@tanstack/react-query', () => ({ + QueryClientProvider: ({ children }: QueryClientProviderProps) => <>{children}, + QueryClient: jest.fn(), +})); + +describe('CspRouter', () => { + const originalCloudPosturePages = { ...constants.cloudPosturePages }; + const mockConstants = constants as { cloudPosturePages: Record }; + + const securityContext: CspSecuritySolutionContext = { + getFiltersGlobalComponent: jest.fn(), + getSpyRouteComponent: () => () =>
, + }; + + let history: MemoryHistory; + + const renderCspRouter = () => + render( + + + + ); + + beforeEach(() => { + mockConstants.cloudPosturePages = originalCloudPosturePages; + jest.clearAllMocks(); + history = createMemoryHistory(); + }); + + describe('happy path', () => { + it('should render Findings', () => { + history.push('/cloud_security_posture/findings'); + const result = renderCspRouter(); + + expect(result.queryByTestId('Findings')).toBeInTheDocument(); + expect(result.queryByTestId('ComplianceDashboard')).not.toBeInTheDocument(); + expect(result.queryByTestId('Benchmarks')).not.toBeInTheDocument(); + expect(result.queryByTestId('Rules')).not.toBeInTheDocument(); + }); + + it('should render Dashboards', () => { + history.push('/cloud_security_posture/dashboard'); + const result = renderCspRouter(); + + expect(result.queryByTestId('ComplianceDashboard')).toBeInTheDocument(); + expect(result.queryByTestId('Findings')).not.toBeInTheDocument(); + expect(result.queryByTestId('Benchmarks')).not.toBeInTheDocument(); + expect(result.queryByTestId('Rules')).not.toBeInTheDocument(); + }); + + it('should render Benchmarks', () => { + history.push('/cloud_security_posture/benchmarks'); + const result = renderCspRouter(); + + expect(result.queryByTestId('Benchmarks')).toBeInTheDocument(); + expect(result.queryByTestId('Findings')).not.toBeInTheDocument(); + expect(result.queryByTestId('ComplianceDashboard')).not.toBeInTheDocument(); + expect(result.queryByTestId('Rules')).not.toBeInTheDocument(); + }); + + it('should render Rules', () => { + history.push('/cloud_security_posture/benchmarks/packagePolicyId/policyId/rules'); + const result = renderCspRouter(); + + expect(result.queryByTestId('Rules')).toBeInTheDocument(); + expect(result.queryByTestId('Findings')).not.toBeInTheDocument(); + expect(result.queryByTestId('ComplianceDashboard')).not.toBeInTheDocument(); + expect(result.queryByTestId('Benchmarks')).not.toBeInTheDocument(); }); }); - it('should not map routes where the navigation item is disabled', () => { - const pageId = chance.word(); - const navigationItems = { [pageId]: createPageNavigationItemFixture({ disabled: true }) }; - const routesMapping = { [pageId]: DummyComponent }; - const routes = getRoutesFromMapping(navigationItems, routesMapping); + describe('unhappy path', () => { + it('should redirect base path to dashboard', () => { + history.push('/cloud_security_posture/some_wrong_path'); + const result = renderCspRouter(); - expect(routes).toHaveLength(0); + expect(history.location.pathname).toEqual('/cloud_security_posture/dashboard'); + expect(result.queryByTestId('ComplianceDashboard')).toBeInTheDocument(); + }); }); -}); -describe('addSpyRouteComponentToRoute', () => { - it('should add the spy route component to a csp route', () => { - const pageNameForRoute = chance.pickone([ - 'cloud_security_posture-dashboard', - 'cloud_security_posture-findings', - 'cloud_security_posture-benchmarks', - 'cloud_security_posture-rules', - ]); - - // Create a mock SpyRoute component that renders the page name as a test ID - const SpyRouteMock = ({ pageName }: { pageName?: string }) =>
; - const mockRouteComponentTestId = chance.word(); - const MockRouteComponent = () =>
; - const route = { id: pageNameForRoute, path: chance.word(), component: MockRouteComponent }; - const routeWithSpyRoute = addSpyRouteComponentToRoute(route, SpyRouteMock); - - expect(routeWithSpyRoute.render).toEqual(expect.any(Function)); - - render(
{routeWithSpyRoute.render!({} as unknown as RouteComponentProps)}
); - - expect(routeWithSpyRoute.component).toBeUndefined(); - expect(screen.getByTestId(mockRouteComponentTestId)).toBeInTheDocument(); - expect(screen.getByTestId(pageNameForRoute)).toBeInTheDocument(); + describe('CspRoute', () => { + it('should not render disabled path', () => { + mockConstants.cloudPosturePages = { + ...constants.cloudPosturePages, + benchmarks: { + ...constants.cloudPosturePages.benchmarks, + disabled: true, + }, + }; + + history.push('/cloud_security_posture/benchmarks'); + const result = renderCspRouter(); + + expect(result.queryByTestId('ComplianceDashboard')).not.toBeInTheDocument(); + }); + + it('should render SpyRoute for static paths', () => { + history.push('/cloud_security_posture/benchmarks'); + const result = renderCspRouter(); + + expect(result.queryByTestId('mockedSpyRoute')).toBeInTheDocument(); + }); + + it('should not render SpyRoute for dynamic paths', () => { + history.push('/cloud_security_posture/benchmarks/packagePolicyId/policyId/rules'); + const result = renderCspRouter(); + + expect(result.queryByTestId('mockedSpyRoute')).not.toBeInTheDocument(); + }); }); }); diff --git a/x-pack/plugins/cloud_security_posture/public/application/csp_router.tsx b/x-pack/plugins/cloud_security_posture/public/application/csp_router.tsx index bfb9cb12ae5c3..0522a82c9cd64 100644 --- a/x-pack/plugins/cloud_security_posture/public/application/csp_router.tsx +++ b/x-pack/plugins/cloud_security_posture/public/application/csp_router.tsx @@ -7,81 +7,39 @@ import React from 'react'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; -import { Redirect, Route, RouteComponentProps, type RouteProps, Switch } from 'react-router-dom'; -import { TrackApplicationView } from '@kbn/usage-collection-plugin/public'; -import { CLOUD_SECURITY_POSTURE_BASE_PATH, type CspSecuritySolutionContext } from '..'; -import { cloudPosturePages } from '../common/navigation/constants'; -import type { CloudSecurityPosturePageId, CspPageNavigationItem } from '../common/navigation/types'; -import { pageToComponentMapping } from './constants'; +import { Redirect, Route, Switch } from 'react-router-dom'; +import { benchmarksNavigation, cloudPosturePages } from '../common/navigation/constants'; +import type { CspSecuritySolutionContext } from '..'; import { SecuritySolutionContext } from './security_solution_context'; - -type CspRouteProps = RouteProps & { - path: string; - id: CloudSecurityPosturePageId; -}; +import * as pages from '../pages'; +import { CspRoute } from './csp_route'; const queryClient = new QueryClient({ defaultOptions: { queries: { refetchOnWindowFocus: false } }, }); -// Converts the mapping of page -> component to be of type `RouteProps` while filtering out disabled navigation items -export const getRoutesFromMapping = ( - navigationItems: Record, - componentMapping: Record -): readonly CspRouteProps[] => - Object.entries(componentMapping) - .filter(([key]) => !navigationItems[key as T].disabled) - .map(([key, component]) => ({ - ...navigationItems[key as T], - component: component as CspRouteProps['component'], - })); - -// Adds the `SpyRoute` component from the security solution plugin to a CSP route -export const addSpyRouteComponentToRoute = ( - route: CspRouteProps, - SpyRoute: ReturnType -): CspRouteProps => { - const Component = route.component; - if (!Component) { - return route; - } - - const newRoute = { - ...route, - render: (props: RouteComponentProps) => ( - <> - - - - - - ), - }; - - delete newRoute.component; - return newRoute; -}; - -const securitySolutionRoutes = getRoutesFromMapping(cloudPosturePages, pageToComponentMapping); - /** Props for the cloud security posture router component */ export interface CspRouterProps { securitySolutionContext?: CspSecuritySolutionContext; } export const CspRouter = ({ securitySolutionContext }: CspRouterProps) => { - const SpyRoute = securitySolutionContext - ? securitySolutionContext.getSpyRouteComponent() - : undefined; - const routerElement = ( - {securitySolutionRoutes.map((route) => { - const routeProps = SpyRoute ? addSpyRouteComponentToRoute(route, SpyRoute) : route; - return ; - })} - + + + + + + + + + + + + + ); @@ -97,8 +55,6 @@ export const CspRouter = ({ securitySolutionContext }: CspRouterProps) => { return <>{routerElement}; }; -const RedirectToDashboard = () => ; - // Using a default export for usage with `React.lazy` // eslint-disable-next-line import/no-default-export export { CspRouter as default }; diff --git a/x-pack/plugins/cloud_security_posture/public/application/security_solution_context.ts b/x-pack/plugins/cloud_security_posture/public/application/security_solution_context.ts index e34d77ec6c452..2149999b8a2f3 100644 --- a/x-pack/plugins/cloud_security_posture/public/application/security_solution_context.ts +++ b/x-pack/plugins/cloud_security_posture/public/application/security_solution_context.ts @@ -4,9 +4,13 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import React from 'react'; +import React, { useContext } from 'react'; import type { CspSecuritySolutionContext } from '../types'; export const SecuritySolutionContext = React.createContext( undefined ); + +export const useSecuritySolutionContext = () => { + return useContext(SecuritySolutionContext); +}; diff --git a/x-pack/plugins/cloud_security_posture/public/common/navigation/constants.ts b/x-pack/plugins/cloud_security_posture/public/common/navigation/constants.ts index 3a3bbf869da1e..7de2479600074 100644 --- a/x-pack/plugins/cloud_security_posture/public/common/navigation/constants.ts +++ b/x-pack/plugins/cloud_security_posture/public/common/navigation/constants.ts @@ -6,7 +6,7 @@ */ import { i18n } from '@kbn/i18n'; -import type { CspPage, CspPageNavigationItem } from './types'; +import type { CspBenchmarksPage, CspPage, CspPageNavigationItem } from './types'; const NAV_ITEMS_NAMES = { DASHBOARD: i18n.translate('xpack.csp.navigation.dashboardNavItemLabel', { @@ -37,19 +37,21 @@ export const cloudPosturePages: Record = { path: `${CLOUD_SECURITY_POSTURE_BASE_PATH}/findings`, id: 'cloud_security_posture-findings', }, - rules: { - name: NAV_ITEMS_NAMES.RULES, - path: `${CLOUD_SECURITY_POSTURE_BASE_PATH}/benchmarks/:packagePolicyId/:policyId/rules`, - id: 'cloud_security_posture-rules', - }, benchmarks: { name: NAV_ITEMS_NAMES.BENCHMARKS, path: `${CLOUD_SECURITY_POSTURE_BASE_PATH}/benchmarks`, - exact: true, id: 'cloud_security_posture-benchmarks', }, }; +export const benchmarksNavigation: Record = { + rules: { + name: NAV_ITEMS_NAMES.RULES, + path: `${CLOUD_SECURITY_POSTURE_BASE_PATH}/benchmarks/:packagePolicyId/:policyId/rules`, + id: 'cloud_security_posture-benchmarks-rules', + }, +}; + export const findingsNavigation = { findings_default: { name: NAV_ITEMS_NAMES.FINDINGS, diff --git a/x-pack/plugins/cloud_security_posture/public/common/navigation/security_solution_links.test.ts b/x-pack/plugins/cloud_security_posture/public/common/navigation/security_solution_links.test.ts index 08d3e6ba2a34a..072776cde5a0c 100644 --- a/x-pack/plugins/cloud_security_posture/public/common/navigation/security_solution_links.test.ts +++ b/x-pack/plugins/cloud_security_posture/public/common/navigation/security_solution_links.test.ts @@ -14,7 +14,7 @@ const chance = new Chance(); describe('getSecuritySolutionLink', () => { it('gets the correct link properties', () => { - const cspPage = chance.pickone(['dashboard', 'findings', 'benchmarks', 'rules']); + const cspPage = chance.pickone(['dashboard', 'findings', 'benchmarks']); const link = getSecuritySolutionLink(cspPage); @@ -26,7 +26,7 @@ describe('getSecuritySolutionLink', () => { describe('getSecuritySolutionNavTab', () => { it('gets the correct nav tab properties', () => { - const cspPage = chance.pickone(['dashboard', 'findings', 'benchmarks', 'rules']); + const cspPage = chance.pickone(['dashboard', 'findings', 'benchmarks']); const basePath = chance.word(); const navTab = getSecuritySolutionNavTab(cspPage, basePath); diff --git a/x-pack/plugins/cloud_security_posture/public/common/navigation/types.ts b/x-pack/plugins/cloud_security_posture/public/common/navigation/types.ts index f96510702fdd3..4848ed7a19791 100644 --- a/x-pack/plugins/cloud_security_posture/public/common/navigation/types.ts +++ b/x-pack/plugins/cloud_security_posture/public/common/navigation/types.ts @@ -8,14 +8,14 @@ export interface CspNavigationItem { readonly name: string; readonly path: string; readonly disabled?: boolean; - readonly exact?: boolean; } export interface CspPageNavigationItem extends CspNavigationItem { id: CloudSecurityPosturePageId; } -export type CspPage = 'dashboard' | 'findings' | 'benchmarks' | 'rules'; +export type CspPage = 'dashboard' | 'findings' | 'benchmarks'; +export type CspBenchmarksPage = 'rules'; /** * All the IDs for the cloud security posture pages. @@ -25,10 +25,4 @@ export type CloudSecurityPosturePageId = | 'cloud_security_posture-dashboard' | 'cloud_security_posture-findings' | 'cloud_security_posture-benchmarks' - | 'cloud_security_posture-rules'; - -/** An entry for the cloud security posture breadcrumbs implementation. */ -export interface BreadcrumbEntry { - readonly name: string; - readonly path: string; -} + | 'cloud_security_posture-benchmarks-rules'; diff --git a/x-pack/plugins/cloud_security_posture/public/common/navigation/use_csp_breadcrumbs.ts b/x-pack/plugins/cloud_security_posture/public/common/navigation/use_csp_breadcrumbs.ts deleted file mode 100644 index d9b540e755bfa..0000000000000 --- a/x-pack/plugins/cloud_security_posture/public/common/navigation/use_csp_breadcrumbs.ts +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ -import type { MouseEvent } from 'react'; -import type { ChromeBreadcrumb, CoreStart } from '@kbn/core/public'; -import { useEffect } from 'react'; -import { useKibana } from '@kbn/kibana-react-plugin/public'; -import { type RouteProps, useRouteMatch } from 'react-router-dom'; -import type { EuiBreadcrumb } from '@elastic/eui'; -import { string } from 'io-ts'; -import useObservable from 'react-use/lib/useObservable'; -import type { BreadcrumbEntry } from './types'; - -const getClickableBreadcrumb = (routeMatch: RouteProps['path'], breadcrumbPath: string) => { - const hasParams = breadcrumbPath.includes(':'); - if (hasParams) return; - - if (routeMatch !== breadcrumbPath) { - return breadcrumbPath.startsWith('/') ? `${breadcrumbPath}` : `/${breadcrumbPath}`; - } -}; - -export const useCspBreadcrumbs = (breadcrumbs: BreadcrumbEntry[]) => { - const { - services: { - chrome: { setBreadcrumbs, docTitle }, - application: { currentAppId$, applications$, navigateToApp }, - }, - } = useKibana(); - - const match = useRouteMatch(); - - const appId = useObservable(currentAppId$); - const applications = useObservable(applications$); - const application = appId ? applications?.get(appId) : undefined; - const appTitle = application?.title; - - useEffect(() => { - const additionalBreadCrumbs: ChromeBreadcrumb[] = breadcrumbs.map((breadcrumb) => { - const clickableLink = getClickableBreadcrumb(match.path, breadcrumb.path); - - return { - text: breadcrumb.name, - ...(clickableLink && - appId && { - onClick: (e) => { - e.preventDefault(); - void navigateToApp(appId, { path: clickableLink }); - }, - }), - }; - }); - - const nextBreadcrumbs = [ - { - text: appTitle, - ...(appId && { - onClick: (e: MouseEvent) => { - e.preventDefault(); - void navigateToApp(appId); - }, - }), - }, - ...additionalBreadCrumbs, - ]; - - setBreadcrumbs(nextBreadcrumbs); - docTitle.change(getTextBreadcrumbs(nextBreadcrumbs)); - }, [match.path, setBreadcrumbs, breadcrumbs, docTitle, appTitle, appId, navigateToApp]); -}; - -const getTextBreadcrumbs = (breadcrumbs: EuiBreadcrumb[]) => - breadcrumbs.map((breadcrumb) => breadcrumb.text).filter(string.is); diff --git a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/custom_assets_extension.tsx b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/custom_assets_extension.tsx index d281cced59cab..ea79f8aab978d 100644 --- a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/custom_assets_extension.tsx +++ b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/custom_assets_extension.tsx @@ -9,7 +9,7 @@ import React from 'react'; import { type CustomAssetsAccordionProps, CustomAssetsAccordion } from '@kbn/fleet-plugin/public'; import { i18n } from '@kbn/i18n'; import { useKibana } from '../../common/hooks/use_kibana'; -import { cloudPosturePages } from '../../common/navigation/constants'; +import { benchmarksNavigation, cloudPosturePages } from '../../common/navigation/constants'; const SECURITY_APP_NAME = 'securitySolutionUI'; @@ -34,7 +34,7 @@ export const CspCustomAssetsExtension = () => { ), }, { - name: cloudPosturePages.rules.name, + name: benchmarksNavigation.rules.name, url: application.getUrlForApp(SECURITY_APP_NAME, { path: cloudPosturePages.benchmarks.path }), description: i18n.translate('xpack.csp.createPackagePolicy.customAssetsTab.rulesViewLabel', { defaultMessage: 'View CSP Rules ', diff --git a/x-pack/plugins/cloud_security_posture/public/pages/benchmarks/benchmarks_table.tsx b/x-pack/plugins/cloud_security_posture/public/pages/benchmarks/benchmarks_table.tsx index df1a058de11b6..d1c92ab40a72f 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/benchmarks/benchmarks_table.tsx +++ b/x-pack/plugins/cloud_security_posture/public/pages/benchmarks/benchmarks_table.tsx @@ -21,7 +21,7 @@ import type { PackagePolicy } from '@kbn/fleet-plugin/common'; import { TimestampTableCell } from '../../components/timestamp_table_cell'; import type { Benchmark } from '../../../common/types'; import { useKibana } from '../../common/hooks/use_kibana'; -import { cloudPosturePages } from '../../common/navigation/constants'; +import { benchmarksNavigation } from '../../common/navigation/constants'; import * as TEST_SUBJ from './test_subjects'; import { getEnabledCspIntegrationDetails } from '../../common/utils/get_enabled_csp_integration_details'; @@ -54,7 +54,7 @@ const IntegrationButtonLink = ({ return ( { - const breadCrumbs: BreadcrumbEntry[] = []; - if (manageBreadcrumb) { - breadCrumbs.push(manageBreadcrumb); - } - - breadCrumbs.push(cloudPosturePages.benchmarks); - - if (name) { - breadCrumbs.push({ ...cloudPosturePages.rules, name }); - } else { - breadCrumbs.push(cloudPosturePages.rules); - } - - return breadCrumbs; -}; - const getRulesSharedValues = ( packageInfo?: PackagePolicy ): NonNullable => { @@ -90,18 +68,10 @@ const getRulesSharedValues = ( export const Rules = ({ match: { params } }: RouteComponentProps) => { const { http } = useKibana().services; const integrationInfo = useCspIntegrationInfo(params); - const securitySolutionContext = useContext(SecuritySolutionContext); + const SpyRoute = useSecuritySolutionContext()?.getSpyRouteComponent(); const [packageInfo] = integrationInfo.data || []; - const breadcrumbs = useMemo( - () => - getRulesBreadcrumbs(packageInfo?.name, securitySolutionContext?.getManageBreadcrumbEntry()), - [packageInfo?.name, securitySolutionContext] - ); - - useCspBreadcrumbs(breadcrumbs); - const sharedValues = getRulesSharedValues(packageInfo); return ( @@ -155,6 +125,12 @@ export const Rules = ({ match: { params } }: RouteComponentProps) /> + {SpyRoute && ( + + )} ); }; diff --git a/x-pack/plugins/cloud_security_posture/public/types.ts b/x-pack/plugins/cloud_security_posture/public/types.ts index 150dd4b89cee6..628f195adf155 100755 --- a/x-pack/plugins/cloud_security_posture/public/types.ts +++ b/x-pack/plugins/cloud_security_posture/public/types.ts @@ -18,7 +18,7 @@ import type { UsageCollectionStart, } from '@kbn/usage-collection-plugin/public'; import type { CspRouterProps } from './application/csp_router'; -import type { BreadcrumbEntry, CloudSecurityPosturePageId } from './common/navigation/types'; +import type { CloudSecurityPosturePageId } from './common/navigation/types'; /** * The cloud security posture's public plugin setup interface. @@ -62,7 +62,8 @@ export interface CspSecuritySolutionContext { /** Gets the `FiltersGlobal` component for embedding a filter bar in the security solution application. */ getFiltersGlobalComponent: () => ComponentType<{ children: ReactNode }>; /** Gets the `SpyRoute` component for navigation highlighting and breadcrumbs. */ - getSpyRouteComponent: () => ComponentType<{ pageName?: CloudSecurityPosturePageId }>; - /** Gets the `Manage` breadcrumb entry. */ - getManageBreadcrumbEntry: () => BreadcrumbEntry | undefined; + getSpyRouteComponent: () => ComponentType<{ + pageName: CloudSecurityPosturePageId; + state?: Record; + }>; } diff --git a/x-pack/plugins/security_solution/common/constants.ts b/x-pack/plugins/security_solution/common/constants.ts index aec2bc40a4824..860214a0dc1ac 100644 --- a/x-pack/plugins/security_solution/common/constants.ts +++ b/x-pack/plugins/security_solution/common/constants.ts @@ -90,7 +90,6 @@ export enum SecurityPageName { cloudSecurityPostureBenchmarks = 'cloud_security_posture-benchmarks', cloudSecurityPostureDashboard = 'cloud_security_posture-dashboard', cloudSecurityPostureFindings = 'cloud_security_posture-findings', - cloudSecurityPostureRules = 'cloud_security_posture-rules', dashboardsLanding = 'dashboards', detections = 'detections', detectionAndResponse = 'detection_response', diff --git a/x-pack/plugins/security_solution/public/app/deep_links/index.ts b/x-pack/plugins/security_solution/public/app/deep_links/index.ts index 8848f7bddc3d9..a654eeb7d3e14 100644 --- a/x-pack/plugins/security_solution/public/app/deep_links/index.ts +++ b/x-pack/plugins/security_solution/public/app/deep_links/index.ts @@ -526,7 +526,6 @@ export const securitySolutionsDeepLinks: SecuritySolutionDeepLink[] = [ }, { ...getSecuritySolutionLink('benchmarks'), - deepLinks: [getSecuritySolutionLink('rules')], }, ], }, diff --git a/x-pack/plugins/security_solution/public/app/home/home_navigations.ts b/x-pack/plugins/security_solution/public/app/home/home_navigations.ts index 392e89fbbec0b..1a02a9ad75a82 100644 --- a/x-pack/plugins/security_solution/public/app/home/home_navigations.ts +++ b/x-pack/plugins/security_solution/public/app/home/home_navigations.ts @@ -185,10 +185,6 @@ export const navTabs: SecurityNav = { ...getSecuritySolutionCSPNavTab('benchmarks', APP_PATH), urlKey: 'administration', }, - [SecurityPageName.cloudSecurityPostureRules]: { - ...getSecuritySolutionCSPNavTab('rules', APP_PATH), - urlKey: 'administration', - }, [SecurityPageName.entityAnalytics]: { id: SecurityPageName.entityAnalytics, name: i18n.ENTITY_ANALYTICS, diff --git a/x-pack/plugins/security_solution/public/cloud_security_posture/breadcrumbs.ts b/x-pack/plugins/security_solution/public/cloud_security_posture/breadcrumbs.ts new file mode 100644 index 0000000000000..16bd30db6680d --- /dev/null +++ b/x-pack/plugins/security_solution/public/cloud_security_posture/breadcrumbs.ts @@ -0,0 +1,25 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { ChromeBreadcrumb } from '@kbn/core-chrome-browser'; +import type { GetSecuritySolutionUrl } from '../common/components/link_to'; +import type { RouteSpyState } from '../common/utils/route/types'; + +export const getTrailingBreadcrumbs = ( + params: RouteSpyState, + getSecuritySolutionUrl: GetSecuritySolutionUrl +): ChromeBreadcrumb[] => { + const breadcrumbs = []; + + if (params.state?.ruleName) { + breadcrumbs.push({ + text: params.state.ruleName, + }); + } + + return breadcrumbs; +}; diff --git a/x-pack/plugins/security_solution/public/cloud_security_posture/links.ts b/x-pack/plugins/security_solution/public/cloud_security_posture/links.ts index 8b3ba47b32ce4..def3b0ed9f5eb 100644 --- a/x-pack/plugins/security_solution/public/cloud_security_posture/links.ts +++ b/x-pack/plugins/security_solution/public/cloud_security_posture/links.ts @@ -44,14 +44,6 @@ export const manageLinks: LinkItem = { ), landingIcon: IconExceptionLists, ...commonLinkProperties, - links: [ - { - ...getSecuritySolutionLink('rules'), - sideNavDisabled: true, - globalSearchDisabled: true, - ...commonLinkProperties, - }, - ], }; export const manageCategories: LinkCategories = [ diff --git a/x-pack/plugins/security_solution/public/cloud_security_posture/routes.tsx b/x-pack/plugins/security_solution/public/cloud_security_posture/routes.tsx index b4870d6e25448..f11bac97dfcf0 100644 --- a/x-pack/plugins/security_solution/public/cloud_security_posture/routes.tsx +++ b/x-pack/plugins/security_solution/public/cloud_security_posture/routes.tsx @@ -5,55 +5,50 @@ * 2.0. */ -import React, { memo } from 'react'; +import React from 'react'; import type { CloudSecurityPosturePageId } from '@kbn/cloud-security-posture-plugin/public'; import { CLOUD_SECURITY_POSTURE_BASE_PATH, type CspSecuritySolutionContext, } from '@kbn/cloud-security-posture-plugin/public'; import { TrackApplicationView } from '@kbn/usage-collection-plugin/public'; -import { useIsGroupedNavigationEnabled } from '../common/components/navigation/helpers'; -import { MANAGE_PATH } from '../../common/constants'; import type { SecurityPageName, SecuritySubPluginRoutes } from '../app/types'; import { useKibana } from '../common/lib/kibana'; import { SecuritySolutionPageWrapper } from '../common/components/page_wrapper'; import { SpyRoute } from '../common/utils/route/spy_routes'; import { FiltersGlobal } from '../common/components/filters_global'; -import { MANAGE } from '../app/translations'; import { PluginTemplateWrapper } from '../common/components/plugin_template_wrapper'; // This exists only for the type signature cast -const CloudPostureSpyRoute = ({ pageName }: { pageName?: CloudSecurityPosturePageId }) => ( - +const CloudPostureSpyRoute = ({ pageName, ...rest }: { pageName?: CloudSecurityPosturePageId }) => ( + ); -const CloudSecurityPosture = memo(() => { +const cspSecuritySolutionContext: CspSecuritySolutionContext = { + getFiltersGlobalComponent: () => FiltersGlobal, + getSpyRouteComponent: () => CloudPostureSpyRoute, +}; + +const CloudSecurityPosture = () => { const { cloudSecurityPosture } = useKibana().services; - const isGroupedNavigationEnabled = useIsGroupedNavigationEnabled(); const CloudSecurityPostureRouter = cloudSecurityPosture.getCloudSecurityPostureRouter(); - const securitySolutionContext: CspSecuritySolutionContext = { - getFiltersGlobalComponent: () => FiltersGlobal, - getSpyRouteComponent: () => CloudPostureSpyRoute, - getManageBreadcrumbEntry: () => - isGroupedNavigationEnabled ? { name: MANAGE, path: MANAGE_PATH } : undefined, - }; return ( - + ); -}); +}; CloudSecurityPosture.displayName = 'CloudSecurityPosture'; export const routes: SecuritySubPluginRoutes = [ { path: CLOUD_SECURITY_POSTURE_BASE_PATH, - render: () => , + component: CloudSecurityPosture, }, ]; diff --git a/x-pack/plugins/security_solution/public/common/components/navigation/breadcrumbs/index.ts b/x-pack/plugins/security_solution/public/common/components/navigation/breadcrumbs/index.ts index afcaff3f3d065..98b5cc2a01d22 100644 --- a/x-pack/plugins/security_solution/public/common/components/navigation/breadcrumbs/index.ts +++ b/x-pack/plugins/security_solution/public/common/components/navigation/breadcrumbs/index.ts @@ -13,6 +13,7 @@ import type { StartServices } from '../../../../types'; import { getTrailingBreadcrumbs as getHostDetailsBreadcrumbs } from '../../../../hosts/pages/details/utils'; import { getTrailingBreadcrumbs as getIPDetailsBreadcrumbs } from '../../../../network/pages/details'; import { getTrailingBreadcrumbs as getDetectionRulesBreadcrumbs } from '../../../../detections/pages/detection_engine/rules/utils'; +import { getTrailingBreadcrumbs as getCSPBreadcrumbs } from '../../../../cloud_security_posture/breadcrumbs'; import { getTrailingBreadcrumbs as getUsersBreadcrumbs } from '../../../../users/pages/details/utils'; import { getTrailingBreadcrumbs as getKubernetesBreadcrumbs } from '../../../../kubernetes/pages/utils/breadcrumbs'; import { getTrailingBreadcrumbs as getAlertDetailBreadcrumbs } from '../../../../detections/pages/alert_details/utils/breadcrumbs'; @@ -81,13 +82,7 @@ export const getBreadcrumbsForRoute = ( ): ChromeBreadcrumb[] | null => { const spyState: RouteSpyState = omit('navTabs', object); - if ( - !spyState || - !object.navTabs || - !spyState.pageName || - isCaseRoutes(spyState) || - isCloudSecurityPostureManagedRoutes(spyState) - ) { + if (!spyState || !object.navTabs || !spyState.pageName || isCaseRoutes(spyState)) { return null; } @@ -138,6 +133,10 @@ const getTrailingBreadcrumbsForRoutes = ( return getAlertDetailBreadcrumbs(spyState, getSecuritySolutionUrl); } + if (isCloudSecurityPostureBenchmarksRoutes(spyState)) { + return getCSPBreadcrumbs(spyState, getSecuritySolutionUrl); + } + return []; }; @@ -162,8 +161,8 @@ const isRulesRoutes = (spyState: RouteSpyState): spyState is AdministrationRoute spyState.pageName === SecurityPageName.rules || spyState.pageName === SecurityPageName.rulesCreate; -const isCloudSecurityPostureManagedRoutes = (spyState: RouteSpyState) => - spyState.pageName === SecurityPageName.cloudSecurityPostureRules; +const isCloudSecurityPostureBenchmarksRoutes = (spyState: RouteSpyState) => + spyState.pageName === SecurityPageName.cloudSecurityPostureBenchmarks; const emptyLastBreadcrumbUrl = (breadcrumbs: ChromeBreadcrumb[]) => { const leadingBreadCrumbs = breadcrumbs.slice(0, -1); diff --git a/x-pack/plugins/security_solution/public/common/components/navigation/types.ts b/x-pack/plugins/security_solution/public/common/components/navigation/types.ts index 5a2d192b9fd48..5360be3df3271 100644 --- a/x-pack/plugins/security_solution/public/common/components/navigation/types.ts +++ b/x-pack/plugins/security_solution/public/common/components/navigation/types.ts @@ -90,7 +90,6 @@ export const securityNavKeys = [ SecurityPageName.cloudSecurityPostureDashboard, SecurityPageName.cloudSecurityPostureFindings, SecurityPageName.cloudSecurityPostureBenchmarks, - SecurityPageName.cloudSecurityPostureRules, SecurityPageName.entityAnalytics, ] as const; export type SecurityNavKey = typeof securityNavKeys[number]; diff --git a/x-pack/plugins/security_solution/public/common/links/app_links.test.ts b/x-pack/plugins/security_solution/public/common/links/app_links.test.ts new file mode 100644 index 0000000000000..e3f2b1bd7830c --- /dev/null +++ b/x-pack/plugins/security_solution/public/common/links/app_links.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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { links } from './app_links'; +import type { LinkItem, AppLinkItems } from './types'; + +const traverse = (linksItems: AppLinkItems, fn: (link: LinkItem) => void) => { + linksItems.forEach((link) => { + fn(link); + if (link.links) { + traverse(link.links, fn); + } + }); +}; + +describe('Security app links', () => { + it('should only contain static paths', () => { + traverse(links, (link) => { + expect(link.path).not.toContain('/:'); + }); + }); +}); diff --git a/x-pack/plugins/security_solution/public/common/links/links.test.ts b/x-pack/plugins/security_solution/public/common/links/links.test.ts index c7ab4bec3a537..0f2c90e7fe1a3 100644 --- a/x-pack/plugins/security_solution/public/common/links/links.test.ts +++ b/x-pack/plugins/security_solution/public/common/links/links.test.ts @@ -82,7 +82,7 @@ const renderUseLinkExists = (id: SecurityPageName) => wrapper: TestProviders, }); -describe('Security app links', () => { +describe('Security links', () => { beforeEach(() => { mockLicense.hasAtLeast = licensePremiumMock; From 12b010ce22f6221dfb43adfa83e7e49ecce89a55 Mon Sep 17 00:00:00 2001 From: Marco Antonio Ghiani Date: Mon, 21 Nov 2022 12:19:31 +0100 Subject: [PATCH 09/20] [Infrastructure UI] Navigate to node detail page without refresh (#145742) Closes [#110219](https://github.com/elastic/kibana/issues/110219) ## Summary This change fixes the forced page refresh when opening the node detail from the inventory page. This happened due to the property `href` rendering a native anchor tag which interpreted the navigation to the detail view as a completely new page, refreshing the whole Kibana view. Spreading the properties returned by the [useLinkProps](https://github.com/tonyghiani/kibana/blob/2b2843fc2704539b92425f7a7424274b6f2ea495/x-pack/plugins/observability/public/hooks/use_link_props.ts) assure the button receives the `onClick` handler and properly navigate to the detail without forcing a refresh. ## Testing Navigate to `Inventory`-> `Click any available node` -> `"Open as page" on top-right corner of the popover` https://user-images.githubusercontent.com/34506779/202741947-d809327b-4e1c-4e38-a0ac-cab768d299c2.mov Co-authored-by: Marco Antonio Ghiani --- .../metrics/inventory_view/components/node_details/overlay.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/node_details/overlay.tsx b/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/node_details/overlay.tsx index ca52144367ea9..f26c8fe514380 100644 --- a/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/node_details/overlay.tsx +++ b/x-pack/plugins/infra/public/pages/metrics/inventory_view/components/node_details/overlay.tsx @@ -132,8 +132,8 @@ export const NodeContextPopover = ({ size="xs" iconSide={'left'} iconType={'popout'} - href={nodeDetailMenuItemLinkProps.href} flush="both" + {...nodeDetailMenuItemLinkProps} > Date: Mon, 21 Nov 2022 13:57:31 +0200 Subject: [PATCH 10/20] [Cases] Fix flaky test in user actions (#145725) ## Summary This PR un skips and fix a flaky test in user actions Fixes: https://github.com/elastic/kibana/issues/144660 ### Checklist Delete any items that are not applicable to this PR. - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios ### For maintainers - [x] This was checked for breaking API changes and was [labeled appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) --- .../cases/public/components/all_cases/use_actions.test.tsx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/x-pack/plugins/cases/public/components/all_cases/use_actions.test.tsx b/x-pack/plugins/cases/public/components/all_cases/use_actions.test.tsx index d34997ca5796e..6ab3cbe898547 100644 --- a/x-pack/plugins/cases/public/components/all_cases/use_actions.test.tsx +++ b/x-pack/plugins/cases/public/components/all_cases/use_actions.test.tsx @@ -23,8 +23,7 @@ import { jest.mock('../../containers/api'); -// FLAKY: https://github.com/elastic/kibana/issues/144660 -describe.skip('useActions', () => { +describe('useActions', () => { let appMockRender: AppMockRenderer; beforeEach(() => { @@ -97,7 +96,9 @@ describe.skip('useActions', () => { }); act(() => { - userEvent.click(res.getByTestId(`case-action-status-panel-${basicCase.id}`)); + userEvent.click(res.getByTestId(`case-action-status-panel-${basicCase.id}`), undefined, { + skipPointerEventsCheck: true, + }); }); await waitFor(() => { From cc50e51fedd666ee065008be1ced33defa375582 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Fern=C3=A1ndez=20G=C3=B3mez?= Date: Mon, 21 Nov 2022 13:15:50 +0100 Subject: [PATCH 11/20] [Synthethics] Use `monitor.config_id` for the URLs (#145825) ## Summary Closes #145758 --- .../components/monitor_details/monitor_details_location.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_details_location.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_details_location.tsx index 2966aee8e53b7..713c3d04ba65c 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_details_location.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_details_location.tsx @@ -76,7 +76,7 @@ export const MonitorDetailsLocation: React.FC = () => { onClick={() => { closeLocationList(); services.application!.navigateToApp(PLUGIN.SYNTHETICS_PLUGIN_ID, { - path: `/monitor/${monitor.id}?locationId=${fullLocation.id}`, + path: `/monitor/${monitor.config_id}?locationId=${fullLocation.id}`, }); }} > From 9f700e56433f4e086a7e0b2dfab9c82c56eb9a87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20S=C3=A1nchez?= Date: Mon, 21 Nov 2022 13:36:19 +0100 Subject: [PATCH 12/20] [Security Solution][Endpoint] Hide/show add endpoint event filters action from an endpoint event depending on RBAC privileges (#144989) ## Summary Hides/shows `Add endpoint event filter` option in event context menu and event details flyout depending on the RBAC privileges. ### With `all` event filters privileges ![event filters with privileges](https://user-images.githubusercontent.com/15727784/201128159-51058de9-1cdc-4bc1-8e1d-70f80678239a.gif) ### With `read` and `none` event filters privileges ![event filters no privileges](https://user-images.githubusercontent.com/15727784/201128157-ff719001-9599-492c-a650-93ead81e1e06.gif) ### For maintainers - [ ] This was checked for breaking API changes and was [labeled appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../alert_context_menu.test.tsx | 22 +++++++++---------- .../timeline_actions/alert_context_menu.tsx | 12 +++++----- .../take_action_dropdown/index.test.tsx | 18 ++++++++------- .../components/take_action_dropdown/index.tsx | 10 ++++----- .../timeline/body/actions/index.test.tsx | 9 ++++++++ 5 files changed, 40 insertions(+), 31 deletions(-) diff --git a/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/alert_context_menu.test.tsx b/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/alert_context_menu.test.tsx index a0fa1f6683964..ecc4f7954460d 100644 --- a/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/alert_context_menu.test.tsx +++ b/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/alert_context_menu.test.tsx @@ -160,11 +160,11 @@ describe('Alert table context menu', () => { ecsRowData: { ...ecsRowData, agent: { type: ['endpoint'] }, event: { kind: ['event'] } }, }; - describe('when users can access endpoint management', () => { + describe('when users has write event filters privilege', () => { beforeEach(() => { (useUserPrivileges as jest.Mock).mockReturnValue({ ...mockInitialUserPrivilegesState(), - endpointPrivileges: { loading: false, canAccessEndpointManagement: true }, + endpointPrivileges: { loading: false, canWriteEventFilters: true }, }); }); @@ -246,15 +246,15 @@ describe('Alert table context menu', () => { }); }); - describe('when users can NOT access endpoint management', () => { + describe("when users don't have write event filters privilege", () => { beforeEach(() => { (useUserPrivileges as jest.Mock).mockReturnValue({ ...mockInitialUserPrivilegesState(), - endpointPrivileges: { loading: false, canAccessEndpointManagement: false }, + endpointPrivileges: { loading: false, canWriteEventFilters: false }, }); }); - test('it disables AddEndpointEventFilter when timeline id is host events page but cannot acces endpoint management', () => { + test('it removes AddEndpointEventFilter option when timeline id is host events page but does not has write event filters privilege', () => { const wrapper = mount( , { @@ -262,12 +262,11 @@ describe('Alert table context menu', () => { } ); - wrapper.find(actionMenuButton).simulate('click'); - expect(wrapper.find(addEndpointEventFilterButton).first().exists()).toEqual(true); - expect(wrapper.find(addEndpointEventFilterButton).first().props().disabled).toEqual(true); + // Entire actionMenuButton is removed as there is no option available + expect(wrapper.find(actionMenuButton).first().exists()).toEqual(false); }); - test('it disables AddEndpointEventFilter when timeline id is user events page but cannot acces endpoint management', () => { + test('it removes AddEndpointEventFilter option when timeline id is user events page but does not has write event filters privilege', () => { const wrapper = mount( , { @@ -275,9 +274,8 @@ describe('Alert table context menu', () => { } ); - wrapper.find(actionMenuButton).simulate('click'); - expect(wrapper.find(addEndpointEventFilterButton).first().exists()).toEqual(true); - expect(wrapper.find(addEndpointEventFilterButton).first().props().disabled).toEqual(true); + // Entire actionMenuButton is removed as there is no option available + expect(wrapper.find(actionMenuButton).first().exists()).toEqual(false); }); }); }); diff --git a/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/alert_context_menu.tsx b/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/alert_context_menu.tsx index 31a548e2ced9c..9d8aac03daea3 100644 --- a/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/alert_context_menu.tsx +++ b/x-pack/plugins/security_solution/public/detections/components/alerts_table/timeline_actions/alert_context_menu.tsx @@ -90,11 +90,11 @@ const AlertContextMenuComponent: React.FC !canAccessEndpointManagementLoading && canAccessEndpointManagement, - [canAccessEndpointManagement, canAccessEndpointManagementLoading] + () => !endpointPrivilegesLoading && canWriteEventFilters, + [canWriteEventFilters, endpointPrivilegesLoading] ); const alertStatus = get(0, ecsRowData?.kibana?.alert?.workflow_status) as Status | undefined; @@ -194,8 +194,7 @@ const AlertContextMenuComponent: React.FC { setAlertDetailsDataMockToEvent(); }); - test('should enable the "Add Endpoint event filter" button if provided endpoint event', async () => { + test('should enable the "Add Endpoint event filter" button if provided endpoint event and has right privileges', async () => { + (useUserPrivileges as jest.Mock).mockReturnValue({ + ...mockInitialUserPrivilegesState(), + endpointPrivileges: { loading: false, canWriteEventFilters: true }, + }); wrapper = mount( @@ -334,10 +338,10 @@ describe('take action dropdown', () => { }); }); - test('should disable the "Add Endpoint event filter" button if no endpoint management privileges', async () => { + test('should hide the "Add Endpoint event filter" button if no write event filters privileges', async () => { (useUserPrivileges as jest.Mock).mockReturnValue({ ...mockInitialUserPrivilegesState(), - endpointPrivileges: { loading: false, canAccessEndpointManagement: false }, + endpointPrivileges: { loading: false, canWriteEventFilters: false }, }); wrapper = mount( @@ -346,9 +350,7 @@ describe('take action dropdown', () => { ); wrapper.find('button[data-test-subj="take-action-dropdown-btn"]').simulate('click'); await waitFor(() => { - expect( - wrapper.find('[data-test-subj="add-event-filter-menu-item"]').first().getDOMNode() - ).toBeDisabled(); + expect(wrapper.exists('[data-test-subj="add-event-filter-menu-item"]')).toBeFalsy(); }); }); @@ -473,10 +475,10 @@ describe('take action dropdown', () => { }); }); - it('should not display the button if user is not allowed to manage endpoints', async () => { + it('should not display the button if user is not allowed to write event filters', async () => { (useUserPrivileges as jest.Mock).mockReturnValue({ ...mockInitialUserPrivilegesState(), - endpointPrivileges: { loading: false, canAccessEndpointManagement: false }, + endpointPrivileges: { loading: false, canWriteEventFilters: false }, }); render(); diff --git a/x-pack/plugins/security_solution/public/detections/components/take_action_dropdown/index.tsx b/x-pack/plugins/security_solution/public/detections/components/take_action_dropdown/index.tsx index 059a1c0c4b64f..c5f33d34b1997 100644 --- a/x-pack/plugins/security_solution/public/detections/components/take_action_dropdown/index.tsx +++ b/x-pack/plugins/security_solution/public/detections/components/take_action_dropdown/index.tsx @@ -75,12 +75,12 @@ export const TakeActionDropdown = React.memo( scopeId, }: TakeActionDropdownProps) => { const tGridEnabled = useIsExperimentalFeatureEnabled('tGridEnabled'); - const { loading: canAccessEndpointManagementLoading, canAccessEndpointManagement } = + const { loading: endpointPrivilegesLoading, canWriteEventFilters } = useUserPrivileges().endpointPrivileges; const canCreateEndpointEventFilters = useMemo( - () => !canAccessEndpointManagementLoading && canAccessEndpointManagement, - [canAccessEndpointManagement, canAccessEndpointManagementLoading] + () => !endpointPrivilegesLoading && canWriteEventFilters, + [canWriteEventFilters, endpointPrivilegesLoading] ); const { osquery } = useKibana().services; @@ -168,7 +168,6 @@ export const TakeActionDropdown = React.memo( const { eventFilterActionItems } = useEventFilterAction({ onAddEventFilterClick: handleOnAddEventFilterClick, - disabled: !isEndpointEvent || !canCreateEndpointEventFilters, }); const onMenuItemClick = useCallback(() => { @@ -210,12 +209,13 @@ export const TakeActionDropdown = React.memo( () => !isEvent && actionsData.ruleId ? [...statusActionItems, ...exceptionActionItems] - : isEndpointEvent + : isEndpointEvent && canCreateEndpointEventFilters ? eventFilterActionItems : [], [ eventFilterActionItems, isEndpointEvent, + canCreateEndpointEventFilters, exceptionActionItems, statusActionItems, isEvent, diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/body/actions/index.test.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/body/actions/index.test.tsx index e34227f0bfe8f..dce89dc199d9e 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/body/actions/index.test.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/body/actions/index.test.tsx @@ -19,8 +19,11 @@ import { GuidedOnboardingTourStep, SecurityTourStep, } from '../../../../../common/components/guided_onboarding_tour/tour_step'; +import { initialUserPrivilegesState as mockInitialUserPrivilegesState } from '../../../../../common/components/user_privileges/user_privileges_context'; +import { useUserPrivileges } from '../../../../../common/components/user_privileges'; import { SecurityStepId } from '../../../../../common/components/guided_onboarding_tour/tour_config'; +jest.mock('../../../../../common/components/user_privileges'); jest.mock('../../../../../common/components/guided_onboarding_tour'); jest.mock('../../../../../detections/components/user_info', () => ({ useUserData: jest.fn().mockReturnValue([{ canUserCRUD: true, hasIndexWrite: true }]), @@ -268,6 +271,12 @@ describe('Actions', () => { }); describe('Alert context menu enabled?', () => { + beforeEach(() => { + (useUserPrivileges as jest.Mock).mockReturnValue({ + ...mockInitialUserPrivilegesState(), + endpointPrivileges: { loading: false, canWriteEventFilters: true }, + }); + }); test('it disables for eventType=raw', () => { const wrapper = mount( From 082e4aa71372f8120928d68b6acbdcf329f67b54 Mon Sep 17 00:00:00 2001 From: Shahzad Date: Mon, 21 Nov 2022 13:43:39 +0100 Subject: [PATCH 13/20] [Uptime] Ping histogram fix using local timezone or configured (#145412) Fixes https://github.com/elastic/kibana/issues/144054 --- .../components/app/section/uptime/index.tsx | 15 +++++++++- .../public/hooks/use_time_zone.ts | 21 ++++++++++++++ x-pack/plugins/observability/public/index.ts | 1 + .../typings/fetch_overview_data/index.ts | 1 + .../common/runtime_types/ping/histogram.ts | 1 + .../app/uptime_overview_fetcher.ts | 3 ++ .../common/charts/ping_histogram.test.tsx | 1 + .../common/charts/ping_histogram.tsx | 5 +++- .../ping_histogram_container.tsx | 28 +++++++++++++++++-- .../public/legacy_uptime/state/api/ping.ts | 2 ++ .../lib/requests/get_ping_histogram.test.ts | 18 ++++++++++-- .../lib/requests/get_ping_histogram.ts | 2 ++ .../routes/pings/get_ping_histogram.ts | 4 ++- .../apis/uptime/rest/ping_histogram.ts | 5 ++++ 14 files changed, 99 insertions(+), 8 deletions(-) create mode 100644 x-pack/plugins/observability/public/hooks/use_time_zone.ts diff --git a/x-pack/plugins/observability/public/components/app/section/uptime/index.tsx b/x-pack/plugins/observability/public/components/app/section/uptime/index.tsx index 7e5b713c6a238..637f39eeedd68 100644 --- a/x-pack/plugins/observability/public/components/app/section/uptime/index.tsx +++ b/x-pack/plugins/observability/public/components/app/section/uptime/index.tsx @@ -22,6 +22,7 @@ import moment from 'moment'; import React, { useContext } from 'react'; import { useHistory } from 'react-router-dom'; import { ThemeContext } from 'styled-components'; +import { useTimeZone } from '../../../../hooks/use_time_zone'; import { SectionContainer } from '..'; import { getDataHandler } from '../../../../data_handler'; import { useChartTheme } from '../../../../hooks/use_chart_theme'; @@ -46,19 +47,31 @@ export function UptimeSection({ bucketSize }: Props) { const { relativeStart, relativeEnd, absoluteStart, absoluteEnd, lastUpdated } = useDatePickerContext(); + const timeZone = useTimeZone(); + const { data, status } = useFetcher( () => { if (bucketSize && absoluteStart && absoluteEnd) { return getDataHandler('synthetics')?.fetchData({ absoluteTime: { start: absoluteStart, end: absoluteEnd }, relativeTime: { start: relativeStart, end: relativeEnd }, + timeZone, ...bucketSize, }); } }, // `forceUpdate` and `lastUpdated` should trigger a reload // eslint-disable-next-line react-hooks/exhaustive-deps - [bucketSize, relativeStart, relativeEnd, absoluteStart, absoluteEnd, forceUpdate, lastUpdated] + [ + bucketSize, + relativeStart, + relativeEnd, + absoluteStart, + absoluteEnd, + forceUpdate, + lastUpdated, + timeZone, + ] ); if (!hasDataMap.synthetics?.hasData) { diff --git a/x-pack/plugins/observability/public/hooks/use_time_zone.ts b/x-pack/plugins/observability/public/hooks/use_time_zone.ts new file mode 100644 index 0000000000000..0e7a8cf7c6a7e --- /dev/null +++ b/x-pack/plugins/observability/public/hooks/use_time_zone.ts @@ -0,0 +1,21 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { useUiSetting } from '@kbn/kibana-react-plugin/public'; +import moment from 'moment-timezone'; + +export const useTimeZone = () => { + const timeZone = useUiSetting('dateFormat:tz'); + + const localTZ = moment.tz.guess(); + + if (!timeZone || timeZone === 'Browser') { + return localTZ; + } + + return timeZone; +}; diff --git a/x-pack/plugins/observability/public/index.ts b/x-pack/plugins/observability/public/index.ts index eefdb546a060e..37ee74157ede3 100644 --- a/x-pack/plugins/observability/public/index.ts +++ b/x-pack/plugins/observability/public/index.ts @@ -80,6 +80,7 @@ export * from './typings'; export { useChartTheme } from './hooks/use_chart_theme'; export { useBreadcrumbs } from './hooks/use_breadcrumbs'; export { useTheme } from './hooks/use_theme'; +export { useTimeZone } from './hooks/use_time_zone'; export { createUseRulesLink } from './hooks/create_use_rules_link'; export { useLinkProps, shouldHandleLinkEvent } from './hooks/use_link_props'; export type { LinkDescriptor } from './hooks/use_link_props'; diff --git a/x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts b/x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts index 8b19b4924829f..64a66dff66e42 100644 --- a/x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts +++ b/x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts @@ -31,6 +31,7 @@ export interface FetchDataParams { bucketSize: number; // Bucket size in seconds (string) intervalString: string; + timeZone?: string; } export interface HasDataParams { diff --git a/x-pack/plugins/synthetics/common/runtime_types/ping/histogram.ts b/x-pack/plugins/synthetics/common/runtime_types/ping/histogram.ts index 1cceaaed89974..127fd7edf75e2 100644 --- a/x-pack/plugins/synthetics/common/runtime_types/ping/histogram.ts +++ b/x-pack/plugins/synthetics/common/runtime_types/ping/histogram.ts @@ -24,6 +24,7 @@ export interface GetPingHistogramParams { monitorId?: string; bucketSize?: string; query?: string; + timeZone: string; } export interface HistogramResult { diff --git a/x-pack/plugins/synthetics/public/legacy_uptime/app/uptime_overview_fetcher.ts b/x-pack/plugins/synthetics/public/legacy_uptime/app/uptime_overview_fetcher.ts index d8756715b8181..03923e3034e05 100644 --- a/x-pack/plugins/synthetics/public/legacy_uptime/app/uptime_overview_fetcher.ts +++ b/x-pack/plugins/synthetics/public/legacy_uptime/app/uptime_overview_fetcher.ts @@ -7,6 +7,7 @@ import { CoreStart } from '@kbn/core/public'; import { UptimeFetchDataResponse, FetchDataParams } from '@kbn/observability-plugin/public'; +import moment from 'moment-timezone'; import { fetchIndexStatus, fetchPingHistogram, fetchSnapshotCount } from '../state/api'; import { kibanaService } from '../state/kibana_service'; @@ -14,6 +15,7 @@ async function fetchUptimeOverviewData({ absoluteTime, relativeTime, intervalString, + timeZone, }: FetchDataParams) { const start = new Date(absoluteTime.start).toISOString(); const end = new Date(absoluteTime.end).toISOString(); @@ -26,6 +28,7 @@ async function fetchUptimeOverviewData({ dateStart: start, dateEnd: end, bucketSize: intervalString, + timeZone: timeZone ?? moment.tz.guess(), }); const response: UptimeFetchDataResponse = { diff --git a/x-pack/plugins/synthetics/public/legacy_uptime/components/common/charts/ping_histogram.test.tsx b/x-pack/plugins/synthetics/public/legacy_uptime/components/common/charts/ping_histogram.test.tsx index 345d23ff22b45..b29921e6176cf 100644 --- a/x-pack/plugins/synthetics/public/legacy_uptime/components/common/charts/ping_histogram.test.tsx +++ b/x-pack/plugins/synthetics/public/legacy_uptime/components/common/charts/ping_histogram.test.tsx @@ -28,6 +28,7 @@ describe('PingHistogram component', () => { const props: PingHistogramComponentProps = { absoluteStartDate: 1548697920000, absoluteEndDate: 1548700920000, + timeZone: 'UTC', data: { histogram: [ { x: 1581068329000, downCount: 6, upCount: 33, y: 1 }, diff --git a/x-pack/plugins/synthetics/public/legacy_uptime/components/common/charts/ping_histogram.tsx b/x-pack/plugins/synthetics/public/legacy_uptime/components/common/charts/ping_histogram.tsx index 1a7ae71482621..2b0b84a2d3b94 100644 --- a/x-pack/plugins/synthetics/public/legacy_uptime/components/common/charts/ping_histogram.tsx +++ b/x-pack/plugins/synthetics/public/legacy_uptime/components/common/charts/ping_histogram.tsx @@ -54,6 +54,8 @@ export interface PingHistogramComponentProps { data: HistogramResult | null; loading?: boolean; + + timeZone: string; } interface BarPoint { @@ -68,6 +70,7 @@ export const PingHistogramComponent: React.FC = ({ data, loading = false, height, + timeZone, }) => { const { colors: { danger, gray }, @@ -181,7 +184,7 @@ export const PingHistogramComponent: React.FC = ({ })} stackAccessors={['x']} splitSeriesAccessors={['type']} - timeZone="local" + timeZone={timeZone} xAccessor="x" xScaleType={ScaleType.Time} yAccessors={['y']} diff --git a/x-pack/plugins/synthetics/public/legacy_uptime/components/monitor/ping_histogram/ping_histogram_container.tsx b/x-pack/plugins/synthetics/public/legacy_uptime/components/monitor/ping_histogram/ping_histogram_container.tsx index cd60dcf725074..de30482189311 100644 --- a/x-pack/plugins/synthetics/public/legacy_uptime/components/monitor/ping_histogram/ping_histogram_container.tsx +++ b/x-pack/plugins/synthetics/public/legacy_uptime/components/monitor/ping_histogram/ping_histogram_container.tsx @@ -7,6 +7,7 @@ import React, { useContext, useEffect } from 'react'; import { useDispatch, useSelector } from 'react-redux'; +import { useTimeZone } from '@kbn/observability-plugin/public'; import { PingHistogramComponent } from '../../common/charts'; import { getPingHistogram } from '../../../state/actions'; import { esKuerySelector, selectPingHistogram } from '../../../state/selectors'; @@ -39,16 +40,36 @@ const Container: React.FC = ({ height }) => { const { loading, pingHistogram: data } = useSelector(selectPingHistogram); + const timeZone = useTimeZone(); + useEffect(() => { if (monitorId) { // we don't need filter check on monitor details page, where we have monitorId defined - dispatch(getPingHistogram.get({ monitorId, dateStart, dateEnd, query, filters: esKuery })); + dispatch( + getPingHistogram.get({ + monitorId, + dateStart, + dateEnd, + query, + filters: esKuery, + timeZone, + }) + ); } else { filterCheck(() => - dispatch(getPingHistogram.get({ monitorId, dateStart, dateEnd, query, filters: esKuery })) + dispatch( + getPingHistogram.get({ + monitorId, + dateStart, + dateEnd, + query, + filters: esKuery, + timeZone, + }) + ) ); } - }, [filterCheck, dateStart, dateEnd, monitorId, lastRefresh, esKuery, dispatch, query]); + }, [filterCheck, dateStart, dateEnd, monitorId, lastRefresh, esKuery, dispatch, query, timeZone]); return ( = ({ height }) => { absoluteEndDate={absoluteDateRangeEnd} height={height} loading={loading} + timeZone={timeZone} /> ); }; diff --git a/x-pack/plugins/synthetics/public/legacy_uptime/state/api/ping.ts b/x-pack/plugins/synthetics/public/legacy_uptime/state/api/ping.ts index 969102a8d77c6..9a979179293cc 100644 --- a/x-pack/plugins/synthetics/public/legacy_uptime/state/api/ping.ts +++ b/x-pack/plugins/synthetics/public/legacy_uptime/state/api/ping.ts @@ -28,6 +28,7 @@ export const fetchPingHistogram: APIFn filters, bucketSize, query, + timeZone, }) => { const queryParams = { dateStart, @@ -36,6 +37,7 @@ export const fetchPingHistogram: APIFn filters, bucketSize, query, + timeZone, }; return await apiService.get(API_URLS.PING_HISTOGRAM, queryParams); diff --git a/x-pack/plugins/synthetics/server/legacy_uptime/lib/requests/get_ping_histogram.test.ts b/x-pack/plugins/synthetics/server/legacy_uptime/lib/requests/get_ping_histogram.test.ts index 4476f4f9e14e7..820aa1a699229 100644 --- a/x-pack/plugins/synthetics/server/legacy_uptime/lib/requests/get_ping_histogram.test.ts +++ b/x-pack/plugins/synthetics/server/legacy_uptime/lib/requests/get_ping_histogram.test.ts @@ -70,6 +70,7 @@ describe('getPingHistogram', () => { uptimeEsClient, dateStart: 'now-15m', dateEnd: 'now', + timeZone: 'UTC', }); expect(mockEsClient.search).toHaveBeenCalledTimes(1); @@ -92,6 +93,7 @@ describe('getPingHistogram', () => { dateStart: 'now-15m', dateEnd: 'now', filters: '', + timeZone: 'UTC', }); expect(mockEsClient.search).toHaveBeenCalledTimes(1); @@ -157,6 +159,7 @@ describe('getPingHistogram', () => { dateEnd: 'now', filters: JSON.stringify(searchFilter), monitorId: undefined, + timeZone: 'UTC', }); expect(mockEsClient.search).toHaveBeenCalledTimes(1); @@ -212,6 +215,7 @@ describe('getPingHistogram', () => { dateStart: 'now-15m', dateEnd: 'now', filters, + timeZone: 'UTC', }); expect(mockEsClient.search).toHaveBeenCalledTimes(1); @@ -232,7 +236,12 @@ describe('getPingHistogram', () => { }, } as any); - const result = await getPingHistogram({ uptimeEsClient, dateStart: 'now-15m', dateEnd: 'now' }); + const result = await getPingHistogram({ + uptimeEsClient, + dateStart: 'now-15m', + dateEnd: 'now', + timeZone: 'UTC', + }); expect(result.histogram).toEqual([]); }); @@ -251,7 +260,12 @@ describe('getPingHistogram', () => { }, } as any); - const result = await getPingHistogram({ uptimeEsClient, dateStart: 'now-15m', dateEnd: 'now' }); + const result = await getPingHistogram({ + uptimeEsClient, + dateStart: 'now-15m', + dateEnd: 'now', + timeZone: 'UTC', + }); expect(result.histogram).toEqual([]); }); diff --git a/x-pack/plugins/synthetics/server/legacy_uptime/lib/requests/get_ping_histogram.ts b/x-pack/plugins/synthetics/server/legacy_uptime/lib/requests/get_ping_histogram.ts index d4399ac7854b5..36747b850b493 100644 --- a/x-pack/plugins/synthetics/server/legacy_uptime/lib/requests/get_ping_histogram.ts +++ b/x-pack/plugins/synthetics/server/legacy_uptime/lib/requests/get_ping_histogram.ts @@ -24,6 +24,7 @@ export const getPingHistogram: UMElasticsearchQueryFn< monitorId, bucketSize, query, + timeZone, }) => { const boolFilters = filters ? JSON.parse(filters) : null; const additionalFilters = []; @@ -73,6 +74,7 @@ export const getPingHistogram: UMElasticsearchQueryFn< field: '@timestamp', fixed_interval: bucketSize || minInterval + 'ms', missing: '0', + time_zone: timeZone, }, aggs: { down: { diff --git a/x-pack/plugins/synthetics/server/legacy_uptime/routes/pings/get_ping_histogram.ts b/x-pack/plugins/synthetics/server/legacy_uptime/routes/pings/get_ping_histogram.ts index bb7053095d9f5..1781e6fc9a617 100644 --- a/x-pack/plugins/synthetics/server/legacy_uptime/routes/pings/get_ping_histogram.ts +++ b/x-pack/plugins/synthetics/server/legacy_uptime/routes/pings/get_ping_histogram.ts @@ -21,10 +21,11 @@ export const createGetPingHistogramRoute: UMRestApiRouteFactory = (libs: UMServe filters: schema.maybe(schema.string()), bucketSize: schema.maybe(schema.string()), query: schema.maybe(schema.string()), + timeZone: schema.string(), }), }, handler: async ({ uptimeEsClient, request }): Promise => { - const { dateStart, dateEnd, monitorId, filters, bucketSize, query } = request.query; + const { dateStart, dateEnd, monitorId, filters, bucketSize, query, timeZone } = request.query; return await libs.requests.getPingHistogram({ uptimeEsClient, @@ -34,6 +35,7 @@ export const createGetPingHistogramRoute: UMRestApiRouteFactory = (libs: UMServe filters, bucketSize, query, + timeZone, }); }, }); diff --git a/x-pack/test/api_integration/apis/uptime/rest/ping_histogram.ts b/x-pack/test/api_integration/apis/uptime/rest/ping_histogram.ts index 235ae17b7c9e7..a46eff97826a8 100644 --- a/x-pack/test/api_integration/apis/uptime/rest/ping_histogram.ts +++ b/x-pack/test/api_integration/apis/uptime/rest/ping_histogram.ts @@ -13,6 +13,8 @@ export default function ({ getService }: FtrProviderContext) { describe('pingHistogram', () => { const supertest = getService('supertest'); + const timeZone = 'UTC'; + it('will fetch histogram data for all monitors', async () => { const dateStart = '2019-09-11T03:31:04.380Z'; const dateEnd = '2019-09-11T03:40:34.410Z'; @@ -20,6 +22,7 @@ export default function ({ getService }: FtrProviderContext) { const apiResponse = await supertest.get(API_URLS.PING_HISTOGRAM).query({ dateStart, dateEnd, + timeZone, }); const data = apiResponse.body; @@ -35,6 +38,7 @@ export default function ({ getService }: FtrProviderContext) { monitorId, dateStart, dateEnd, + timeZone, }); const data = apiResponse.body; @@ -51,6 +55,7 @@ export default function ({ getService }: FtrProviderContext) { dateStart, dateEnd, filters, + timeZone, }); const data = apiResponse.body; From 913527036e107645d024c251ceb9902252635e9f Mon Sep 17 00:00:00 2001 From: Alexey Antonov Date: Mon, 21 Nov 2022 15:44:05 +0300 Subject: [PATCH 14/20] [Tests] add smoke functional tests for "render" telemetries (#143522) ## Summary [Tests] add smoke functional tests for "render" telemetries This PR blocked by #143734 and #143552 Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Marco Liberati --- test/functional/services/common/browser.ts | 10 ++ test/functional/services/index.ts | 2 + test/functional/services/renderable.ts | 19 ++++ test/functional/services/usage_collection.ts | 38 +++++++ .../test/functional/apps/visualize/index.ts | 1 + .../functional/apps/visualize/telemetry.ts | 98 +++++++++++++++++++ .../with_by_value_visualizations.json | 81 +++++++++++++++ 7 files changed, 249 insertions(+) create mode 100644 test/functional/services/usage_collection.ts create mode 100644 x-pack/test/functional/apps/visualize/telemetry.ts create mode 100644 x-pack/test/functional/fixtures/kbn_archiver/dashboard/with_by_value_visualizations.json diff --git a/test/functional/services/common/browser.ts b/test/functional/services/common/browser.ts index 6046aee567da8..cfca7391202e5 100644 --- a/test/functional/services/common/browser.ts +++ b/test/functional/services/common/browser.ts @@ -504,6 +504,16 @@ class BrowserService extends FtrService { await this.driver.executeScript('return window.sessionStorage.clear();'); } + /** + * Get from the "local storage" by key + * + * @param {string} key + * @return {Promise} + */ + public async getLocalStorageItem(key: string): Promise { + return await this.driver.executeScript(`return window.localStorage.getItem("${key}");`); + } + /** * Closes the currently focused window. In most environments, after the window has been * closed, it is necessary to explicitly switch to whatever window is now focused. diff --git a/test/functional/services/index.ts b/test/functional/services/index.ts index e2186ddefa5fa..b4f59d121bb21 100644 --- a/test/functional/services/index.ts +++ b/test/functional/services/index.ts @@ -50,6 +50,7 @@ import { SavedQueryManagementComponentService } from './saved_query_management_c import { KibanaSupertestProvider } from './supertest'; import { MenuToggleService } from './menu_toggle'; import { MonacoEditorService } from './monaco_editor'; +import { UsageCollectionService } from './usage_collection'; export const services = { ...commonServiceProviders, @@ -90,4 +91,5 @@ export const services = { monacoEditor: MonacoEditorService, menuToggle: MenuToggleService, retryOnStale: RetryOnStaleProvider, + usageCollection: UsageCollectionService, }; diff --git a/test/functional/services/renderable.ts b/test/functional/services/renderable.ts index da298b6ec0343..583ec5aad3ce3 100644 --- a/test/functional/services/renderable.ts +++ b/test/functional/services/renderable.ts @@ -47,4 +47,23 @@ export class RenderableService extends FtrService { } }); } + + public async getRenderCount(count: number = 1): Promise> { + const map: Record = {}; + await this.waitForRender(count); + + const renderedElements = await this.find.allByCssSelector(RENDER_COMPLETE_SELECTOR); + + for (let i = 0; i < renderedElements.length; i++) { + const renderedElement = renderedElements[i]; + const title = (await renderedElement.getAttribute('data-title')) || i.toString(); + const renderingCount = Number( + (await renderedElement.getAttribute('data-rendering-count')) || '0' + ); + + map[title] = renderingCount; + } + + return map; + } } diff --git a/test/functional/services/usage_collection.ts b/test/functional/services/usage_collection.ts new file mode 100644 index 0000000000000..6075798df2af4 --- /dev/null +++ b/test/functional/services/usage_collection.ts @@ -0,0 +1,38 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 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 { FtrService } from '../ftr_provider_context'; + +const ANALYTICS_LOCAL_STORAGE_KEY = 'analytics'; + +export class UsageCollectionService extends FtrService { + private readonly browser = this.ctx.getService('browser'); + + public async getUICounterEvents(): Promise< + Array<{ + key: string; + appName: string; + eventName: string; + type: string; + total: number; + }> + > { + try { + const rawValue = await this.browser.getLocalStorageItem(ANALYTICS_LOCAL_STORAGE_KEY); + + if (rawValue) { + const { uiCounter } = JSON.parse(rawValue) ?? {}; + + return Object.values(uiCounter); + } + } catch (e) { + // nothing to be here + } + return []; + } +} diff --git a/x-pack/test/functional/apps/visualize/index.ts b/x-pack/test/functional/apps/visualize/index.ts index c99182201eb5d..8919296caf081 100644 --- a/x-pack/test/functional/apps/visualize/index.ts +++ b/x-pack/test/functional/apps/visualize/index.ts @@ -17,5 +17,6 @@ export default function visualize({ loadTestFile }: FtrProviderContext) { loadTestFile(require.resolve('./precalculated_histogram')); loadTestFile(require.resolve('./preserve_url')); loadTestFile(require.resolve('./reporting')); + loadTestFile(require.resolve('./telemetry')); }); } diff --git a/x-pack/test/functional/apps/visualize/telemetry.ts b/x-pack/test/functional/apps/visualize/telemetry.ts new file mode 100644 index 0000000000000..20620f20e2c97 --- /dev/null +++ b/x-pack/test/functional/apps/visualize/telemetry.ts @@ -0,0 +1,98 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import expect from '@kbn/expect'; +import { FtrProviderContext } from '../../ftr_provider_context'; + +interface UiCounterEvent { + eventName: string; + total: number; +} + +export default function ({ getService, getPageObjects }: FtrProviderContext) { + const PageObjects = getPageObjects(['common', 'dashboard', 'timePicker']); + + const kibanaServer = getService('kibanaServer'); + const esArchiver = getService('esArchiver'); + const usageCollection = getService('usageCollection'); + const renderable = getService('renderable'); + const queryBar = getService('queryBar'); + const retry = getService('retry'); + + describe('smoke telemetry tests', function () { + let uiCounterEvents: UiCounterEvent[] = []; + + before(async function () { + await kibanaServer.savedObjects.cleanStandardList(); + await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/logstash_functional'); + await kibanaServer.importExport.load( + `x-pack/test/functional/fixtures/kbn_archiver/dashboard/with_by_value_visualizations` + ); + + await retry.try(async () => { + await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.loadSavedDashboard('visualizations'); + await PageObjects.timePicker.setDefaultAbsoluteRange(); + await PageObjects.dashboard.waitForRenderComplete(); + + uiCounterEvents = await usageCollection.getUICounterEvents(); + + expect(uiCounterEvents.length).to.be.greaterThan(0); + }); + }); + + after(async () => { + await kibanaServer.importExport.unload( + 'x-pack/test/functional/fixtures/kbn_archiver/dashboard/with_by_value_visualizations' + ); + await kibanaServer.savedObjects.cleanStandardList(); + }); + + const checkTelemetry = (eventName: string) => { + const initialEvent = uiCounterEvents.find((e) => e.eventName === eventName); + + expect(initialEvent).to.be.ok(); + }; + + ['legacy_metric', 'donut', 'timelion', 'area_stacked', 'table', 'heatmap'].forEach((vis) => { + it(`should trigger render event for "agg based" ${vis} visualization`, async () => + checkTelemetry(`render_agg_based_${vis}`)); + }); + + ['vega', 'tsvb_top_n', 'lens_vis_dashboard'].forEach((vis) => { + it(`should trigger render event for ${vis} visualization`, async () => + checkTelemetry(`render_${vis}`)); + }); + + ['vertical_bar_stacked', 'dimension_date_histogram', 'dimension_count'].forEach((i) => { + it(`should correctly trigger "render_lens${i}" lens event`, async () => + checkTelemetry(`render_lens_${i}`)); + }); + + describe('should render visualization once', async () => { + let initialRenderCountMap: Record = {}; + let afterRefreshRenderCountMap: Record = {}; + + before(async function () { + const sharedItemsCount = Number(await PageObjects.dashboard.getSharedItemsCount()); + initialRenderCountMap = await renderable.getRenderCount(sharedItemsCount); + + await queryBar.clickQuerySubmitButton(); + await PageObjects.dashboard.waitForRenderComplete(); + + afterRefreshRenderCountMap = await renderable.getRenderCount(sharedItemsCount); + }); + + ['Lens', 'TSVB', 'Vega', 'Table', 'Timelion', 'Pie', 'Metric', 'Heatmap', 'Area'].forEach( + (key) => { + it(`should correctly render ${key} visualization once`, async () => + expect(afterRefreshRenderCountMap[key]).to.be(initialRenderCountMap[key] + 1)); + } + ); + }); + }); +} diff --git a/x-pack/test/functional/fixtures/kbn_archiver/dashboard/with_by_value_visualizations.json b/x-pack/test/functional/fixtures/kbn_archiver/dashboard/with_by_value_visualizations.json new file mode 100644 index 0000000000000..8b1d3669e95de --- /dev/null +++ b/x-pack/test/functional/fixtures/kbn_archiver/dashboard/with_by_value_visualizations.json @@ -0,0 +1,81 @@ +{ + "attributes": { + "fieldAttrs": "{}", + "fieldFormatMap": "{}", + "fields": "[]", + "name": "logs", + "runtimeFieldMap": "{}", + "sourceFilters": "[]", + "timeFieldName": "@timestamp", + "title": "logstash-*", + "typeMeta": "{}" + }, + "coreMigrationVersion": "8.6.0", + "id": "8e91e58e-3ba9-445a-9313-ccad555eeb0c", + "migrationVersion": { + "index-pattern": "8.0.0" + }, + "references": [], + "type": "index-pattern", + "updated_at": "2022-10-17T13:07:32.427Z", + "version": "WzExNCwxXQ==" +} + +{ + "attributes": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}" + }, + "optionsJSON": "{\"useMargins\":true,\"syncColors\":false,\"syncTooltips\":false,\"hidePanelTitles\":false}", + "panelsJSON": "[{\"version\":\"8.6.0\",\"type\":\"lens\",\"gridData\":{\"x\":0,\"y\":0,\"w\":24,\"h\":15,\"i\":\"d10dbf3c-b1c0-4740-8cd5-2502dc688618\"},\"panelIndex\":\"d10dbf3c-b1c0-4740-8cd5-2502dc688618\",\"embeddableConfig\":{\"attributes\":{\"title\":\"\",\"visualizationType\":\"lnsXY\",\"type\":\"lens\",\"references\":[{\"type\":\"index-pattern\",\"id\":\"8e91e58e-3ba9-445a-9313-ccad555eeb0c\",\"name\":\"indexpattern-datasource-layer-79836924-c4e7-47eb-9268-7634192b6d6c\"}],\"state\":{\"visualization\":{\"legend\":{\"isVisible\":true,\"position\":\"right\"},\"valueLabels\":\"hide\",\"fittingFunction\":\"None\",\"axisTitlesVisibilitySettings\":{\"x\":true,\"yLeft\":true,\"yRight\":true},\"tickLabelsVisibilitySettings\":{\"x\":true,\"yLeft\":true,\"yRight\":true},\"labelsOrientation\":{\"x\":0,\"yLeft\":0,\"yRight\":0},\"gridlinesVisibilitySettings\":{\"x\":true,\"yLeft\":true,\"yRight\":true},\"preferredSeriesType\":\"bar_stacked\",\"layers\":[{\"layerId\":\"79836924-c4e7-47eb-9268-7634192b6d6c\",\"accessors\":[\"a1a93ece-ff88-4ad0-8745-4fea77562bcf\"],\"position\":\"top\",\"seriesType\":\"bar_stacked\",\"showGridlines\":false,\"layerType\":\"data\",\"xAccessor\":\"6ecd0bf2-d62b-4ad2-bd2a-7dcb35d299e8\"}]},\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filters\":[],\"datasourceStates\":{\"formBased\":{\"layers\":{\"79836924-c4e7-47eb-9268-7634192b6d6c\":{\"columns\":{\"6ecd0bf2-d62b-4ad2-bd2a-7dcb35d299e8\":{\"label\":\"@timestamp\",\"dataType\":\"date\",\"operationType\":\"date_histogram\",\"sourceField\":\"@timestamp\",\"isBucketed\":true,\"scale\":\"interval\",\"params\":{\"interval\":\"auto\",\"includeEmptyRows\":true,\"dropPartials\":false}},\"a1a93ece-ff88-4ad0-8745-4fea77562bcf\":{\"label\":\"Count of records\",\"customLabel\":true,\"dataType\":\"number\",\"operationType\":\"count\",\"isBucketed\":false,\"scale\":\"ratio\",\"sourceField\":\"___records___\",\"params\":{\"emptyAsNull\":true}}},\"columnOrder\":[\"6ecd0bf2-d62b-4ad2-bd2a-7dcb35d299e8\",\"a1a93ece-ff88-4ad0-8745-4fea77562bcf\"],\"incompleteColumns\":{}}}},\"textBased\":{\"layers\":{}}},\"internalReferences\":[],\"adHocDataViews\":{}}},\"enhancements\":{},\"hidePanelTitles\":false},\"title\":\"Lens\"},{\"version\":\"8.6.0\",\"type\":\"visualization\",\"gridData\":{\"x\":24,\"y\":0,\"w\":24,\"h\":15,\"i\":\"9b0198af-d852-4dc1-83a7-a71582e883cd\"},\"panelIndex\":\"9b0198af-d852-4dc1-83a7-a71582e883cd\",\"embeddableConfig\":{\"savedVis\":{\"id\":\"\",\"title\":\"\",\"description\":\"\",\"type\":\"metrics\",\"params\":{\"time_range_mode\":\"entire_time_range\",\"id\":\"1d14ec25-6261-479f-afca-5f2861ae43d5\",\"type\":\"top_n\",\"series\":[{\"time_range_mode\":\"entire_time_range\",\"id\":\"21fe29af-1439-4218-8077-0d32dc9bb2d3\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"palette\":{\"type\":\"palette\",\"name\":\"default\"},\"metrics\":[{\"id\":\"36e3cb36-dd8d-483b-8c29-93f2b45009c5\",\"type\":\"count\"}],\"separate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"default\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"override_index_pattern\":0,\"series_drop_last_bucket\":0}],\"time_field\":\"\",\"use_kibana_indexes\":true,\"interval\":\"\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"axis_scale\":\"normal\",\"show_legend\":1,\"truncate_legend\":1,\"max_lines_legend\":1,\"show_grid\":1,\"tooltip_mode\":\"show_all\",\"drop_last_bucket\":0,\"isModelInvalid\":false,\"index_pattern_ref_name\":\"metrics_9b0198af-d852-4dc1-83a7-a71582e883cd_0_index_pattern\"},\"uiState\":{},\"data\":{\"aggs\":[],\"searchSource\":{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}}},\"hidePanelTitles\":false,\"enhancements\":{}},\"title\":\"TSVB\"},{\"version\":\"8.6.0\",\"type\":\"visualization\",\"gridData\":{\"x\":0,\"y\":15,\"w\":24,\"h\":15,\"i\":\"8e4a8d54-a4cf-4806-8d7f-1414d7227058\"},\"panelIndex\":\"8e4a8d54-a4cf-4806-8d7f-1414d7227058\",\"embeddableConfig\":{\"savedVis\":{\"id\":\"\",\"title\":\"\",\"description\":\"\",\"type\":\"vega\",\"params\":{\"spec\":\"{\\n \\\"$schema\\\": \\\"https://vega.github.io/schema/vega-lite/v5.json\\\",\\n \\\"title\\\": \\\"Event counts from all indexes\\\",\\n \\\"data\\\": {\\n \\\"url\\\": {\\n \\\"%context%\\\": true,\\n \\\"%timefield%\\\": \\\"@timestamp\\\",\\n \\\"index\\\": \\\"_all\\\",\\n \\\"body\\\": {\\n \\\"aggs\\\": {\\n \\\"time_buckets\\\": {\\n \\\"date_histogram\\\": {\\n \\\"field\\\": \\\"@timestamp\\\",\\n \\\"interval\\\": {\\\"%autointerval%\\\": true},\\n \\\"extended_bounds\\\": {\\n \\\"min\\\": {\\\"%timefilter%\\\": \\\"min\\\"},\\n \\\"max\\\": {\\\"%timefilter%\\\": \\\"max\\\"}\\n },\\n \\\"min_doc_count\\\": 0\\n }\\n }\\n },\\n \\\"size\\\": 0\\n }\\n },\\n \\\"format\\\": {\\\"property\\\": \\\"aggregations.time_buckets.buckets\\\"}\\n },\\n \\\"mark\\\": \\\"line\\\",\\n \\\"encoding\\\": {\\n \\\"x\\\": {\\\"field\\\": \\\"key\\\", \\\"type\\\": \\\"temporal\\\", \\\"axis\\\": {\\\"title\\\": false}},\\n \\\"y\\\": {\\n \\\"field\\\": \\\"doc_count\\\",\\n \\\"type\\\": \\\"quantitative\\\",\\n \\\"axis\\\": {\\\"title\\\": \\\"Document count\\\"}\\n }\\n }\\n}\"},\"uiState\":{},\"data\":{\"aggs\":[],\"searchSource\":{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}}},\"hidePanelTitles\":false,\"enhancements\":{}},\"title\":\"Vega\"},{\"version\":\"8.6.0\",\"type\":\"visualization\",\"gridData\":{\"x\":24,\"y\":15,\"w\":24,\"h\":15,\"i\":\"d30db421-d8db-4484-827c-e8ac77cfe567\"},\"panelIndex\":\"d30db421-d8db-4484-827c-e8ac77cfe567\",\"embeddableConfig\":{\"savedVis\":{\"id\":\"\",\"title\":\"\",\"description\":\"\",\"type\":\"table\",\"params\":{\"perPage\":10,\"showPartialRows\":false,\"showMetricsAtAllLevels\":false,\"showTotal\":false,\"showToolbar\":false,\"totalFunc\":\"sum\",\"percentageCol\":\"\",\"autoFitRowToContent\":false},\"uiState\":{},\"data\":{\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{\"emptyAsNull\":false},\"schema\":\"metric\"}],\"searchSource\":{\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\"}}},\"hidePanelTitles\":false,\"enhancements\":{}},\"title\":\"Table\"},{\"version\":\"8.6.0\",\"type\":\"visualization\",\"gridData\":{\"x\":0,\"y\":30,\"w\":24,\"h\":15,\"i\":\"39e8def4-1952-4c76-9dfb-12e226d1bd77\"},\"panelIndex\":\"39e8def4-1952-4c76-9dfb-12e226d1bd77\",\"embeddableConfig\":{\"savedVis\":{\"id\":\"\",\"title\":\"\",\"description\":\"\",\"type\":\"timelion\",\"params\":{\"expression\":\".es(*)\",\"interval\":\"auto\"},\"uiState\":{},\"data\":{\"aggs\":[],\"searchSource\":{}}},\"hidePanelTitles\":false,\"enhancements\":{}},\"title\":\"Timelion\"},{\"version\":\"8.6.0\",\"type\":\"visualization\",\"gridData\":{\"x\":24,\"y\":30,\"w\":24,\"h\":15,\"i\":\"65e8baeb-c6d5-4bd4-9e14-03dd8db76801\"},\"panelIndex\":\"65e8baeb-c6d5-4bd4-9e14-03dd8db76801\",\"embeddableConfig\":{\"savedVis\":{\"id\":\"\",\"title\":\"\",\"description\":\"\",\"type\":\"pie\",\"params\":{\"type\":\"pie\",\"addTooltip\":true,\"legendDisplay\":\"hide\",\"legendPosition\":\"right\",\"nestedLegend\":false,\"truncateLegend\":true,\"maxLegendLines\":1,\"distinctColors\":false,\"isDonut\":true,\"emptySizeRatio\":0.3,\"palette\":{\"type\":\"palette\",\"name\":\"default\"},\"labels\":{\"show\":true,\"last_level\":false,\"values\":true,\"valuesFormat\":\"percent\",\"percentDecimals\":2,\"truncate\":100,\"position\":\"default\"}},\"uiState\":{},\"data\":{\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{\"emptyAsNull\":false},\"schema\":\"metric\"}],\"searchSource\":{\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\"}}},\"hidePanelTitles\":false,\"enhancements\":{}},\"title\":\"Pie\"},{\"version\":\"8.6.0\",\"type\":\"visualization\",\"gridData\":{\"x\":0,\"y\":45,\"w\":24,\"h\":15,\"i\":\"05e6c9d4-7dff-466d-a6b8-1f15ffd0414c\"},\"panelIndex\":\"05e6c9d4-7dff-466d-a6b8-1f15ffd0414c\",\"embeddableConfig\":{\"savedVis\":{\"id\":\"\",\"title\":\"\",\"description\":\"\",\"type\":\"metric\",\"params\":{\"addTooltip\":true,\"addLegend\":false,\"type\":\"metric\",\"metric\":{\"percentageMode\":false,\"useRanges\":false,\"colorSchema\":\"Green to Red\",\"metricColorMode\":\"None\",\"colorsRange\":[{\"from\":0,\"to\":10000}],\"labels\":{\"show\":true},\"invertColors\":false,\"style\":{\"bgFill\":\"#000\",\"bgColor\":false,\"labelColor\":false,\"subText\":\"\",\"fontSize\":60}}},\"uiState\":{},\"data\":{\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{\"emptyAsNull\":false},\"schema\":\"metric\"}],\"searchSource\":{\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\"}}},\"hidePanelTitles\":false,\"enhancements\":{}},\"title\":\"Metric\"},{\"version\":\"8.6.0\",\"type\":\"visualization\",\"gridData\":{\"x\":24,\"y\":45,\"w\":24,\"h\":15,\"i\":\"174718ba-152d-47e8-8cc5-25e50118993c\"},\"panelIndex\":\"174718ba-152d-47e8-8cc5-25e50118993c\",\"embeddableConfig\":{\"savedVis\":{\"id\":\"\",\"title\":\"\",\"description\":\"\",\"type\":\"heatmap\",\"params\":{\"type\":\"heatmap\",\"addTooltip\":true,\"addLegend\":true,\"enableHover\":false,\"legendPosition\":\"right\",\"colorsNumber\":4,\"colorSchema\":\"Green to Red\",\"setColorRange\":false,\"colorsRange\":[],\"invertColors\":false,\"percentageMode\":false,\"valueAxes\":[{\"show\":false,\"id\":\"ValueAxis-1\",\"type\":\"value\",\"scale\":{\"type\":\"linear\",\"defaultYExtents\":false},\"labels\":{\"show\":false,\"rotate\":0,\"overwriteColor\":false,\"color\":\"black\"}}]},\"uiState\":{\"vis\":{\"defaultColors\":{\"0 - 2.5\":\"rgb(0,104,55)\",\"2.5 - 5\":\"rgb(134,203,102)\",\"5 - 7.5\":\"rgb(254,254,189)\",\"7.5 - 10\":\"rgb(248,141,82)\"}}},\"data\":{\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{\"emptyAsNull\":false},\"schema\":\"metric\"}],\"searchSource\":{\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\"}}},\"hidePanelTitles\":false,\"enhancements\":{}},\"title\":\"Heatmap\"},{\"version\":\"8.6.0\",\"type\":\"visualization\",\"gridData\":{\"x\":0,\"y\":60,\"w\":24,\"h\":15,\"i\":\"624af60b-be8c-40d6-8553-a7ec56f2c9e9\"},\"panelIndex\":\"624af60b-be8c-40d6-8553-a7ec56f2c9e9\",\"embeddableConfig\":{\"savedVis\":{\"id\":\"\",\"title\":\"\",\"description\":\"\",\"type\":\"area\",\"params\":{\"type\":\"area\",\"grid\":{\"categoryLines\":false},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"filter\":true,\"truncate\":100},\"title\":{},\"style\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":true,\"truncate\":100},\"title\":{\"text\":\"\"},\"style\":{}}],\"seriesParams\":[{\"show\":true,\"type\":\"area\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"drawLinesBetweenPoints\":true,\"lineWidth\":2,\"showCircles\":true,\"circlesRadius\":1,\"interpolate\":\"linear\",\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"detailedTooltip\":true,\"palette\":{\"type\":\"palette\",\"name\":\"default\"},\"addLegend\":true,\"legendPosition\":\"right\",\"fittingFunction\":\"linear\",\"times\":[],\"addTimeMarker\":false,\"truncateLegend\":true,\"maxLegendLines\":1,\"radiusRatio\":9,\"thresholdLine\":{\"show\":false,\"value\":10,\"width\":1,\"style\":\"full\",\"color\":\"#E7664C\"},\"labels\":{}},\"uiState\":{},\"data\":{\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"params\":{\"emptyAsNull\":false},\"schema\":\"metric\"}],\"searchSource\":{\"indexRefName\":\"kibanaSavedObjectMeta.searchSourceJSON.index\"}}},\"hidePanelTitles\":false,\"enhancements\":{}},\"title\":\"Area\"}]", + "timeRestore": false, + "title": "visualizations", + "version": 1 + }, + "coreMigrationVersion": "8.6.0", + "id": "d20cf9f0-4e1c-11ed-9841-7530949a111b", + "migrationVersion": { + "dashboard": "8.6.0" + }, + "references": [ + { + "id": "8e91e58e-3ba9-445a-9313-ccad555eeb0c", + "name": "d10dbf3c-b1c0-4740-8cd5-2502dc688618:indexpattern-datasource-layer-79836924-c4e7-47eb-9268-7634192b6d6c", + "type": "index-pattern" + }, + { + "id": "8e91e58e-3ba9-445a-9313-ccad555eeb0c", + "name": "9b0198af-d852-4dc1-83a7-a71582e883cd:metrics_9b0198af-d852-4dc1-83a7-a71582e883cd_0_index_pattern", + "type": "index-pattern" + }, + { + "id": "8e91e58e-3ba9-445a-9313-ccad555eeb0c", + "name": "d30db421-d8db-4484-827c-e8ac77cfe567:kibanaSavedObjectMeta.searchSourceJSON.index", + "type": "index-pattern" + }, + { + "id": "8e91e58e-3ba9-445a-9313-ccad555eeb0c", + "name": "65e8baeb-c6d5-4bd4-9e14-03dd8db76801:kibanaSavedObjectMeta.searchSourceJSON.index", + "type": "index-pattern" + }, + { + "id": "8e91e58e-3ba9-445a-9313-ccad555eeb0c", + "name": "05e6c9d4-7dff-466d-a6b8-1f15ffd0414c:kibanaSavedObjectMeta.searchSourceJSON.index", + "type": "index-pattern" + }, + { + "id": "8e91e58e-3ba9-445a-9313-ccad555eeb0c", + "name": "174718ba-152d-47e8-8cc5-25e50118993c:kibanaSavedObjectMeta.searchSourceJSON.index", + "type": "index-pattern" + }, + { + "id": "8e91e58e-3ba9-445a-9313-ccad555eeb0c", + "name": "624af60b-be8c-40d6-8553-a7ec56f2c9e9:kibanaSavedObjectMeta.searchSourceJSON.index", + "type": "index-pattern" + } + ], + "type": "dashboard", + "updated_at": "2022-10-17T13:14:45.648Z", + "version": "WzM5OCwxXQ==" +} From ed62bb6d01d07a626e8cd9dfb5c35be4f37fc014 Mon Sep 17 00:00:00 2001 From: Michael Dokolin Date: Mon, 21 Nov 2022 14:20:09 +0100 Subject: [PATCH 15/20] [Health Gateway] Add extra logging (#144888) --- .../src/kibana/kibana_config.ts | 78 ++++++++-------- .../src/kibana/kibana_service.ts | 6 +- .../src/kibana/routes/root.ts | 90 ++++++++++--------- .../src/server/server.ts | 2 +- 4 files changed, 94 insertions(+), 82 deletions(-) diff --git a/packages/kbn-health-gateway-server/src/kibana/kibana_config.ts b/packages/kbn-health-gateway-server/src/kibana/kibana_config.ts index b44af3cbcd2da..43f5f240b0ce4 100644 --- a/packages/kbn-health-gateway-server/src/kibana/kibana_config.ts +++ b/packages/kbn-health-gateway-server/src/kibana/kibana_config.ts @@ -10,6 +10,8 @@ import { readFileSync } from 'fs'; import type { Duration } from 'moment'; import { schema, TypeOf } from '@kbn/config-schema'; import { ServiceConfigDescriptor } from '@kbn/core-base-server-internal'; +import { IConfigService } from '@kbn/config'; +import { Logger } from '@kbn/logging'; const hostURISchema = schema.uri({ scheme: ['http', 'https'] }); @@ -30,14 +32,22 @@ const configSchema = schema.object({ }), }); -export type KibanaConfigType = TypeOf; +type KibanaConfigType = TypeOf; export const config: ServiceConfigDescriptor = { path: 'kibana' as const, schema: configSchema, }; +interface KibanaConfigDependencies { + logger: Logger; + config: IConfigService; +} + export class KibanaConfig { + private readonly logger: Logger; + private readonly config: KibanaConfigType; + /** * Kibana hosts that the gateway will connect to. */ @@ -53,12 +63,15 @@ export class KibanaConfig { */ public readonly ssl: SslConfig; - constructor(rawConfig: KibanaConfigType) { - this.hosts = rawConfig.hosts; - this.requestTimeout = rawConfig.requestTimeout; + constructor({ logger, config: configService }: KibanaConfigDependencies) { + this.logger = logger.get('kibana-config'); + this.config = configService.atPathSync('kibana'); - const { verificationMode } = rawConfig.ssl; - const { certificate, certificateAuthorities } = readKeyAndCerts(rawConfig); + this.hosts = this.config.hosts; + this.requestTimeout = this.config.requestTimeout; + + const { verificationMode } = this.config.ssl; + const { certificate, certificateAuthorities } = this.readKeyAndCerts(); this.ssl = { certificate, @@ -66,44 +79,35 @@ export class KibanaConfig { verificationMode, }; } -} - -interface SslConfig { - verificationMode: 'none' | 'certificate' | 'full'; - certificate?: string; - certificateAuthorities?: string[]; -} -const readKeyAndCerts = (rawConfig: KibanaConfigType) => { - let certificate: string | undefined; - let certificateAuthorities: string[] | undefined; + private readKeyAndCerts() { + const certificate = this.config.ssl.certificate + ? readFile(this.config.ssl.certificate) + : undefined; - const addCAs = (ca: string[] | undefined) => { - if (ca && ca.length) { - certificateAuthorities = [...(certificateAuthorities || []), ...ca]; + if (certificate) { + this.logger.debug(`Reading certificate: ${this.config.ssl.certificate}`); } - }; - if (rawConfig.ssl.certificate) { - certificate = readFile(rawConfig.ssl.certificate); - } + const certificateAuthorities = [] as string[]; + const ca = this.config.ssl.certificateAuthorities || []; - const ca = rawConfig.ssl.certificateAuthorities; - if (ca) { - const parsed: string[] = []; - const paths = Array.isArray(ca) ? ca : [ca]; - if (paths.length > 0) { - for (const path of paths) { - parsed.push(readFile(path)); - } - addCAs(parsed); + for (const path of Array.isArray(ca) ? ca : [ca]) { + this.logger.debug(`Adding certificate authority: ${path}`); + certificateAuthorities.push(readFile(path)); } + + return { + certificate, + certificateAuthorities: certificateAuthorities.length ? certificateAuthorities : undefined, + }; } +} - return { - certificate, - certificateAuthorities, - }; -}; +interface SslConfig { + verificationMode: 'none' | 'certificate' | 'full'; + certificate?: string; + certificateAuthorities?: string[]; +} const readFile = (file: string) => readFileSync(file, 'utf8'); diff --git a/packages/kbn-health-gateway-server/src/kibana/kibana_service.ts b/packages/kbn-health-gateway-server/src/kibana/kibana_service.ts index 261de08711a73..d8db3a42f2a25 100644 --- a/packages/kbn-health-gateway-server/src/kibana/kibana_service.ts +++ b/packages/kbn-health-gateway-server/src/kibana/kibana_service.ts @@ -24,16 +24,16 @@ interface KibanaServiceDependencies { * A service to interact with the configured `kibana.hosts`. */ export class KibanaService { - private readonly log: Logger; + private readonly logger: Logger; private readonly config: IConfigService; constructor({ logger, config }: KibanaServiceDependencies) { - this.log = logger.get('kibana-service'); + this.logger = logger.get('kibana-service'); this.config = config; } async start({ server }: KibanaServiceStartDependencies) { - server.addRoute(createRootRoute({ config: this.config, log: this.log })); + server.addRoute(createRootRoute({ config: this.config, logger: this.logger })); } stop() { diff --git a/packages/kbn-health-gateway-server/src/kibana/routes/root.ts b/packages/kbn-health-gateway-server/src/kibana/routes/root.ts index f8f73bf92b78c..e3116e260dc94 100644 --- a/packages/kbn-health-gateway-server/src/kibana/routes/root.ts +++ b/packages/kbn-health-gateway-server/src/kibana/routes/root.ts @@ -9,10 +9,9 @@ import https from 'https'; import { URL } from 'url'; import type { Request, ResponseToolkit } from '@hapi/hapi'; -import nodeFetch, { Headers, RequestInit, Response } from 'node-fetch'; +import nodeFetch, { RequestInit, Response } from 'node-fetch'; import type { IConfigService } from '@kbn/config'; import type { Logger } from '@kbn/logging'; -import type { KibanaConfigType } from '../kibana_config'; import { KibanaConfig } from '../kibana_config'; const HTTPS = 'https:'; @@ -21,22 +20,24 @@ const GATEWAY_ROOT_ROUTE = '/'; const KIBANA_ROOT_ROUTE = '/'; interface RootRouteDependencies { - log: Logger; + logger: Logger; config: IConfigService; } type Fetch = (path: string) => Promise; -export function createRootRoute({ config, log }: RootRouteDependencies) { - const kibanaConfig = new KibanaConfig(config.atPathSync('kibana')); +export function createRootRoute({ config, logger }: RootRouteDependencies) { + const kibanaConfig = new KibanaConfig({ config, logger }); const fetch = configureFetch(kibanaConfig); return { method: 'GET', path: GATEWAY_ROOT_ROUTE, handler: async (req: Request, h: ResponseToolkit) => { - const responses = await fetchKibanaRoots({ fetch, kibanaConfig, log }); + const responses = await fetchKibanaRoots({ fetch, kibanaConfig, logger }); const { body, statusCode } = mergeResponses(responses); + logger.debug(`Returning ${statusCode} response with body: ${JSON.stringify(body)}`); + return h.response(body).type('application/json').code(statusCode); }, }; @@ -45,62 +46,71 @@ export function createRootRoute({ config, log }: RootRouteDependencies) { async function fetchKibanaRoots({ fetch, kibanaConfig, - log, + logger, }: { fetch: Fetch; kibanaConfig: KibanaConfig; - log: Logger; + logger: Logger; }) { - const requests = await Promise.allSettled( + const responses = await Promise.allSettled( kibanaConfig.hosts.map(async (host) => { - log.debug(`Fetching response from ${host}${KIBANA_ROOT_ROUTE}`); + logger.debug(`Fetching response from ${host}${KIBANA_ROOT_ROUTE}`); return fetch(`${host}${KIBANA_ROOT_ROUTE}`); }) ); - return requests.map((r, i) => { - if (r.status === 'rejected') { - log.error(`No response from ${kibanaConfig.hosts[i]}${KIBANA_ROOT_ROUTE}`); - } else { - log.info( - `Got response from ${kibanaConfig.hosts[i]}${KIBANA_ROOT_ROUTE}: ${JSON.stringify( - r.value.status - )}` - ); + responses.forEach((response, index) => { + const host = `${kibanaConfig.hosts[index]}${KIBANA_ROOT_ROUTE}`; + + if (response.status !== 'rejected') { + logger.debug(`Got response from ${host}: ${JSON.stringify(response.value.status)}`); + + return; + } + + if (response.reason instanceof Error) { + logger.error(response.reason); + } + + if (response.reason instanceof Error && response.reason.name === 'AbortError') { + logger.error(`Request timeout for ${host}`); + + return; } - return r; + + logger.error( + `No response from ${host}: ${ + response.reason instanceof Error ? response.reason.message : JSON.stringify(response.reason) + }` + ); }); + + return responses; } function mergeResponses( responses: Array | PromiseRejectedResult> ) { - let statusCode = 200; - for (const response of responses) { - if ( - response.status === 'rejected' || - !isHealthyResponse(response.value.status, response.value.headers) - ) { - statusCode = 503; - } - } + const hasUnhealthyResponse = responses.some(isUnhealthyResponse); return { body: {}, // The control plane health check ignores the body, so we do the same - statusCode, + statusCode: hasUnhealthyResponse ? 503 : 200, }; } -function isHealthyResponse(statusCode: number, headers: Headers) { - return isSuccess(statusCode) || isUnauthorized(statusCode, headers); +function isUnhealthyResponse(response: PromiseFulfilledResult | PromiseRejectedResult) { + return ( + response.status === 'rejected' || !(isSuccess(response.value) || isUnauthorized(response.value)) + ); } -function isUnauthorized(statusCode: number, headers: Headers): boolean { - return statusCode === 401 && headers.has('www-authenticate'); +function isUnauthorized({ status, headers }: Response): boolean { + return status === 401 && headers.has('www-authenticate'); } -function isSuccess(statusCode: number): boolean { - return (statusCode >= 200 && statusCode <= 299) || statusCode === 302; +function isSuccess({ status }: Response): boolean { + return (status >= 200 && status <= 299) || status === 302; } function generateAgentConfig(sslConfig: KibanaConfig['ssl']) { @@ -149,13 +159,11 @@ function configureFetch(kibanaConfig: KibanaConfig) { signal: controller.signal, redirect: 'manual', }; + try { - const response = await nodeFetch(url, fetchOptions); - clearTimeout(timeoutId); - return response; - } catch (e) { + return await nodeFetch(url, fetchOptions); + } finally { clearTimeout(timeoutId); - throw e; } }; } diff --git a/packages/kbn-health-gateway-server/src/server/server.ts b/packages/kbn-health-gateway-server/src/server/server.ts index 90123cf70380d..e75df33859981 100644 --- a/packages/kbn-health-gateway-server/src/server/server.ts +++ b/packages/kbn-health-gateway-server/src/server/server.ts @@ -47,7 +47,7 @@ export class Server { return { addRoute: (definition) => { - this.log.debug(`registering route handler for [${definition.path}]`); + this.log.debug(`Registering route handler for [${definition.path}]`); this.server!.route(definition); }, }; From f96d81cae374d6b08f2201a2da22691cda9c70d4 Mon Sep 17 00:00:00 2001 From: Wafaa Nasr Date: Mon, 21 Nov 2022 14:35:12 +0100 Subject: [PATCH 16/20] [Security Solution][List Details Page]: Fixing not found page (#145833) ## Summary - Fixing showing Page not found in case the URL is incorrect or listId - Address https://github.com/elastic/kibana/issues/145548 Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../public/exceptions/hooks/use_list_detail_view/index.ts | 7 +++++-- .../public/exceptions/pages/list_detail_view/index.tsx | 6 +++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/x-pack/plugins/security_solution/public/exceptions/hooks/use_list_detail_view/index.ts b/x-pack/plugins/security_solution/public/exceptions/hooks/use_list_detail_view/index.ts index c885cabda32f0..66a3e10d914c1 100644 --- a/x-pack/plugins/security_solution/public/exceptions/hooks/use_list_detail_view/index.ts +++ b/x-pack/plugins/security_solution/public/exceptions/hooks/use_list_detail_view/index.ts @@ -45,7 +45,7 @@ const exceptionReferenceModalInitialState: ReferenceModalState = { listNamespaceType: 'single', }; -export const useExceptionListDetails = () => { +export const useListDetailsView = () => { const toasts = useToasts(); const { services } = useKibana(); const { http, notifications } = services; @@ -114,7 +114,10 @@ export const useExceptionListDetails = () => { id: exceptionListId, http, }); - if (!result || !isAnExceptionListItem(result)) return setInvalidListId(true); + if (!result || !isAnExceptionListItem(result)) { + setIsLoading(false); + return setInvalidListId(true); + } setList(result); await initializeListRules(result); diff --git a/x-pack/plugins/security_solution/public/exceptions/pages/list_detail_view/index.tsx b/x-pack/plugins/security_solution/public/exceptions/pages/list_detail_view/index.tsx index 32544e23f5cb3..7697ba01427d3 100644 --- a/x-pack/plugins/security_solution/public/exceptions/pages/list_detail_view/index.tsx +++ b/x-pack/plugins/security_solution/public/exceptions/pages/list_detail_view/index.tsx @@ -19,7 +19,7 @@ import { MissingPrivilegesCallOut } from '../../../detections/components/callout import { NotFoundPage } from '../../../app/404'; import { AutoDownload } from '../../../common/components/auto_download/auto_download'; import { ListWithSearch, ManageRules, ListDetailsLinkAnchor } from '../../components'; -import { useExceptionListDetails } from '../../hooks'; +import { useListDetailsView } from '../../hooks'; import * as i18n from '../../translations'; export const ListsDetailViewComponent: FC = () => { @@ -51,14 +51,14 @@ export const ListsDetailViewComponent: FC = () => { handleDelete, handleCloseReferenceErrorModal, handleReferenceDelete, - } = useExceptionListDetails(); + } = useListDetailsView(); if (viewerStatus === ViewerStatus.ERROR) return ; if (isLoading) return ; - if (invalidListId || !listName || !listDescription || !list) return ; + if (invalidListId || !listName || !list) return ; return ( <> From 4b0d93db0cc328f9a242469d3282b64a07fa3032 Mon Sep 17 00:00:00 2001 From: Khristinin Nikita Date: Mon, 21 Nov 2022 14:42:52 +0100 Subject: [PATCH 17/20] Fix shared list creation message (#145701) Fix: https://github.com/elastic/kibana/issues/145542 Screenshot 2022-11-18 at 10 49 10 Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../public/exceptions/translations/shared_list.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/security_solution/public/exceptions/translations/shared_list.ts b/x-pack/plugins/security_solution/public/exceptions/translations/shared_list.ts index 8e070f24f3353..038cdc7ee1b4d 100644 --- a/x-pack/plugins/security_solution/public/exceptions/translations/shared_list.ts +++ b/x-pack/plugins/security_solution/public/exceptions/translations/shared_list.ts @@ -337,14 +337,14 @@ export const CREATE_BUTTON = i18n.translate( export const getSuccessText = (listName: string) => i18n.translate('xpack.securitySolution.exceptions.createSharedExceptionListSuccessDescription', { - defaultMessage: 'list with name ${listName} was created!', + defaultMessage: 'List with name {listName} was created!', values: { listName }, }); export const SUCCESS_TITLE = i18n.translate( 'xpack.securitySolution.exceptions.createSharedExceptionListSuccessTitle', { - defaultMessage: 'created list', + defaultMessage: 'Created list', } ); From 9cb4950d5f42992a779ae59bf69c6c31afe00b20 Mon Sep 17 00:00:00 2001 From: Kevin Lacabane Date: Mon, 21 Nov 2022 14:43:52 +0100 Subject: [PATCH 18/20] [Stack Monitoring] api tests for logstash (#145351) ### Summary Part of https://github.com/elastic/kibana/issues/119658 Add api integration tests for logstash routes to validate behavior when reading data ingested by elastic-agent. We currently have a testing suite for legacy and another one for metricbeat. Since metricbeat and agent documents only differ in their metadata, for example agent will populate a `data_stream.*` property to identify the document types while metricbeat uses `metricset.*`, the tests assertion validating _business_ data should pass regardless of the documents source. With this in mind the metricbeat tests were updated to run the tests twice, one time with metricbeat data and a second time with package data. To generate the archives the `metrics-*` mappings were extracted with esArchiver from an elasticsearch with the package installed, and the documents were transformed from the metricbeat documents with [this script](https://gist.github.com/klacabane/654497ff86053c60af6df15fa6f6f657). Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../es_archives/logstash_package/data.json.gz | Bin 0 -> 9609 bytes .../logstash_package/mappings.json | 966 +++ .../logstash/fixtures/node_detail_8.json | 3034 +++---- .../fixtures/node_detail_advanced_8.json | 3030 +++---- .../logstash/multicluster_pipelines_mb.js | 51 +- .../monitoring/logstash/node_detail_mb.js | 79 +- .../apis/monitoring/logstash/nodes_mb.js | 42 +- .../apis/monitoring/logstash/overview_mb.js | 42 +- .../apis/monitoring/logstash/pipelines_mb.js | 120 +- .../changing_pipelines_package/data.json.gz | Bin 0 -> 87349 bytes .../changing_pipelines_package/mappings.json | 7138 +++++++++++++++++ .../data.json.gz | Bin 0 -> 12513 bytes .../mappings.json | 7138 +++++++++++++++++ .../logstash_pipelines_package/data.json.gz | Bin 0 -> 200292 bytes .../logstash_pipelines_package/mappings.json | 7138 +++++++++++++++++ 15 files changed, 25588 insertions(+), 3190 deletions(-) create mode 100644 x-pack/test/api_integration/apis/monitoring/es_archives/logstash_package/data.json.gz create mode 100644 x-pack/test/api_integration/apis/monitoring/es_archives/logstash_package/mappings.json create mode 100644 x-pack/test/functional/es_archives/monitoring/logstash/changing_pipelines_package/data.json.gz create mode 100644 x-pack/test/functional/es_archives/monitoring/logstash/changing_pipelines_package/mappings.json create mode 100644 x-pack/test/functional/es_archives/monitoring/logstash_pipelines_multicluster_package/data.json.gz create mode 100644 x-pack/test/functional/es_archives/monitoring/logstash_pipelines_multicluster_package/mappings.json create mode 100644 x-pack/test/functional/es_archives/monitoring/logstash_pipelines_package/data.json.gz create mode 100644 x-pack/test/functional/es_archives/monitoring/logstash_pipelines_package/mappings.json diff --git a/x-pack/test/api_integration/apis/monitoring/es_archives/logstash_package/data.json.gz b/x-pack/test/api_integration/apis/monitoring/es_archives/logstash_package/data.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..e496354a5be2850257788333f286401d27306fc5 GIT binary patch literal 9609 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 Ga*y3Yi^~5K^VV3Q_DcddW zm{JKinjs>?&rEtPT+u~Gx}gKoat~zV1?46$aV>AYE6UEJ;Nr%!+FWVlTX>hw>(;sg zg1+Ktk4B_$4lL^IV6#~ZQU5xla4@CnAlpxTX72NoqE>9(Cpv=4B8aum2J2BjSkk?T86bFo~n5^3!r*BGMzR5xUG*BPK00*ZVOi zz8O~aV`Rwl|I2uLDj9@JUC$es+Q7rYyU1-crCGS8q~q|H;;H*K2TwhoQnqMeHO<^< zgRe9DS=s=v^f%s?c;a^8)R7tH~?6!Y)N80kbzCC6h%{!;h1niu#}#^ZbWPa9%T za|XC{1n4nu1o(+v=%$!wZ|??`ZA)c2?swPSX4fa4!5sb>Q=K9`lYpU^hu?qr$_*tx z8r!WpkjiY0Wd;%US<9FdsuY0`a&O~I9UaH{^4fs_bJ5t27|nNZM^YB;dI-ra$m`N6 z#7p;|_jpQBszj%?RHy&y&ui9osIYxLmqMQdMH_(<{gtuEMbdJs!{N@E_IQ$^(nT~>Qc89A>-wfq> zG=F7JZn+~yrp)V+%|zd9CpdROYc-u}&C;$JJr0nLR!5{=2mNG1OR0rAXeP~s{ph$I z;~c?2Wq8AOrYx({5pgcz4A@7UBYvddWCMQpr>qBs(}S{HoZ1r?~B`Dx- zItumR9fi@fG2lw}HFav%aq%vK*yG}FluI_j7`?Lm`t8OYlI1EPv6CQ5c)7cF9lKN~ z(n=+GnVX&tW)}+y{0)K98N{cvm)tvsN7p}iw1W4N5a^~>S?`UIiusJe8_JrEW<~~& zv(3(3TRHal-VyQM8p2#5)MN@RGs`1y@IMSF(ZB*au0xFeq zgK7??#H=W}heQW)7yPB=}eF za7!GiMI*Hf{Y*}M)>4__i}$rJLiY`}_>6tpRqo_V_98I19jbSApC?Myb2GI{Gqkqc z$9;kZHfXNX7?r2!H3GFUo}h3_5JBOjlSpx9QcO^5#e?VYWIyoRZ-d|d3isHqeIQf z_`GvBSgxDG*-cq4@xsT%<%p6%M*6mU{%hzNzm2kn18EZ9pB$FhLeRK8@_^CY$DeE% zi~lgFxA2>j8fi)B)$!tij!j*9-h4agd(QL{K#+Xw&@Qi_M4dJQ*dM89V8~zYecXuO z8fK0cY_xcx(BSzCQ974^Uhfk~wfNd`(n)+j^5^OrCq~j);fx=@GLl!q0gmyS4)eNB z{cEB?@~mj`cfYb+j2&4QLyg$HBsEL+1Q*>yJk#^*@_^mso$18w&*MeD96ku)ReDHB zn5%&02{yCTzm9nDx*veRE_gZik#t-yE$ex^Cm%#tO12b9!aNsKukrW%CM>t$D)@34hOR0i2k&R^s%e%8|Jr_C#v0m{ZfJ0~hPb#>T_Y`UkP~I`nk3s} z)(#7x*N*(Vhexfg?+2-9GIo+@3BtS?{`UKd^4olMc>-S_qjnrhnR#(`m1^w*-$T_J z2Rd)@%`pgmf9)nK6{Bb(j-h|xg6-eQ*=T+A?VHV?gv6|)bK6V6(Eh{@CEwNU%Uqqv zLE887Y4@d!!+!frHQYIgUI)XH^v^55bP3}R+J#|1|4_36r#6>nlsfEaI^@&Mf7u6g zC~Hvsrp`R>NMJmd(r+`UlmTTa_HcA6xqqR4I`in)DG?`hvzErrOrtYHs8IOCE0l}% z;;FCm-LaxmyEA)z_pkPedSDrAPR06Rq!nbD>M_|ijIpRA#c5Km^EJQium>x@kKmVx KO^4xhH2(+H9XSdB literal 0 HcmV?d00001 diff --git a/x-pack/test/api_integration/apis/monitoring/es_archives/logstash_package/mappings.json b/x-pack/test/api_integration/apis/monitoring/es_archives/logstash_package/mappings.json new file mode 100644 index 0000000000000..5d05af5111803 --- /dev/null +++ b/x-pack/test/api_integration/apis/monitoring/es_archives/logstash_package/mappings.json @@ -0,0 +1,966 @@ +{ + "type": "data_stream", + "value": { + "data_stream": "metrics-logstash.stack_monitoring.node-default", + "template": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "logstash" + } + }, + "data_stream": { + "allow_custom_routing": false, + "hidden": false + }, + "index_patterns": [ + "metrics-logstash.stack_monitoring.node-*" + ], + "name": "metrics-logstash.stack_monitoring.node", + "priority": 200, + "template": { + "mappings": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "logstash" + } + }, + "date_detection": false, + "dynamic": false, + "dynamic_templates": [ + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "cluster_uuid": { + "path": "logstash.elasticsearch.cluster.id", + "type": "alias" + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "error": { + "properties": { + "message": { + "type": "match_only_text" + } + } + }, + "event": { + "properties": { + "agent_id_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "ingested": { + "format": "strict_date_time_no_millis||strict_date_optional_time||epoch_millis", + "type": "date" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "logstash": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "elasticsearch": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "node": { + "properties": { + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "jvm": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "state": { + "properties": { + "pipeline": { + "properties": { + "batch_size": { + "type": "long" + }, + "ephemeral_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "representation": { + "properties": { + "graph": { + "properties": { + "edges": { + "type": "object" + }, + "vertices": { + "type": "object" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "workers": { + "type": "long" + } + } + } + } + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "logstash_state": { + "properties": { + "pipeline": { + "properties": { + "hash": { + "path": "logstash.node.state.pipeline.hash", + "type": "alias" + }, + "id": { + "path": "logstash.node.state.pipeline.id", + "type": "alias" + } + } + } + } + }, + "process": { + "properties": { + "pid": { + "type": "long" + } + } + }, + "service": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "settings": { + "index": { + "codec": "best_compression", + "lifecycle": { + "name": "metrics" + }, + "mapping": { + "total_fields": { + "limit": "10000" + } + }, + "query": { + "default_field": [ + "service.hostname", + "service.id", + "service.type", + "service.version", + "service.address", + "service.name", + "ecs.version", + "event.dataset", + "event.module", + "host.name", + "error.message", + "logstash.cluster.id", + "logstash.elasticsearch.cluster.id", + "logstash.node.jvm.version", + "logstash.node.host", + "logstash.node.version", + "logstash.node.id", + "logstash.node.state.pipeline.id", + "logstash.node.state.pipeline.hash", + "logstash.node.state.pipeline.ephemeral_id", + "logstash.node.state.pipeline.representation.hash", + "logstash.node.state.pipeline.representation.type", + "logstash.node.state.pipeline.representation.version" + ] + } + } + } + } + } + } +} + +{ + "type": "data_stream", + "value": { + "data_stream": "metrics-logstash.stack_monitoring.node_stats-default", + "template": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "logstash" + } + }, + "data_stream": { + "allow_custom_routing": false, + "hidden": false + }, + "index_patterns": [ + "metrics-logstash.stack_monitoring.node_stats-*" + ], + "name": "metrics-logstash.stack_monitoring.node_stats", + "priority": 200, + "template": { + "mappings": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "logstash" + } + }, + "date_detection": false, + "dynamic": false, + "dynamic_templates": [ + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "cluster_uuid": { + "path": "logstash.elasticsearch.cluster.id", + "type": "alias" + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "error": { + "properties": { + "message": { + "type": "match_only_text" + } + } + }, + "event": { + "properties": { + "agent_id_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "ingested": { + "format": "strict_date_time_no_millis||strict_date_optional_time||epoch_millis", + "type": "date" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "logstash": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "elasticsearch": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "node": { + "properties": { + "state": { + "properties": { + "pipeline": { + "properties": { + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "stats": { + "properties": { + "events": { + "properties": { + "duration_in_millis": { + "type": "long" + }, + "filtered": { + "type": "long" + }, + "in": { + "type": "long" + }, + "out": { + "type": "long" + } + } + }, + "jvm": { + "properties": { + "gc": { + "properties": { + "collectors": { + "properties": { + "old": { + "properties": { + "collection_count": { + "type": "long" + }, + "collection_time_in_millis": { + "type": "long" + } + } + }, + "young": { + "properties": { + "collection_count": { + "type": "long" + }, + "collection_time_in_millis": { + "type": "long" + } + } + } + } + } + } + }, + "mem": { + "properties": { + "heap_max_in_bytes": { + "type": "long" + }, + "heap_used_in_bytes": { + "type": "long" + }, + "heap_used_percent": { + "type": "long" + } + } + }, + "uptime_in_millis": { + "type": "long" + } + } + }, + "logstash": { + "properties": { + "ephemeral_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "http_address": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "pipeline": { + "properties": { + "batch_size": { + "type": "long" + }, + "workers": { + "type": "long" + } + } + }, + "snapshot": { + "type": "boolean" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "uuid": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "os": { + "properties": { + "cgroup": { + "properties": { + "cpu": { + "properties": { + "cfs_quota_micros": { + "type": "long" + }, + "control_group": { + "type": "text" + }, + "stat": { + "type": "object" + } + } + }, + "cpuacct": { + "type": "object" + } + } + }, + "cpu": { + "properties": { + "load_average": { + "properties": { + "15m": { + "type": "half_float" + }, + "1m": { + "type": "half_float" + }, + "5m": { + "type": "half_float" + } + } + }, + "percent": { + "type": "double" + } + } + } + } + }, + "pipelines": { + "properties": { + "ephemeral_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "events": { + "properties": { + "duration_in_millis": { + "type": "long" + }, + "filtered": { + "type": "long" + }, + "in": { + "type": "long" + }, + "out": { + "type": "long" + }, + "queue_push_duration_in_millis": { + "type": "long" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "queue": { + "properties": { + "events_count": { + "type": "long" + }, + "max_queue_size_in_bytes": { + "type": "long" + }, + "queue_size_in_bytes": { + "type": "long" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "reloads": { + "properties": { + "failures": { + "type": "long" + }, + "successes": { + "type": "long" + } + } + }, + "vertices": { + "properties": { + "duration_in_millis": { + "type": "long" + }, + "events_in": { + "type": "long" + }, + "events_out": { + "type": "long" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "long_counters": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "value": { + "type": "long" + } + }, + "type": "nested" + }, + "pipeline_ephemeral_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "queue_push_duration_in_millis": { + "type": "long" + } + }, + "type": "nested" + } + }, + "type": "nested" + }, + "process": { + "properties": { + "cpu": { + "properties": { + "percent": { + "type": "double" + } + } + }, + "max_file_descriptors": { + "type": "long" + }, + "open_file_descriptors": { + "type": "long" + } + } + }, + "queue": { + "properties": { + "events_count": { + "type": "long" + } + } + }, + "reloads": { + "properties": { + "failures": { + "type": "long" + }, + "successes": { + "type": "long" + } + } + }, + "timestamp": { + "type": "date" + } + } + } + } + } + } + }, + "logstash_stats": { + "properties": { + "events": { + "properties": { + "duration_in_millis": { + "path": "logstash.node.stats.events.duration_in_millis", + "type": "alias" + }, + "in": { + "path": "logstash.node.stats.events.in", + "type": "alias" + }, + "out": { + "path": "logstash.node.stats.events.out", + "type": "alias" + } + } + }, + "jvm": { + "properties": { + "mem": { + "properties": { + "heap_max_in_bytes": { + "path": "logstash.node.stats.jvm.mem.heap_max_in_bytes", + "type": "alias" + }, + "heap_used_in_bytes": { + "path": "logstash.node.stats.jvm.mem.heap_used_in_bytes", + "type": "alias" + } + } + }, + "uptime_in_millis": { + "path": "logstash.node.stats.jvm.uptime_in_millis", + "type": "alias" + } + } + }, + "logstash": { + "properties": { + "uuid": { + "path": "logstash.node.stats.logstash.uuid", + "type": "alias" + }, + "version": { + "path": "logstash.node.stats.logstash.version", + "type": "alias" + } + } + }, + "os": { + "properties": { + "cgroup": { + "properties": { + "cpuacct": { + "type": "object" + } + } + }, + "cpu": { + "properties": { + "load_average": { + "properties": { + "15m": { + "path": "logstash.node.stats.os.cpu.load_average.15m", + "type": "alias" + }, + "1m": { + "path": "logstash.node.stats.os.cpu.load_average.1m", + "type": "alias" + }, + "5m": { + "path": "logstash.node.stats.os.cpu.load_average.5m", + "type": "alias" + } + } + }, + "stat": { + "type": "object" + } + } + } + } + }, + "pipelines": { + "type": "nested" + }, + "process": { + "properties": { + "cpu": { + "properties": { + "percent": { + "path": "logstash.node.stats.process.cpu.percent", + "type": "alias" + } + } + } + } + }, + "queue": { + "properties": { + "events_count": { + "path": "logstash.node.stats.queue.events_count", + "type": "alias" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "process": { + "properties": { + "pid": { + "type": "long" + } + } + }, + "service": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "settings": { + "index": { + "codec": "best_compression", + "lifecycle": { + "name": "metrics" + }, + "mapping": { + "total_fields": { + "limit": "10000" + } + }, + "query": { + "default_field": [ + "service.hostname", + "service.id", + "service.type", + "service.version", + "service.address", + "service.name", + "ecs.version", + "event.dataset", + "event.module", + "host.name", + "error.message", + "logstash.elasticsearch.cluster.id", + "logstash.node.state.pipeline.id", + "logstash.node.state.pipeline.hash", + "logstash.node.stats.logstash.uuid", + "logstash.node.stats.logstash.version", + "logstash.node.stats.logstash.ephemeral_id", + "logstash.node.stats.logstash.host", + "logstash.node.stats.logstash.http_address", + "logstash.node.stats.logstash.name", + "logstash.node.stats.logstash.status", + "logstash.node.stats.os.cgroup.cpuacct.control_group", + "logstash.node.stats.os.cgroup.cpu.control_group", + "logstash.node.stats.pipelines.id", + "logstash.node.stats.pipelines.hash", + "logstash.node.stats.pipelines.ephemeral_id", + "logstash.node.stats.pipelines.queue.type", + "logstash.node.stats.pipelines.vertices.id", + "logstash.node.stats.pipelines.vertices.long_counters.name", + "logstash.node.stats.pipelines.vertices.pipeline_ephemeral_id", + "logstash.cluster.id" + ] + } + } + } + } + } + } +} diff --git a/x-pack/test/api_integration/apis/monitoring/logstash/fixtures/node_detail_8.json b/x-pack/test/api_integration/apis/monitoring/logstash/fixtures/node_detail_8.json index e283406909808..fde54ff12067a 100644 --- a/x-pack/test/api_integration/apis/monitoring/logstash/fixtures/node_detail_8.json +++ b/x-pack/test/api_integration/apis/monitoring/logstash/fixtures/node_detail_8.json @@ -1,1523 +1,1523 @@ { - "metrics": { - "logstash_os_load": [ - { - "bucket_size": "10 seconds", - "timeRange": { - "min": 1655471940000, - "max": 1655472300000 - }, - "metric": { - "app": "logstash", - "field": "logstash_stats.os.cpu.load_average.1m", - "metricAgg": "max", - "label": "1m", - "title": "System Load", - "description": "Load average over the last minute.", - "units": "", - "format": "0,0.[00]", - "hasCalculation": false, - "isDerivative": false - }, - "data": [ - [ - 1655471940000, - 3 - ], - [ - 1655471950000, - 3 - ], - [ - 1655471960000, - 3 - ], - [ - 1655471970000, - 3 - ], - [ - 1655471980000, - 2 - ], - [ - 1655471990000, - 2 - ], - [ - 1655472000000, - 2 - ], - [ - 1655472010000, - 2 - ], - [ - 1655472020000, - 2 - ], - [ - 1655472030000, - 2 - ], - [ - 1655472040000, - 2 - ], - [ - 1655472050000, - 2 - ], - [ - 1655472060000, - 2 - ], - [ - 1655472070000, - 2 - ], - [ - 1655472080000, - 2 - ], - [ - 1655472090000, - 2 - ], - [ - 1655472100000, - 2 - ], - [ - 1655472110000, - 2 - ], - [ - 1655472120000, - 1 - ], - [ - 1655472130000, - 1 - ], - [ - 1655472140000, - 1 - ], - [ - 1655472150000, - 1 - ], - [ - 1655472160000, - 1 - ], - [ - 1655472170000, - 2 - ], - [ - 1655472180000, - 2 - ], - [ - 1655472190000, - 2 - ], - [ - 1655472200000, - 2 - ], - [ - 1655472210000, - 2 - ], - [ - 1655472220000, - 2 - ], - [ - 1655472230000, - 2 - ], - [ - 1655472240000, - 3 - ], - [ - 1655472250000, - 3 - ], - [ - 1655472260000, - 2 - ], - [ - 1655472270000, - 2 - ], - [ - 1655472280000, - 2 - ], - [ - 1655472290000, - 2 - ] - ] - }, - { - "bucket_size": "10 seconds", - "timeRange": { - "min": 1655471940000, - "max": 1655472300000 - }, - "metric": { - "app": "logstash", - "field": "logstash_stats.os.cpu.load_average.5m", - "metricAgg": "max", - "label": "5m", - "title": "System Load", - "description": "Load average over the last 5 minutes.", - "units": "", - "format": "0,0.[00]", - "hasCalculation": false, - "isDerivative": false - }, - "data": [ - [ - 1655471940000, - null - ], - [ - 1655471950000, - null - ], - [ - 1655471960000, - null - ], - [ - 1655471970000, - null - ], - [ - 1655471980000, - null - ], - [ - 1655471990000, - null - ], - [ - 1655472000000, - null - ], - [ - 1655472010000, - null - ], - [ - 1655472020000, - null - ], - [ - 1655472030000, - null - ], - [ - 1655472040000, - null - ], - [ - 1655472050000, - null - ], - [ - 1655472060000, - null - ], - [ - 1655472070000, - null - ], - [ - 1655472080000, - null - ], - [ - 1655472090000, - null - ], - [ - 1655472100000, - null - ], - [ - 1655472110000, - null - ], - [ - 1655472120000, - null - ], - [ - 1655472130000, - null - ], - [ - 1655472140000, - null - ], - [ - 1655472150000, - null - ], - [ - 1655472160000, - null - ], - [ - 1655472170000, - null - ], - [ - 1655472180000, - null - ], - [ - 1655472190000, - null - ], - [ - 1655472200000, - null - ], - [ - 1655472210000, - null - ], - [ - 1655472220000, - null - ], - [ - 1655472230000, - null - ], - [ - 1655472240000, - null - ], - [ - 1655472250000, - null - ], - [ - 1655472260000, - null - ], - [ - 1655472270000, - null - ], - [ - 1655472280000, - null - ], - [ - 1655472290000, - null - ] - ] - }, - { - "bucket_size": "10 seconds", - "timeRange": { - "min": 1655471940000, - "max": 1655472300000 - }, - "metric": { - "app": "logstash", - "field": "logstash_stats.os.cpu.load_average.15m", - "metricAgg": "max", - "label": "15m", - "title": "System Load", - "description": "Load average over the last 15 minutes.", - "units": "", - "format": "0,0.[00]", - "hasCalculation": false, - "isDerivative": false - }, - "data": [ - [ - 1655471940000, - null - ], - [ - 1655471950000, - null - ], - [ - 1655471960000, - null - ], - [ - 1655471970000, - null - ], - [ - 1655471980000, - null - ], - [ - 1655471990000, - null - ], - [ - 1655472000000, - null - ], - [ - 1655472010000, - null - ], - [ - 1655472020000, - null - ], - [ - 1655472030000, - null - ], - [ - 1655472040000, - null - ], - [ - 1655472050000, - null - ], - [ - 1655472060000, - null - ], - [ - 1655472070000, - null - ], - [ - 1655472080000, - null - ], - [ - 1655472090000, - null - ], - [ - 1655472100000, - null - ], - [ - 1655472110000, - null - ], - [ - 1655472120000, - null - ], - [ - 1655472130000, - null - ], - [ - 1655472140000, - null - ], - [ - 1655472150000, - null - ], - [ - 1655472160000, - null - ], - [ - 1655472170000, - null - ], - [ - 1655472180000, - null - ], - [ - 1655472190000, - null - ], - [ - 1655472200000, - null - ], - [ - 1655472210000, - null - ], - [ - 1655472220000, - null - ], - [ - 1655472230000, - null - ], - [ - 1655472240000, - null - ], - [ - 1655472250000, - null - ], - [ - 1655472260000, - null - ], - [ - 1655472270000, - null - ], - [ - 1655472280000, - null - ], - [ - 1655472290000, - null - ] - ] - } - ], - "logstash_events_input_rate": [ - { - "bucket_size": "10 seconds", - "timeRange": { - "min": 1655471940000, - "max": 1655472300000 - }, - "metric": { - "app": "logstash", - "field": "logstash_stats.events.in", - "metricAgg": "max", - "label": "Events Received Rate", - "description": "Number of events received per second by the Logstash node at the inputs stage.", - "units": "/s", - "format": "0,0.[00]", - "hasCalculation": false, - "isDerivative": true - }, - "data": [ - [ - 1655471940000, - 10 - ], - [ - 1655471950000, - 10 - ], - [ - 1655471960000, - 10 - ], - [ - 1655471970000, - 10 - ], - [ - 1655471980000, - 10 - ], - [ - 1655471990000, - 10 - ], - [ - 1655472000000, - 10 - ], - [ - 1655472010000, - 10 - ], - [ - 1655472020000, - 10 - ], - [ - 1655472030000, - 10 - ], - [ - 1655472040000, - 10 - ], - [ - 1655472050000, - 10 - ], - [ - 1655472060000, - 10 - ], - [ - 1655472070000, - 10 - ], - [ - 1655472080000, - 10 - ], - [ - 1655472090000, - 10 - ], - [ - 1655472100000, - 10 - ], - [ - 1655472110000, - 10 - ], - [ - 1655472120000, - 10 - ], - [ - 1655472130000, - 10 - ], - [ - 1655472140000, - 10 - ], - [ - 1655472150000, - 10 - ], - [ - 1655472160000, - 10 - ], - [ - 1655472170000, - 10 - ], - [ - 1655472180000, - 10 - ], - [ - 1655472190000, - 10 - ], - [ - 1655472200000, - 10 - ], - [ - 1655472210000, - 10 - ], - [ - 1655472220000, - 10 - ], - [ - 1655472230000, - 10 - ], - [ - 1655472240000, - 10 - ], - [ - 1655472250000, - 10 - ], - [ - 1655472260000, - 10 - ], - [ - 1655472270000, - 10 - ], - [ - 1655472280000, - 10 - ], - [ - 1655472290000, - 10 - ] - ] - } - ], - "logstash_events_output_rate": [ - { - "bucket_size": "10 seconds", - "timeRange": { - "min": 1655471940000, - "max": 1655472300000 - }, - "metric": { - "app": "logstash", - "field": "logstash_stats.events.out", - "metricAgg": "max", - "label": "Events Emitted Rate", - "description": "Number of events emitted per second by the Logstash node at the outputs stage.", - "units": "/s", - "format": "0,0.[00]", - "hasCalculation": false, - "isDerivative": true - }, - "data": [ - [ - 1655471940000, - 7 - ], - [ - 1655471950000, - 4.3 - ], - [ - 1655471960000, - 7.3 - ], - [ - 1655471970000, - 8.2 - ], - [ - 1655471980000, - 6 - ], - [ - 1655471990000, - 3.7 - ], - [ - 1655472000000, - 10.3 - ], - [ - 1655472010000, - 10.5 - ], - [ - 1655472020000, - 6.2 - ], - [ - 1655472030000, - 4.4 - ], - [ - 1655472040000, - 2.1 - ], - [ - 1655472050000, - 10.8 - ], - [ - 1655472060000, - 12.9 - ], - [ - 1655472070000, - 4.4 - ], - [ - 1655472080000, - 0 - ], - [ - 1655472090000, - 5.9 - ], - [ - 1655472100000, - 10.4 - ], - [ - 1655472110000, - 10.8 - ], - [ - 1655472120000, - 0.7 - ], - [ - 1655472130000, - 5.6 - ], - [ - 1655472140000, - 8.3 - ], - [ - 1655472150000, - 9.3 - ], - [ - 1655472160000, - 10.7 - ], - [ - 1655472170000, - 1.3 - ], - [ - 1655472180000, - 4.3 - ], - [ - 1655472190000, - 13.7 - ], - [ - 1655472200000, - 13.1 - ], - [ - 1655472210000, - 4.2 - ], - [ - 1655472220000, - 0 - ], - [ - 1655472230000, - 3.7 - ], - [ - 1655472240000, - 10.2 - ], - [ - 1655472250000, - 0 - ], - [ - 1655472260000, - 8.2 - ], - [ - 1655472270000, - 5.9 - ], - [ - 1655472280000, - 8.8 - ], - [ - 1655472290000, - 2.5 - ] + "metrics": { + "logstash_os_load": [ + { + "bucket_size": "10 seconds", + "timeRange": { + "min": 1655471940000, + "max": 1655472300000 + }, + "metric": { + "app": "logstash", + "field": "logstash_stats.os.cpu.load_average.1m", + "metricAgg": "max", + "label": "1m", + "title": "System Load", + "description": "Load average over the last minute.", + "units": "", + "format": "0,0.[00]", + "hasCalculation": false, + "isDerivative": false + }, + "data": [ + [ + 1655471940000, + 3.84765625 + ], + [ + 1655471950000, + 3.703125 + ], + [ + 1655471960000, + 3.44140625 + ], + [ + 1655471970000, + 3.072265625 + ], + [ + 1655471980000, + 2.75390625 + ], + [ + 1655471990000, + 2.802734375 + ], + [ + 1655472000000, + 2.826171875 + ], + [ + 1655472010000, + 2.69921875 + ], + [ + 1655472020000, + 2.603515625 + ], + [ + 1655472030000, + 2.658203125 + ], + [ + 1655472040000, + 2.40234375 + ], + [ + 1655472050000, + 2.78125 + ], + [ + 1655472060000, + 2.5078125 + ], + [ + 1655472070000, + 2.201171875 + ], + [ + 1655472080000, + 2.08984375 + ], + [ + 1655472090000, + 2.08203125 + ], + [ + 1655472100000, + 2.0625 + ], + [ + 1655472110000, + 2.05859375 + ], + [ + 1655472120000, + 1.8154296875 + ], + [ + 1655472130000, + 1.9296875 + ], + [ + 1655472140000, + 1.712890625 + ], + [ + 1655472150000, + 1.990234375 + ], + [ + 1655472160000, + 1.837890625 + ], + [ + 1655472170000, + 2.390625 + ], + [ + 1655472180000, + 2.484375 + ], + [ + 1655472190000, + 2.5625 + ], + [ + 1655472200000, + 2.2421875 + ], + [ + 1655472210000, + 2.4453125 + ], + [ + 1655472220000, + 2.142578125 + ], + [ + 1655472230000, + 2.568359375 + ], + [ + 1655472240000, + 3.408203125 + ], + [ + 1655472250000, + 3.271484375 + ], + [ + 1655472260000, + 2.99609375 + ], + [ + 1655472270000, + 2.85546875 + ], + [ + 1655472280000, + 2.796875 + ], + [ + 1655472290000, + 2.75390625 + ] + ] + }, + { + "bucket_size": "10 seconds", + "timeRange": { + "min": 1655471940000, + "max": 1655472300000 + }, + "metric": { + "app": "logstash", + "field": "logstash_stats.os.cpu.load_average.5m", + "metricAgg": "max", + "label": "5m", + "title": "System Load", + "description": "Load average over the last 5 minutes.", + "units": "", + "format": "0,0.[00]", + "hasCalculation": false, + "isDerivative": false + }, + "data": [ + [ + 1655471940000, + null + ], + [ + 1655471950000, + null + ], + [ + 1655471960000, + null + ], + [ + 1655471970000, + null + ], + [ + 1655471980000, + null + ], + [ + 1655471990000, + null + ], + [ + 1655472000000, + null + ], + [ + 1655472010000, + null + ], + [ + 1655472020000, + null + ], + [ + 1655472030000, + null + ], + [ + 1655472040000, + null + ], + [ + 1655472050000, + null + ], + [ + 1655472060000, + null + ], + [ + 1655472070000, + null + ], + [ + 1655472080000, + null + ], + [ + 1655472090000, + null + ], + [ + 1655472100000, + null + ], + [ + 1655472110000, + null + ], + [ + 1655472120000, + null + ], + [ + 1655472130000, + null + ], + [ + 1655472140000, + null + ], + [ + 1655472150000, + null + ], + [ + 1655472160000, + null + ], + [ + 1655472170000, + null + ], + [ + 1655472180000, + null + ], + [ + 1655472190000, + null + ], + [ + 1655472200000, + null + ], + [ + 1655472210000, + null + ], + [ + 1655472220000, + null + ], + [ + 1655472230000, + null + ], + [ + 1655472240000, + null + ], + [ + 1655472250000, + null + ], + [ + 1655472260000, + null + ], + [ + 1655472270000, + null + ], + [ + 1655472280000, + null + ], + [ + 1655472290000, + null + ] + ] + }, + { + "bucket_size": "10 seconds", + "timeRange": { + "min": 1655471940000, + "max": 1655472300000 + }, + "metric": { + "app": "logstash", + "field": "logstash_stats.os.cpu.load_average.15m", + "metricAgg": "max", + "label": "15m", + "title": "System Load", + "description": "Load average over the last 15 minutes.", + "units": "", + "format": "0,0.[00]", + "hasCalculation": false, + "isDerivative": false + }, + "data": [ + [ + 1655471940000, + null + ], + [ + 1655471950000, + null + ], + [ + 1655471960000, + null + ], + [ + 1655471970000, + null + ], + [ + 1655471980000, + null + ], + [ + 1655471990000, + null + ], + [ + 1655472000000, + null + ], + [ + 1655472010000, + null + ], + [ + 1655472020000, + null + ], + [ + 1655472030000, + null + ], + [ + 1655472040000, + null + ], + [ + 1655472050000, + null + ], + [ + 1655472060000, + null + ], + [ + 1655472070000, + null + ], + [ + 1655472080000, + null + ], + [ + 1655472090000, + null + ], + [ + 1655472100000, + null + ], + [ + 1655472110000, + null + ], + [ + 1655472120000, + null + ], + [ + 1655472130000, + null + ], + [ + 1655472140000, + null + ], + [ + 1655472150000, + null + ], + [ + 1655472160000, + null + ], + [ + 1655472170000, + null + ], + [ + 1655472180000, + null + ], + [ + 1655472190000, + null + ], + [ + 1655472200000, + null + ], + [ + 1655472210000, + null + ], + [ + 1655472220000, + null + ], + [ + 1655472230000, + null + ], + [ + 1655472240000, + null + ], + [ + 1655472250000, + null + ], + [ + 1655472260000, + null + ], + [ + 1655472270000, + null + ], + [ + 1655472280000, + null + ], + [ + 1655472290000, + null + ] + ] + } + ], + "logstash_events_input_rate": [ + { + "bucket_size": "10 seconds", + "timeRange": { + "min": 1655471940000, + "max": 1655472300000 + }, + "metric": { + "app": "logstash", + "field": "logstash_stats.events.in", + "metricAgg": "max", + "label": "Events Received Rate", + "description": "Number of events received per second by the Logstash node at the inputs stage.", + "units": "/s", + "format": "0,0.[00]", + "hasCalculation": false, + "isDerivative": true + }, + "data": [ + [ + 1655471940000, + 10 + ], + [ + 1655471950000, + 10 + ], + [ + 1655471960000, + 10 + ], + [ + 1655471970000, + 10 + ], + [ + 1655471980000, + 10 + ], + [ + 1655471990000, + 10 + ], + [ + 1655472000000, + 10 + ], + [ + 1655472010000, + 10 + ], + [ + 1655472020000, + 10 + ], + [ + 1655472030000, + 10 + ], + [ + 1655472040000, + 10 + ], + [ + 1655472050000, + 10 + ], + [ + 1655472060000, + 10 + ], + [ + 1655472070000, + 10 + ], + [ + 1655472080000, + 10 + ], + [ + 1655472090000, + 10 + ], + [ + 1655472100000, + 10 + ], + [ + 1655472110000, + 10 + ], + [ + 1655472120000, + 10 + ], + [ + 1655472130000, + 10 + ], + [ + 1655472140000, + 10 + ], + [ + 1655472150000, + 10 + ], + [ + 1655472160000, + 10 + ], + [ + 1655472170000, + 10 + ], + [ + 1655472180000, + 10 + ], + [ + 1655472190000, + 10 + ], + [ + 1655472200000, + 10 + ], + [ + 1655472210000, + 10 + ], + [ + 1655472220000, + 10 + ], + [ + 1655472230000, + 10 + ], + [ + 1655472240000, + 10 + ], + [ + 1655472250000, + 10 + ], + [ + 1655472260000, + 10 + ], + [ + 1655472270000, + 10 + ], + [ + 1655472280000, + 10 + ], + [ + 1655472290000, + 10 + ] + ] + } + ], + "logstash_events_output_rate": [ + { + "bucket_size": "10 seconds", + "timeRange": { + "min": 1655471940000, + "max": 1655472300000 + }, + "metric": { + "app": "logstash", + "field": "logstash_stats.events.out", + "metricAgg": "max", + "label": "Events Emitted Rate", + "description": "Number of events emitted per second by the Logstash node at the outputs stage.", + "units": "/s", + "format": "0,0.[00]", + "hasCalculation": false, + "isDerivative": true + }, + "data": [ + [ + 1655471940000, + 7 + ], + [ + 1655471950000, + 4.3 + ], + [ + 1655471960000, + 7.3 + ], + [ + 1655471970000, + 8.2 + ], + [ + 1655471980000, + 6 + ], + [ + 1655471990000, + 3.7 + ], + [ + 1655472000000, + 10.3 + ], + [ + 1655472010000, + 10.5 + ], + [ + 1655472020000, + 6.2 + ], + [ + 1655472030000, + 4.4 + ], + [ + 1655472040000, + 2.1 + ], + [ + 1655472050000, + 10.8 + ], + [ + 1655472060000, + 12.9 + ], + [ + 1655472070000, + 4.4 + ], + [ + 1655472080000, + 0 + ], + [ + 1655472090000, + 5.9 + ], + [ + 1655472100000, + 10.4 + ], + [ + 1655472110000, + 10.8 + ], + [ + 1655472120000, + 0.7 + ], + [ + 1655472130000, + 5.6 + ], + [ + 1655472140000, + 8.3 + ], + [ + 1655472150000, + 9.3 + ], + [ + 1655472160000, + 10.7 + ], + [ + 1655472170000, + 1.3 + ], + [ + 1655472180000, + 4.3 + ], + [ + 1655472190000, + 13.7 + ], + [ + 1655472200000, + 13.1 + ], + [ + 1655472210000, + 4.2 + ], + [ + 1655472220000, + 0 + ], + [ + 1655472230000, + 3.7 + ], + [ + 1655472240000, + 10.2 + ], + [ + 1655472250000, + 0 + ], + [ + 1655472260000, + 8.2 + ], + [ + 1655472270000, + 5.9 + ], + [ + 1655472280000, + 8.8 + ], + [ + 1655472290000, + 2.5 + ] + ] + } + ], + "logstash_events_latency": [ + { + "bucket_size": "10 seconds", + "timeRange": { + "min": 1655471940000, + "max": 1655472300000 + }, + "metric": { + "app": "logstash", + "field": "logstash_stats.events.out", + "metricAgg": "sum", + "label": "Event Latency", + "description": "Average time spent by events in the filter and output stages, which is the total time it takes to process events divided by number of events emitted.", + "units": "ms", + "format": "0,0.[00]", + "hasCalculation": true, + "isDerivative": false + }, + "data": [ + [ + 1655471940000, + null + ], + [ + 1655471950000, + 2003.279069767442 + ], + [ + 1655471960000, + 2003.150684931507 + ], + [ + 1655471970000, + 1978.9146341463418 + ], + [ + 1655471980000, + 1969.45 + ], + [ + 1655471990000, + 2003.4864864864862 + ], + [ + 1655472000000, + 2002.9708737864075 + ], + [ + 1655472010000, + 1984.1809523809525 + ], + [ + 1655472020000, + 1970.5483870967741 + ], + [ + 1655472030000, + 2002.7954545454543 + ], + [ + 1655472040000, + 2002.6666666666667 + ], + [ + 1655472050000, + 2002.9629629629628 + ], + [ + 1655472060000, + 2002.7519379844962 + ], + [ + 1655472070000, + 2002.931818181818 + ], + [ + 1655472080000, + 0 + ], + [ + 1655472090000, + 2002.6440677966102 + ], + [ + 1655472100000, + 1983.9326923076924 + ], + [ + 1655472110000, + 2002.8425925925926 + ], + [ + 1655472120000, + 2003.4285714285718 + ], + [ + 1655472130000, + 2002.964285714286 + ], + [ + 1655472140000, + 2002.9518072289154 + ], + [ + 1655472150000, + 2002.9462365591398 + ], + [ + 1655472160000, + 2003.0093457943926 + ], + [ + 1655472170000, + 2002.5384615384617 + ], + [ + 1655472180000, + 2002.7906976744187 + ], + [ + 1655472190000, + 1973.7956204379564 + ], + [ + 1655472200000, + 1957.0381679389313 + ], + [ + 1655472210000, + 2002.6666666666667 + ], + [ + 1655472220000, + 0 + ], + [ + 1655472230000, + 2003.2432432432431 + ], + [ + 1655472240000, + 2003.029411764706 + ], + [ + 1655472250000, + 0 + ], + [ + 1655472260000, + 2003.0243902439024 + ], + [ + 1655472270000, + 2003.0338983050847 + ], + [ + 1655472280000, + 2002.9772727272727 + ], + [ + 1655472290000, + 2002.6799999999998 + ] + ] + } + ], + "logstash_node_cpu_metric": [ + { + "bucket_size": "10 seconds", + "timeRange": { + "min": 1655471940000, + "max": 1655472300000 + }, + "metric": { + "app": "logstash", + "field": "logstash_stats.process.cpu.percent", + "metricAgg": "max", + "label": "CPU Utilization", + "description": "Percentage of CPU usage reported by the OS (100% is the max).", + "units": "%", + "format": "0,0.[00]", + "hasCalculation": false, + "isDerivative": false + }, + "data": [ + [ + 1655471940000, + 0 + ], + [ + 1655471950000, + 0 + ], + [ + 1655471960000, + 0 + ], + [ + 1655471970000, + 0 + ], + [ + 1655471980000, + 0 + ], + [ + 1655471990000, + 0 + ], + [ + 1655472000000, + 0 + ], + [ + 1655472010000, + 0 + ], + [ + 1655472020000, + 0 + ], + [ + 1655472030000, + 0 + ], + [ + 1655472040000, + 0 + ], + [ + 1655472050000, + 0 + ], + [ + 1655472060000, + 0 + ], + [ + 1655472070000, + 0 + ], + [ + 1655472080000, + 0 + ], + [ + 1655472090000, + 0 + ], + [ + 1655472100000, + 0 + ], + [ + 1655472110000, + 0 + ], + [ + 1655472120000, + 0 + ], + [ + 1655472130000, + 0 + ], + [ + 1655472140000, + 0 + ], + [ + 1655472150000, + 0 + ], + [ + 1655472160000, + 0 + ], + [ + 1655472170000, + 0 + ], + [ + 1655472180000, + 0 + ], + [ + 1655472190000, + 0 + ], + [ + 1655472200000, + 0 + ], + [ + 1655472210000, + 0 + ], + [ + 1655472220000, + 0 + ], + [ + 1655472230000, + 0 + ], + [ + 1655472240000, + 0 + ], + [ + 1655472250000, + 0 + ], + [ + 1655472260000, + 0 + ], + [ + 1655472270000, + 0 + ], + [ + 1655472280000, + 0 + ], + [ + 1655472290000, + 0 + ] + ] + } + ], + "logstash_jvm_usage": [ + { + "bucket_size": "10 seconds", + "timeRange": { + "min": 1655471940000, + "max": 1655472300000 + }, + "metric": { + "app": "logstash", + "field": "logstash_stats.jvm.mem.heap_max_in_bytes", + "metricAgg": "max", + "label": "Max Heap", + "title": "JVM Heap", + "description": "Total heap available to Logstash running in the JVM.", + "units": "B", + "format": "0.0 b", + "hasCalculation": false, + "isDerivative": false + }, + "data": [ + [ + 1655471940000, + 1037959168 + ], + [ + 1655471950000, + 1037959168 + ], + [ + 1655471960000, + 1037959168 + ], + [ + 1655471970000, + 1037959168 + ], + [ + 1655471980000, + 1037959168 + ], + [ + 1655471990000, + 1037959168 + ], + [ + 1655472000000, + 1037959168 + ], + [ + 1655472010000, + 1037959168 + ], + [ + 1655472020000, + 1037959168 + ], + [ + 1655472030000, + 1037959168 + ], + [ + 1655472040000, + 1037959168 + ], + [ + 1655472050000, + 1037959168 + ], + [ + 1655472060000, + 1037959168 + ], + [ + 1655472070000, + 1037959168 + ], + [ + 1655472080000, + 1037959168 + ], + [ + 1655472090000, + 1037959168 + ], + [ + 1655472100000, + 1037959168 + ], + [ + 1655472110000, + 1037959168 + ], + [ + 1655472120000, + 1037959168 + ], + [ + 1655472130000, + 1037959168 + ], + [ + 1655472140000, + 1037959168 + ], + [ + 1655472150000, + 1037959168 + ], + [ + 1655472160000, + 1037959168 + ], + [ + 1655472170000, + 1037959168 + ], + [ + 1655472180000, + 1037959168 + ], + [ + 1655472190000, + 1037959168 + ], + [ + 1655472200000, + 1037959168 + ], + [ + 1655472210000, + 1037959168 + ], + [ + 1655472220000, + 1037959168 + ], + [ + 1655472230000, + 1037959168 + ], + [ + 1655472240000, + 1037959168 + ], + [ + 1655472250000, + 1037959168 + ], + [ + 1655472260000, + 1037959168 + ], + [ + 1655472270000, + 1037959168 + ], + [ + 1655472280000, + 1037959168 + ], + [ + 1655472290000, + 1037959168 + ] + ] + }, + { + "bucket_size": "10 seconds", + "timeRange": { + "min": 1655471940000, + "max": 1655472300000 + }, + "metric": { + "app": "logstash", + "field": "logstash_stats.jvm.mem.heap_used_in_bytes", + "metricAgg": "max", + "label": "Used Heap", + "title": "JVM Heap", + "description": "Total heap used by Logstash running in the JVM.", + "units": "B", + "format": "0.0 b", + "hasCalculation": false, + "isDerivative": false + }, + "data": [ + [ + 1655471940000, + 248983808 + ], + [ + 1655471950000, + 254463104 + ], + [ + 1655471960000, + 260278488 + ], + [ + 1655471970000, + 265273976 + ], + [ + 1655471980000, + 269846232 + ], + [ + 1655471990000, + 274251248 + ], + [ + 1655472000000, + 278416256 + ], + [ + 1655472010000, + 282938928 + ], + [ + 1655472020000, + 287769440 + ], + [ + 1655472030000, + 292220848 + ], + [ + 1655472040000, + 295623816 + ], + [ + 1655472050000, + 299332480 + ], + [ + 1655472060000, + 305022864 + ], + [ + 1655472070000, + 310001816 + ], + [ + 1655472080000, + 312599256 + ], + [ + 1655472090000, + 317015008 + ], + [ + 1655472100000, + 320427488 + ], + [ + 1655472110000, + 325544640 + ], + [ + 1655472120000, + 329544016 + ], + [ + 1655472130000, + 332205376 + ], + [ + 1655472140000, + 337552416 + ], + [ + 1655472150000, + 341823888 + ], + [ + 1655472160000, + 345948696 + ], + [ + 1655472170000, + 348979208 + ], + [ + 1655472180000, + 353352704 + ], + [ + 1655472190000, + 358819752 + ], + [ + 1655472200000, + 363752360 + ], + [ + 1655472210000, + 367726528 + ], + [ + 1655472220000, + 371043320 + ], + [ + 1655472230000, + 374659232 + ], + [ + 1655472240000, + 379147672 + ], + [ + 1655472250000, + 383031600 + ], + [ + 1655472260000, + 392741408 + ], + [ + 1655472270000, + 395632912 + ], + [ + 1655472280000, + 400452624 + ], + [ + 1655472290000, + 405401144 + ] + ] + } ] - } - ], - "logstash_events_latency": [ - { - "bucket_size": "10 seconds", - "timeRange": { - "min": 1655471940000, - "max": 1655472300000 - }, - "metric": { - "app": "logstash", - "field": "logstash_stats.events.out", - "metricAgg": "sum", - "label": "Event Latency", - "description": "Average time spent by events in the filter and output stages, which is the total time it takes to process events divided by number of events emitted.", - "units": "ms", - "format": "0,0.[00]", - "hasCalculation": true, - "isDerivative": false - }, - "data": [ - [ - 1655471940000, - null - ], - [ - 1655471950000, - 2003.279069767442 - ], - [ - 1655471960000, - 2003.150684931507 - ], - [ - 1655471970000, - 1978.9146341463418 - ], - [ - 1655471980000, - 1969.45 - ], - [ - 1655471990000, - 2003.4864864864862 - ], - [ - 1655472000000, - 2002.9708737864075 - ], - [ - 1655472010000, - 1984.1809523809525 - ], - [ - 1655472020000, - 1970.5483870967741 - ], - [ - 1655472030000, - 2002.7954545454543 - ], - [ - 1655472040000, - 2002.6666666666667 - ], - [ - 1655472050000, - 2002.9629629629628 - ], - [ - 1655472060000, - 2002.7519379844962 - ], - [ - 1655472070000, - 2002.931818181818 - ], - [ - 1655472080000, - 0 - ], - [ - 1655472090000, - 2002.6440677966102 - ], - [ - 1655472100000, - 1983.9326923076924 - ], - [ - 1655472110000, - 2002.8425925925926 - ], - [ - 1655472120000, - 2003.4285714285718 - ], - [ - 1655472130000, - 2002.964285714286 - ], - [ - 1655472140000, - 2002.9518072289154 - ], - [ - 1655472150000, - 2002.9462365591398 - ], - [ - 1655472160000, - 2003.0093457943926 - ], - [ - 1655472170000, - 2002.5384615384617 - ], - [ - 1655472180000, - 2002.7906976744187 - ], - [ - 1655472190000, - 1973.7956204379564 - ], - [ - 1655472200000, - 1957.0381679389313 - ], - [ - 1655472210000, - 2002.6666666666667 - ], - [ - 1655472220000, - 0 - ], - [ - 1655472230000, - 2003.2432432432431 - ], - [ - 1655472240000, - 2003.029411764706 - ], - [ - 1655472250000, - 0 - ], - [ - 1655472260000, - 2003.0243902439024 - ], - [ - 1655472270000, - 2003.0338983050847 - ], - [ - 1655472280000, - 2002.9772727272727 - ], - [ - 1655472290000, - 2002.6799999999998 - ] - ] - } - ], - "logstash_node_cpu_metric": [ - { - "bucket_size": "10 seconds", - "timeRange": { - "min": 1655471940000, - "max": 1655472300000 - }, - "metric": { - "app": "logstash", - "field": "logstash_stats.process.cpu.percent", - "metricAgg": "max", - "label": "CPU Utilization", - "description": "Percentage of CPU usage reported by the OS (100% is the max).", - "units": "%", - "format": "0,0.[00]", - "hasCalculation": false, - "isDerivative": false - }, - "data": [ - [ - 1655471940000, - 0 - ], - [ - 1655471950000, - 0 - ], - [ - 1655471960000, - 0 - ], - [ - 1655471970000, - 0 - ], - [ - 1655471980000, - 0 - ], - [ - 1655471990000, - 0 - ], - [ - 1655472000000, - 0 - ], - [ - 1655472010000, - 0 - ], - [ - 1655472020000, - 0 - ], - [ - 1655472030000, - 0 - ], - [ - 1655472040000, - 0 - ], - [ - 1655472050000, - 0 - ], - [ - 1655472060000, - 0 - ], - [ - 1655472070000, - 0 - ], - [ - 1655472080000, - 0 - ], - [ - 1655472090000, - 0 - ], - [ - 1655472100000, - 0 - ], - [ - 1655472110000, - 0 - ], - [ - 1655472120000, - 0 - ], - [ - 1655472130000, - 0 - ], - [ - 1655472140000, - 0 - ], - [ - 1655472150000, - 0 - ], - [ - 1655472160000, - 0 - ], - [ - 1655472170000, - 0 - ], - [ - 1655472180000, - 0 - ], - [ - 1655472190000, - 0 - ], - [ - 1655472200000, - 0 - ], - [ - 1655472210000, - 0 - ], - [ - 1655472220000, - 0 - ], - [ - 1655472230000, - 0 - ], - [ - 1655472240000, - 0 - ], - [ - 1655472250000, - 0 - ], - [ - 1655472260000, - 0 - ], - [ - 1655472270000, - 0 - ], - [ - 1655472280000, - 0 - ], - [ - 1655472290000, - 0 - ] - ] - } - ], - "logstash_jvm_usage": [ - { - "bucket_size": "10 seconds", - "timeRange": { - "min": 1655471940000, - "max": 1655472300000 - }, - "metric": { - "app": "logstash", - "field": "logstash_stats.jvm.mem.heap_max_in_bytes", - "metricAgg": "max", - "label": "Max Heap", - "title": "JVM Heap", - "description": "Total heap available to Logstash running in the JVM.", - "units": "B", - "format": "0.0 b", - "hasCalculation": false, - "isDerivative": false + }, + "nodeSummary": { + "ephemeral_id": "88c01586-1891-4a0e-a2ca-ca5c988f8cbb", + "host": "kevins-macbook-pro.home", + "http_address": "127.0.0.1:9600", + "name": "kevins-macbook-pro.home", + "pipeline": { + "batch_size": 125, + "workers": 16 }, - "data": [ - [ - 1655471940000, - 1037959168 - ], - [ - 1655471950000, - 1037959168 - ], - [ - 1655471960000, - 1037959168 - ], - [ - 1655471970000, - 1037959168 - ], - [ - 1655471980000, - 1037959168 - ], - [ - 1655471990000, - 1037959168 - ], - [ - 1655472000000, - 1037959168 - ], - [ - 1655472010000, - 1037959168 - ], - [ - 1655472020000, - 1037959168 - ], - [ - 1655472030000, - 1037959168 - ], - [ - 1655472040000, - 1037959168 - ], - [ - 1655472050000, - 1037959168 - ], - [ - 1655472060000, - 1037959168 - ], - [ - 1655472070000, - 1037959168 - ], - [ - 1655472080000, - 1037959168 - ], - [ - 1655472090000, - 1037959168 - ], - [ - 1655472100000, - 1037959168 - ], - [ - 1655472110000, - 1037959168 - ], - [ - 1655472120000, - 1037959168 - ], - [ - 1655472130000, - 1037959168 - ], - [ - 1655472140000, - 1037959168 - ], - [ - 1655472150000, - 1037959168 - ], - [ - 1655472160000, - 1037959168 - ], - [ - 1655472170000, - 1037959168 - ], - [ - 1655472180000, - 1037959168 - ], - [ - 1655472190000, - 1037959168 - ], - [ - 1655472200000, - 1037959168 - ], - [ - 1655472210000, - 1037959168 - ], - [ - 1655472220000, - 1037959168 - ], - [ - 1655472230000, - 1037959168 - ], - [ - 1655472240000, - 1037959168 - ], - [ - 1655472250000, - 1037959168 - ], - [ - 1655472260000, - 1037959168 - ], - [ - 1655472270000, - 1037959168 - ], - [ - 1655472280000, - 1037959168 - ], - [ - 1655472290000, - 1037959168 - ] - ] - }, - { - "bucket_size": "10 seconds", - "timeRange": { - "min": 1655471940000, - "max": 1655472300000 + "snapshot": false, + "status": "green", + "uuid": "f9efd237-3bbf-4a9b-9ce7-a16141b9d981", + "version": "8.2.2", + "availability": false, + "events": { + "duration_in_millis": 5145881, + "filtered": 2579, + "in": 3978, + "out": 2579 }, - "metric": { - "app": "logstash", - "field": "logstash_stats.jvm.mem.heap_used_in_bytes", - "metricAgg": "max", - "label": "Used Heap", - "title": "JVM Heap", - "description": "Total heap used by Logstash running in the JVM.", - "units": "B", - "format": "0.0 b", - "hasCalculation": false, - "isDerivative": false + "reloads": { + "failures": 0, + "successes": 0 }, - "data": [ - [ - 1655471940000, - 248983808 - ], - [ - 1655471950000, - 254463104 - ], - [ - 1655471960000, - 260278488 - ], - [ - 1655471970000, - 265273976 - ], - [ - 1655471980000, - 269846232 - ], - [ - 1655471990000, - 274251248 - ], - [ - 1655472000000, - 278416256 - ], - [ - 1655472010000, - 282938928 - ], - [ - 1655472020000, - 287769440 - ], - [ - 1655472030000, - 292220848 - ], - [ - 1655472040000, - 295623816 - ], - [ - 1655472050000, - 299332480 - ], - [ - 1655472060000, - 305022864 - ], - [ - 1655472070000, - 310001816 - ], - [ - 1655472080000, - 312599256 - ], - [ - 1655472090000, - 317015008 - ], - [ - 1655472100000, - 320427488 - ], - [ - 1655472110000, - 325544640 - ], - [ - 1655472120000, - 329544016 - ], - [ - 1655472130000, - 332205376 - ], - [ - 1655472140000, - 337552416 - ], - [ - 1655472150000, - 341823888 - ], - [ - 1655472160000, - 345948696 - ], - [ - 1655472170000, - 348979208 - ], - [ - 1655472180000, - 353352704 - ], - [ - 1655472190000, - 358819752 - ], - [ - 1655472200000, - 363752360 - ], - [ - 1655472210000, - 367726528 - ], - [ - 1655472220000, - 371043320 - ], - [ - 1655472230000, - 374659232 - ], - [ - 1655472240000, - 379147672 - ], - [ - 1655472250000, - 383031600 - ], - [ - 1655472260000, - 392741408 - ], - [ - 1655472270000, - 395632912 - ], - [ - 1655472280000, - 400452624 - ], - [ - 1655472290000, - 405401144 - ] - ] - } - ] - }, - "nodeSummary": { - "ephemeral_id": "88c01586-1891-4a0e-a2ca-ca5c988f8cbb", - "host": "kevins-macbook-pro.home", - "http_address": "127.0.0.1:9600", - "name": "kevins-macbook-pro.home", - "pipeline": { - "batch_size": 125, - "workers": 16 - }, - "snapshot": false, - "status": "green", - "uuid": "f9efd237-3bbf-4a9b-9ce7-a16141b9d981", - "version": "8.2.2", - "availability": false, - "events": { - "duration_in_millis": 5145881, - "filtered": 2579, - "in": 3978, - "out": 2579 - }, - "reloads": { - "failures": 0, - "successes": 0 - }, - "uptime": 407358 - } + "uptime": 407358 + } } diff --git a/x-pack/test/api_integration/apis/monitoring/logstash/fixtures/node_detail_advanced_8.json b/x-pack/test/api_integration/apis/monitoring/logstash/fixtures/node_detail_advanced_8.json index 41760111cf055..3a3e619f065c0 100644 --- a/x-pack/test/api_integration/apis/monitoring/logstash/fixtures/node_detail_advanced_8.json +++ b/x-pack/test/api_integration/apis/monitoring/logstash/fixtures/node_detail_advanced_8.json @@ -1,1521 +1,1521 @@ { - "metrics": { - "logstash_node_cpu_utilization": [ - { - "bucket_size": "10 seconds", - "timeRange": { - "min": 1655471940000, - "max": 1655472300000 - }, - "metric": { - "app": "logstash", - "field": "logstash_stats.process.cpu.percent", - "metricAgg": "max", - "label": "CPU Utilization", - "description": "Percentage of CPU usage reported by the OS (100% is the max).", - "units": "%", - "format": "0,0.[00]", - "hasCalculation": false, - "isDerivative": false - }, - "data": [ - [ - 1655471940000, - 0 - ], - [ - 1655471950000, - 0 - ], - [ - 1655471960000, - 0 - ], - [ - 1655471970000, - 0 - ], - [ - 1655471980000, - 0 - ], - [ - 1655471990000, - 0 - ], - [ - 1655472000000, - 0 - ], - [ - 1655472010000, - 0 - ], - [ - 1655472020000, - 0 - ], - [ - 1655472030000, - 0 - ], - [ - 1655472040000, - 0 - ], - [ - 1655472050000, - 0 - ], - [ - 1655472060000, - 0 - ], - [ - 1655472070000, - 0 - ], - [ - 1655472080000, - 0 - ], - [ - 1655472090000, - 0 - ], - [ - 1655472100000, - 0 - ], - [ - 1655472110000, - 0 - ], - [ - 1655472120000, - 0 - ], - [ - 1655472130000, - 0 - ], - [ - 1655472140000, - 0 - ], - [ - 1655472150000, - 0 - ], - [ - 1655472160000, - 0 - ], - [ - 1655472170000, - 0 - ], - [ - 1655472180000, - 0 - ], - [ - 1655472190000, - 0 - ], - [ - 1655472200000, - 0 - ], - [ - 1655472210000, - 0 - ], - [ - 1655472220000, - 0 - ], - [ - 1655472230000, - 0 - ], - [ - 1655472240000, - 0 - ], - [ - 1655472250000, - 0 - ], - [ - 1655472260000, - 0 - ], - [ - 1655472270000, - 0 - ], - [ - 1655472280000, - 0 - ], - [ - 1655472290000, - 0 - ] - ] - }, - { - "bucket_size": "10 seconds", - "timeRange": { - "min": 1655471940000, - "max": 1655472300000 - }, - "metric": { - "app": "logstash", - "field": "logstash_stats.process.cpu.percent", - "metricAgg": "max", - "label": "Cgroup CPU Utilization", - "title": "CPU Utilization", - "description": "CPU Usage time compared to the CPU quota shown in percentage. If CPU quotas are not set, then no data will be shown.", - "units": "%", - "format": "0,0.[00]", - "hasCalculation": true, - "isDerivative": true - }, - "data": [ - [ - 1655471940000, - null - ], - [ - 1655471950000, - null - ], - [ - 1655471960000, - null - ], - [ - 1655471970000, - null - ], - [ - 1655471980000, - null - ], - [ - 1655471990000, - null - ], - [ - 1655472000000, - null - ], - [ - 1655472010000, - null - ], - [ - 1655472020000, - null - ], - [ - 1655472030000, - null - ], - [ - 1655472040000, - null - ], - [ - 1655472050000, - null - ], - [ - 1655472060000, - null - ], - [ - 1655472070000, - null - ], - [ - 1655472080000, - null - ], - [ - 1655472090000, - null - ], - [ - 1655472100000, - null - ], - [ - 1655472110000, - null - ], - [ - 1655472120000, - null - ], - [ - 1655472130000, - null - ], - [ - 1655472140000, - null - ], - [ - 1655472150000, - null - ], - [ - 1655472160000, - null - ], - [ - 1655472170000, - null - ], - [ - 1655472180000, - null - ], - [ - 1655472190000, - null - ], - [ - 1655472200000, - null - ], - [ - 1655472210000, - null - ], - [ - 1655472220000, - null - ], - [ - 1655472230000, - null - ], - [ - 1655472240000, - null - ], - [ - 1655472250000, - null - ], - [ - 1655472260000, - null - ], - [ - 1655472270000, - null - ], - [ - 1655472280000, - null - ], - [ - 1655472290000, - null - ] - ] - } - ], - "logstash_node_cgroup_cpu": [ - { - "bucket_size": "10 seconds", - "timeRange": { - "min": 1655471940000, - "max": 1655472300000 - }, - "metric": { - "app": "logstash", - "field": "logstash_stats.os.cgroup.cpuacct.usage_nanos", - "metricAgg": "max", - "label": "Cgroup Usage", - "title": "Cgroup CPU Performance", - "description": "The usage, reported in nanoseconds, of the Cgroup. Compare this with the throttling to discover issues.", - "units": "ns", - "format": "0,0.[0]a", - "hasCalculation": false, - "isDerivative": true - }, - "data": [ - [ - 1655471940000, - null - ], - [ - 1655471950000, - null - ], - [ - 1655471960000, - null - ], - [ - 1655471970000, - null - ], - [ - 1655471980000, - null - ], - [ - 1655471990000, - null - ], - [ - 1655472000000, - null - ], - [ - 1655472010000, - null - ], - [ - 1655472020000, - null - ], - [ - 1655472030000, - null - ], - [ - 1655472040000, - null - ], - [ - 1655472050000, - null - ], - [ - 1655472060000, - null - ], - [ - 1655472070000, - null - ], - [ - 1655472080000, - null - ], - [ - 1655472090000, - null - ], - [ - 1655472100000, - null - ], - [ - 1655472110000, - null - ], - [ - 1655472120000, - null - ], - [ - 1655472130000, - null - ], - [ - 1655472140000, - null - ], - [ - 1655472150000, - null - ], - [ - 1655472160000, - null - ], - [ - 1655472170000, - null - ], - [ - 1655472180000, - null - ], - [ - 1655472190000, - null - ], - [ - 1655472200000, - null - ], - [ - 1655472210000, - null - ], - [ - 1655472220000, - null - ], - [ - 1655472230000, - null - ], - [ - 1655472240000, - null - ], - [ - 1655472250000, - null - ], - [ - 1655472260000, - null - ], - [ - 1655472270000, - null - ], - [ - 1655472280000, - null - ], - [ - 1655472290000, - null - ] - ] - }, - { - "bucket_size": "10 seconds", - "timeRange": { - "min": 1655471940000, - "max": 1655472300000 - }, - "metric": { - "app": "logstash", - "field": "logstash_stats.os.cgroup.cpu.stat.time_throttled_nanos", - "metricAgg": "max", - "label": "Cgroup Throttling", - "title": "Cgroup CPU Performance", - "description": "The amount of throttled time, reported in nanoseconds, of the Cgroup.", - "units": "ns", - "format": "0,0.[0]a", - "hasCalculation": false, - "isDerivative": true - }, - "data": [ - [ - 1655471940000, - null - ], - [ - 1655471950000, - null - ], - [ - 1655471960000, - null - ], - [ - 1655471970000, - null - ], - [ - 1655471980000, - null - ], - [ - 1655471990000, - null - ], - [ - 1655472000000, - null - ], - [ - 1655472010000, - null - ], - [ - 1655472020000, - null - ], - [ - 1655472030000, - null - ], - [ - 1655472040000, - null - ], - [ - 1655472050000, - null - ], - [ - 1655472060000, - null - ], - [ - 1655472070000, - null - ], - [ - 1655472080000, - null - ], - [ - 1655472090000, - null - ], - [ - 1655472100000, - null - ], - [ - 1655472110000, - null - ], - [ - 1655472120000, - null - ], - [ - 1655472130000, - null - ], - [ - 1655472140000, - null - ], - [ - 1655472150000, - null - ], - [ - 1655472160000, - null - ], - [ - 1655472170000, - null - ], - [ - 1655472180000, - null - ], - [ - 1655472190000, - null - ], - [ - 1655472200000, - null - ], - [ - 1655472210000, - null - ], - [ - 1655472220000, - null - ], - [ - 1655472230000, - null - ], - [ - 1655472240000, - null - ], - [ - 1655472250000, - null - ], - [ - 1655472260000, - null - ], - [ - 1655472270000, - null - ], - [ - 1655472280000, - null - ], - [ - 1655472290000, - null - ] - ] - } - ], - "logstash_node_cgroup_stats": [ - { - "bucket_size": "10 seconds", - "timeRange": { - "min": 1655471940000, - "max": 1655472300000 - }, - "metric": { - "app": "logstash", - "field": "logstash_stats.os.cgroup.cpu.stat.number_of_elapsed_periods", - "metricAgg": "max", - "label": "Cgroup Elapsed Periods", - "title": "Cgroup CFS Stats", - "description": "The number of sampling periods from the Completely Fair Scheduler (CFS). Compare against the number of times throttled.", - "units": "", - "format": "0,0.[00]", - "hasCalculation": false, - "isDerivative": true - }, - "data": [ - [ - 1655471940000, - null - ], - [ - 1655471950000, - null - ], - [ - 1655471960000, - null - ], - [ - 1655471970000, - null - ], - [ - 1655471980000, - null - ], - [ - 1655471990000, - null - ], - [ - 1655472000000, - null - ], - [ - 1655472010000, - null - ], - [ - 1655472020000, - null - ], - [ - 1655472030000, - null - ], - [ - 1655472040000, - null - ], - [ - 1655472050000, - null - ], - [ - 1655472060000, - null - ], - [ - 1655472070000, - null - ], - [ - 1655472080000, - null - ], - [ - 1655472090000, - null - ], - [ - 1655472100000, - null - ], - [ - 1655472110000, - null - ], - [ - 1655472120000, - null - ], - [ - 1655472130000, - null - ], - [ - 1655472140000, - null - ], - [ - 1655472150000, - null - ], - [ - 1655472160000, - null - ], - [ - 1655472170000, - null - ], - [ - 1655472180000, - null - ], - [ - 1655472190000, - null - ], - [ - 1655472200000, - null - ], - [ - 1655472210000, - null - ], - [ - 1655472220000, - null - ], - [ - 1655472230000, - null - ], - [ - 1655472240000, - null - ], - [ - 1655472250000, - null - ], - [ - 1655472260000, - null - ], - [ - 1655472270000, - null - ], - [ - 1655472280000, - null - ], - [ - 1655472290000, - null - ] + "metrics": { + "logstash_node_cpu_utilization": [ + { + "bucket_size": "10 seconds", + "timeRange": { + "min": 1655471940000, + "max": 1655472300000 + }, + "metric": { + "app": "logstash", + "field": "logstash_stats.process.cpu.percent", + "metricAgg": "max", + "label": "CPU Utilization", + "description": "Percentage of CPU usage reported by the OS (100% is the max).", + "units": "%", + "format": "0,0.[00]", + "hasCalculation": false, + "isDerivative": false + }, + "data": [ + [ + 1655471940000, + 0 + ], + [ + 1655471950000, + 0 + ], + [ + 1655471960000, + 0 + ], + [ + 1655471970000, + 0 + ], + [ + 1655471980000, + 0 + ], + [ + 1655471990000, + 0 + ], + [ + 1655472000000, + 0 + ], + [ + 1655472010000, + 0 + ], + [ + 1655472020000, + 0 + ], + [ + 1655472030000, + 0 + ], + [ + 1655472040000, + 0 + ], + [ + 1655472050000, + 0 + ], + [ + 1655472060000, + 0 + ], + [ + 1655472070000, + 0 + ], + [ + 1655472080000, + 0 + ], + [ + 1655472090000, + 0 + ], + [ + 1655472100000, + 0 + ], + [ + 1655472110000, + 0 + ], + [ + 1655472120000, + 0 + ], + [ + 1655472130000, + 0 + ], + [ + 1655472140000, + 0 + ], + [ + 1655472150000, + 0 + ], + [ + 1655472160000, + 0 + ], + [ + 1655472170000, + 0 + ], + [ + 1655472180000, + 0 + ], + [ + 1655472190000, + 0 + ], + [ + 1655472200000, + 0 + ], + [ + 1655472210000, + 0 + ], + [ + 1655472220000, + 0 + ], + [ + 1655472230000, + 0 + ], + [ + 1655472240000, + 0 + ], + [ + 1655472250000, + 0 + ], + [ + 1655472260000, + 0 + ], + [ + 1655472270000, + 0 + ], + [ + 1655472280000, + 0 + ], + [ + 1655472290000, + 0 + ] + ] + }, + { + "bucket_size": "10 seconds", + "timeRange": { + "min": 1655471940000, + "max": 1655472300000 + }, + "metric": { + "app": "logstash", + "field": "logstash_stats.process.cpu.percent", + "metricAgg": "max", + "label": "Cgroup CPU Utilization", + "title": "CPU Utilization", + "description": "CPU Usage time compared to the CPU quota shown in percentage. If CPU quotas are not set, then no data will be shown.", + "units": "%", + "format": "0,0.[00]", + "hasCalculation": true, + "isDerivative": true + }, + "data": [ + [ + 1655471940000, + null + ], + [ + 1655471950000, + null + ], + [ + 1655471960000, + null + ], + [ + 1655471970000, + null + ], + [ + 1655471980000, + null + ], + [ + 1655471990000, + null + ], + [ + 1655472000000, + null + ], + [ + 1655472010000, + null + ], + [ + 1655472020000, + null + ], + [ + 1655472030000, + null + ], + [ + 1655472040000, + null + ], + [ + 1655472050000, + null + ], + [ + 1655472060000, + null + ], + [ + 1655472070000, + null + ], + [ + 1655472080000, + null + ], + [ + 1655472090000, + null + ], + [ + 1655472100000, + null + ], + [ + 1655472110000, + null + ], + [ + 1655472120000, + null + ], + [ + 1655472130000, + null + ], + [ + 1655472140000, + null + ], + [ + 1655472150000, + null + ], + [ + 1655472160000, + null + ], + [ + 1655472170000, + null + ], + [ + 1655472180000, + null + ], + [ + 1655472190000, + null + ], + [ + 1655472200000, + null + ], + [ + 1655472210000, + null + ], + [ + 1655472220000, + null + ], + [ + 1655472230000, + null + ], + [ + 1655472240000, + null + ], + [ + 1655472250000, + null + ], + [ + 1655472260000, + null + ], + [ + 1655472270000, + null + ], + [ + 1655472280000, + null + ], + [ + 1655472290000, + null + ] + ] + } + ], + "logstash_node_cgroup_cpu": [ + { + "bucket_size": "10 seconds", + "timeRange": { + "min": 1655471940000, + "max": 1655472300000 + }, + "metric": { + "app": "logstash", + "field": "logstash_stats.os.cgroup.cpuacct.usage_nanos", + "metricAgg": "max", + "label": "Cgroup Usage", + "title": "Cgroup CPU Performance", + "description": "The usage, reported in nanoseconds, of the Cgroup. Compare this with the throttling to discover issues.", + "units": "ns", + "format": "0,0.[0]a", + "hasCalculation": false, + "isDerivative": true + }, + "data": [ + [ + 1655471940000, + null + ], + [ + 1655471950000, + null + ], + [ + 1655471960000, + null + ], + [ + 1655471970000, + null + ], + [ + 1655471980000, + null + ], + [ + 1655471990000, + null + ], + [ + 1655472000000, + null + ], + [ + 1655472010000, + null + ], + [ + 1655472020000, + null + ], + [ + 1655472030000, + null + ], + [ + 1655472040000, + null + ], + [ + 1655472050000, + null + ], + [ + 1655472060000, + null + ], + [ + 1655472070000, + null + ], + [ + 1655472080000, + null + ], + [ + 1655472090000, + null + ], + [ + 1655472100000, + null + ], + [ + 1655472110000, + null + ], + [ + 1655472120000, + null + ], + [ + 1655472130000, + null + ], + [ + 1655472140000, + null + ], + [ + 1655472150000, + null + ], + [ + 1655472160000, + null + ], + [ + 1655472170000, + null + ], + [ + 1655472180000, + null + ], + [ + 1655472190000, + null + ], + [ + 1655472200000, + null + ], + [ + 1655472210000, + null + ], + [ + 1655472220000, + null + ], + [ + 1655472230000, + null + ], + [ + 1655472240000, + null + ], + [ + 1655472250000, + null + ], + [ + 1655472260000, + null + ], + [ + 1655472270000, + null + ], + [ + 1655472280000, + null + ], + [ + 1655472290000, + null + ] + ] + }, + { + "bucket_size": "10 seconds", + "timeRange": { + "min": 1655471940000, + "max": 1655472300000 + }, + "metric": { + "app": "logstash", + "field": "logstash_stats.os.cgroup.cpu.stat.time_throttled_nanos", + "metricAgg": "max", + "label": "Cgroup Throttling", + "title": "Cgroup CPU Performance", + "description": "The amount of throttled time, reported in nanoseconds, of the Cgroup.", + "units": "ns", + "format": "0,0.[0]a", + "hasCalculation": false, + "isDerivative": true + }, + "data": [ + [ + 1655471940000, + null + ], + [ + 1655471950000, + null + ], + [ + 1655471960000, + null + ], + [ + 1655471970000, + null + ], + [ + 1655471980000, + null + ], + [ + 1655471990000, + null + ], + [ + 1655472000000, + null + ], + [ + 1655472010000, + null + ], + [ + 1655472020000, + null + ], + [ + 1655472030000, + null + ], + [ + 1655472040000, + null + ], + [ + 1655472050000, + null + ], + [ + 1655472060000, + null + ], + [ + 1655472070000, + null + ], + [ + 1655472080000, + null + ], + [ + 1655472090000, + null + ], + [ + 1655472100000, + null + ], + [ + 1655472110000, + null + ], + [ + 1655472120000, + null + ], + [ + 1655472130000, + null + ], + [ + 1655472140000, + null + ], + [ + 1655472150000, + null + ], + [ + 1655472160000, + null + ], + [ + 1655472170000, + null + ], + [ + 1655472180000, + null + ], + [ + 1655472190000, + null + ], + [ + 1655472200000, + null + ], + [ + 1655472210000, + null + ], + [ + 1655472220000, + null + ], + [ + 1655472230000, + null + ], + [ + 1655472240000, + null + ], + [ + 1655472250000, + null + ], + [ + 1655472260000, + null + ], + [ + 1655472270000, + null + ], + [ + 1655472280000, + null + ], + [ + 1655472290000, + null + ] + ] + } + ], + "logstash_node_cgroup_stats": [ + { + "bucket_size": "10 seconds", + "timeRange": { + "min": 1655471940000, + "max": 1655472300000 + }, + "metric": { + "app": "logstash", + "field": "logstash_stats.os.cgroup.cpu.stat.number_of_elapsed_periods", + "metricAgg": "max", + "label": "Cgroup Elapsed Periods", + "title": "Cgroup CFS Stats", + "description": "The number of sampling periods from the Completely Fair Scheduler (CFS). Compare against the number of times throttled.", + "units": "", + "format": "0,0.[00]", + "hasCalculation": false, + "isDerivative": true + }, + "data": [ + [ + 1655471940000, + null + ], + [ + 1655471950000, + null + ], + [ + 1655471960000, + null + ], + [ + 1655471970000, + null + ], + [ + 1655471980000, + null + ], + [ + 1655471990000, + null + ], + [ + 1655472000000, + null + ], + [ + 1655472010000, + null + ], + [ + 1655472020000, + null + ], + [ + 1655472030000, + null + ], + [ + 1655472040000, + null + ], + [ + 1655472050000, + null + ], + [ + 1655472060000, + null + ], + [ + 1655472070000, + null + ], + [ + 1655472080000, + null + ], + [ + 1655472090000, + null + ], + [ + 1655472100000, + null + ], + [ + 1655472110000, + null + ], + [ + 1655472120000, + null + ], + [ + 1655472130000, + null + ], + [ + 1655472140000, + null + ], + [ + 1655472150000, + null + ], + [ + 1655472160000, + null + ], + [ + 1655472170000, + null + ], + [ + 1655472180000, + null + ], + [ + 1655472190000, + null + ], + [ + 1655472200000, + null + ], + [ + 1655472210000, + null + ], + [ + 1655472220000, + null + ], + [ + 1655472230000, + null + ], + [ + 1655472240000, + null + ], + [ + 1655472250000, + null + ], + [ + 1655472260000, + null + ], + [ + 1655472270000, + null + ], + [ + 1655472280000, + null + ], + [ + 1655472290000, + null + ] + ] + }, + { + "bucket_size": "10 seconds", + "timeRange": { + "min": 1655471940000, + "max": 1655472300000 + }, + "metric": { + "app": "logstash", + "field": "logstash_stats.os.cgroup.cpu.stat.number_of_times_throttled", + "metricAgg": "max", + "label": "Cgroup Throttled Count", + "title": "Cgroup CFS Stats", + "description": "The number of times that the CPU was throttled by the Cgroup.", + "units": "", + "format": "0,0.[00]", + "hasCalculation": false, + "isDerivative": true + }, + "data": [ + [ + 1655471940000, + null + ], + [ + 1655471950000, + null + ], + [ + 1655471960000, + null + ], + [ + 1655471970000, + null + ], + [ + 1655471980000, + null + ], + [ + 1655471990000, + null + ], + [ + 1655472000000, + null + ], + [ + 1655472010000, + null + ], + [ + 1655472020000, + null + ], + [ + 1655472030000, + null + ], + [ + 1655472040000, + null + ], + [ + 1655472050000, + null + ], + [ + 1655472060000, + null + ], + [ + 1655472070000, + null + ], + [ + 1655472080000, + null + ], + [ + 1655472090000, + null + ], + [ + 1655472100000, + null + ], + [ + 1655472110000, + null + ], + [ + 1655472120000, + null + ], + [ + 1655472130000, + null + ], + [ + 1655472140000, + null + ], + [ + 1655472150000, + null + ], + [ + 1655472160000, + null + ], + [ + 1655472170000, + null + ], + [ + 1655472180000, + null + ], + [ + 1655472190000, + null + ], + [ + 1655472200000, + null + ], + [ + 1655472210000, + null + ], + [ + 1655472220000, + null + ], + [ + 1655472230000, + null + ], + [ + 1655472240000, + null + ], + [ + 1655472250000, + null + ], + [ + 1655472260000, + null + ], + [ + 1655472270000, + null + ], + [ + 1655472280000, + null + ], + [ + 1655472290000, + null + ] + ] + } + ], + "logstash_queue_events_count": [ + { + "bucket_size": "10 seconds", + "timeRange": { + "min": 1655471940000, + "max": 1655472300000 + }, + "metric": { + "app": "logstash", + "field": "logstash_stats.queue.events_count", + "metricAgg": "max", + "label": "Events Queued", + "title": "Persistent Queue Events", + "description": "Average number of events in the persistent queue waiting to be processed by the filter and output stages.", + "units": "", + "format": "0,0.[00]", + "hasCalculation": false, + "isDerivative": false + }, + "data": [ + [ + 1655471940000, + 7 + ], + [ + 1655471950000, + 2 + ], + [ + 1655471960000, + 0 + ], + [ + 1655471970000, + 15 + ], + [ + 1655471980000, + 7 + ], + [ + 1655471990000, + 2 + ], + [ + 1655472000000, + 2 + ], + [ + 1655472010000, + 14 + ], + [ + 1655472020000, + 28 + ], + [ + 1655472030000, + 21 + ], + [ + 1655472040000, + 61 + ], + [ + 1655472050000, + 14 + ], + [ + 1655472060000, + 6 + ], + [ + 1655472070000, + 0 + ], + [ + 1655472080000, + 101 + ], + [ + 1655472090000, + 76 + ], + [ + 1655472100000, + 6 + ], + [ + 1655472110000, + 23 + ], + [ + 1655472120000, + 23 + ], + [ + 1655472130000, + 123 + ], + [ + 1655472140000, + 51 + ], + [ + 1655472150000, + 23 + ], + [ + 1655472160000, + 2 + ], + [ + 1655472170000, + 102 + ], + [ + 1655472180000, + 78 + ], + [ + 1655472190000, + 22 + ], + [ + 1655472200000, + 17 + ], + [ + 1655472210000, + 14 + ], + [ + 1655472220000, + 70 + ], + [ + 1655472230000, + 45 + ], + [ + 1655472240000, + 17 + ], + [ + 1655472250000, + 75 + ], + [ + 1655472260000, + 52 + ], + [ + 1655472270000, + 153 + ], + [ + 1655472280000, + 1 + ], + [ + 1655472290000, + 16 + ] + ] + } + ], + "logstash_pipeline_queue_size": [ + { + "bucket_size": "10 seconds", + "timeRange": { + "min": 1655471940000, + "max": 1655472300000 + }, + "metric": { + "app": "logstash", + "field": "logstash_stats.pipelines.queue.queue_size_in_bytes", + "label": "Queue Size", + "title": "Persistent Queue Size", + "description": "Current size of all persistent queues in the Logstash pipelines on this node.", + "units": "B", + "format": "0,0.0 b", + "hasCalculation": true, + "isDerivative": false + }, + "data": [ + [ + 1655471940000, + 141265 + ], + [ + 1655471950000, + 173965 + ], + [ + 1655471960000, + 206665 + ], + [ + 1655471970000, + 239692 + ], + [ + 1655471980000, + 272392 + ], + [ + 1655471990000, + 305092 + ], + [ + 1655472000000, + 337792 + ], + [ + 1655472010000, + 370489 + ], + [ + 1655472020000, + 403189 + ], + [ + 1655472030000, + 435886 + ], + [ + 1655472040000, + 468586 + ], + [ + 1655472050000, + 501286 + ], + [ + 1655472060000, + 533986 + ], + [ + 1655472070000, + 566686 + ], + [ + 1655472080000, + 599713 + ], + [ + 1655472090000, + 632413 + ], + [ + 1655472100000, + 665110 + ], + [ + 1655472110000, + 697810 + ], + [ + 1655472120000, + 730510 + ], + [ + 1655472130000, + 763210 + ], + [ + 1655472140000, + 795910 + ], + [ + 1655472150000, + 828610 + ], + [ + 1655472160000, + 861307 + ], + [ + 1655472170000, + 894007 + ], + [ + 1655472180000, + 927034 + ], + [ + 1655472190000, + 959731 + ], + [ + 1655472200000, + 992431 + ], + [ + 1655472210000, + 1025131 + ], + [ + 1655472220000, + 1057831 + ], + [ + 1655472230000, + 1090531 + ], + [ + 1655472240000, + 1123231 + ], + [ + 1655472250000, + 1155931 + ], + [ + 1655472260000, + 1188631 + ], + [ + 1655472270000, + 1221331 + ], + [ + 1655472280000, + 1254358 + ], + [ + 1655472290000, + 1287058 + ] + ] + }, + { + "bucket_size": "10 seconds", + "timeRange": { + "min": 1655471940000, + "max": 1655472300000 + }, + "metric": { + "app": "logstash", + "field": "logstash_stats.pipelines.queue.max_queue_size_in_bytes", + "label": "Max Queue Size", + "description": "Maximum size set for the persistent queues on this node.", + "units": "B", + "format": "0,0.0 b", + "hasCalculation": true, + "isDerivative": false + }, + "data": [ + [ + 1655471940000, + 1073741824 + ], + [ + 1655471950000, + 1073741824 + ], + [ + 1655471960000, + 1073741824 + ], + [ + 1655471970000, + 1073741824 + ], + [ + 1655471980000, + 1073741824 + ], + [ + 1655471990000, + 1073741824 + ], + [ + 1655472000000, + 1073741824 + ], + [ + 1655472010000, + 1073741824 + ], + [ + 1655472020000, + 1073741824 + ], + [ + 1655472030000, + 1073741824 + ], + [ + 1655472040000, + 1073741824 + ], + [ + 1655472050000, + 1073741824 + ], + [ + 1655472060000, + 1073741824 + ], + [ + 1655472070000, + 1073741824 + ], + [ + 1655472080000, + 1073741824 + ], + [ + 1655472090000, + 1073741824 + ], + [ + 1655472100000, + 1073741824 + ], + [ + 1655472110000, + 1073741824 + ], + [ + 1655472120000, + 1073741824 + ], + [ + 1655472130000, + 1073741824 + ], + [ + 1655472140000, + 1073741824 + ], + [ + 1655472150000, + 1073741824 + ], + [ + 1655472160000, + 1073741824 + ], + [ + 1655472170000, + 1073741824 + ], + [ + 1655472180000, + 1073741824 + ], + [ + 1655472190000, + 1073741824 + ], + [ + 1655472200000, + 1073741824 + ], + [ + 1655472210000, + 1073741824 + ], + [ + 1655472220000, + 1073741824 + ], + [ + 1655472230000, + 1073741824 + ], + [ + 1655472240000, + 1073741824 + ], + [ + 1655472250000, + 1073741824 + ], + [ + 1655472260000, + 1073741824 + ], + [ + 1655472270000, + 1073741824 + ], + [ + 1655472280000, + 1073741824 + ], + [ + 1655472290000, + 1073741824 + ] + ] + } ] - }, - { - "bucket_size": "10 seconds", - "timeRange": { - "min": 1655471940000, - "max": 1655472300000 - }, - "metric": { - "app": "logstash", - "field": "logstash_stats.os.cgroup.cpu.stat.number_of_times_throttled", - "metricAgg": "max", - "label": "Cgroup Throttled Count", - "title": "Cgroup CFS Stats", - "description": "The number of times that the CPU was throttled by the Cgroup.", - "units": "", - "format": "0,0.[00]", - "hasCalculation": false, - "isDerivative": true - }, - "data": [ - [ - 1655471940000, - null - ], - [ - 1655471950000, - null - ], - [ - 1655471960000, - null - ], - [ - 1655471970000, - null - ], - [ - 1655471980000, - null - ], - [ - 1655471990000, - null - ], - [ - 1655472000000, - null - ], - [ - 1655472010000, - null - ], - [ - 1655472020000, - null - ], - [ - 1655472030000, - null - ], - [ - 1655472040000, - null - ], - [ - 1655472050000, - null - ], - [ - 1655472060000, - null - ], - [ - 1655472070000, - null - ], - [ - 1655472080000, - null - ], - [ - 1655472090000, - null - ], - [ - 1655472100000, - null - ], - [ - 1655472110000, - null - ], - [ - 1655472120000, - null - ], - [ - 1655472130000, - null - ], - [ - 1655472140000, - null - ], - [ - 1655472150000, - null - ], - [ - 1655472160000, - null - ], - [ - 1655472170000, - null - ], - [ - 1655472180000, - null - ], - [ - 1655472190000, - null - ], - [ - 1655472200000, - null - ], - [ - 1655472210000, - null - ], - [ - 1655472220000, - null - ], - [ - 1655472230000, - null - ], - [ - 1655472240000, - null - ], - [ - 1655472250000, - null - ], - [ - 1655472260000, - null - ], - [ - 1655472270000, - null - ], - [ - 1655472280000, - null - ], - [ - 1655472290000, - null - ] - ] - } - ], - "logstash_queue_events_count": [ - { - "bucket_size": "10 seconds", - "timeRange": { - "min": 1655471940000, - "max": 1655472300000 - }, - "metric": { - "app": "logstash", - "field": "logstash_stats.queue.events_count", - "metricAgg": "max", - "label": "Events Queued", - "title": "Persistent Queue Events", - "description": "Average number of events in the persistent queue waiting to be processed by the filter and output stages.", - "units": "", - "format": "0,0.[00]", - "hasCalculation": false, - "isDerivative": false - }, - "data": [ - [ - 1655471940000, - 7 - ], - [ - 1655471950000, - 2 - ], - [ - 1655471960000, - 0 - ], - [ - 1655471970000, - 15 - ], - [ - 1655471980000, - 7 - ], - [ - 1655471990000, - 2 - ], - [ - 1655472000000, - 2 - ], - [ - 1655472010000, - 14 - ], - [ - 1655472020000, - 28 - ], - [ - 1655472030000, - 21 - ], - [ - 1655472040000, - 61 - ], - [ - 1655472050000, - 14 - ], - [ - 1655472060000, - 6 - ], - [ - 1655472070000, - 0 - ], - [ - 1655472080000, - 101 - ], - [ - 1655472090000, - 76 - ], - [ - 1655472100000, - 6 - ], - [ - 1655472110000, - 23 - ], - [ - 1655472120000, - 23 - ], - [ - 1655472130000, - 123 - ], - [ - 1655472140000, - 51 - ], - [ - 1655472150000, - 23 - ], - [ - 1655472160000, - 2 - ], - [ - 1655472170000, - 102 - ], - [ - 1655472180000, - 78 - ], - [ - 1655472190000, - 22 - ], - [ - 1655472200000, - 17 - ], - [ - 1655472210000, - 14 - ], - [ - 1655472220000, - 70 - ], - [ - 1655472230000, - 45 - ], - [ - 1655472240000, - 17 - ], - [ - 1655472250000, - 75 - ], - [ - 1655472260000, - 52 - ], - [ - 1655472270000, - 153 - ], - [ - 1655472280000, - 1 - ], - [ - 1655472290000, - 16 - ] - ] - } - ], - "logstash_pipeline_queue_size": [ - { - "bucket_size": "10 seconds", - "timeRange": { - "min": 1655471940000, - "max": 1655472300000 - }, - "metric": { - "app": "logstash", - "field": "logstash_stats.pipelines.queue.queue_size_in_bytes", - "label": "Queue Size", - "title": "Persistent Queue Size", - "description": "Current size of all persistent queues in the Logstash pipelines on this node.", - "units": "B", - "format": "0,0.0 b", - "hasCalculation": true, - "isDerivative": false + }, + "nodeSummary": { + "ephemeral_id": "88c01586-1891-4a0e-a2ca-ca5c988f8cbb", + "host": "kevins-macbook-pro.home", + "http_address": "127.0.0.1:9600", + "name": "kevins-macbook-pro.home", + "pipeline": { + "batch_size": 125, + "workers": 16 }, - "data": [ - [ - 1655471940000, - 141265 - ], - [ - 1655471950000, - 173965 - ], - [ - 1655471960000, - 206665 - ], - [ - 1655471970000, - 239692 - ], - [ - 1655471980000, - 272392 - ], - [ - 1655471990000, - 305092 - ], - [ - 1655472000000, - 337792 - ], - [ - 1655472010000, - 370489 - ], - [ - 1655472020000, - 403189 - ], - [ - 1655472030000, - 435886 - ], - [ - 1655472040000, - 468586 - ], - [ - 1655472050000, - 501286 - ], - [ - 1655472060000, - 533986 - ], - [ - 1655472070000, - 566686 - ], - [ - 1655472080000, - 599713 - ], - [ - 1655472090000, - 632413 - ], - [ - 1655472100000, - 665110 - ], - [ - 1655472110000, - 697810 - ], - [ - 1655472120000, - 730510 - ], - [ - 1655472130000, - 763210 - ], - [ - 1655472140000, - 795910 - ], - [ - 1655472150000, - 828610 - ], - [ - 1655472160000, - 861307 - ], - [ - 1655472170000, - 894007 - ], - [ - 1655472180000, - 927034 - ], - [ - 1655472190000, - 959731 - ], - [ - 1655472200000, - 992431 - ], - [ - 1655472210000, - 1025131 - ], - [ - 1655472220000, - 1057831 - ], - [ - 1655472230000, - 1090531 - ], - [ - 1655472240000, - 1123231 - ], - [ - 1655472250000, - 1155931 - ], - [ - 1655472260000, - 1188631 - ], - [ - 1655472270000, - 1221331 - ], - [ - 1655472280000, - 1254358 - ], - [ - 1655472290000, - 1287058 - ] - ] - }, - { - "bucket_size": "10 seconds", - "timeRange": { - "min": 1655471940000, - "max": 1655472300000 + "snapshot": false, + "status": "green", + "uuid": "f9efd237-3bbf-4a9b-9ce7-a16141b9d981", + "version": "8.2.2", + "availability": false, + "events": { + "duration_in_millis": 5145881, + "filtered": 2579, + "in": 3978, + "out": 2579 }, - "metric": { - "app": "logstash", - "field": "logstash_stats.pipelines.queue.max_queue_size_in_bytes", - "label": "Max Queue Size", - "description": "Maximum size set for the persistent queues on this node.", - "units": "B", - "format": "0,0.0 b", - "hasCalculation": true, - "isDerivative": false + "reloads": { + "failures": 0, + "successes": 0 }, - "data": [ - [ - 1655471940000, - 1073741824 - ], - [ - 1655471950000, - 1073741824 - ], - [ - 1655471960000, - 1073741824 - ], - [ - 1655471970000, - 1073741824 - ], - [ - 1655471980000, - 1073741824 - ], - [ - 1655471990000, - 1073741824 - ], - [ - 1655472000000, - 1073741824 - ], - [ - 1655472010000, - 1073741824 - ], - [ - 1655472020000, - 1073741824 - ], - [ - 1655472030000, - 1073741824 - ], - [ - 1655472040000, - 1073741824 - ], - [ - 1655472050000, - 1073741824 - ], - [ - 1655472060000, - 1073741824 - ], - [ - 1655472070000, - 1073741824 - ], - [ - 1655472080000, - 1073741824 - ], - [ - 1655472090000, - 1073741824 - ], - [ - 1655472100000, - 1073741824 - ], - [ - 1655472110000, - 1073741824 - ], - [ - 1655472120000, - 1073741824 - ], - [ - 1655472130000, - 1073741824 - ], - [ - 1655472140000, - 1073741824 - ], - [ - 1655472150000, - 1073741824 - ], - [ - 1655472160000, - 1073741824 - ], - [ - 1655472170000, - 1073741824 - ], - [ - 1655472180000, - 1073741824 - ], - [ - 1655472190000, - 1073741824 - ], - [ - 1655472200000, - 1073741824 - ], - [ - 1655472210000, - 1073741824 - ], - [ - 1655472220000, - 1073741824 - ], - [ - 1655472230000, - 1073741824 - ], - [ - 1655472240000, - 1073741824 - ], - [ - 1655472250000, - 1073741824 - ], - [ - 1655472260000, - 1073741824 - ], - [ - 1655472270000, - 1073741824 - ], - [ - 1655472280000, - 1073741824 - ], - [ - 1655472290000, - 1073741824 - ] - ] - } - ] - }, - "nodeSummary": { - "uuid": "f9efd237-3bbf-4a9b-9ce7-a16141b9d981", - "ephemeral_id": "88c01586-1891-4a0e-a2ca-ca5c988f8cbb", - "version": "8.2.2", - "snapshot": false, - "http_address": "127.0.0.1:9600", - "name": "kevins-macbook-pro.home", - "host": "kevins-macbook-pro.home", - "status": "green", - "pipeline": { - "workers": 16, - "batch_size": 125 - }, - "availability": false, - "events": { - "duration_in_millis": 5145881, - "in": 3978, - "filtered": 2579, - "out": 2579 - }, - "reloads": { - "failures": 0, - "successes": 0 - }, - "uptime": 407358 - } + "uptime": 407358 + } } diff --git a/x-pack/test/api_integration/apis/monitoring/logstash/multicluster_pipelines_mb.js b/x-pack/test/api_integration/apis/monitoring/logstash/multicluster_pipelines_mb.js index 521731c920a6f..a7d5194c35f79 100644 --- a/x-pack/test/api_integration/apis/monitoring/logstash/multicluster_pipelines_mb.js +++ b/x-pack/test/api_integration/apis/monitoring/logstash/multicluster_pipelines_mb.js @@ -13,34 +13,37 @@ export default function ({ getService }) { const supertest = getService('supertest'); const { setup, tearDown } = getLifecycleMethods(getService); - describe('pipelines listing multicluster mb', () => { - const archive = - 'x-pack/test/functional/es_archives/monitoring/logstash_pipelines_multicluster_mb'; - const timeRange = { - min: '2019-11-11T15:13:45.266Z', - max: '2019-11-11T15:17:05.399Z', - }; - const pagination = { - size: 10, - index: 0, - }; + describe('pipelines listing multicluster - metricbeat and package', () => { + ['mb', 'package'].forEach((source) => { + describe(`pipelines listing multicluster ${source}`, () => { + const archive = `x-pack/test/functional/es_archives/monitoring/logstash_pipelines_multicluster_${source}`; + const timeRange = { + min: '2019-11-11T15:13:45.266Z', + max: '2019-11-11T15:17:05.399Z', + }; + const pagination = { + size: 10, + index: 0, + }; - before('load archive', () => { - return setup(archive); - }); + before('load archive', () => { + return setup(archive); + }); - after('unload archive', () => { - return tearDown(); - }); + after('unload archive', () => { + return tearDown(archive); + }); - it('should get the pipelines', async () => { - const { body } = await supertest - .post('/api/monitoring/v1/clusters/hJS0FZ7wR9GGdYs8RNW8pw/logstash/pipelines') - .set('kbn-xsrf', 'xxx') - .send({ timeRange, pagination }) - .expect(200); + it('should get the pipelines', async () => { + const { body } = await supertest + .post('/api/monitoring/v1/clusters/hJS0FZ7wR9GGdYs8RNW8pw/logstash/pipelines') + .set('kbn-xsrf', 'xxx') + .send({ timeRange, pagination }) + .expect(200); - expect(body).to.eql(fixture); + expect(body).to.eql(fixture); + }); + }); }); }); } diff --git a/x-pack/test/api_integration/apis/monitoring/logstash/node_detail_mb.js b/x-pack/test/api_integration/apis/monitoring/logstash/node_detail_mb.js index 0aed0c7b1c552..6a8068fe5b9b8 100644 --- a/x-pack/test/api_integration/apis/monitoring/logstash/node_detail_mb.js +++ b/x-pack/test/api_integration/apis/monitoring/logstash/node_detail_mb.js @@ -13,44 +13,47 @@ export default function ({ getService }) { const supertest = getService('supertest'); const esArchiver = getService('esArchiver'); - // FAILING ES PROMOTION: https://github.com/elastic/kibana/issues/142642 - describe.skip('node detail mb', () => { - const archive = 'x-pack/test/api_integration/apis/monitoring/es_archives/logstash_8'; - const timeRange = { - min: '2022-06-17T13:19:00.000Z', - max: '2022-06-17T13:25:00.000Z', - }; - - before('load archive', () => { - return esArchiver.load(archive); - }); - - after('unload archive', () => { - return esArchiver.unload(archive); - }); - - it('should summarize the Logstash node with non-advanced chart data metrics', async () => { - const { body } = await supertest - .post( - '/api/monitoring/v1/clusters/__standalone_cluster__/logstash/node/f9efd237-3bbf-4a9b-9ce7-a16141b9d981' - ) - .set('kbn-xsrf', 'xxx') - .send({ timeRange, is_advanced: false }) - .expect(200); - - expect(body).to.eql(nodeDetailFixture); - }); - - it('should summarize the Logstash node with advanced chart data metrics', async () => { - const { body } = await supertest - .post( - '/api/monitoring/v1/clusters/__standalone_cluster__/logstash/node/f9efd237-3bbf-4a9b-9ce7-a16141b9d981' - ) - .set('kbn-xsrf', 'xxx') - .send({ timeRange, is_advanced: true }) - .expect(200); - - expect(body).to.eql(nodeDetailAdvancedFixture); + describe('node detail - metricbeat and package', () => { + ['logstash_8', 'logstash_package'].forEach((source) => { + describe(`node detail ${source}`, () => { + const archive = `x-pack/test/api_integration/apis/monitoring/es_archives/${source}`; + const timeRange = { + min: '2022-06-17T13:19:00.000Z', + max: '2022-06-17T13:25:00.000Z', + }; + + before('load archive', () => { + return esArchiver.load(archive); + }); + + after('unload archive', () => { + return esArchiver.unload(archive); + }); + + it('should summarize the Logstash node with non-advanced chart data metrics', async () => { + const { body } = await supertest + .post( + '/api/monitoring/v1/clusters/__standalone_cluster__/logstash/node/f9efd237-3bbf-4a9b-9ce7-a16141b9d981' + ) + .set('kbn-xsrf', 'xxx') + .send({ timeRange, is_advanced: false }) + .expect(200); + + expect(body).to.eql(nodeDetailFixture); + }); + + it('should summarize the Logstash node with advanced chart data metrics', async () => { + const { body } = await supertest + .post( + '/api/monitoring/v1/clusters/__standalone_cluster__/logstash/node/f9efd237-3bbf-4a9b-9ce7-a16141b9d981' + ) + .set('kbn-xsrf', 'xxx') + .send({ timeRange, is_advanced: true }) + .expect(200); + + expect(body).to.eql(nodeDetailAdvancedFixture); + }); + }); }); }); } diff --git a/x-pack/test/api_integration/apis/monitoring/logstash/nodes_mb.js b/x-pack/test/api_integration/apis/monitoring/logstash/nodes_mb.js index aac85aff13041..d518a37d81a04 100644 --- a/x-pack/test/api_integration/apis/monitoring/logstash/nodes_mb.js +++ b/x-pack/test/api_integration/apis/monitoring/logstash/nodes_mb.js @@ -13,29 +13,33 @@ export default function ({ getService }) { const supertest = getService('supertest'); const { setup, tearDown } = getLifecycleMethods(getService); - describe('node listing mb', () => { - const archive = 'x-pack/test/functional/es_archives/monitoring/logstash_pipelines_mb'; - const timeRange = { - min: '2018-01-22T09:33:13.000Z', - max: '2018-01-22T09:41:04.000Z', - }; + describe('node listing - metricbeat and package', () => { + ['mb', 'package'].forEach((source) => { + describe(`node listing ${source}`, () => { + const archive = `x-pack/test/functional/es_archives/monitoring/logstash_pipelines_${source}`; + const timeRange = { + min: '2018-01-22T09:33:13.000Z', + max: '2018-01-22T09:41:04.000Z', + }; - before('load archive', () => { - return setup(archive); - }); + before('load archive', () => { + return setup(archive); + }); - after('unload archive', () => { - return tearDown(); - }); + after('unload archive', () => { + return tearDown(archive); + }); - it('should summarize the Logstash nodes with stats', async () => { - const { body } = await supertest - .post('/api/monitoring/v1/clusters/1rhApLfQShSh3JsNqYCkmA/logstash/nodes') - .set('kbn-xsrf', 'xxx') - .send({ timeRange }) - .expect(200); + it('should summarize the Logstash nodes with stats', async () => { + const { body } = await supertest + .post('/api/monitoring/v1/clusters/1rhApLfQShSh3JsNqYCkmA/logstash/nodes') + .set('kbn-xsrf', 'xxx') + .send({ timeRange }) + .expect(200); - expect(body).to.eql(nodesFixture); + expect(body).to.eql(nodesFixture); + }); + }); }); }); } diff --git a/x-pack/test/api_integration/apis/monitoring/logstash/overview_mb.js b/x-pack/test/api_integration/apis/monitoring/logstash/overview_mb.js index 353cd7b4a852c..1c298e2a422da 100644 --- a/x-pack/test/api_integration/apis/monitoring/logstash/overview_mb.js +++ b/x-pack/test/api_integration/apis/monitoring/logstash/overview_mb.js @@ -13,29 +13,33 @@ export default function ({ getService }) { const supertest = getService('supertest'); const { setup, tearDown } = getLifecycleMethods(getService); - describe('overview mb', () => { - const archive = 'x-pack/test/functional/es_archives/monitoring/logstash_pipelines_mb'; - const timeRange = { - min: '2018-01-22T09:33:13.000Z', - max: '2018-01-22T09:41:04.000Z', - }; + describe('overview - metricbeat and package', () => { + ['mb', 'package'].forEach((source) => { + describe(`overview ${source}`, () => { + const archive = `x-pack/test/functional/es_archives/monitoring/logstash_pipelines_${source}`; + const timeRange = { + min: '2018-01-22T09:33:13.000Z', + max: '2018-01-22T09:41:04.000Z', + }; - before('load archive', () => { - return setup(archive); - }); + before('load archive', () => { + return setup(archive); + }); - after('unload archive', () => { - return tearDown(); - }); + after('unload archive', () => { + return tearDown(archive); + }); - it('should summarize two Logstash nodes with metrics', async () => { - const { body } = await supertest - .post('/api/monitoring/v1/clusters/1rhApLfQShSh3JsNqYCkmA/logstash') - .set('kbn-xsrf', 'xxx') - .send({ timeRange }) - .expect(200); + it('should summarize two Logstash nodes with metrics', async () => { + const { body } = await supertest + .post('/api/monitoring/v1/clusters/1rhApLfQShSh3JsNqYCkmA/logstash') + .set('kbn-xsrf', 'xxx') + .send({ timeRange }) + .expect(200); - expect(body).to.eql(overviewFixture); + expect(body).to.eql(overviewFixture); + }); + }); }); }); } diff --git a/x-pack/test/api_integration/apis/monitoring/logstash/pipelines_mb.js b/x-pack/test/api_integration/apis/monitoring/logstash/pipelines_mb.js index 7081af982d237..43a00c8185b58 100644 --- a/x-pack/test/api_integration/apis/monitoring/logstash/pipelines_mb.js +++ b/x-pack/test/api_integration/apis/monitoring/logstash/pipelines_mb.js @@ -13,74 +13,78 @@ export default function ({ getService }) { const supertest = getService('supertest'); const { setup, tearDown } = getLifecycleMethods(getService); - describe('pipelines mb', () => { - const archive = 'x-pack/test/functional/es_archives/monitoring/logstash/changing_pipelines_mb'; - const timeRange = { - min: '2019-11-04T15:40:44.855Z', - max: '2019-11-04T15:50:38.667Z', - }; - const pagination = { - size: 10, - index: 0, - }; - const sort = { - field: 'id', - direction: 'asc', - }; + describe('pipelines - metricbeat and package', () => { + ['mb', 'package'].forEach((source) => { + describe(`pipelines ${source}`, () => { + const archive = `x-pack/test/functional/es_archives/monitoring/logstash/changing_pipelines_${source}`; + const timeRange = { + min: '2019-11-04T15:40:44.855Z', + max: '2019-11-04T15:50:38.667Z', + }; + const pagination = { + size: 10, + index: 0, + }; + const sort = { + field: 'id', + direction: 'asc', + }; - before('load archive', () => { - return setup(archive); - }); + before('load archive', () => { + return setup(archive); + }); - after('unload archive', () => { - return tearDown(); - }); + after('unload archive', () => { + return tearDown(archive); + }); - it('should return paginated pipelines', async () => { - const { body } = await supertest - .post('/api/monitoring/v1/clusters/TUjQLdHNTh2SB9Wy0gOtWg/logstash/pipelines') - .set('kbn-xsrf', 'xxx') - .send({ timeRange, pagination, sort }) - .expect(200); + it('should return paginated pipelines', async () => { + const { body } = await supertest + .post('/api/monitoring/v1/clusters/TUjQLdHNTh2SB9Wy0gOtWg/logstash/pipelines') + .set('kbn-xsrf', 'xxx') + .send({ timeRange, pagination, sort }) + .expect(200); - expect(body).to.eql(pipelinesFixture); - }); + expect(body).to.eql(pipelinesFixture); + }); - it('should get one of each after enough pagination', async () => { - async function getIds(page) { - const { body } = await supertest - .post('/api/monitoring/v1/clusters/TUjQLdHNTh2SB9Wy0gOtWg/logstash/pipelines') - .set('kbn-xsrf', 'xxx') - .send({ timeRange, pagination: { ...pagination, index: page }, sort }) - .expect(200); + it('should get one of each after enough pagination', async () => { + async function getIds(page) { + const { body } = await supertest + .post('/api/monitoring/v1/clusters/TUjQLdHNTh2SB9Wy0gOtWg/logstash/pipelines') + .set('kbn-xsrf', 'xxx') + .send({ timeRange, pagination: { ...pagination, index: page }, sort }) + .expect(200); - return body.pipelines.map((pipeline) => pipeline.id); - } + return body.pipelines.map((pipeline) => pipeline.id); + } - const ids = [...(await getIds(0)), ...(await getIds(1)), ...(await getIds(2))]; - expect(ids.length).to.be(26); - }); + const ids = [...(await getIds(0)), ...(await getIds(1)), ...(await getIds(2))]; + expect(ids.length).to.be(26); + }); - it('should not error out if there is missing data for part of the time series', async () => { - const customTimeRange = { - ...timeRange, - max: '2019-11-04T15:59:38.667Z', - }; + it('should not error out if there is missing data for part of the time series', async () => { + const customTimeRange = { + ...timeRange, + max: '2019-11-04T15:59:38.667Z', + }; - const customSort = { - ...sort, - field: 'logstash_cluster_pipeline_throughput', - }; + const customSort = { + ...sort, + field: 'logstash_cluster_pipeline_throughput', + }; - await supertest - .post('/api/monitoring/v1/clusters/TUjQLdHNTh2SB9Wy0gOtWg/logstash/pipelines') - .set('kbn-xsrf', 'xxx') - .send({ - timeRange: customTimeRange, - pagination: { ...pagination, index: 1 }, - sort: customSort, - }) - .expect(200); + await supertest + .post('/api/monitoring/v1/clusters/TUjQLdHNTh2SB9Wy0gOtWg/logstash/pipelines') + .set('kbn-xsrf', 'xxx') + .send({ + timeRange: customTimeRange, + pagination: { ...pagination, index: 1 }, + sort: customSort, + }) + .expect(200); + }); + }); }); }); } diff --git a/x-pack/test/functional/es_archives/monitoring/logstash/changing_pipelines_package/data.json.gz b/x-pack/test/functional/es_archives/monitoring/logstash/changing_pipelines_package/data.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..1e969bb77a40934db3cfe37a510462361f961e5c GIT binary patch literal 87349 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.??dZgUpTvhFMBw6z#~7n5R;Ce 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 literal 0 HcmV?d00001 diff --git a/x-pack/test/functional/es_archives/monitoring/logstash/changing_pipelines_package/mappings.json b/x-pack/test/functional/es_archives/monitoring/logstash/changing_pipelines_package/mappings.json new file mode 100644 index 0000000000000..5684702273ac7 --- /dev/null +++ b/x-pack/test/functional/es_archives/monitoring/logstash/changing_pipelines_package/mappings.json @@ -0,0 +1,7138 @@ +{ + "type": "data_stream", + "value": { + "data_stream": "metrics-elasticsearch.stack_monitoring.cluster_stats-default", + "template": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "elasticsearch" + } + }, + "data_stream": { + "allow_custom_routing": false, + "hidden": false + }, + "index_patterns": [ + "metrics-elasticsearch.stack_monitoring.cluster_stats-*" + ], + "name": "metrics-elasticsearch.stack_monitoring.cluster_stats", + "priority": 200, + "template": { + "mappings": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "elasticsearch" + } + }, + "date_detection": false, + "dynamic": false, + "dynamic_templates": [ + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "cluster_state": { + "properties": { + "master_node": { + "path": "elasticsearch.cluster.stats.state.master_node", + "type": "alias" + }, + "nodes_hash": { + "path": "elasticsearch.cluster.stats.state.nodes_hash", + "type": "alias" + }, + "state_uuid": { + "path": "elasticsearch.cluster.stats.state.state_uuid", + "type": "alias" + }, + "status": { + "path": "elasticsearch.cluster.stats.status", + "type": "alias" + }, + "version": { + "path": "elasticsearch.cluster.stats.state.version", + "type": "alias" + } + } + }, + "cluster_stats": { + "properties": { + "indices": { + "properties": { + "count": { + "path": "elasticsearch.cluster.stats.indices.total", + "type": "alias" + }, + "shards": { + "properties": { + "total": { + "path": "elasticsearch.cluster.stats.indices.shards.count", + "type": "alias" + } + } + } + } + }, + "nodes": { + "properties": { + "count": { + "properties": { + "total": { + "path": "elasticsearch.cluster.stats.nodes.count", + "type": "alias" + } + } + }, + "jvm": { + "properties": { + "max_uptime_in_millis": { + "path": "elasticsearch.cluster.stats.nodes.jvm.max_uptime.ms", + "type": "alias" + }, + "mem": { + "properties": { + "heap_max_in_bytes": { + "path": "elasticsearch.cluster.stats.nodes.jvm.memory.heap.max.bytes", + "type": "alias" + }, + "heap_used_in_bytes": { + "path": "elasticsearch.cluster.stats.nodes.jvm.memory.heap.used.bytes", + "type": "alias" + } + } + } + } + } + } + } + } + }, + "cluster_uuid": { + "path": "elasticsearch.cluster.id", + "type": "alias" + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "elasticsearch": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "state": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "stats": { + "properties": { + "indices": { + "properties": { + "docs": { + "properties": { + "total": { + "type": "long" + } + } + }, + "fielddata": { + "properties": { + "memory": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "shards": { + "properties": { + "count": { + "type": "long" + }, + "primaries": { + "type": "long" + } + } + }, + "store": { + "properties": { + "size": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "total": { + "type": "long" + } + } + }, + "license": { + "properties": { + "cluster_needs_tls": { + "type": "boolean" + }, + "expiry_date": { + "type": "date" + }, + "expiry_date_in_millis": { + "type": "long" + }, + "issue_date": { + "type": "date" + }, + "issue_date_in_millis": { + "type": "long" + }, + "issued_to": { + "ignore_above": 1024, + "type": "keyword" + }, + "issuer": { + "ignore_above": 1024, + "type": "keyword" + }, + "max_nodes": { + "type": "long" + }, + "start_date_in_millis": { + "type": "long" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "uid": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "nodes": { + "properties": { + "count": { + "type": "long" + }, + "data": { + "type": "long" + }, + "fs": { + "properties": { + "available": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "jvm": { + "properties": { + "max_uptime": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "memory": { + "properties": { + "heap": { + "properties": { + "max": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + } + } + } + } + }, + "master": { + "type": "long" + }, + "stats": { + "properties": { + "data": { + "type": "long" + } + } + }, + "versions": { + "type": "text" + } + } + }, + "stack": { + "properties": { + "apm": { + "properties": { + "found": { + "type": "boolean" + } + } + }, + "xpack": { + "properties": { + "ccr": { + "properties": { + "available": { + "type": "boolean" + }, + "enabled": { + "type": "boolean" + } + } + } + } + } + } + }, + "state": { + "properties": { + "master_node": { + "ignore_above": 1024, + "type": "keyword" + }, + "nodes": { + "type": "flattened" + }, + "nodes_hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_uuid": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "node": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "master": { + "type": "boolean" + }, + "mlockall": { + "type": "boolean" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "error": { + "properties": { + "message": { + "type": "match_only_text" + } + } + }, + "event": { + "properties": { + "agent_id_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "ingested": { + "format": "strict_date_time_no_millis||strict_date_optional_time||epoch_millis", + "type": "date" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "license": { + "properties": { + "status": { + "path": "elasticsearch.cluster.stats.license.status", + "type": "alias" + }, + "type": { + "path": "elasticsearch.cluster.stats.license.type", + "type": "alias" + } + } + }, + "service": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "source_node": { + "properties": { + "name": { + "path": "elasticsearch.node.name", + "type": "alias" + }, + "uuid": { + "path": "elasticsearch.node.id", + "type": "alias" + } + } + }, + "stack_stats": { + "properties": { + "apm": { + "properties": { + "found": { + "path": "elasticsearch.cluster.stats.stack.apm.found", + "type": "alias" + } + } + }, + "xpack": { + "properties": { + "ccr": { + "properties": { + "available": { + "path": "elasticsearch.cluster.stats.stack.xpack.ccr.available", + "type": "alias" + }, + "enabled": { + "path": "elasticsearch.cluster.stats.stack.xpack.ccr.enabled", + "type": "alias" + } + } + } + } + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "settings": { + "index": { + "codec": "best_compression", + "lifecycle": { + "name": "metrics" + }, + "mapping": { + "total_fields": { + "limit": "10000" + } + }, + "query": { + "default_field": [ + "ecs.version", + "event.dataset", + "event.module", + "host.name", + "service.address", + "service.type", + "service.name", + "error.message", + "elasticsearch.cluster.stats.version", + "elasticsearch.cluster.stats.state.nodes_hash", + "elasticsearch.cluster.stats.state.master_node", + "elasticsearch.cluster.stats.state.version", + "elasticsearch.cluster.stats.state.state_uuid", + "elasticsearch.cluster.stats.status", + "elasticsearch.cluster.stats.nodes.versions", + "elasticsearch.cluster.stats.license.issued_to", + "elasticsearch.cluster.stats.license.issuer", + "elasticsearch.cluster.stats.license.status", + "elasticsearch.cluster.stats.license.type", + "elasticsearch.cluster.stats.license.uid", + "elasticsearch.cluster.name", + "elasticsearch.cluster.id", + "elasticsearch.cluster.state.id", + "elasticsearch.version", + "elasticsearch.node.id", + "elasticsearch.node.name" + ] + } + } + } + } + } + } +} + +{ + "type": "data_stream", + "value": { + "data_stream": "metrics-elasticsearch.stack_monitoring.enrich-default", + "template": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "elasticsearch" + } + }, + "data_stream": { + "allow_custom_routing": false, + "hidden": false + }, + "index_patterns": [ + "metrics-elasticsearch.stack_monitoring.enrich-*" + ], + "name": "metrics-elasticsearch.stack_monitoring.enrich", + "priority": 200, + "template": { + "mappings": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "elasticsearch" + } + }, + "date_detection": false, + "dynamic": false, + "dynamic_templates": [ + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "cluster_uuid": { + "path": "elasticsearch.cluster.id", + "type": "alias" + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "elasticsearch": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "state": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "enrich": { + "properties": { + "executed_searches": { + "properties": { + "total": { + "type": "long" + } + } + }, + "executing_policy": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "task": { + "properties": { + "action": { + "ignore_above": 1024, + "type": "keyword" + }, + "cancellable": { + "type": "boolean" + }, + "id": { + "type": "long" + }, + "parent_task_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "task": { + "ignore_above": 1024, + "type": "keyword" + }, + "time": { + "properties": { + "running": { + "properties": { + "nano": { + "type": "long" + } + } + }, + "start": { + "properties": { + "ms": { + "type": "long" + } + } + } + } + } + } + } + } + }, + "queue": { + "properties": { + "size": { + "type": "long" + } + } + }, + "remote_requests": { + "properties": { + "current": { + "type": "long" + }, + "total": { + "type": "long" + } + } + } + } + }, + "node": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "master": { + "type": "boolean" + }, + "mlockall": { + "type": "boolean" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "error": { + "properties": { + "message": { + "type": "match_only_text" + } + } + }, + "event": { + "properties": { + "agent_id_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "ingested": { + "format": "strict_date_time_no_millis||strict_date_optional_time||epoch_millis", + "type": "date" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "service": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "source_node": { + "properties": { + "name": { + "path": "elasticsearch.node.name", + "type": "alias" + }, + "uuid": { + "path": "elasticsearch.node.id", + "type": "alias" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "settings": { + "index": { + "codec": "best_compression", + "lifecycle": { + "name": "metrics" + }, + "mapping": { + "total_fields": { + "limit": "10000" + } + }, + "query": { + "default_field": [ + "ecs.version", + "event.dataset", + "event.module", + "host.name", + "service.address", + "service.type", + "service.name", + "error.message", + "elasticsearch.enrich.executing_policy.name", + "elasticsearch.enrich.executing_policy.task.task", + "elasticsearch.enrich.executing_policy.task.action", + "elasticsearch.enrich.executing_policy.task.parent_task_id", + "elasticsearch.cluster.name", + "elasticsearch.cluster.id", + "elasticsearch.cluster.state.id", + "elasticsearch.node.id", + "elasticsearch.node.name" + ] + } + } + } + } + } + } +} + +{ + "type": "data_stream", + "value": { + "data_stream": "metrics-elasticsearch.stack_monitoring.index-default", + "template": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "elasticsearch" + } + }, + "data_stream": { + "allow_custom_routing": false, + "hidden": false + }, + "index_patterns": [ + "metrics-elasticsearch.stack_monitoring.index-*" + ], + "name": "metrics-elasticsearch.stack_monitoring.index", + "priority": 200, + "template": { + "mappings": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "elasticsearch" + } + }, + "date_detection": false, + "dynamic": false, + "dynamic_templates": [ + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "cluster_uuid": { + "path": "elasticsearch.cluster.id", + "type": "alias" + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "elasticsearch": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "state": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "index": { + "properties": { + "created": { + "type": "long" + }, + "hidden": { + "type": "boolean" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "primaries": { + "properties": { + "docs": { + "properties": { + "count": { + "type": "long" + }, + "deleted": { + "type": "long" + } + } + }, + "indexing": { + "properties": { + "index_time_in_millis": { + "type": "long" + }, + "index_total": { + "type": "long" + }, + "throttle_time_in_millis": { + "type": "long" + } + } + }, + "merges": { + "properties": { + "total_size_in_bytes": { + "type": "long" + } + } + }, + "query_cache": { + "properties": { + "hit_count": { + "type": "long" + }, + "memory_size_in_bytes": { + "type": "long" + }, + "miss_count": { + "type": "long" + } + } + }, + "refresh": { + "properties": { + "external_total_time_in_millis": { + "type": "long" + }, + "total_time_in_millis": { + "type": "long" + } + } + }, + "request_cache": { + "properties": { + "evictions": { + "type": "long" + }, + "hit_count": { + "type": "long" + }, + "memory_size_in_bytes": { + "type": "long" + }, + "miss_count": { + "type": "long" + } + } + }, + "search": { + "properties": { + "query_time_in_millis": { + "type": "long" + }, + "query_total": { + "type": "long" + } + } + }, + "segments": { + "properties": { + "count": { + "type": "long" + }, + "doc_values_memory_in_bytes": { + "type": "long" + }, + "fixed_bit_set_memory_in_bytes": { + "type": "long" + }, + "index_writer_memory_in_bytes": { + "type": "long" + }, + "memory_in_bytes": { + "type": "long" + }, + "norms_memory_in_bytes": { + "type": "long" + }, + "points_memory_in_bytes": { + "type": "long" + }, + "stored_fields_memory_in_bytes": { + "type": "long" + }, + "term_vectors_memory_in_bytes": { + "type": "long" + }, + "terms_memory_in_bytes": { + "type": "long" + }, + "version_map_memory_in_bytes": { + "type": "long" + } + } + }, + "store": { + "properties": { + "size_in_bytes": { + "type": "long" + } + } + } + } + }, + "shards": { + "properties": { + "primaries": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "total": { + "properties": { + "bulk": { + "properties": { + "avg_size_in_bytes": { + "type": "long" + }, + "avg_time_in_millis": { + "type": "long" + }, + "total_operations": { + "type": "long" + }, + "total_size_in_bytes": { + "type": "long" + }, + "total_time_in_millis": { + "type": "long" + } + } + }, + "docs": { + "properties": { + "count": { + "type": "long" + }, + "deleted": { + "type": "long" + } + } + }, + "fielddata": { + "properties": { + "evictions": { + "type": "long" + }, + "memory_size_in_bytes": { + "type": "long" + } + } + }, + "indexing": { + "properties": { + "index_time_in_millis": { + "type": "long" + }, + "index_total": { + "type": "long" + }, + "throttle_time_in_millis": { + "type": "long" + } + } + }, + "merges": { + "properties": { + "total_size_in_bytes": { + "type": "long" + } + } + }, + "query_cache": { + "properties": { + "evictions": { + "type": "long" + }, + "hit_count": { + "type": "long" + }, + "memory_size_in_bytes": { + "type": "long" + }, + "miss_count": { + "type": "long" + } + } + }, + "refresh": { + "properties": { + "external_total_time_in_millis": { + "type": "long" + }, + "total_time_in_millis": { + "type": "long" + } + } + }, + "request_cache": { + "properties": { + "evictions": { + "type": "long" + }, + "hit_count": { + "type": "long" + }, + "memory_size_in_bytes": { + "type": "long" + }, + "miss_count": { + "type": "long" + } + } + }, + "search": { + "properties": { + "query_time_in_millis": { + "type": "long" + }, + "query_total": { + "type": "long" + } + } + }, + "segments": { + "properties": { + "count": { + "type": "long" + }, + "doc_values_memory_in_bytes": { + "type": "long" + }, + "fixed_bit_set_memory_in_bytes": { + "type": "long" + }, + "index_writer_memory_in_bytes": { + "type": "long" + }, + "memory": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "memory_in_bytes": { + "type": "long" + }, + "norms_memory_in_bytes": { + "type": "long" + }, + "points_memory_in_bytes": { + "type": "long" + }, + "stored_fields_memory_in_bytes": { + "type": "long" + }, + "term_vectors_memory_in_bytes": { + "type": "long" + }, + "terms_memory_in_bytes": { + "type": "long" + }, + "version_map_memory_in_bytes": { + "type": "long" + } + } + }, + "store": { + "properties": { + "size": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "size_in_bytes": { + "type": "long" + } + } + } + } + }, + "uuid": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "node": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "master": { + "type": "boolean" + }, + "mlockall": { + "type": "boolean" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "error": { + "properties": { + "message": { + "type": "match_only_text" + } + } + }, + "event": { + "properties": { + "agent_id_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "ingested": { + "format": "strict_date_time_no_millis||strict_date_optional_time||epoch_millis", + "type": "date" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "index_stats": { + "properties": { + "index": { + "path": "elasticsearch.index.name", + "type": "alias" + }, + "primaries": { + "properties": { + "docs": { + "properties": { + "count": { + "path": "elasticsearch.index.primaries.docs.count", + "type": "alias" + } + } + }, + "indexing": { + "properties": { + "index_time_in_millis": { + "path": "elasticsearch.index.primaries.indexing.index_time_in_millis", + "type": "alias" + }, + "index_total": { + "path": "elasticsearch.index.primaries.indexing.index_total", + "type": "alias" + }, + "throttle_time_in_millis": { + "path": "elasticsearch.index.primaries.indexing.throttle_time_in_millis", + "type": "alias" + } + } + }, + "merges": { + "properties": { + "total_size_in_bytes": { + "path": "elasticsearch.index.primaries.merges.total_size_in_bytes", + "type": "alias" + } + } + }, + "refresh": { + "properties": { + "total_time_in_millis": { + "path": "elasticsearch.index.primaries.refresh.total_time_in_millis", + "type": "alias" + } + } + }, + "segments": { + "properties": { + "count": { + "path": "elasticsearch.index.primaries.segments.count", + "type": "alias" + } + } + }, + "store": { + "properties": { + "size_in_bytes": { + "path": "elasticsearch.index.primaries.store.size_in_bytes", + "type": "alias" + } + } + } + } + }, + "total": { + "properties": { + "fielddata": { + "properties": { + "memory_size_in_bytes": { + "path": "elasticsearch.index.total.fielddata.memory_size_in_bytes", + "type": "alias" + } + } + }, + "indexing": { + "properties": { + "index_time_in_millis": { + "path": "elasticsearch.index.total.indexing.index_time_in_millis", + "type": "alias" + }, + "index_total": { + "path": "elasticsearch.index.total.indexing.index_total", + "type": "alias" + }, + "throttle_time_in_millis": { + "path": "elasticsearch.index.total.indexing.throttle_time_in_millis", + "type": "alias" + } + } + }, + "merges": { + "properties": { + "total_size_in_bytes": { + "path": "elasticsearch.index.total.merges.total_size_in_bytes", + "type": "alias" + } + } + }, + "query_cache": { + "properties": { + "memory_size_in_bytes": { + "path": "elasticsearch.index.total.query_cache.memory_size_in_bytes", + "type": "alias" + } + } + }, + "refresh": { + "properties": { + "total_time_in_millis": { + "path": "elasticsearch.index.total.refresh.total_time_in_millis", + "type": "alias" + } + } + }, + "request_cache": { + "properties": { + "memory_size_in_bytes": { + "path": "elasticsearch.index.total.request_cache.memory_size_in_bytes", + "type": "alias" + } + } + }, + "search": { + "properties": { + "query_time_in_millis": { + "path": "elasticsearch.index.total.search.query_time_in_millis", + "type": "alias" + }, + "query_total": { + "path": "elasticsearch.index.total.search.query_total", + "type": "alias" + } + } + }, + "segments": { + "properties": { + "count": { + "path": "elasticsearch.index.total.segments.count", + "type": "alias" + }, + "doc_values_memory_in_bytes": { + "path": "elasticsearch.index.total.segments.doc_values_memory_in_bytes", + "type": "alias" + }, + "fixed_bit_set_memory_in_bytes": { + "path": "elasticsearch.index.total.segments.fixed_bit_set_memory_in_bytes", + "type": "alias" + }, + "index_writer_memory_in_bytes": { + "path": "elasticsearch.index.total.segments.index_writer_memory_in_bytes", + "type": "alias" + }, + "memory_in_bytes": { + "path": "elasticsearch.index.total.segments.memory_in_bytes", + "type": "alias" + }, + "norms_memory_in_bytes": { + "path": "elasticsearch.index.total.segments.norms_memory_in_bytes", + "type": "alias" + }, + "points_memory_in_bytes": { + "path": "elasticsearch.index.total.segments.points_memory_in_bytes", + "type": "alias" + }, + "stored_fields_memory_in_bytes": { + "path": "elasticsearch.index.total.segments.stored_fields_memory_in_bytes", + "type": "alias" + }, + "term_vectors_memory_in_bytes": { + "path": "elasticsearch.index.total.segments.term_vectors_memory_in_bytes", + "type": "alias" + }, + "terms_memory_in_bytes": { + "path": "elasticsearch.index.total.segments.terms_memory_in_bytes", + "type": "alias" + }, + "version_map_memory_in_bytes": { + "path": "elasticsearch.index.total.segments.version_map_memory_in_bytes", + "type": "alias" + } + } + }, + "store": { + "properties": { + "size_in_bytes": { + "path": "elasticsearch.index.total.store.size_in_bytes", + "type": "alias" + } + } + } + } + } + } + }, + "service": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "source_node": { + "properties": { + "name": { + "path": "elasticsearch.node.name", + "type": "alias" + }, + "uuid": { + "path": "elasticsearch.node.id", + "type": "alias" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "settings": { + "index": { + "codec": "best_compression", + "lifecycle": { + "name": "metrics" + }, + "mapping": { + "total_fields": { + "limit": "10000" + } + }, + "query": { + "default_field": [ + "ecs.version", + "event.dataset", + "event.module", + "host.name", + "service.address", + "service.type", + "service.name", + "error.message", + "elasticsearch.index.uuid", + "elasticsearch.index.status", + "elasticsearch.index.name", + "elasticsearch.cluster.name", + "elasticsearch.cluster.id", + "elasticsearch.cluster.state.id", + "elasticsearch.node.id", + "elasticsearch.node.name" + ] + } + } + } + } + } + } +} + +{ + "type": "data_stream", + "value": { + "data_stream": "metrics-elasticsearch.stack_monitoring.index_recovery-default", + "template": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "elasticsearch" + } + }, + "data_stream": { + "allow_custom_routing": false, + "hidden": false + }, + "index_patterns": [ + "metrics-elasticsearch.stack_monitoring.index_recovery-*" + ], + "name": "metrics-elasticsearch.stack_monitoring.index_recovery", + "priority": 200, + "template": { + "mappings": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "elasticsearch" + } + }, + "date_detection": false, + "dynamic": false, + "dynamic_templates": [ + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "cluster_uuid": { + "path": "elasticsearch.cluster.id", + "type": "alias" + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "elasticsearch": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "state": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "index": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "recovery": { + "properties": { + "id": { + "type": "long" + }, + "index": { + "properties": { + "files": { + "properties": { + "percent": { + "ignore_above": 1024, + "type": "keyword" + }, + "recovered": { + "type": "long" + }, + "reused": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "size": { + "properties": { + "recovered_in_bytes": { + "type": "long" + }, + "reused_in_bytes": { + "type": "long" + }, + "total_in_bytes": { + "type": "long" + } + } + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "primary": { + "type": "boolean" + }, + "source": { + "properties": { + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "transport_address": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "stage": { + "ignore_above": 1024, + "type": "keyword" + }, + "start_time": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "stop_time": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "target": { + "properties": { + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "transport_address": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "total_time": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "translog": { + "properties": { + "percent": { + "ignore_above": 1024, + "type": "keyword" + }, + "total": { + "type": "long" + }, + "total_on_start": { + "type": "long" + } + } + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "verify_index": { + "properties": { + "check_index_time": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "total_time": { + "properties": { + "ms": { + "type": "long" + } + } + } + } + } + } + } + } + }, + "node": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "master": { + "type": "boolean" + }, + "mlockall": { + "type": "boolean" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "error": { + "properties": { + "message": { + "type": "match_only_text" + } + } + }, + "event": { + "properties": { + "agent_id_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "ingested": { + "format": "strict_date_time_no_millis||strict_date_optional_time||epoch_millis", + "type": "date" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "index_recovery": { + "properties": { + "shards": { + "properties": { + "start_time_in_millis": { + "path": "elasticsearch.index.recovery.start_time.ms", + "type": "alias" + }, + "stop_time_in_millis": { + "path": "elasticsearch.index.recovery.stop_time.ms", + "type": "alias" + } + } + } + } + }, + "service": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "source_node": { + "properties": { + "name": { + "path": "elasticsearch.node.name", + "type": "alias" + }, + "uuid": { + "path": "elasticsearch.node.id", + "type": "alias" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "settings": { + "index": { + "codec": "best_compression", + "lifecycle": { + "name": "metrics" + }, + "mapping": { + "total_fields": { + "limit": "10000" + } + }, + "query": { + "default_field": [ + "ecs.version", + "event.dataset", + "event.module", + "host.name", + "service.address", + "service.type", + "service.name", + "error.message", + "elasticsearch.index.name", + "elasticsearch.index.recovery.index.files.percent", + "elasticsearch.index.recovery.name", + "elasticsearch.index.recovery.type", + "elasticsearch.index.recovery.stage", + "elasticsearch.index.recovery.translog.percent", + "elasticsearch.index.recovery.target.transport_address", + "elasticsearch.index.recovery.target.id", + "elasticsearch.index.recovery.target.host", + "elasticsearch.index.recovery.target.name", + "elasticsearch.index.recovery.source.transport_address", + "elasticsearch.index.recovery.source.id", + "elasticsearch.index.recovery.source.host", + "elasticsearch.index.recovery.source.name", + "elasticsearch.cluster.name", + "elasticsearch.cluster.id", + "elasticsearch.cluster.state.id", + "elasticsearch.node.id", + "elasticsearch.node.name" + ] + } + } + } + } + } + } +} + +{ + "type": "data_stream", + "value": { + "data_stream": "metrics-elasticsearch.stack_monitoring.index_summary-default", + "template": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "elasticsearch" + } + }, + "data_stream": { + "allow_custom_routing": false, + "hidden": false + }, + "index_patterns": [ + "metrics-elasticsearch.stack_monitoring.index_summary-*" + ], + "name": "metrics-elasticsearch.stack_monitoring.index_summary", + "priority": 200, + "template": { + "mappings": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "elasticsearch" + } + }, + "date_detection": false, + "dynamic": false, + "dynamic_templates": [ + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "cluster_uuid": { + "path": "elasticsearch.cluster.id", + "type": "alias" + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "elasticsearch": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "state": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "index": { + "properties": { + "summary": { + "properties": { + "primaries": { + "properties": { + "bulk": { + "properties": { + "operations": { + "properties": { + "count": { + "type": "long" + } + } + }, + "size": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "time": { + "properties": { + "avg": { + "properties": { + "bytes": { + "type": "long" + }, + "ms": { + "type": "long" + } + } + }, + "count": { + "properties": { + "ms": { + "type": "long" + } + } + } + } + } + } + }, + "docs": { + "properties": { + "count": { + "type": "long" + }, + "deleted": { + "type": "long" + } + } + }, + "indexing": { + "properties": { + "index": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "ms": { + "type": "long" + } + } + } + } + } + } + }, + "search": { + "properties": { + "query": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "ms": { + "type": "long" + } + } + } + } + } + } + }, + "segments": { + "properties": { + "count": { + "type": "long" + }, + "memory": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "store": { + "properties": { + "size": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + } + } + }, + "total": { + "properties": { + "bulk": { + "properties": { + "operations": { + "properties": { + "count": { + "type": "long" + } + } + }, + "size": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "time": { + "properties": { + "avg": { + "properties": { + "bytes": { + "type": "long" + }, + "ms": { + "type": "long" + } + } + } + } + } + } + }, + "docs": { + "properties": { + "count": { + "type": "long" + }, + "deleted": { + "type": "long" + } + } + }, + "indexing": { + "properties": { + "index": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "ms": { + "type": "long" + } + } + } + } + }, + "is_throttled": { + "type": "boolean" + }, + "throttle_time": { + "properties": { + "ms": { + "type": "long" + } + } + } + } + }, + "search": { + "properties": { + "query": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "ms": { + "type": "long" + } + } + } + } + } + } + }, + "segments": { + "properties": { + "count": { + "type": "long" + }, + "memory": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "store": { + "properties": { + "size": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + } + } + } + } + } + } + }, + "node": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "master": { + "type": "boolean" + }, + "mlockall": { + "type": "boolean" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "error": { + "properties": { + "message": { + "type": "match_only_text" + } + } + }, + "event": { + "properties": { + "agent_id_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "ingested": { + "format": "strict_date_time_no_millis||strict_date_optional_time||epoch_millis", + "type": "date" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "indices_stats": { + "properties": { + "_all": { + "properties": { + "primaries": { + "properties": { + "indexing": { + "properties": { + "index_time_in_millis": { + "path": "elasticsearch.index.summary.primaries.indexing.index.time.ms", + "type": "alias" + }, + "index_total": { + "path": "elasticsearch.index.summary.primaries.indexing.index.count", + "type": "alias" + } + } + } + } + }, + "total": { + "properties": { + "indexing": { + "properties": { + "index_total": { + "path": "elasticsearch.index.summary.total.indexing.index.count", + "type": "alias" + } + } + }, + "search": { + "properties": { + "query_time_in_millis": { + "path": "elasticsearch.index.summary.total.search.query.time.ms", + "type": "alias" + }, + "query_total": { + "path": "elasticsearch.index.summary.total.search.query.count", + "type": "alias" + } + } + } + } + } + } + } + } + }, + "service": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "source_node": { + "properties": { + "name": { + "path": "elasticsearch.node.name", + "type": "alias" + }, + "uuid": { + "path": "elasticsearch.node.id", + "type": "alias" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "settings": { + "index": { + "codec": "best_compression", + "lifecycle": { + "name": "metrics" + }, + "mapping": { + "total_fields": { + "limit": "10000" + } + }, + "query": { + "default_field": [ + "ecs.version", + "event.dataset", + "event.module", + "host.name", + "service.address", + "service.type", + "service.name", + "error.message", + "elasticsearch.cluster.name", + "elasticsearch.cluster.id", + "elasticsearch.cluster.state.id", + "elasticsearch.node.id", + "elasticsearch.node.name" + ] + } + } + } + } + } + } +} + +{ + "type": "data_stream", + "value": { + "data_stream": "metrics-elasticsearch.stack_monitoring.node-default", + "template": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "elasticsearch" + } + }, + "data_stream": { + "allow_custom_routing": false, + "hidden": false + }, + "index_patterns": [ + "metrics-elasticsearch.stack_monitoring.node-*" + ], + "name": "metrics-elasticsearch.stack_monitoring.node", + "priority": 200, + "template": { + "mappings": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "elasticsearch" + } + }, + "date_detection": false, + "dynamic": false, + "dynamic_templates": [ + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "cluster_uuid": { + "path": "elasticsearch.cluster.id", + "type": "alias" + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "elasticsearch": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "state": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "node": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "jvm": { + "properties": { + "memory": { + "properties": { + "heap": { + "properties": { + "init": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "max": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "nonheap": { + "properties": { + "init": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "max": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + } + } + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "master": { + "type": "boolean" + }, + "mlockall": { + "type": "boolean" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "process": { + "properties": { + "mlockall": { + "type": "boolean" + } + } + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "error": { + "properties": { + "message": { + "type": "match_only_text" + } + } + }, + "event": { + "properties": { + "agent_id_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "ingested": { + "format": "strict_date_time_no_millis||strict_date_optional_time||epoch_millis", + "type": "date" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "service": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "source_node": { + "properties": { + "name": { + "path": "elasticsearch.node.name", + "type": "alias" + }, + "uuid": { + "path": "elasticsearch.node.id", + "type": "alias" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "settings": { + "index": { + "codec": "best_compression", + "lifecycle": { + "name": "metrics" + }, + "mapping": { + "total_fields": { + "limit": "10000" + } + }, + "query": { + "default_field": [ + "ecs.version", + "event.dataset", + "event.module", + "host.name", + "service.address", + "service.type", + "service.name", + "error.message", + "elasticsearch.node.version", + "elasticsearch.node.jvm.version", + "elasticsearch.node.id", + "elasticsearch.node.name", + "elasticsearch.cluster.name", + "elasticsearch.cluster.id", + "elasticsearch.cluster.state.id" + ] + } + } + } + } + } + } +} + +{ + "type": "data_stream", + "value": { + "data_stream": "metrics-elasticsearch.stack_monitoring.node_stats-default", + "template": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "elasticsearch" + } + }, + "data_stream": { + "allow_custom_routing": false, + "hidden": false + }, + "index_patterns": [ + "metrics-elasticsearch.stack_monitoring.node_stats-*" + ], + "name": "metrics-elasticsearch.stack_monitoring.node_stats", + "priority": 200, + "template": { + "mappings": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "elasticsearch" + } + }, + "date_detection": false, + "dynamic": false, + "dynamic_templates": [ + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "cluster_uuid": { + "path": "elasticsearch.cluster.id", + "type": "alias" + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "elasticsearch": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "state": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "node": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "master": { + "type": "boolean" + }, + "mlockall": { + "type": "boolean" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "stats": { + "properties": { + "fs": { + "properties": { + "io_stats": { + "properties": { + "total": { + "properties": { + "operations": { + "properties": { + "count": { + "type": "long" + } + } + }, + "read": { + "properties": { + "operations": { + "properties": { + "count": { + "type": "long" + } + } + } + } + }, + "write": { + "properties": { + "operations": { + "properties": { + "count": { + "type": "long" + } + } + } + } + } + } + } + } + }, + "summary": { + "properties": { + "available": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "free": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "total": { + "properties": { + "available_in_bytes": { + "type": "long" + }, + "total_in_bytes": { + "type": "long" + } + } + } + } + }, + "indexing_pressure": { + "properties": { + "memory": { + "properties": { + "current": { + "properties": { + "all": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "combined_coordinating_and_primary": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "coordinating": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "primary": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "replica": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "limit_in_bytes": { + "type": "long" + }, + "total": { + "properties": { + "all": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "combined_coordinating_and_primary": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "coordinating": { + "properties": { + "bytes": { + "type": "long" + }, + "rejections": { + "type": "long" + } + } + }, + "primary": { + "properties": { + "bytes": { + "type": "long" + }, + "rejections": { + "type": "long" + } + } + }, + "replica": { + "properties": { + "bytes": { + "type": "long" + }, + "rejections": { + "type": "long" + } + } + } + } + } + } + } + } + }, + "indices": { + "properties": { + "bulk": { + "properties": { + "avg_size": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "avg_time": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "operations": { + "properties": { + "total": { + "properties": { + "count": { + "type": "long" + } + } + } + } + }, + "total_size": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "total_time": { + "properties": { + "ms": { + "type": "long" + } + } + } + } + }, + "docs": { + "properties": { + "count": { + "type": "long" + }, + "deleted": { + "type": "long" + } + } + }, + "fielddata": { + "properties": { + "memory": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "indexing": { + "properties": { + "index_time": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "index_total": { + "properties": { + "count": { + "type": "long" + } + } + }, + "throttle_time": { + "properties": { + "ms": { + "type": "long" + } + } + } + } + }, + "query_cache": { + "properties": { + "memory": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "request_cache": { + "properties": { + "memory": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "search": { + "properties": { + "query_time": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "query_total": { + "properties": { + "count": { + "type": "long" + } + } + } + } + }, + "segments": { + "properties": { + "count": { + "type": "long" + }, + "doc_values": { + "properties": { + "memory": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "fixed_bit_set": { + "properties": { + "memory": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "index_writer": { + "properties": { + "memory": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "memory": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "norms": { + "properties": { + "memory": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "points": { + "properties": { + "memory": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "stored_fields": { + "properties": { + "memory": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "term_vectors": { + "properties": { + "memory": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "terms": { + "properties": { + "memory": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "version_map": { + "properties": { + "memory": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + } + } + }, + "store": { + "properties": { + "size": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + } + } + }, + "ingest": { + "properties": { + "total": { + "properties": { + "count": { + "type": "long" + }, + "current": { + "type": "long" + }, + "failed": { + "type": "long" + }, + "time_in_millis": { + "type": "long" + } + } + } + } + }, + "jvm": { + "properties": { + "gc": { + "properties": { + "collectors": { + "properties": { + "old": { + "properties": { + "collection": { + "properties": { + "count": { + "type": "long" + }, + "ms": { + "type": "long" + } + } + } + } + }, + "young": { + "properties": { + "collection": { + "properties": { + "count": { + "type": "long" + }, + "ms": { + "type": "long" + } + } + } + } + } + } + } + } + }, + "mem": { + "properties": { + "heap": { + "properties": { + "max": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" + }, + "pct": { + "type": "double" + } + } + } + } + }, + "pools": { + "properties": { + "old": { + "properties": { + "max": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "peak": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "peak_max": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "survivor": { + "properties": { + "max": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "peak": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "peak_max": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "young": { + "properties": { + "max": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "peak": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "peak_max": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + } + } + } + } + } + } + }, + "os": { + "properties": { + "cgroup": { + "properties": { + "cpu": { + "properties": { + "cfs": { + "properties": { + "quota": { + "properties": { + "us": { + "type": "long" + } + } + } + } + }, + "stat": { + "properties": { + "elapsed_periods": { + "properties": { + "count": { + "type": "long" + } + } + }, + "time_throttled": { + "properties": { + "ns": { + "type": "long" + } + } + }, + "times_throttled": { + "properties": { + "count": { + "type": "long" + } + } + } + } + } + } + }, + "cpuacct": { + "properties": { + "usage": { + "properties": { + "ns": { + "type": "long" + } + } + } + } + }, + "memory": { + "properties": { + "control_group": { + "ignore_above": 1024, + "type": "keyword" + }, + "limit": { + "properties": { + "bytes": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "usage": { + "properties": { + "bytes": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + } + } + }, + "cpu": { + "properties": { + "load_avg": { + "properties": { + "1m": { + "type": "half_float" + } + } + } + } + } + } + }, + "process": { + "properties": { + "cpu": { + "properties": { + "pct": { + "type": "double" + } + } + } + } + }, + "thread_pool": { + "properties": { + "bulk": { + "properties": { + "queue": { + "properties": { + "count": { + "type": "long" + } + } + }, + "rejected": { + "properties": { + "count": { + "type": "long" + } + } + } + } + }, + "get": { + "properties": { + "queue": { + "properties": { + "count": { + "type": "long" + } + } + }, + "rejected": { + "properties": { + "count": { + "type": "long" + } + } + } + } + }, + "index": { + "properties": { + "queue": { + "properties": { + "count": { + "type": "long" + } + } + }, + "rejected": { + "properties": { + "count": { + "type": "long" + } + } + } + } + }, + "search": { + "properties": { + "queue": { + "properties": { + "count": { + "type": "long" + } + } + }, + "rejected": { + "properties": { + "count": { + "type": "long" + } + } + } + } + }, + "write": { + "properties": { + "queue": { + "properties": { + "count": { + "type": "long" + } + } + }, + "rejected": { + "properties": { + "count": { + "type": "long" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "error": { + "properties": { + "message": { + "type": "match_only_text" + } + } + }, + "event": { + "properties": { + "agent_id_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "ingested": { + "format": "strict_date_time_no_millis||strict_date_optional_time||epoch_millis", + "type": "date" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "node_stats": { + "properties": { + "fs": { + "properties": { + "io_stats": { + "properties": { + "total": { + "properties": { + "operations": { + "path": "elasticsearch.node.stats.fs.io_stats.total.operations.count", + "type": "alias" + }, + "read_operations": { + "path": "elasticsearch.node.stats.fs.io_stats.total.read.operations.count", + "type": "alias" + }, + "write_operations": { + "path": "elasticsearch.node.stats.fs.io_stats.total.write.operations.count", + "type": "alias" + } + } + } + } + }, + "summary": { + "properties": { + "available": { + "properties": { + "bytes": { + "path": "elasticsearch.node.stats.fs.summary.available.bytes", + "type": "alias" + } + } + }, + "total": { + "properties": { + "bytes": { + "path": "elasticsearch.node.stats.fs.summary.total.bytes", + "type": "alias" + } + } + } + } + }, + "total": { + "properties": { + "available_in_bytes": { + "path": "elasticsearch.node.stats.fs.summary.available.bytes", + "type": "alias" + }, + "total_in_bytes": { + "path": "elasticsearch.node.stats.fs.summary.total.bytes", + "type": "alias" + } + } + } + } + }, + "indices": { + "properties": { + "docs": { + "properties": { + "count": { + "path": "elasticsearch.node.stats.indices.docs.count", + "type": "alias" + } + } + }, + "fielddata": { + "properties": { + "memory_size_in_bytes": { + "path": "elasticsearch.node.stats.indices.fielddata.memory.bytes", + "type": "alias" + } + } + }, + "indexing": { + "properties": { + "index_time_in_millis": { + "path": "elasticsearch.node.stats.indices.indexing.index_time.ms", + "type": "alias" + }, + "index_total": { + "path": "elasticsearch.node.stats.indices.indexing.index_total.count", + "type": "alias" + }, + "throttle_time_in_millis": { + "path": "elasticsearch.node.stats.indices.indexing.throttle_time.ms", + "type": "alias" + } + } + }, + "query_cache": { + "properties": { + "memory_size_in_bytes": { + "path": "elasticsearch.node.stats.indices.query_cache.memory.bytes", + "type": "alias" + } + } + }, + "request_cache": { + "properties": { + "memory_size_in_bytes": { + "path": "elasticsearch.node.stats.indices.request_cache.memory.bytes", + "type": "alias" + } + } + }, + "search": { + "properties": { + "query_time_in_millis": { + "path": "elasticsearch.node.stats.indices.search.query_time.ms", + "type": "alias" + }, + "query_total": { + "path": "elasticsearch.node.stats.indices.search.query_total.count", + "type": "alias" + } + } + }, + "segments": { + "properties": { + "count": { + "path": "elasticsearch.node.stats.indices.segments.count", + "type": "alias" + }, + "doc_values_memory_in_bytes": { + "path": "elasticsearch.node.stats.indices.segments.doc_values.memory.bytes", + "type": "alias" + }, + "fixed_bit_set_memory_in_bytes": { + "path": "elasticsearch.node.stats.indices.segments.fixed_bit_set.memory.bytes", + "type": "alias" + }, + "index_writer_memory_in_bytes": { + "path": "elasticsearch.node.stats.indices.segments.index_writer.memory.bytes", + "type": "alias" + }, + "memory_in_bytes": { + "path": "elasticsearch.node.stats.indices.segments.memory.bytes", + "type": "alias" + }, + "norms_memory_in_bytes": { + "path": "elasticsearch.node.stats.indices.segments.norms.memory.bytes", + "type": "alias" + }, + "points_memory_in_bytes": { + "path": "elasticsearch.node.stats.indices.segments.points.memory.bytes", + "type": "alias" + }, + "stored_fields_memory_in_bytes": { + "path": "elasticsearch.node.stats.indices.segments.stored_fields.memory.bytes", + "type": "alias" + }, + "term_vectors_memory_in_bytes": { + "path": "elasticsearch.node.stats.indices.segments.term_vectors.memory.bytes", + "type": "alias" + }, + "terms_memory_in_bytes": { + "path": "elasticsearch.node.stats.indices.segments.terms.memory.bytes", + "type": "alias" + }, + "version_map_memory_in_bytes": { + "path": "elasticsearch.node.stats.indices.segments.version_map.memory.bytes", + "type": "alias" + } + } + }, + "store": { + "properties": { + "size": { + "properties": { + "bytes": { + "path": "elasticsearch.node.stats.indices.store.size.bytes", + "type": "alias" + } + } + }, + "size_in_bytes": { + "path": "elasticsearch.node.stats.indices.store.size.bytes", + "type": "alias" + } + } + } + } + }, + "jvm": { + "properties": { + "gc": { + "properties": { + "collectors": { + "properties": { + "old": { + "properties": { + "collection_count": { + "path": "elasticsearch.node.stats.jvm.gc.collectors.old.collection.count", + "type": "alias" + }, + "collection_time_in_millis": { + "path": "elasticsearch.node.stats.jvm.gc.collectors.old.collection.ms", + "type": "alias" + } + } + }, + "young": { + "properties": { + "collection_count": { + "path": "elasticsearch.node.stats.jvm.gc.collectors.young.collection.count", + "type": "alias" + }, + "collection_time_in_millis": { + "path": "elasticsearch.node.stats.jvm.gc.collectors.young.collection.ms", + "type": "alias" + } + } + } + } + } + } + }, + "mem": { + "properties": { + "heap_max_in_bytes": { + "path": "elasticsearch.node.stats.jvm.mem.heap.max.bytes", + "type": "alias" + }, + "heap_used_in_bytes": { + "path": "elasticsearch.node.stats.jvm.mem.heap.used.bytes", + "type": "alias" + }, + "heap_used_percent": { + "path": "elasticsearch.node.stats.jvm.mem.heap.used.pct", + "type": "alias" + } + } + } + } + }, + "node_id": { + "path": "elasticsearch.node.id", + "type": "alias" + }, + "os": { + "properties": { + "cgroup": { + "properties": { + "cpu": { + "properties": { + "cfs_quota_micros": { + "path": "elasticsearch.node.stats.os.cgroup.cpu.cfs.quota.us", + "type": "alias" + }, + "stat": { + "properties": { + "number_of_elapsed_periods": { + "path": "elasticsearch.node.stats.os.cgroup.cpu.stat.elapsed_periods.count", + "type": "alias" + }, + "number_of_times_throttled": { + "path": "elasticsearch.node.stats.os.cgroup.cpu.stat.times_throttled.count", + "type": "alias" + }, + "time_throttled_nanos": { + "path": "elasticsearch.node.stats.os.cgroup.cpu.stat.time_throttled.ns", + "type": "alias" + } + } + } + } + }, + "cpuacct": { + "properties": { + "usage_nanos": { + "path": "elasticsearch.node.stats.os.cgroup.cpuacct.usage.ns", + "type": "alias" + } + } + }, + "memory": { + "properties": { + "control_group": { + "path": "elasticsearch.node.stats.os.cgroup.memory.control_group", + "type": "alias" + }, + "limit_in_bytes": { + "path": "elasticsearch.node.stats.os.cgroup.memory.limit.bytes", + "type": "alias" + }, + "usage_in_bytes": { + "path": "elasticsearch.node.stats.os.cgroup.memory.usage.bytes", + "type": "alias" + } + } + } + } + }, + "cpu": { + "properties": { + "load_average": { + "properties": { + "1m": { + "path": "elasticsearch.node.stats.os.cpu.load_avg.1m", + "type": "alias" + } + } + } + } + } + } + }, + "process": { + "properties": { + "cpu": { + "properties": { + "percent": { + "path": "elasticsearch.node.stats.process.cpu.pct", + "type": "alias" + } + } + } + } + }, + "thread_pool": { + "properties": { + "bulk": { + "properties": { + "queue": { + "path": "elasticsearch.node.stats.thread_pool.bulk.queue.count", + "type": "alias" + }, + "rejected": { + "path": "elasticsearch.node.stats.thread_pool.bulk.rejected.count", + "type": "alias" + } + } + }, + "get": { + "properties": { + "queue": { + "path": "elasticsearch.node.stats.thread_pool.get.queue.count", + "type": "alias" + }, + "rejected": { + "path": "elasticsearch.node.stats.thread_pool.get.rejected.count", + "type": "alias" + } + } + }, + "index": { + "properties": { + "queue": { + "path": "elasticsearch.node.stats.thread_pool.index.queue.count", + "type": "alias" + }, + "rejected": { + "path": "elasticsearch.node.stats.thread_pool.index.rejected.count", + "type": "alias" + } + } + }, + "search": { + "properties": { + "queue": { + "path": "elasticsearch.node.stats.thread_pool.search.queue.count", + "type": "alias" + }, + "rejected": { + "path": "elasticsearch.node.stats.thread_pool.search.rejected.count", + "type": "alias" + } + } + }, + "write": { + "properties": { + "queue": { + "path": "elasticsearch.node.stats.thread_pool.write.queue.count", + "type": "alias" + }, + "rejected": { + "path": "elasticsearch.node.stats.thread_pool.write.rejected.count", + "type": "alias" + } + } + } + } + } + } + }, + "service": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "source_node": { + "properties": { + "name": { + "path": "elasticsearch.node.name", + "type": "alias" + }, + "uuid": { + "path": "elasticsearch.node.id", + "type": "alias" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "settings": { + "index": { + "codec": "best_compression", + "lifecycle": { + "name": "metrics" + }, + "mapping": { + "total_fields": { + "limit": "10000" + } + }, + "query": { + "default_field": [ + "ecs.version", + "event.dataset", + "event.module", + "host.name", + "service.address", + "service.type", + "service.name", + "error.message", + "elasticsearch.node.stats.os.cgroup.memory.control_group", + "elasticsearch.node.stats.os.cgroup.memory.limit.bytes", + "elasticsearch.node.stats.os.cgroup.memory.usage.bytes", + "elasticsearch.node.id", + "elasticsearch.node.name", + "elasticsearch.cluster.name", + "elasticsearch.cluster.id", + "elasticsearch.cluster.state.id" + ] + } + } + } + } + } + } +} + +{ + "type": "data_stream", + "value": { + "data_stream": "metrics-elasticsearch.stack_monitoring.shard-default", + "template": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "elasticsearch" + } + }, + "data_stream": { + "allow_custom_routing": false, + "hidden": false + }, + "index_patterns": [ + "metrics-elasticsearch.stack_monitoring.shard-*" + ], + "name": "metrics-elasticsearch.stack_monitoring.shard", + "priority": 200, + "template": { + "mappings": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "elasticsearch" + } + }, + "date_detection": false, + "dynamic": false, + "dynamic_templates": [ + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "cluster_uuid": { + "path": "elasticsearch.cluster.id", + "type": "alias" + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "elasticsearch": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "state": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "stats": { + "properties": { + "state": { + "properties": { + "state_uuid": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + } + } + }, + "index": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "node": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "master": { + "type": "boolean" + }, + "mlockall": { + "type": "boolean" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "shard": { + "properties": { + "number": { + "type": "long" + }, + "primary": { + "type": "boolean" + }, + "relocating_node": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "source_node": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "uuid": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "error": { + "properties": { + "message": { + "type": "match_only_text" + } + } + }, + "event": { + "properties": { + "agent_id_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "ingested": { + "format": "strict_date_time_no_millis||strict_date_optional_time||epoch_millis", + "type": "date" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "service": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "shard": { + "properties": { + "index": { + "path": "elasticsearch.index.name", + "type": "alias" + }, + "node": { + "path": "elasticsearch.node.id", + "type": "alias" + }, + "primary": { + "path": "elasticsearch.shard.primary", + "type": "alias" + }, + "shard": { + "path": "elasticsearch.shard.number", + "type": "alias" + }, + "state": { + "path": "elasticsearch.shard.state", + "type": "alias" + } + } + }, + "source_node": { + "properties": { + "name": { + "path": "elasticsearch.node.name", + "type": "alias" + }, + "uuid": { + "path": "elasticsearch.node.id", + "type": "alias" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "settings": { + "index": { + "codec": "best_compression", + "lifecycle": { + "name": "metrics" + }, + "mapping": { + "total_fields": { + "limit": "10000" + } + }, + "query": { + "default_field": [ + "ecs.version", + "event.dataset", + "event.module", + "host.name", + "service.address", + "service.type", + "service.name", + "error.message", + "elasticsearch.shard.state", + "elasticsearch.shard.relocating_node.name", + "elasticsearch.shard.relocating_node.id", + "elasticsearch.shard.source_node.name", + "elasticsearch.shard.source_node.uuid", + "elasticsearch.index.name", + "elasticsearch.cluster.name", + "elasticsearch.cluster.id", + "elasticsearch.cluster.state.id", + "elasticsearch.cluster.stats.state.state_uuid", + "elasticsearch.node.id", + "elasticsearch.node.name" + ] + } + } + } + } + } + } +} + +{ + "type": "data_stream", + "value": { + "data_stream": "metrics-kibana.stack_monitoring.cluster_actions-default", + "template": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "kibana" + } + }, + "data_stream": { + "allow_custom_routing": false, + "hidden": false + }, + "index_patterns": [ + "metrics-kibana.stack_monitoring.cluster_actions-*" + ], + "name": "metrics-kibana.stack_monitoring.cluster_actions", + "priority": 200, + "template": { + "mappings": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "kibana" + } + }, + "date_detection": false, + "dynamic": false, + "dynamic_templates": [ + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "cluster_uuid": { + "path": "kibana.elasticsearch.cluster.id", + "type": "alias" + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "error": { + "properties": { + "message": { + "type": "match_only_text" + } + } + }, + "event": { + "properties": { + "agent_id_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "ingested": { + "format": "strict_date_time_no_millis||strict_date_optional_time||epoch_millis", + "type": "date" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "kibana": { + "properties": { + "cluster_actions": { + "properties": { + "overdue": { + "properties": { + "count": { + "type": "long" + }, + "delay": { + "properties": { + "p50": { + "type": "float" + }, + "p99": { + "type": "float" + } + } + } + } + } + } + }, + "elasticsearch": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + } + } + }, + "kibana_stats": { + "properties": { + "kibana": { + "properties": { + "uuid": { + "path": "service.id", + "type": "alias" + }, + "version": { + "path": "service.version", + "type": "alias" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "process": { + "properties": { + "pid": { + "type": "long" + } + } + }, + "service": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "settings": { + "index": { + "codec": "best_compression", + "lifecycle": { + "name": "metrics" + }, + "mapping": { + "total_fields": { + "limit": "10000" + } + }, + "query": { + "default_field": [ + "service.id", + "service.address", + "service.version", + "service.type", + "ecs.version", + "event.dataset", + "event.module", + "host.name", + "error.message", + "kibana.elasticsearch.cluster.id" + ] + } + } + } + } + } + } +} + +{ + "type": "data_stream", + "value": { + "data_stream": "metrics-kibana.stack_monitoring.cluster_rules-default", + "template": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "kibana" + } + }, + "data_stream": { + "allow_custom_routing": false, + "hidden": false + }, + "index_patterns": [ + "metrics-kibana.stack_monitoring.cluster_rules-*" + ], + "name": "metrics-kibana.stack_monitoring.cluster_rules", + "priority": 200, + "template": { + "mappings": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "kibana" + } + }, + "date_detection": false, + "dynamic": false, + "dynamic_templates": [ + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "cluster_uuid": { + "path": "kibana.elasticsearch.cluster.id", + "type": "alias" + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "error": { + "properties": { + "message": { + "type": "match_only_text" + } + } + }, + "event": { + "properties": { + "agent_id_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "ingested": { + "format": "strict_date_time_no_millis||strict_date_optional_time||epoch_millis", + "type": "date" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "kibana": { + "properties": { + "cluster_rules": { + "properties": { + "overdue": { + "properties": { + "count": { + "type": "long" + }, + "delay": { + "properties": { + "p50": { + "type": "float" + }, + "p99": { + "type": "float" + } + } + } + } + } + } + }, + "elasticsearch": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + } + } + }, + "kibana_stats": { + "properties": { + "kibana": { + "properties": { + "uuid": { + "path": "service.id", + "type": "alias" + }, + "version": { + "path": "service.version", + "type": "alias" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "process": { + "properties": { + "pid": { + "type": "long" + } + } + }, + "service": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "settings": { + "index": { + "codec": "best_compression", + "lifecycle": { + "name": "metrics" + }, + "mapping": { + "total_fields": { + "limit": "10000" + } + }, + "query": { + "default_field": [ + "service.id", + "service.address", + "service.version", + "service.type", + "ecs.version", + "event.dataset", + "event.module", + "host.name", + "error.message", + "kibana.elasticsearch.cluster.id" + ] + } + } + } + } + } + } +} + +{ + "type": "data_stream", + "value": { + "data_stream": "metrics-kibana.stack_monitoring.node_actions-default", + "template": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "kibana" + } + }, + "data_stream": { + "allow_custom_routing": false, + "hidden": false + }, + "index_patterns": [ + "metrics-kibana.stack_monitoring.node_actions-*" + ], + "name": "metrics-kibana.stack_monitoring.node_actions", + "priority": 200, + "template": { + "mappings": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "kibana" + } + }, + "date_detection": false, + "dynamic": false, + "dynamic_templates": [ + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "cluster_uuid": { + "path": "kibana.elasticsearch.cluster.id", + "type": "alias" + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "error": { + "properties": { + "message": { + "type": "match_only_text" + } + } + }, + "event": { + "properties": { + "agent_id_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "ingested": { + "format": "strict_date_time_no_millis||strict_date_optional_time||epoch_millis", + "type": "date" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "kibana": { + "properties": { + "elasticsearch": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "node_actions": { + "properties": { + "executions": { + "type": "long" + }, + "failures": { + "type": "long" + }, + "timeouts": { + "type": "long" + } + } + } + } + }, + "kibana_stats": { + "properties": { + "kibana": { + "properties": { + "uuid": { + "path": "service.id", + "type": "alias" + }, + "version": { + "path": "service.version", + "type": "alias" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "process": { + "properties": { + "pid": { + "type": "long" + } + } + }, + "service": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "settings": { + "index": { + "codec": "best_compression", + "lifecycle": { + "name": "metrics" + }, + "mapping": { + "total_fields": { + "limit": "10000" + } + }, + "query": { + "default_field": [ + "service.id", + "service.address", + "service.version", + "service.type", + "ecs.version", + "event.dataset", + "event.module", + "host.name", + "error.message", + "kibana.elasticsearch.cluster.id" + ] + } + } + } + } + } + } +} + +{ + "type": "data_stream", + "value": { + "data_stream": "metrics-kibana.stack_monitoring.node_rules-default", + "template": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "kibana" + } + }, + "data_stream": { + "allow_custom_routing": false, + "hidden": false + }, + "index_patterns": [ + "metrics-kibana.stack_monitoring.node_rules-*" + ], + "name": "metrics-kibana.stack_monitoring.node_rules", + "priority": 200, + "template": { + "mappings": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "kibana" + } + }, + "date_detection": false, + "dynamic": false, + "dynamic_templates": [ + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "cluster_uuid": { + "path": "kibana.elasticsearch.cluster.id", + "type": "alias" + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "error": { + "properties": { + "message": { + "type": "match_only_text" + } + } + }, + "event": { + "properties": { + "agent_id_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "ingested": { + "format": "strict_date_time_no_millis||strict_date_optional_time||epoch_millis", + "type": "date" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "kibana": { + "properties": { + "elasticsearch": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "node_rules": { + "properties": { + "executions": { + "type": "long" + }, + "failures": { + "type": "long" + }, + "timeouts": { + "type": "long" + } + } + } + } + }, + "kibana_stats": { + "properties": { + "kibana": { + "properties": { + "uuid": { + "path": "service.id", + "type": "alias" + }, + "version": { + "path": "service.version", + "type": "alias" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "process": { + "properties": { + "pid": { + "type": "long" + } + } + }, + "service": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "settings": { + "index": { + "codec": "best_compression", + "lifecycle": { + "name": "metrics" + }, + "mapping": { + "total_fields": { + "limit": "10000" + } + }, + "query": { + "default_field": [ + "service.id", + "service.address", + "service.version", + "service.type", + "ecs.version", + "event.dataset", + "event.module", + "host.name", + "error.message", + "kibana.elasticsearch.cluster.id" + ] + } + } + } + } + } + } +} + +{ + "type": "data_stream", + "value": { + "data_stream": "metrics-kibana.stack_monitoring.stats-default", + "template": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "kibana" + } + }, + "data_stream": { + "allow_custom_routing": false, + "hidden": false + }, + "index_patterns": [ + "metrics-kibana.stack_monitoring.stats-*" + ], + "name": "metrics-kibana.stack_monitoring.stats", + "priority": 200, + "template": { + "mappings": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "kibana" + } + }, + "date_detection": false, + "dynamic": false, + "dynamic_templates": [ + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "cluster_uuid": { + "path": "kibana.elasticsearch.cluster.id", + "type": "alias" + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "error": { + "properties": { + "message": { + "type": "match_only_text" + } + } + }, + "event": { + "properties": { + "agent_id_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "ingested": { + "format": "strict_date_time_no_millis||strict_date_optional_time||epoch_millis", + "type": "date" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "kibana": { + "properties": { + "elasticsearch": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "stats": { + "properties": { + "concurrent_connections": { + "type": "long" + }, + "host": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "index": { + "ignore_above": 1024, + "type": "keyword" + }, + "kibana": { + "properties": { + "status": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "os": { + "properties": { + "distro": { + "ignore_above": 1024, + "type": "keyword" + }, + "distroRelease": { + "ignore_above": 1024, + "type": "keyword" + }, + "load": { + "properties": { + "15m": { + "type": "half_float" + }, + "1m": { + "type": "half_float" + }, + "5m": { + "type": "half_float" + } + } + }, + "memory": { + "properties": { + "free_in_bytes": { + "type": "long" + }, + "total_in_bytes": { + "type": "long" + }, + "used_in_bytes": { + "type": "long" + } + } + }, + "platform": { + "ignore_above": 1024, + "type": "keyword" + }, + "platformRelease": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "process": { + "properties": { + "event_loop_delay": { + "properties": { + "ms": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "memory": { + "properties": { + "heap": { + "properties": { + "size_limit": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "uptime": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "resident_set_size": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "uptime": { + "properties": { + "ms": { + "type": "long" + } + } + } + } + }, + "request": { + "properties": { + "disconnects": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "response_time": { + "properties": { + "avg": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "max": { + "properties": { + "ms": { + "type": "long" + } + } + } + } + }, + "snapshot": { + "type": "boolean" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "transport_address": { + "ignore_above": 1024, + "type": "keyword" + }, + "usage": { + "properties": { + "index": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + } + } + }, + "kibana_stats": { + "properties": { + "concurrent_connections": { + "path": "kibana.stats.concurrent_connections", + "type": "alias" + }, + "kibana": { + "properties": { + "response_time": { + "properties": { + "max": { + "path": "kibana.stats.response_time.max.ms", + "type": "alias" + } + } + }, + "status": { + "path": "kibana.stats.status", + "type": "alias" + }, + "uuid": { + "path": "service.id", + "type": "alias" + }, + "version": { + "path": "service.version", + "type": "alias" + } + } + }, + "os": { + "properties": { + "load": { + "properties": { + "15m": { + "path": "kibana.stats.os.load.15m", + "type": "alias" + }, + "1m": { + "path": "kibana.stats.os.load.1m", + "type": "alias" + }, + "5m": { + "path": "kibana.stats.os.load.5m", + "type": "alias" + } + } + }, + "memory": { + "properties": { + "free_in_bytes": { + "path": "kibana.stats.os.memory.free_in_bytes", + "type": "alias" + } + } + } + } + }, + "process": { + "properties": { + "event_loop_delay": { + "path": "kibana.stats.process.event_loop_delay.ms", + "type": "alias" + }, + "memory": { + "properties": { + "heap": { + "properties": { + "size_limit": { + "path": "kibana.stats.process.memory.heap.size_limit.bytes", + "type": "alias" + } + } + }, + "resident_set_size_in_bytes": { + "path": "kibana.stats.process.memory.resident_set_size.bytes", + "type": "alias" + } + } + }, + "uptime_in_millis": { + "path": "kibana.stats.process.uptime.ms", + "type": "alias" + } + } + }, + "requests": { + "properties": { + "disconnects": { + "path": "kibana.stats.request.disconnects", + "type": "alias" + }, + "total": { + "path": "kibana.stats.request.total", + "type": "alias" + } + } + }, + "response_times": { + "properties": { + "average": { + "path": "kibana.stats.response_time.avg.ms", + "type": "alias" + }, + "max": { + "path": "kibana.stats.response_time.max.ms", + "type": "alias" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "process": { + "properties": { + "pid": { + "type": "long" + } + } + }, + "service": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "settings": { + "index": { + "codec": "best_compression", + "lifecycle": { + "name": "metrics" + }, + "mapping": { + "total_fields": { + "limit": "10000" + } + }, + "query": { + "default_field": [ + "service.id", + "service.address", + "service.version", + "service.type", + "ecs.version", + "event.dataset", + "event.module", + "host.name", + "error.message", + "kibana.elasticsearch.cluster.id", + "kibana.stats.kibana.status", + "kibana.stats.usage.index", + "kibana.stats.name", + "kibana.stats.index", + "kibana.stats.host.name", + "kibana.stats.status", + "kibana.stats.transport_address", + "kibana.stats.os.distro", + "kibana.stats.os.distroRelease", + "kibana.stats.os.platform", + "kibana.stats.os.platformRelease" + ] + } + } + } + } + } + } +} + +{ + "type": "data_stream", + "value": { + "data_stream": "metrics-kibana.stack_monitoring.status-default", + "template": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "kibana" + } + }, + "data_stream": { + "allow_custom_routing": false, + "hidden": false + }, + "index_patterns": [ + "metrics-kibana.stack_monitoring.status-*" + ], + "name": "metrics-kibana.stack_monitoring.status", + "priority": 200, + "template": { + "mappings": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "kibana" + } + }, + "date_detection": false, + "dynamic": false, + "dynamic_templates": [ + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "error": { + "properties": { + "message": { + "type": "match_only_text" + } + } + }, + "event": { + "properties": { + "agent_id_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "ingested": { + "format": "strict_date_time_no_millis||strict_date_optional_time||epoch_millis", + "type": "date" + } + } + }, + "kibana": { + "properties": { + "status": { + "properties": { + "metrics": { + "properties": { + "concurrent_connections": { + "type": "long" + }, + "requests": { + "properties": { + "disconnects": { + "type": "long" + }, + "total": { + "type": "long" + } + } + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "status": { + "properties": { + "overall": { + "properties": { + "state": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + } + } + } + } + }, + "service": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "settings": { + "index": { + "codec": "best_compression", + "lifecycle": { + "name": "metrics" + }, + "mapping": { + "total_fields": { + "limit": "10000" + } + }, + "query": { + "default_field": [ + "service.id", + "service.name", + "service.version", + "service.type", + "service.address", + "ecs.version", + "error.message", + "kibana.status.name", + "kibana.status.status.overall.state" + ] + } + } + } + } + } + } +} + +{ + "type": "data_stream", + "value": { + "data_stream": "metrics-logstash.stack_monitoring.node-default", + "template": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "logstash" + } + }, + "data_stream": { + "allow_custom_routing": false, + "hidden": false + }, + "index_patterns": [ + "metrics-logstash.stack_monitoring.node-*" + ], + "name": "metrics-logstash.stack_monitoring.node", + "priority": 200, + "template": { + "mappings": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "logstash" + } + }, + "date_detection": false, + "dynamic": false, + "dynamic_templates": [ + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "cluster_uuid": { + "path": "logstash.elasticsearch.cluster.id", + "type": "alias" + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "error": { + "properties": { + "message": { + "type": "match_only_text" + } + } + }, + "event": { + "properties": { + "agent_id_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "ingested": { + "format": "strict_date_time_no_millis||strict_date_optional_time||epoch_millis", + "type": "date" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "logstash": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "elasticsearch": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "node": { + "properties": { + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "jvm": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "state": { + "properties": { + "pipeline": { + "properties": { + "batch_size": { + "type": "long" + }, + "ephemeral_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "representation": { + "properties": { + "graph": { + "properties": { + "edges": { + "type": "object" + }, + "vertices": { + "type": "object" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "workers": { + "type": "long" + } + } + } + } + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "logstash_state": { + "properties": { + "pipeline": { + "properties": { + "hash": { + "path": "logstash.node.state.pipeline.hash", + "type": "alias" + }, + "id": { + "path": "logstash.node.state.pipeline.id", + "type": "alias" + } + } + } + } + }, + "process": { + "properties": { + "pid": { + "type": "long" + } + } + }, + "service": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "settings": { + "index": { + "codec": "best_compression", + "lifecycle": { + "name": "metrics" + }, + "mapping": { + "total_fields": { + "limit": "10000" + } + }, + "query": { + "default_field": [ + "service.hostname", + "service.id", + "service.type", + "service.version", + "service.address", + "service.name", + "ecs.version", + "event.dataset", + "event.module", + "host.name", + "error.message", + "logstash.cluster.id", + "logstash.elasticsearch.cluster.id", + "logstash.node.jvm.version", + "logstash.node.host", + "logstash.node.version", + "logstash.node.id", + "logstash.node.state.pipeline.id", + "logstash.node.state.pipeline.hash", + "logstash.node.state.pipeline.ephemeral_id", + "logstash.node.state.pipeline.representation.hash", + "logstash.node.state.pipeline.representation.type", + "logstash.node.state.pipeline.representation.version" + ] + } + } + } + } + } + } +} + +{ + "type": "data_stream", + "value": { + "data_stream": "metrics-logstash.stack_monitoring.node_stats-default", + "template": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "logstash" + } + }, + "data_stream": { + "allow_custom_routing": false, + "hidden": false + }, + "index_patterns": [ + "metrics-logstash.stack_monitoring.node_stats-*" + ], + "name": "metrics-logstash.stack_monitoring.node_stats", + "priority": 200, + "template": { + "mappings": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "logstash" + } + }, + "date_detection": false, + "dynamic": false, + "dynamic_templates": [ + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "cluster_uuid": { + "path": "logstash.elasticsearch.cluster.id", + "type": "alias" + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "error": { + "properties": { + "message": { + "type": "match_only_text" + } + } + }, + "event": { + "properties": { + "agent_id_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "ingested": { + "format": "strict_date_time_no_millis||strict_date_optional_time||epoch_millis", + "type": "date" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "logstash": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "elasticsearch": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "node": { + "properties": { + "state": { + "properties": { + "pipeline": { + "properties": { + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "stats": { + "properties": { + "events": { + "properties": { + "duration_in_millis": { + "type": "long" + }, + "filtered": { + "type": "long" + }, + "in": { + "type": "long" + }, + "out": { + "type": "long" + } + } + }, + "jvm": { + "properties": { + "gc": { + "properties": { + "collectors": { + "properties": { + "old": { + "properties": { + "collection_count": { + "type": "long" + }, + "collection_time_in_millis": { + "type": "long" + } + } + }, + "young": { + "properties": { + "collection_count": { + "type": "long" + }, + "collection_time_in_millis": { + "type": "long" + } + } + } + } + } + } + }, + "mem": { + "properties": { + "heap_max_in_bytes": { + "type": "long" + }, + "heap_used_in_bytes": { + "type": "long" + }, + "heap_used_percent": { + "type": "long" + } + } + }, + "uptime_in_millis": { + "type": "long" + } + } + }, + "logstash": { + "properties": { + "ephemeral_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "http_address": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "pipeline": { + "properties": { + "batch_size": { + "type": "long" + }, + "workers": { + "type": "long" + } + } + }, + "snapshot": { + "type": "boolean" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "uuid": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "os": { + "properties": { + "cgroup": { + "properties": { + "cpu": { + "properties": { + "cfs_quota_micros": { + "type": "long" + }, + "control_group": { + "type": "text" + }, + "stat": { + "type": "object" + } + } + }, + "cpuacct": { + "type": "object" + } + } + }, + "cpu": { + "properties": { + "load_average": { + "properties": { + "15m": { + "type": "half_float" + }, + "1m": { + "type": "half_float" + }, + "5m": { + "type": "half_float" + } + } + }, + "percent": { + "type": "double" + } + } + } + } + }, + "pipelines": { + "properties": { + "ephemeral_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "events": { + "properties": { + "duration_in_millis": { + "type": "long" + }, + "filtered": { + "type": "long" + }, + "in": { + "type": "long" + }, + "out": { + "type": "long" + }, + "queue_push_duration_in_millis": { + "type": "long" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "queue": { + "properties": { + "events_count": { + "type": "long" + }, + "max_queue_size_in_bytes": { + "type": "long" + }, + "queue_size_in_bytes": { + "type": "long" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "reloads": { + "properties": { + "failures": { + "type": "long" + }, + "successes": { + "type": "long" + } + } + }, + "vertices": { + "properties": { + "duration_in_millis": { + "type": "long" + }, + "events_in": { + "type": "long" + }, + "events_out": { + "type": "long" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "long_counters": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "value": { + "type": "long" + } + }, + "type": "nested" + }, + "pipeline_ephemeral_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "queue_push_duration_in_millis": { + "type": "long" + } + }, + "type": "nested" + } + }, + "type": "nested" + }, + "process": { + "properties": { + "cpu": { + "properties": { + "percent": { + "type": "double" + } + } + }, + "max_file_descriptors": { + "type": "long" + }, + "open_file_descriptors": { + "type": "long" + } + } + }, + "queue": { + "properties": { + "events_count": { + "type": "long" + } + } + }, + "reloads": { + "properties": { + "failures": { + "type": "long" + }, + "successes": { + "type": "long" + } + } + }, + "timestamp": { + "type": "date" + } + } + } + } + } + } + }, + "logstash_stats": { + "properties": { + "events": { + "properties": { + "duration_in_millis": { + "path": "logstash.node.stats.events.duration_in_millis", + "type": "alias" + }, + "in": { + "path": "logstash.node.stats.events.in", + "type": "alias" + }, + "out": { + "path": "logstash.node.stats.events.out", + "type": "alias" + } + } + }, + "jvm": { + "properties": { + "mem": { + "properties": { + "heap_max_in_bytes": { + "path": "logstash.node.stats.jvm.mem.heap_max_in_bytes", + "type": "alias" + }, + "heap_used_in_bytes": { + "path": "logstash.node.stats.jvm.mem.heap_used_in_bytes", + "type": "alias" + } + } + }, + "uptime_in_millis": { + "path": "logstash.node.stats.jvm.uptime_in_millis", + "type": "alias" + } + } + }, + "logstash": { + "properties": { + "uuid": { + "path": "logstash.node.stats.logstash.uuid", + "type": "alias" + }, + "version": { + "path": "logstash.node.stats.logstash.version", + "type": "alias" + } + } + }, + "os": { + "properties": { + "cgroup": { + "properties": { + "cpuacct": { + "type": "object" + } + } + }, + "cpu": { + "properties": { + "load_average": { + "properties": { + "15m": { + "path": "logstash.node.stats.os.cpu.load_average.15m", + "type": "alias" + }, + "1m": { + "path": "logstash.node.stats.os.cpu.load_average.1m", + "type": "alias" + }, + "5m": { + "path": "logstash.node.stats.os.cpu.load_average.5m", + "type": "alias" + } + } + }, + "stat": { + "type": "object" + } + } + } + } + }, + "pipelines": { + "type": "nested" + }, + "process": { + "properties": { + "cpu": { + "properties": { + "percent": { + "path": "logstash.node.stats.process.cpu.percent", + "type": "alias" + } + } + } + } + }, + "queue": { + "properties": { + "events_count": { + "path": "logstash.node.stats.queue.events_count", + "type": "alias" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "process": { + "properties": { + "pid": { + "type": "long" + } + } + }, + "service": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "settings": { + "index": { + "codec": "best_compression", + "lifecycle": { + "name": "metrics" + }, + "mapping": { + "total_fields": { + "limit": "10000" + } + }, + "query": { + "default_field": [ + "service.hostname", + "service.id", + "service.type", + "service.version", + "service.address", + "service.name", + "ecs.version", + "event.dataset", + "event.module", + "host.name", + "error.message", + "logstash.elasticsearch.cluster.id", + "logstash.node.state.pipeline.id", + "logstash.node.state.pipeline.hash", + "logstash.node.stats.logstash.uuid", + "logstash.node.stats.logstash.version", + "logstash.node.stats.logstash.ephemeral_id", + "logstash.node.stats.logstash.host", + "logstash.node.stats.logstash.http_address", + "logstash.node.stats.logstash.name", + "logstash.node.stats.logstash.status", + "logstash.node.stats.os.cgroup.cpuacct.control_group", + "logstash.node.stats.os.cgroup.cpu.control_group", + "logstash.node.stats.pipelines.id", + "logstash.node.stats.pipelines.hash", + "logstash.node.stats.pipelines.ephemeral_id", + "logstash.node.stats.pipelines.queue.type", + "logstash.node.stats.pipelines.vertices.id", + "logstash.node.stats.pipelines.vertices.long_counters.name", + "logstash.node.stats.pipelines.vertices.pipeline_ephemeral_id", + "logstash.cluster.id" + ] + } + } + } + } + } + } +} diff --git a/x-pack/test/functional/es_archives/monitoring/logstash_pipelines_multicluster_package/data.json.gz b/x-pack/test/functional/es_archives/monitoring/logstash_pipelines_multicluster_package/data.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..d80460974b2f036fd8576234396f0d2d10e2b6e4 GIT binary patch literal 12513 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 CBFc{d literal 0 HcmV?d00001 diff --git a/x-pack/test/functional/es_archives/monitoring/logstash_pipelines_multicluster_package/mappings.json b/x-pack/test/functional/es_archives/monitoring/logstash_pipelines_multicluster_package/mappings.json new file mode 100644 index 0000000000000..5684702273ac7 --- /dev/null +++ b/x-pack/test/functional/es_archives/monitoring/logstash_pipelines_multicluster_package/mappings.json @@ -0,0 +1,7138 @@ +{ + "type": "data_stream", + "value": { + "data_stream": "metrics-elasticsearch.stack_monitoring.cluster_stats-default", + "template": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "elasticsearch" + } + }, + "data_stream": { + "allow_custom_routing": false, + "hidden": false + }, + "index_patterns": [ + "metrics-elasticsearch.stack_monitoring.cluster_stats-*" + ], + "name": "metrics-elasticsearch.stack_monitoring.cluster_stats", + "priority": 200, + "template": { + "mappings": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "elasticsearch" + } + }, + "date_detection": false, + "dynamic": false, + "dynamic_templates": [ + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "cluster_state": { + "properties": { + "master_node": { + "path": "elasticsearch.cluster.stats.state.master_node", + "type": "alias" + }, + "nodes_hash": { + "path": "elasticsearch.cluster.stats.state.nodes_hash", + "type": "alias" + }, + "state_uuid": { + "path": "elasticsearch.cluster.stats.state.state_uuid", + "type": "alias" + }, + "status": { + "path": "elasticsearch.cluster.stats.status", + "type": "alias" + }, + "version": { + "path": "elasticsearch.cluster.stats.state.version", + "type": "alias" + } + } + }, + "cluster_stats": { + "properties": { + "indices": { + "properties": { + "count": { + "path": "elasticsearch.cluster.stats.indices.total", + "type": "alias" + }, + "shards": { + "properties": { + "total": { + "path": "elasticsearch.cluster.stats.indices.shards.count", + "type": "alias" + } + } + } + } + }, + "nodes": { + "properties": { + "count": { + "properties": { + "total": { + "path": "elasticsearch.cluster.stats.nodes.count", + "type": "alias" + } + } + }, + "jvm": { + "properties": { + "max_uptime_in_millis": { + "path": "elasticsearch.cluster.stats.nodes.jvm.max_uptime.ms", + "type": "alias" + }, + "mem": { + "properties": { + "heap_max_in_bytes": { + "path": "elasticsearch.cluster.stats.nodes.jvm.memory.heap.max.bytes", + "type": "alias" + }, + "heap_used_in_bytes": { + "path": "elasticsearch.cluster.stats.nodes.jvm.memory.heap.used.bytes", + "type": "alias" + } + } + } + } + } + } + } + } + }, + "cluster_uuid": { + "path": "elasticsearch.cluster.id", + "type": "alias" + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "elasticsearch": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "state": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "stats": { + "properties": { + "indices": { + "properties": { + "docs": { + "properties": { + "total": { + "type": "long" + } + } + }, + "fielddata": { + "properties": { + "memory": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "shards": { + "properties": { + "count": { + "type": "long" + }, + "primaries": { + "type": "long" + } + } + }, + "store": { + "properties": { + "size": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "total": { + "type": "long" + } + } + }, + "license": { + "properties": { + "cluster_needs_tls": { + "type": "boolean" + }, + "expiry_date": { + "type": "date" + }, + "expiry_date_in_millis": { + "type": "long" + }, + "issue_date": { + "type": "date" + }, + "issue_date_in_millis": { + "type": "long" + }, + "issued_to": { + "ignore_above": 1024, + "type": "keyword" + }, + "issuer": { + "ignore_above": 1024, + "type": "keyword" + }, + "max_nodes": { + "type": "long" + }, + "start_date_in_millis": { + "type": "long" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "uid": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "nodes": { + "properties": { + "count": { + "type": "long" + }, + "data": { + "type": "long" + }, + "fs": { + "properties": { + "available": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "jvm": { + "properties": { + "max_uptime": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "memory": { + "properties": { + "heap": { + "properties": { + "max": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + } + } + } + } + }, + "master": { + "type": "long" + }, + "stats": { + "properties": { + "data": { + "type": "long" + } + } + }, + "versions": { + "type": "text" + } + } + }, + "stack": { + "properties": { + "apm": { + "properties": { + "found": { + "type": "boolean" + } + } + }, + "xpack": { + "properties": { + "ccr": { + "properties": { + "available": { + "type": "boolean" + }, + "enabled": { + "type": "boolean" + } + } + } + } + } + } + }, + "state": { + "properties": { + "master_node": { + "ignore_above": 1024, + "type": "keyword" + }, + "nodes": { + "type": "flattened" + }, + "nodes_hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "state_uuid": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "node": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "master": { + "type": "boolean" + }, + "mlockall": { + "type": "boolean" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "error": { + "properties": { + "message": { + "type": "match_only_text" + } + } + }, + "event": { + "properties": { + "agent_id_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "ingested": { + "format": "strict_date_time_no_millis||strict_date_optional_time||epoch_millis", + "type": "date" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "license": { + "properties": { + "status": { + "path": "elasticsearch.cluster.stats.license.status", + "type": "alias" + }, + "type": { + "path": "elasticsearch.cluster.stats.license.type", + "type": "alias" + } + } + }, + "service": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "source_node": { + "properties": { + "name": { + "path": "elasticsearch.node.name", + "type": "alias" + }, + "uuid": { + "path": "elasticsearch.node.id", + "type": "alias" + } + } + }, + "stack_stats": { + "properties": { + "apm": { + "properties": { + "found": { + "path": "elasticsearch.cluster.stats.stack.apm.found", + "type": "alias" + } + } + }, + "xpack": { + "properties": { + "ccr": { + "properties": { + "available": { + "path": "elasticsearch.cluster.stats.stack.xpack.ccr.available", + "type": "alias" + }, + "enabled": { + "path": "elasticsearch.cluster.stats.stack.xpack.ccr.enabled", + "type": "alias" + } + } + } + } + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "settings": { + "index": { + "codec": "best_compression", + "lifecycle": { + "name": "metrics" + }, + "mapping": { + "total_fields": { + "limit": "10000" + } + }, + "query": { + "default_field": [ + "ecs.version", + "event.dataset", + "event.module", + "host.name", + "service.address", + "service.type", + "service.name", + "error.message", + "elasticsearch.cluster.stats.version", + "elasticsearch.cluster.stats.state.nodes_hash", + "elasticsearch.cluster.stats.state.master_node", + "elasticsearch.cluster.stats.state.version", + "elasticsearch.cluster.stats.state.state_uuid", + "elasticsearch.cluster.stats.status", + "elasticsearch.cluster.stats.nodes.versions", + "elasticsearch.cluster.stats.license.issued_to", + "elasticsearch.cluster.stats.license.issuer", + "elasticsearch.cluster.stats.license.status", + "elasticsearch.cluster.stats.license.type", + "elasticsearch.cluster.stats.license.uid", + "elasticsearch.cluster.name", + "elasticsearch.cluster.id", + "elasticsearch.cluster.state.id", + "elasticsearch.version", + "elasticsearch.node.id", + "elasticsearch.node.name" + ] + } + } + } + } + } + } +} + +{ + "type": "data_stream", + "value": { + "data_stream": "metrics-elasticsearch.stack_monitoring.enrich-default", + "template": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "elasticsearch" + } + }, + "data_stream": { + "allow_custom_routing": false, + "hidden": false + }, + "index_patterns": [ + "metrics-elasticsearch.stack_monitoring.enrich-*" + ], + "name": "metrics-elasticsearch.stack_monitoring.enrich", + "priority": 200, + "template": { + "mappings": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "elasticsearch" + } + }, + "date_detection": false, + "dynamic": false, + "dynamic_templates": [ + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "cluster_uuid": { + "path": "elasticsearch.cluster.id", + "type": "alias" + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "elasticsearch": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "state": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "enrich": { + "properties": { + "executed_searches": { + "properties": { + "total": { + "type": "long" + } + } + }, + "executing_policy": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "task": { + "properties": { + "action": { + "ignore_above": 1024, + "type": "keyword" + }, + "cancellable": { + "type": "boolean" + }, + "id": { + "type": "long" + }, + "parent_task_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "task": { + "ignore_above": 1024, + "type": "keyword" + }, + "time": { + "properties": { + "running": { + "properties": { + "nano": { + "type": "long" + } + } + }, + "start": { + "properties": { + "ms": { + "type": "long" + } + } + } + } + } + } + } + } + }, + "queue": { + "properties": { + "size": { + "type": "long" + } + } + }, + "remote_requests": { + "properties": { + "current": { + "type": "long" + }, + "total": { + "type": "long" + } + } + } + } + }, + "node": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "master": { + "type": "boolean" + }, + "mlockall": { + "type": "boolean" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "error": { + "properties": { + "message": { + "type": "match_only_text" + } + } + }, + "event": { + "properties": { + "agent_id_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "ingested": { + "format": "strict_date_time_no_millis||strict_date_optional_time||epoch_millis", + "type": "date" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "service": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "source_node": { + "properties": { + "name": { + "path": "elasticsearch.node.name", + "type": "alias" + }, + "uuid": { + "path": "elasticsearch.node.id", + "type": "alias" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "settings": { + "index": { + "codec": "best_compression", + "lifecycle": { + "name": "metrics" + }, + "mapping": { + "total_fields": { + "limit": "10000" + } + }, + "query": { + "default_field": [ + "ecs.version", + "event.dataset", + "event.module", + "host.name", + "service.address", + "service.type", + "service.name", + "error.message", + "elasticsearch.enrich.executing_policy.name", + "elasticsearch.enrich.executing_policy.task.task", + "elasticsearch.enrich.executing_policy.task.action", + "elasticsearch.enrich.executing_policy.task.parent_task_id", + "elasticsearch.cluster.name", + "elasticsearch.cluster.id", + "elasticsearch.cluster.state.id", + "elasticsearch.node.id", + "elasticsearch.node.name" + ] + } + } + } + } + } + } +} + +{ + "type": "data_stream", + "value": { + "data_stream": "metrics-elasticsearch.stack_monitoring.index-default", + "template": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "elasticsearch" + } + }, + "data_stream": { + "allow_custom_routing": false, + "hidden": false + }, + "index_patterns": [ + "metrics-elasticsearch.stack_monitoring.index-*" + ], + "name": "metrics-elasticsearch.stack_monitoring.index", + "priority": 200, + "template": { + "mappings": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "elasticsearch" + } + }, + "date_detection": false, + "dynamic": false, + "dynamic_templates": [ + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "cluster_uuid": { + "path": "elasticsearch.cluster.id", + "type": "alias" + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "elasticsearch": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "state": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "index": { + "properties": { + "created": { + "type": "long" + }, + "hidden": { + "type": "boolean" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "primaries": { + "properties": { + "docs": { + "properties": { + "count": { + "type": "long" + }, + "deleted": { + "type": "long" + } + } + }, + "indexing": { + "properties": { + "index_time_in_millis": { + "type": "long" + }, + "index_total": { + "type": "long" + }, + "throttle_time_in_millis": { + "type": "long" + } + } + }, + "merges": { + "properties": { + "total_size_in_bytes": { + "type": "long" + } + } + }, + "query_cache": { + "properties": { + "hit_count": { + "type": "long" + }, + "memory_size_in_bytes": { + "type": "long" + }, + "miss_count": { + "type": "long" + } + } + }, + "refresh": { + "properties": { + "external_total_time_in_millis": { + "type": "long" + }, + "total_time_in_millis": { + "type": "long" + } + } + }, + "request_cache": { + "properties": { + "evictions": { + "type": "long" + }, + "hit_count": { + "type": "long" + }, + "memory_size_in_bytes": { + "type": "long" + }, + "miss_count": { + "type": "long" + } + } + }, + "search": { + "properties": { + "query_time_in_millis": { + "type": "long" + }, + "query_total": { + "type": "long" + } + } + }, + "segments": { + "properties": { + "count": { + "type": "long" + }, + "doc_values_memory_in_bytes": { + "type": "long" + }, + "fixed_bit_set_memory_in_bytes": { + "type": "long" + }, + "index_writer_memory_in_bytes": { + "type": "long" + }, + "memory_in_bytes": { + "type": "long" + }, + "norms_memory_in_bytes": { + "type": "long" + }, + "points_memory_in_bytes": { + "type": "long" + }, + "stored_fields_memory_in_bytes": { + "type": "long" + }, + "term_vectors_memory_in_bytes": { + "type": "long" + }, + "terms_memory_in_bytes": { + "type": "long" + }, + "version_map_memory_in_bytes": { + "type": "long" + } + } + }, + "store": { + "properties": { + "size_in_bytes": { + "type": "long" + } + } + } + } + }, + "shards": { + "properties": { + "primaries": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "total": { + "properties": { + "bulk": { + "properties": { + "avg_size_in_bytes": { + "type": "long" + }, + "avg_time_in_millis": { + "type": "long" + }, + "total_operations": { + "type": "long" + }, + "total_size_in_bytes": { + "type": "long" + }, + "total_time_in_millis": { + "type": "long" + } + } + }, + "docs": { + "properties": { + "count": { + "type": "long" + }, + "deleted": { + "type": "long" + } + } + }, + "fielddata": { + "properties": { + "evictions": { + "type": "long" + }, + "memory_size_in_bytes": { + "type": "long" + } + } + }, + "indexing": { + "properties": { + "index_time_in_millis": { + "type": "long" + }, + "index_total": { + "type": "long" + }, + "throttle_time_in_millis": { + "type": "long" + } + } + }, + "merges": { + "properties": { + "total_size_in_bytes": { + "type": "long" + } + } + }, + "query_cache": { + "properties": { + "evictions": { + "type": "long" + }, + "hit_count": { + "type": "long" + }, + "memory_size_in_bytes": { + "type": "long" + }, + "miss_count": { + "type": "long" + } + } + }, + "refresh": { + "properties": { + "external_total_time_in_millis": { + "type": "long" + }, + "total_time_in_millis": { + "type": "long" + } + } + }, + "request_cache": { + "properties": { + "evictions": { + "type": "long" + }, + "hit_count": { + "type": "long" + }, + "memory_size_in_bytes": { + "type": "long" + }, + "miss_count": { + "type": "long" + } + } + }, + "search": { + "properties": { + "query_time_in_millis": { + "type": "long" + }, + "query_total": { + "type": "long" + } + } + }, + "segments": { + "properties": { + "count": { + "type": "long" + }, + "doc_values_memory_in_bytes": { + "type": "long" + }, + "fixed_bit_set_memory_in_bytes": { + "type": "long" + }, + "index_writer_memory_in_bytes": { + "type": "long" + }, + "memory": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "memory_in_bytes": { + "type": "long" + }, + "norms_memory_in_bytes": { + "type": "long" + }, + "points_memory_in_bytes": { + "type": "long" + }, + "stored_fields_memory_in_bytes": { + "type": "long" + }, + "term_vectors_memory_in_bytes": { + "type": "long" + }, + "terms_memory_in_bytes": { + "type": "long" + }, + "version_map_memory_in_bytes": { + "type": "long" + } + } + }, + "store": { + "properties": { + "size": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "size_in_bytes": { + "type": "long" + } + } + } + } + }, + "uuid": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "node": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "master": { + "type": "boolean" + }, + "mlockall": { + "type": "boolean" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "error": { + "properties": { + "message": { + "type": "match_only_text" + } + } + }, + "event": { + "properties": { + "agent_id_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "ingested": { + "format": "strict_date_time_no_millis||strict_date_optional_time||epoch_millis", + "type": "date" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "index_stats": { + "properties": { + "index": { + "path": "elasticsearch.index.name", + "type": "alias" + }, + "primaries": { + "properties": { + "docs": { + "properties": { + "count": { + "path": "elasticsearch.index.primaries.docs.count", + "type": "alias" + } + } + }, + "indexing": { + "properties": { + "index_time_in_millis": { + "path": "elasticsearch.index.primaries.indexing.index_time_in_millis", + "type": "alias" + }, + "index_total": { + "path": "elasticsearch.index.primaries.indexing.index_total", + "type": "alias" + }, + "throttle_time_in_millis": { + "path": "elasticsearch.index.primaries.indexing.throttle_time_in_millis", + "type": "alias" + } + } + }, + "merges": { + "properties": { + "total_size_in_bytes": { + "path": "elasticsearch.index.primaries.merges.total_size_in_bytes", + "type": "alias" + } + } + }, + "refresh": { + "properties": { + "total_time_in_millis": { + "path": "elasticsearch.index.primaries.refresh.total_time_in_millis", + "type": "alias" + } + } + }, + "segments": { + "properties": { + "count": { + "path": "elasticsearch.index.primaries.segments.count", + "type": "alias" + } + } + }, + "store": { + "properties": { + "size_in_bytes": { + "path": "elasticsearch.index.primaries.store.size_in_bytes", + "type": "alias" + } + } + } + } + }, + "total": { + "properties": { + "fielddata": { + "properties": { + "memory_size_in_bytes": { + "path": "elasticsearch.index.total.fielddata.memory_size_in_bytes", + "type": "alias" + } + } + }, + "indexing": { + "properties": { + "index_time_in_millis": { + "path": "elasticsearch.index.total.indexing.index_time_in_millis", + "type": "alias" + }, + "index_total": { + "path": "elasticsearch.index.total.indexing.index_total", + "type": "alias" + }, + "throttle_time_in_millis": { + "path": "elasticsearch.index.total.indexing.throttle_time_in_millis", + "type": "alias" + } + } + }, + "merges": { + "properties": { + "total_size_in_bytes": { + "path": "elasticsearch.index.total.merges.total_size_in_bytes", + "type": "alias" + } + } + }, + "query_cache": { + "properties": { + "memory_size_in_bytes": { + "path": "elasticsearch.index.total.query_cache.memory_size_in_bytes", + "type": "alias" + } + } + }, + "refresh": { + "properties": { + "total_time_in_millis": { + "path": "elasticsearch.index.total.refresh.total_time_in_millis", + "type": "alias" + } + } + }, + "request_cache": { + "properties": { + "memory_size_in_bytes": { + "path": "elasticsearch.index.total.request_cache.memory_size_in_bytes", + "type": "alias" + } + } + }, + "search": { + "properties": { + "query_time_in_millis": { + "path": "elasticsearch.index.total.search.query_time_in_millis", + "type": "alias" + }, + "query_total": { + "path": "elasticsearch.index.total.search.query_total", + "type": "alias" + } + } + }, + "segments": { + "properties": { + "count": { + "path": "elasticsearch.index.total.segments.count", + "type": "alias" + }, + "doc_values_memory_in_bytes": { + "path": "elasticsearch.index.total.segments.doc_values_memory_in_bytes", + "type": "alias" + }, + "fixed_bit_set_memory_in_bytes": { + "path": "elasticsearch.index.total.segments.fixed_bit_set_memory_in_bytes", + "type": "alias" + }, + "index_writer_memory_in_bytes": { + "path": "elasticsearch.index.total.segments.index_writer_memory_in_bytes", + "type": "alias" + }, + "memory_in_bytes": { + "path": "elasticsearch.index.total.segments.memory_in_bytes", + "type": "alias" + }, + "norms_memory_in_bytes": { + "path": "elasticsearch.index.total.segments.norms_memory_in_bytes", + "type": "alias" + }, + "points_memory_in_bytes": { + "path": "elasticsearch.index.total.segments.points_memory_in_bytes", + "type": "alias" + }, + "stored_fields_memory_in_bytes": { + "path": "elasticsearch.index.total.segments.stored_fields_memory_in_bytes", + "type": "alias" + }, + "term_vectors_memory_in_bytes": { + "path": "elasticsearch.index.total.segments.term_vectors_memory_in_bytes", + "type": "alias" + }, + "terms_memory_in_bytes": { + "path": "elasticsearch.index.total.segments.terms_memory_in_bytes", + "type": "alias" + }, + "version_map_memory_in_bytes": { + "path": "elasticsearch.index.total.segments.version_map_memory_in_bytes", + "type": "alias" + } + } + }, + "store": { + "properties": { + "size_in_bytes": { + "path": "elasticsearch.index.total.store.size_in_bytes", + "type": "alias" + } + } + } + } + } + } + }, + "service": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "source_node": { + "properties": { + "name": { + "path": "elasticsearch.node.name", + "type": "alias" + }, + "uuid": { + "path": "elasticsearch.node.id", + "type": "alias" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "settings": { + "index": { + "codec": "best_compression", + "lifecycle": { + "name": "metrics" + }, + "mapping": { + "total_fields": { + "limit": "10000" + } + }, + "query": { + "default_field": [ + "ecs.version", + "event.dataset", + "event.module", + "host.name", + "service.address", + "service.type", + "service.name", + "error.message", + "elasticsearch.index.uuid", + "elasticsearch.index.status", + "elasticsearch.index.name", + "elasticsearch.cluster.name", + "elasticsearch.cluster.id", + "elasticsearch.cluster.state.id", + "elasticsearch.node.id", + "elasticsearch.node.name" + ] + } + } + } + } + } + } +} + +{ + "type": "data_stream", + "value": { + "data_stream": "metrics-elasticsearch.stack_monitoring.index_recovery-default", + "template": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "elasticsearch" + } + }, + "data_stream": { + "allow_custom_routing": false, + "hidden": false + }, + "index_patterns": [ + "metrics-elasticsearch.stack_monitoring.index_recovery-*" + ], + "name": "metrics-elasticsearch.stack_monitoring.index_recovery", + "priority": 200, + "template": { + "mappings": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "elasticsearch" + } + }, + "date_detection": false, + "dynamic": false, + "dynamic_templates": [ + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "cluster_uuid": { + "path": "elasticsearch.cluster.id", + "type": "alias" + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "elasticsearch": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "state": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "index": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "recovery": { + "properties": { + "id": { + "type": "long" + }, + "index": { + "properties": { + "files": { + "properties": { + "percent": { + "ignore_above": 1024, + "type": "keyword" + }, + "recovered": { + "type": "long" + }, + "reused": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "size": { + "properties": { + "recovered_in_bytes": { + "type": "long" + }, + "reused_in_bytes": { + "type": "long" + }, + "total_in_bytes": { + "type": "long" + } + } + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "primary": { + "type": "boolean" + }, + "source": { + "properties": { + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "transport_address": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "stage": { + "ignore_above": 1024, + "type": "keyword" + }, + "start_time": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "stop_time": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "target": { + "properties": { + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "transport_address": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "total_time": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "translog": { + "properties": { + "percent": { + "ignore_above": 1024, + "type": "keyword" + }, + "total": { + "type": "long" + }, + "total_on_start": { + "type": "long" + } + } + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "verify_index": { + "properties": { + "check_index_time": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "total_time": { + "properties": { + "ms": { + "type": "long" + } + } + } + } + } + } + } + } + }, + "node": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "master": { + "type": "boolean" + }, + "mlockall": { + "type": "boolean" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "error": { + "properties": { + "message": { + "type": "match_only_text" + } + } + }, + "event": { + "properties": { + "agent_id_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "ingested": { + "format": "strict_date_time_no_millis||strict_date_optional_time||epoch_millis", + "type": "date" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "index_recovery": { + "properties": { + "shards": { + "properties": { + "start_time_in_millis": { + "path": "elasticsearch.index.recovery.start_time.ms", + "type": "alias" + }, + "stop_time_in_millis": { + "path": "elasticsearch.index.recovery.stop_time.ms", + "type": "alias" + } + } + } + } + }, + "service": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "source_node": { + "properties": { + "name": { + "path": "elasticsearch.node.name", + "type": "alias" + }, + "uuid": { + "path": "elasticsearch.node.id", + "type": "alias" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "settings": { + "index": { + "codec": "best_compression", + "lifecycle": { + "name": "metrics" + }, + "mapping": { + "total_fields": { + "limit": "10000" + } + }, + "query": { + "default_field": [ + "ecs.version", + "event.dataset", + "event.module", + "host.name", + "service.address", + "service.type", + "service.name", + "error.message", + "elasticsearch.index.name", + "elasticsearch.index.recovery.index.files.percent", + "elasticsearch.index.recovery.name", + "elasticsearch.index.recovery.type", + "elasticsearch.index.recovery.stage", + "elasticsearch.index.recovery.translog.percent", + "elasticsearch.index.recovery.target.transport_address", + "elasticsearch.index.recovery.target.id", + "elasticsearch.index.recovery.target.host", + "elasticsearch.index.recovery.target.name", + "elasticsearch.index.recovery.source.transport_address", + "elasticsearch.index.recovery.source.id", + "elasticsearch.index.recovery.source.host", + "elasticsearch.index.recovery.source.name", + "elasticsearch.cluster.name", + "elasticsearch.cluster.id", + "elasticsearch.cluster.state.id", + "elasticsearch.node.id", + "elasticsearch.node.name" + ] + } + } + } + } + } + } +} + +{ + "type": "data_stream", + "value": { + "data_stream": "metrics-elasticsearch.stack_monitoring.index_summary-default", + "template": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "elasticsearch" + } + }, + "data_stream": { + "allow_custom_routing": false, + "hidden": false + }, + "index_patterns": [ + "metrics-elasticsearch.stack_monitoring.index_summary-*" + ], + "name": "metrics-elasticsearch.stack_monitoring.index_summary", + "priority": 200, + "template": { + "mappings": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "elasticsearch" + } + }, + "date_detection": false, + "dynamic": false, + "dynamic_templates": [ + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "cluster_uuid": { + "path": "elasticsearch.cluster.id", + "type": "alias" + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "elasticsearch": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "state": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "index": { + "properties": { + "summary": { + "properties": { + "primaries": { + "properties": { + "bulk": { + "properties": { + "operations": { + "properties": { + "count": { + "type": "long" + } + } + }, + "size": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "time": { + "properties": { + "avg": { + "properties": { + "bytes": { + "type": "long" + }, + "ms": { + "type": "long" + } + } + }, + "count": { + "properties": { + "ms": { + "type": "long" + } + } + } + } + } + } + }, + "docs": { + "properties": { + "count": { + "type": "long" + }, + "deleted": { + "type": "long" + } + } + }, + "indexing": { + "properties": { + "index": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "ms": { + "type": "long" + } + } + } + } + } + } + }, + "search": { + "properties": { + "query": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "ms": { + "type": "long" + } + } + } + } + } + } + }, + "segments": { + "properties": { + "count": { + "type": "long" + }, + "memory": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "store": { + "properties": { + "size": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + } + } + }, + "total": { + "properties": { + "bulk": { + "properties": { + "operations": { + "properties": { + "count": { + "type": "long" + } + } + }, + "size": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "time": { + "properties": { + "avg": { + "properties": { + "bytes": { + "type": "long" + }, + "ms": { + "type": "long" + } + } + } + } + } + } + }, + "docs": { + "properties": { + "count": { + "type": "long" + }, + "deleted": { + "type": "long" + } + } + }, + "indexing": { + "properties": { + "index": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "ms": { + "type": "long" + } + } + } + } + }, + "is_throttled": { + "type": "boolean" + }, + "throttle_time": { + "properties": { + "ms": { + "type": "long" + } + } + } + } + }, + "search": { + "properties": { + "query": { + "properties": { + "count": { + "type": "long" + }, + "time": { + "properties": { + "ms": { + "type": "long" + } + } + } + } + } + } + }, + "segments": { + "properties": { + "count": { + "type": "long" + }, + "memory": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "store": { + "properties": { + "size": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + } + } + } + } + } + } + }, + "node": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "master": { + "type": "boolean" + }, + "mlockall": { + "type": "boolean" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "error": { + "properties": { + "message": { + "type": "match_only_text" + } + } + }, + "event": { + "properties": { + "agent_id_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "ingested": { + "format": "strict_date_time_no_millis||strict_date_optional_time||epoch_millis", + "type": "date" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "indices_stats": { + "properties": { + "_all": { + "properties": { + "primaries": { + "properties": { + "indexing": { + "properties": { + "index_time_in_millis": { + "path": "elasticsearch.index.summary.primaries.indexing.index.time.ms", + "type": "alias" + }, + "index_total": { + "path": "elasticsearch.index.summary.primaries.indexing.index.count", + "type": "alias" + } + } + } + } + }, + "total": { + "properties": { + "indexing": { + "properties": { + "index_total": { + "path": "elasticsearch.index.summary.total.indexing.index.count", + "type": "alias" + } + } + }, + "search": { + "properties": { + "query_time_in_millis": { + "path": "elasticsearch.index.summary.total.search.query.time.ms", + "type": "alias" + }, + "query_total": { + "path": "elasticsearch.index.summary.total.search.query.count", + "type": "alias" + } + } + } + } + } + } + } + } + }, + "service": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "source_node": { + "properties": { + "name": { + "path": "elasticsearch.node.name", + "type": "alias" + }, + "uuid": { + "path": "elasticsearch.node.id", + "type": "alias" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "settings": { + "index": { + "codec": "best_compression", + "lifecycle": { + "name": "metrics" + }, + "mapping": { + "total_fields": { + "limit": "10000" + } + }, + "query": { + "default_field": [ + "ecs.version", + "event.dataset", + "event.module", + "host.name", + "service.address", + "service.type", + "service.name", + "error.message", + "elasticsearch.cluster.name", + "elasticsearch.cluster.id", + "elasticsearch.cluster.state.id", + "elasticsearch.node.id", + "elasticsearch.node.name" + ] + } + } + } + } + } + } +} + +{ + "type": "data_stream", + "value": { + "data_stream": "metrics-elasticsearch.stack_monitoring.node-default", + "template": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "elasticsearch" + } + }, + "data_stream": { + "allow_custom_routing": false, + "hidden": false + }, + "index_patterns": [ + "metrics-elasticsearch.stack_monitoring.node-*" + ], + "name": "metrics-elasticsearch.stack_monitoring.node", + "priority": 200, + "template": { + "mappings": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "elasticsearch" + } + }, + "date_detection": false, + "dynamic": false, + "dynamic_templates": [ + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "cluster_uuid": { + "path": "elasticsearch.cluster.id", + "type": "alias" + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "elasticsearch": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "state": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "node": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "jvm": { + "properties": { + "memory": { + "properties": { + "heap": { + "properties": { + "init": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "max": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "nonheap": { + "properties": { + "init": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "max": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + } + } + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "master": { + "type": "boolean" + }, + "mlockall": { + "type": "boolean" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "process": { + "properties": { + "mlockall": { + "type": "boolean" + } + } + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "error": { + "properties": { + "message": { + "type": "match_only_text" + } + } + }, + "event": { + "properties": { + "agent_id_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "ingested": { + "format": "strict_date_time_no_millis||strict_date_optional_time||epoch_millis", + "type": "date" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "service": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "source_node": { + "properties": { + "name": { + "path": "elasticsearch.node.name", + "type": "alias" + }, + "uuid": { + "path": "elasticsearch.node.id", + "type": "alias" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "settings": { + "index": { + "codec": "best_compression", + "lifecycle": { + "name": "metrics" + }, + "mapping": { + "total_fields": { + "limit": "10000" + } + }, + "query": { + "default_field": [ + "ecs.version", + "event.dataset", + "event.module", + "host.name", + "service.address", + "service.type", + "service.name", + "error.message", + "elasticsearch.node.version", + "elasticsearch.node.jvm.version", + "elasticsearch.node.id", + "elasticsearch.node.name", + "elasticsearch.cluster.name", + "elasticsearch.cluster.id", + "elasticsearch.cluster.state.id" + ] + } + } + } + } + } + } +} + +{ + "type": "data_stream", + "value": { + "data_stream": "metrics-elasticsearch.stack_monitoring.node_stats-default", + "template": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "elasticsearch" + } + }, + "data_stream": { + "allow_custom_routing": false, + "hidden": false + }, + "index_patterns": [ + "metrics-elasticsearch.stack_monitoring.node_stats-*" + ], + "name": "metrics-elasticsearch.stack_monitoring.node_stats", + "priority": 200, + "template": { + "mappings": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "elasticsearch" + } + }, + "date_detection": false, + "dynamic": false, + "dynamic_templates": [ + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "cluster_uuid": { + "path": "elasticsearch.cluster.id", + "type": "alias" + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "elasticsearch": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "state": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "node": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "master": { + "type": "boolean" + }, + "mlockall": { + "type": "boolean" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "stats": { + "properties": { + "fs": { + "properties": { + "io_stats": { + "properties": { + "total": { + "properties": { + "operations": { + "properties": { + "count": { + "type": "long" + } + } + }, + "read": { + "properties": { + "operations": { + "properties": { + "count": { + "type": "long" + } + } + } + } + }, + "write": { + "properties": { + "operations": { + "properties": { + "count": { + "type": "long" + } + } + } + } + } + } + } + } + }, + "summary": { + "properties": { + "available": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "free": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "total": { + "properties": { + "available_in_bytes": { + "type": "long" + }, + "total_in_bytes": { + "type": "long" + } + } + } + } + }, + "indexing_pressure": { + "properties": { + "memory": { + "properties": { + "current": { + "properties": { + "all": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "combined_coordinating_and_primary": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "coordinating": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "primary": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "replica": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "limit_in_bytes": { + "type": "long" + }, + "total": { + "properties": { + "all": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "combined_coordinating_and_primary": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "coordinating": { + "properties": { + "bytes": { + "type": "long" + }, + "rejections": { + "type": "long" + } + } + }, + "primary": { + "properties": { + "bytes": { + "type": "long" + }, + "rejections": { + "type": "long" + } + } + }, + "replica": { + "properties": { + "bytes": { + "type": "long" + }, + "rejections": { + "type": "long" + } + } + } + } + } + } + } + } + }, + "indices": { + "properties": { + "bulk": { + "properties": { + "avg_size": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "avg_time": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "operations": { + "properties": { + "total": { + "properties": { + "count": { + "type": "long" + } + } + } + } + }, + "total_size": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "total_time": { + "properties": { + "ms": { + "type": "long" + } + } + } + } + }, + "docs": { + "properties": { + "count": { + "type": "long" + }, + "deleted": { + "type": "long" + } + } + }, + "fielddata": { + "properties": { + "memory": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "indexing": { + "properties": { + "index_time": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "index_total": { + "properties": { + "count": { + "type": "long" + } + } + }, + "throttle_time": { + "properties": { + "ms": { + "type": "long" + } + } + } + } + }, + "query_cache": { + "properties": { + "memory": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "request_cache": { + "properties": { + "memory": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "search": { + "properties": { + "query_time": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "query_total": { + "properties": { + "count": { + "type": "long" + } + } + } + } + }, + "segments": { + "properties": { + "count": { + "type": "long" + }, + "doc_values": { + "properties": { + "memory": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "fixed_bit_set": { + "properties": { + "memory": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "index_writer": { + "properties": { + "memory": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "memory": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "norms": { + "properties": { + "memory": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "points": { + "properties": { + "memory": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "stored_fields": { + "properties": { + "memory": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "term_vectors": { + "properties": { + "memory": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "terms": { + "properties": { + "memory": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "version_map": { + "properties": { + "memory": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + } + } + }, + "store": { + "properties": { + "size": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + } + } + }, + "ingest": { + "properties": { + "total": { + "properties": { + "count": { + "type": "long" + }, + "current": { + "type": "long" + }, + "failed": { + "type": "long" + }, + "time_in_millis": { + "type": "long" + } + } + } + } + }, + "jvm": { + "properties": { + "gc": { + "properties": { + "collectors": { + "properties": { + "old": { + "properties": { + "collection": { + "properties": { + "count": { + "type": "long" + }, + "ms": { + "type": "long" + } + } + } + } + }, + "young": { + "properties": { + "collection": { + "properties": { + "count": { + "type": "long" + }, + "ms": { + "type": "long" + } + } + } + } + } + } + } + } + }, + "mem": { + "properties": { + "heap": { + "properties": { + "max": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" + }, + "pct": { + "type": "double" + } + } + } + } + }, + "pools": { + "properties": { + "old": { + "properties": { + "max": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "peak": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "peak_max": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "survivor": { + "properties": { + "max": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "peak": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "peak_max": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "young": { + "properties": { + "max": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "peak": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "peak_max": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + } + } + } + } + } + } + }, + "os": { + "properties": { + "cgroup": { + "properties": { + "cpu": { + "properties": { + "cfs": { + "properties": { + "quota": { + "properties": { + "us": { + "type": "long" + } + } + } + } + }, + "stat": { + "properties": { + "elapsed_periods": { + "properties": { + "count": { + "type": "long" + } + } + }, + "time_throttled": { + "properties": { + "ns": { + "type": "long" + } + } + }, + "times_throttled": { + "properties": { + "count": { + "type": "long" + } + } + } + } + } + } + }, + "cpuacct": { + "properties": { + "usage": { + "properties": { + "ns": { + "type": "long" + } + } + } + } + }, + "memory": { + "properties": { + "control_group": { + "ignore_above": 1024, + "type": "keyword" + }, + "limit": { + "properties": { + "bytes": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "usage": { + "properties": { + "bytes": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + } + } + }, + "cpu": { + "properties": { + "load_avg": { + "properties": { + "1m": { + "type": "half_float" + } + } + } + } + } + } + }, + "process": { + "properties": { + "cpu": { + "properties": { + "pct": { + "type": "double" + } + } + } + } + }, + "thread_pool": { + "properties": { + "bulk": { + "properties": { + "queue": { + "properties": { + "count": { + "type": "long" + } + } + }, + "rejected": { + "properties": { + "count": { + "type": "long" + } + } + } + } + }, + "get": { + "properties": { + "queue": { + "properties": { + "count": { + "type": "long" + } + } + }, + "rejected": { + "properties": { + "count": { + "type": "long" + } + } + } + } + }, + "index": { + "properties": { + "queue": { + "properties": { + "count": { + "type": "long" + } + } + }, + "rejected": { + "properties": { + "count": { + "type": "long" + } + } + } + } + }, + "search": { + "properties": { + "queue": { + "properties": { + "count": { + "type": "long" + } + } + }, + "rejected": { + "properties": { + "count": { + "type": "long" + } + } + } + } + }, + "write": { + "properties": { + "queue": { + "properties": { + "count": { + "type": "long" + } + } + }, + "rejected": { + "properties": { + "count": { + "type": "long" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "error": { + "properties": { + "message": { + "type": "match_only_text" + } + } + }, + "event": { + "properties": { + "agent_id_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "ingested": { + "format": "strict_date_time_no_millis||strict_date_optional_time||epoch_millis", + "type": "date" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "node_stats": { + "properties": { + "fs": { + "properties": { + "io_stats": { + "properties": { + "total": { + "properties": { + "operations": { + "path": "elasticsearch.node.stats.fs.io_stats.total.operations.count", + "type": "alias" + }, + "read_operations": { + "path": "elasticsearch.node.stats.fs.io_stats.total.read.operations.count", + "type": "alias" + }, + "write_operations": { + "path": "elasticsearch.node.stats.fs.io_stats.total.write.operations.count", + "type": "alias" + } + } + } + } + }, + "summary": { + "properties": { + "available": { + "properties": { + "bytes": { + "path": "elasticsearch.node.stats.fs.summary.available.bytes", + "type": "alias" + } + } + }, + "total": { + "properties": { + "bytes": { + "path": "elasticsearch.node.stats.fs.summary.total.bytes", + "type": "alias" + } + } + } + } + }, + "total": { + "properties": { + "available_in_bytes": { + "path": "elasticsearch.node.stats.fs.summary.available.bytes", + "type": "alias" + }, + "total_in_bytes": { + "path": "elasticsearch.node.stats.fs.summary.total.bytes", + "type": "alias" + } + } + } + } + }, + "indices": { + "properties": { + "docs": { + "properties": { + "count": { + "path": "elasticsearch.node.stats.indices.docs.count", + "type": "alias" + } + } + }, + "fielddata": { + "properties": { + "memory_size_in_bytes": { + "path": "elasticsearch.node.stats.indices.fielddata.memory.bytes", + "type": "alias" + } + } + }, + "indexing": { + "properties": { + "index_time_in_millis": { + "path": "elasticsearch.node.stats.indices.indexing.index_time.ms", + "type": "alias" + }, + "index_total": { + "path": "elasticsearch.node.stats.indices.indexing.index_total.count", + "type": "alias" + }, + "throttle_time_in_millis": { + "path": "elasticsearch.node.stats.indices.indexing.throttle_time.ms", + "type": "alias" + } + } + }, + "query_cache": { + "properties": { + "memory_size_in_bytes": { + "path": "elasticsearch.node.stats.indices.query_cache.memory.bytes", + "type": "alias" + } + } + }, + "request_cache": { + "properties": { + "memory_size_in_bytes": { + "path": "elasticsearch.node.stats.indices.request_cache.memory.bytes", + "type": "alias" + } + } + }, + "search": { + "properties": { + "query_time_in_millis": { + "path": "elasticsearch.node.stats.indices.search.query_time.ms", + "type": "alias" + }, + "query_total": { + "path": "elasticsearch.node.stats.indices.search.query_total.count", + "type": "alias" + } + } + }, + "segments": { + "properties": { + "count": { + "path": "elasticsearch.node.stats.indices.segments.count", + "type": "alias" + }, + "doc_values_memory_in_bytes": { + "path": "elasticsearch.node.stats.indices.segments.doc_values.memory.bytes", + "type": "alias" + }, + "fixed_bit_set_memory_in_bytes": { + "path": "elasticsearch.node.stats.indices.segments.fixed_bit_set.memory.bytes", + "type": "alias" + }, + "index_writer_memory_in_bytes": { + "path": "elasticsearch.node.stats.indices.segments.index_writer.memory.bytes", + "type": "alias" + }, + "memory_in_bytes": { + "path": "elasticsearch.node.stats.indices.segments.memory.bytes", + "type": "alias" + }, + "norms_memory_in_bytes": { + "path": "elasticsearch.node.stats.indices.segments.norms.memory.bytes", + "type": "alias" + }, + "points_memory_in_bytes": { + "path": "elasticsearch.node.stats.indices.segments.points.memory.bytes", + "type": "alias" + }, + "stored_fields_memory_in_bytes": { + "path": "elasticsearch.node.stats.indices.segments.stored_fields.memory.bytes", + "type": "alias" + }, + "term_vectors_memory_in_bytes": { + "path": "elasticsearch.node.stats.indices.segments.term_vectors.memory.bytes", + "type": "alias" + }, + "terms_memory_in_bytes": { + "path": "elasticsearch.node.stats.indices.segments.terms.memory.bytes", + "type": "alias" + }, + "version_map_memory_in_bytes": { + "path": "elasticsearch.node.stats.indices.segments.version_map.memory.bytes", + "type": "alias" + } + } + }, + "store": { + "properties": { + "size": { + "properties": { + "bytes": { + "path": "elasticsearch.node.stats.indices.store.size.bytes", + "type": "alias" + } + } + }, + "size_in_bytes": { + "path": "elasticsearch.node.stats.indices.store.size.bytes", + "type": "alias" + } + } + } + } + }, + "jvm": { + "properties": { + "gc": { + "properties": { + "collectors": { + "properties": { + "old": { + "properties": { + "collection_count": { + "path": "elasticsearch.node.stats.jvm.gc.collectors.old.collection.count", + "type": "alias" + }, + "collection_time_in_millis": { + "path": "elasticsearch.node.stats.jvm.gc.collectors.old.collection.ms", + "type": "alias" + } + } + }, + "young": { + "properties": { + "collection_count": { + "path": "elasticsearch.node.stats.jvm.gc.collectors.young.collection.count", + "type": "alias" + }, + "collection_time_in_millis": { + "path": "elasticsearch.node.stats.jvm.gc.collectors.young.collection.ms", + "type": "alias" + } + } + } + } + } + } + }, + "mem": { + "properties": { + "heap_max_in_bytes": { + "path": "elasticsearch.node.stats.jvm.mem.heap.max.bytes", + "type": "alias" + }, + "heap_used_in_bytes": { + "path": "elasticsearch.node.stats.jvm.mem.heap.used.bytes", + "type": "alias" + }, + "heap_used_percent": { + "path": "elasticsearch.node.stats.jvm.mem.heap.used.pct", + "type": "alias" + } + } + } + } + }, + "node_id": { + "path": "elasticsearch.node.id", + "type": "alias" + }, + "os": { + "properties": { + "cgroup": { + "properties": { + "cpu": { + "properties": { + "cfs_quota_micros": { + "path": "elasticsearch.node.stats.os.cgroup.cpu.cfs.quota.us", + "type": "alias" + }, + "stat": { + "properties": { + "number_of_elapsed_periods": { + "path": "elasticsearch.node.stats.os.cgroup.cpu.stat.elapsed_periods.count", + "type": "alias" + }, + "number_of_times_throttled": { + "path": "elasticsearch.node.stats.os.cgroup.cpu.stat.times_throttled.count", + "type": "alias" + }, + "time_throttled_nanos": { + "path": "elasticsearch.node.stats.os.cgroup.cpu.stat.time_throttled.ns", + "type": "alias" + } + } + } + } + }, + "cpuacct": { + "properties": { + "usage_nanos": { + "path": "elasticsearch.node.stats.os.cgroup.cpuacct.usage.ns", + "type": "alias" + } + } + }, + "memory": { + "properties": { + "control_group": { + "path": "elasticsearch.node.stats.os.cgroup.memory.control_group", + "type": "alias" + }, + "limit_in_bytes": { + "path": "elasticsearch.node.stats.os.cgroup.memory.limit.bytes", + "type": "alias" + }, + "usage_in_bytes": { + "path": "elasticsearch.node.stats.os.cgroup.memory.usage.bytes", + "type": "alias" + } + } + } + } + }, + "cpu": { + "properties": { + "load_average": { + "properties": { + "1m": { + "path": "elasticsearch.node.stats.os.cpu.load_avg.1m", + "type": "alias" + } + } + } + } + } + } + }, + "process": { + "properties": { + "cpu": { + "properties": { + "percent": { + "path": "elasticsearch.node.stats.process.cpu.pct", + "type": "alias" + } + } + } + } + }, + "thread_pool": { + "properties": { + "bulk": { + "properties": { + "queue": { + "path": "elasticsearch.node.stats.thread_pool.bulk.queue.count", + "type": "alias" + }, + "rejected": { + "path": "elasticsearch.node.stats.thread_pool.bulk.rejected.count", + "type": "alias" + } + } + }, + "get": { + "properties": { + "queue": { + "path": "elasticsearch.node.stats.thread_pool.get.queue.count", + "type": "alias" + }, + "rejected": { + "path": "elasticsearch.node.stats.thread_pool.get.rejected.count", + "type": "alias" + } + } + }, + "index": { + "properties": { + "queue": { + "path": "elasticsearch.node.stats.thread_pool.index.queue.count", + "type": "alias" + }, + "rejected": { + "path": "elasticsearch.node.stats.thread_pool.index.rejected.count", + "type": "alias" + } + } + }, + "search": { + "properties": { + "queue": { + "path": "elasticsearch.node.stats.thread_pool.search.queue.count", + "type": "alias" + }, + "rejected": { + "path": "elasticsearch.node.stats.thread_pool.search.rejected.count", + "type": "alias" + } + } + }, + "write": { + "properties": { + "queue": { + "path": "elasticsearch.node.stats.thread_pool.write.queue.count", + "type": "alias" + }, + "rejected": { + "path": "elasticsearch.node.stats.thread_pool.write.rejected.count", + "type": "alias" + } + } + } + } + } + } + }, + "service": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "source_node": { + "properties": { + "name": { + "path": "elasticsearch.node.name", + "type": "alias" + }, + "uuid": { + "path": "elasticsearch.node.id", + "type": "alias" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "settings": { + "index": { + "codec": "best_compression", + "lifecycle": { + "name": "metrics" + }, + "mapping": { + "total_fields": { + "limit": "10000" + } + }, + "query": { + "default_field": [ + "ecs.version", + "event.dataset", + "event.module", + "host.name", + "service.address", + "service.type", + "service.name", + "error.message", + "elasticsearch.node.stats.os.cgroup.memory.control_group", + "elasticsearch.node.stats.os.cgroup.memory.limit.bytes", + "elasticsearch.node.stats.os.cgroup.memory.usage.bytes", + "elasticsearch.node.id", + "elasticsearch.node.name", + "elasticsearch.cluster.name", + "elasticsearch.cluster.id", + "elasticsearch.cluster.state.id" + ] + } + } + } + } + } + } +} + +{ + "type": "data_stream", + "value": { + "data_stream": "metrics-elasticsearch.stack_monitoring.shard-default", + "template": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "elasticsearch" + } + }, + "data_stream": { + "allow_custom_routing": false, + "hidden": false + }, + "index_patterns": [ + "metrics-elasticsearch.stack_monitoring.shard-*" + ], + "name": "metrics-elasticsearch.stack_monitoring.shard", + "priority": 200, + "template": { + "mappings": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "elasticsearch" + } + }, + "date_detection": false, + "dynamic": false, + "dynamic_templates": [ + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "cluster_uuid": { + "path": "elasticsearch.cluster.id", + "type": "alias" + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "elasticsearch": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "state": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "stats": { + "properties": { + "state": { + "properties": { + "state_uuid": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + } + } + }, + "index": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "node": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "master": { + "type": "boolean" + }, + "mlockall": { + "type": "boolean" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "shard": { + "properties": { + "number": { + "type": "long" + }, + "primary": { + "type": "boolean" + }, + "relocating_node": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "source_node": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "uuid": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "state": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "error": { + "properties": { + "message": { + "type": "match_only_text" + } + } + }, + "event": { + "properties": { + "agent_id_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "ingested": { + "format": "strict_date_time_no_millis||strict_date_optional_time||epoch_millis", + "type": "date" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "service": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "shard": { + "properties": { + "index": { + "path": "elasticsearch.index.name", + "type": "alias" + }, + "node": { + "path": "elasticsearch.node.id", + "type": "alias" + }, + "primary": { + "path": "elasticsearch.shard.primary", + "type": "alias" + }, + "shard": { + "path": "elasticsearch.shard.number", + "type": "alias" + }, + "state": { + "path": "elasticsearch.shard.state", + "type": "alias" + } + } + }, + "source_node": { + "properties": { + "name": { + "path": "elasticsearch.node.name", + "type": "alias" + }, + "uuid": { + "path": "elasticsearch.node.id", + "type": "alias" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "settings": { + "index": { + "codec": "best_compression", + "lifecycle": { + "name": "metrics" + }, + "mapping": { + "total_fields": { + "limit": "10000" + } + }, + "query": { + "default_field": [ + "ecs.version", + "event.dataset", + "event.module", + "host.name", + "service.address", + "service.type", + "service.name", + "error.message", + "elasticsearch.shard.state", + "elasticsearch.shard.relocating_node.name", + "elasticsearch.shard.relocating_node.id", + "elasticsearch.shard.source_node.name", + "elasticsearch.shard.source_node.uuid", + "elasticsearch.index.name", + "elasticsearch.cluster.name", + "elasticsearch.cluster.id", + "elasticsearch.cluster.state.id", + "elasticsearch.cluster.stats.state.state_uuid", + "elasticsearch.node.id", + "elasticsearch.node.name" + ] + } + } + } + } + } + } +} + +{ + "type": "data_stream", + "value": { + "data_stream": "metrics-kibana.stack_monitoring.cluster_actions-default", + "template": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "kibana" + } + }, + "data_stream": { + "allow_custom_routing": false, + "hidden": false + }, + "index_patterns": [ + "metrics-kibana.stack_monitoring.cluster_actions-*" + ], + "name": "metrics-kibana.stack_monitoring.cluster_actions", + "priority": 200, + "template": { + "mappings": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "kibana" + } + }, + "date_detection": false, + "dynamic": false, + "dynamic_templates": [ + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "cluster_uuid": { + "path": "kibana.elasticsearch.cluster.id", + "type": "alias" + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "error": { + "properties": { + "message": { + "type": "match_only_text" + } + } + }, + "event": { + "properties": { + "agent_id_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "ingested": { + "format": "strict_date_time_no_millis||strict_date_optional_time||epoch_millis", + "type": "date" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "kibana": { + "properties": { + "cluster_actions": { + "properties": { + "overdue": { + "properties": { + "count": { + "type": "long" + }, + "delay": { + "properties": { + "p50": { + "type": "float" + }, + "p99": { + "type": "float" + } + } + } + } + } + } + }, + "elasticsearch": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + } + } + }, + "kibana_stats": { + "properties": { + "kibana": { + "properties": { + "uuid": { + "path": "service.id", + "type": "alias" + }, + "version": { + "path": "service.version", + "type": "alias" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "process": { + "properties": { + "pid": { + "type": "long" + } + } + }, + "service": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "settings": { + "index": { + "codec": "best_compression", + "lifecycle": { + "name": "metrics" + }, + "mapping": { + "total_fields": { + "limit": "10000" + } + }, + "query": { + "default_field": [ + "service.id", + "service.address", + "service.version", + "service.type", + "ecs.version", + "event.dataset", + "event.module", + "host.name", + "error.message", + "kibana.elasticsearch.cluster.id" + ] + } + } + } + } + } + } +} + +{ + "type": "data_stream", + "value": { + "data_stream": "metrics-kibana.stack_monitoring.cluster_rules-default", + "template": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "kibana" + } + }, + "data_stream": { + "allow_custom_routing": false, + "hidden": false + }, + "index_patterns": [ + "metrics-kibana.stack_monitoring.cluster_rules-*" + ], + "name": "metrics-kibana.stack_monitoring.cluster_rules", + "priority": 200, + "template": { + "mappings": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "kibana" + } + }, + "date_detection": false, + "dynamic": false, + "dynamic_templates": [ + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "cluster_uuid": { + "path": "kibana.elasticsearch.cluster.id", + "type": "alias" + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "error": { + "properties": { + "message": { + "type": "match_only_text" + } + } + }, + "event": { + "properties": { + "agent_id_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "ingested": { + "format": "strict_date_time_no_millis||strict_date_optional_time||epoch_millis", + "type": "date" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "kibana": { + "properties": { + "cluster_rules": { + "properties": { + "overdue": { + "properties": { + "count": { + "type": "long" + }, + "delay": { + "properties": { + "p50": { + "type": "float" + }, + "p99": { + "type": "float" + } + } + } + } + } + } + }, + "elasticsearch": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + } + } + }, + "kibana_stats": { + "properties": { + "kibana": { + "properties": { + "uuid": { + "path": "service.id", + "type": "alias" + }, + "version": { + "path": "service.version", + "type": "alias" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "process": { + "properties": { + "pid": { + "type": "long" + } + } + }, + "service": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "settings": { + "index": { + "codec": "best_compression", + "lifecycle": { + "name": "metrics" + }, + "mapping": { + "total_fields": { + "limit": "10000" + } + }, + "query": { + "default_field": [ + "service.id", + "service.address", + "service.version", + "service.type", + "ecs.version", + "event.dataset", + "event.module", + "host.name", + "error.message", + "kibana.elasticsearch.cluster.id" + ] + } + } + } + } + } + } +} + +{ + "type": "data_stream", + "value": { + "data_stream": "metrics-kibana.stack_monitoring.node_actions-default", + "template": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "kibana" + } + }, + "data_stream": { + "allow_custom_routing": false, + "hidden": false + }, + "index_patterns": [ + "metrics-kibana.stack_monitoring.node_actions-*" + ], + "name": "metrics-kibana.stack_monitoring.node_actions", + "priority": 200, + "template": { + "mappings": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "kibana" + } + }, + "date_detection": false, + "dynamic": false, + "dynamic_templates": [ + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "cluster_uuid": { + "path": "kibana.elasticsearch.cluster.id", + "type": "alias" + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "error": { + "properties": { + "message": { + "type": "match_only_text" + } + } + }, + "event": { + "properties": { + "agent_id_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "ingested": { + "format": "strict_date_time_no_millis||strict_date_optional_time||epoch_millis", + "type": "date" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "kibana": { + "properties": { + "elasticsearch": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "node_actions": { + "properties": { + "executions": { + "type": "long" + }, + "failures": { + "type": "long" + }, + "timeouts": { + "type": "long" + } + } + } + } + }, + "kibana_stats": { + "properties": { + "kibana": { + "properties": { + "uuid": { + "path": "service.id", + "type": "alias" + }, + "version": { + "path": "service.version", + "type": "alias" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "process": { + "properties": { + "pid": { + "type": "long" + } + } + }, + "service": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "settings": { + "index": { + "codec": "best_compression", + "lifecycle": { + "name": "metrics" + }, + "mapping": { + "total_fields": { + "limit": "10000" + } + }, + "query": { + "default_field": [ + "service.id", + "service.address", + "service.version", + "service.type", + "ecs.version", + "event.dataset", + "event.module", + "host.name", + "error.message", + "kibana.elasticsearch.cluster.id" + ] + } + } + } + } + } + } +} + +{ + "type": "data_stream", + "value": { + "data_stream": "metrics-kibana.stack_monitoring.node_rules-default", + "template": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "kibana" + } + }, + "data_stream": { + "allow_custom_routing": false, + "hidden": false + }, + "index_patterns": [ + "metrics-kibana.stack_monitoring.node_rules-*" + ], + "name": "metrics-kibana.stack_monitoring.node_rules", + "priority": 200, + "template": { + "mappings": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "kibana" + } + }, + "date_detection": false, + "dynamic": false, + "dynamic_templates": [ + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "cluster_uuid": { + "path": "kibana.elasticsearch.cluster.id", + "type": "alias" + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "error": { + "properties": { + "message": { + "type": "match_only_text" + } + } + }, + "event": { + "properties": { + "agent_id_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "ingested": { + "format": "strict_date_time_no_millis||strict_date_optional_time||epoch_millis", + "type": "date" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "kibana": { + "properties": { + "elasticsearch": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "node_rules": { + "properties": { + "executions": { + "type": "long" + }, + "failures": { + "type": "long" + }, + "timeouts": { + "type": "long" + } + } + } + } + }, + "kibana_stats": { + "properties": { + "kibana": { + "properties": { + "uuid": { + "path": "service.id", + "type": "alias" + }, + "version": { + "path": "service.version", + "type": "alias" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "process": { + "properties": { + "pid": { + "type": "long" + } + } + }, + "service": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "settings": { + "index": { + "codec": "best_compression", + "lifecycle": { + "name": "metrics" + }, + "mapping": { + "total_fields": { + "limit": "10000" + } + }, + "query": { + "default_field": [ + "service.id", + "service.address", + "service.version", + "service.type", + "ecs.version", + "event.dataset", + "event.module", + "host.name", + "error.message", + "kibana.elasticsearch.cluster.id" + ] + } + } + } + } + } + } +} + +{ + "type": "data_stream", + "value": { + "data_stream": "metrics-kibana.stack_monitoring.stats-default", + "template": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "kibana" + } + }, + "data_stream": { + "allow_custom_routing": false, + "hidden": false + }, + "index_patterns": [ + "metrics-kibana.stack_monitoring.stats-*" + ], + "name": "metrics-kibana.stack_monitoring.stats", + "priority": 200, + "template": { + "mappings": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "kibana" + } + }, + "date_detection": false, + "dynamic": false, + "dynamic_templates": [ + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "cluster_uuid": { + "path": "kibana.elasticsearch.cluster.id", + "type": "alias" + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "error": { + "properties": { + "message": { + "type": "match_only_text" + } + } + }, + "event": { + "properties": { + "agent_id_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "ingested": { + "format": "strict_date_time_no_millis||strict_date_optional_time||epoch_millis", + "type": "date" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "kibana": { + "properties": { + "elasticsearch": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "stats": { + "properties": { + "concurrent_connections": { + "type": "long" + }, + "host": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "index": { + "ignore_above": 1024, + "type": "keyword" + }, + "kibana": { + "properties": { + "status": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "os": { + "properties": { + "distro": { + "ignore_above": 1024, + "type": "keyword" + }, + "distroRelease": { + "ignore_above": 1024, + "type": "keyword" + }, + "load": { + "properties": { + "15m": { + "type": "half_float" + }, + "1m": { + "type": "half_float" + }, + "5m": { + "type": "half_float" + } + } + }, + "memory": { + "properties": { + "free_in_bytes": { + "type": "long" + }, + "total_in_bytes": { + "type": "long" + }, + "used_in_bytes": { + "type": "long" + } + } + }, + "platform": { + "ignore_above": 1024, + "type": "keyword" + }, + "platformRelease": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "process": { + "properties": { + "event_loop_delay": { + "properties": { + "ms": { + "scaling_factor": 1000, + "type": "scaled_float" + } + } + }, + "memory": { + "properties": { + "heap": { + "properties": { + "size_limit": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "total": { + "properties": { + "bytes": { + "type": "long" + } + } + }, + "uptime": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "used": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "resident_set_size": { + "properties": { + "bytes": { + "type": "long" + } + } + } + } + }, + "uptime": { + "properties": { + "ms": { + "type": "long" + } + } + } + } + }, + "request": { + "properties": { + "disconnects": { + "type": "long" + }, + "total": { + "type": "long" + } + } + }, + "response_time": { + "properties": { + "avg": { + "properties": { + "ms": { + "type": "long" + } + } + }, + "max": { + "properties": { + "ms": { + "type": "long" + } + } + } + } + }, + "snapshot": { + "type": "boolean" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "transport_address": { + "ignore_above": 1024, + "type": "keyword" + }, + "usage": { + "properties": { + "index": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + } + } + }, + "kibana_stats": { + "properties": { + "concurrent_connections": { + "path": "kibana.stats.concurrent_connections", + "type": "alias" + }, + "kibana": { + "properties": { + "response_time": { + "properties": { + "max": { + "path": "kibana.stats.response_time.max.ms", + "type": "alias" + } + } + }, + "status": { + "path": "kibana.stats.status", + "type": "alias" + }, + "uuid": { + "path": "service.id", + "type": "alias" + }, + "version": { + "path": "service.version", + "type": "alias" + } + } + }, + "os": { + "properties": { + "load": { + "properties": { + "15m": { + "path": "kibana.stats.os.load.15m", + "type": "alias" + }, + "1m": { + "path": "kibana.stats.os.load.1m", + "type": "alias" + }, + "5m": { + "path": "kibana.stats.os.load.5m", + "type": "alias" + } + } + }, + "memory": { + "properties": { + "free_in_bytes": { + "path": "kibana.stats.os.memory.free_in_bytes", + "type": "alias" + } + } + } + } + }, + "process": { + "properties": { + "event_loop_delay": { + "path": "kibana.stats.process.event_loop_delay.ms", + "type": "alias" + }, + "memory": { + "properties": { + "heap": { + "properties": { + "size_limit": { + "path": "kibana.stats.process.memory.heap.size_limit.bytes", + "type": "alias" + } + } + }, + "resident_set_size_in_bytes": { + "path": "kibana.stats.process.memory.resident_set_size.bytes", + "type": "alias" + } + } + }, + "uptime_in_millis": { + "path": "kibana.stats.process.uptime.ms", + "type": "alias" + } + } + }, + "requests": { + "properties": { + "disconnects": { + "path": "kibana.stats.request.disconnects", + "type": "alias" + }, + "total": { + "path": "kibana.stats.request.total", + "type": "alias" + } + } + }, + "response_times": { + "properties": { + "average": { + "path": "kibana.stats.response_time.avg.ms", + "type": "alias" + }, + "max": { + "path": "kibana.stats.response_time.max.ms", + "type": "alias" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "process": { + "properties": { + "pid": { + "type": "long" + } + } + }, + "service": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "settings": { + "index": { + "codec": "best_compression", + "lifecycle": { + "name": "metrics" + }, + "mapping": { + "total_fields": { + "limit": "10000" + } + }, + "query": { + "default_field": [ + "service.id", + "service.address", + "service.version", + "service.type", + "ecs.version", + "event.dataset", + "event.module", + "host.name", + "error.message", + "kibana.elasticsearch.cluster.id", + "kibana.stats.kibana.status", + "kibana.stats.usage.index", + "kibana.stats.name", + "kibana.stats.index", + "kibana.stats.host.name", + "kibana.stats.status", + "kibana.stats.transport_address", + "kibana.stats.os.distro", + "kibana.stats.os.distroRelease", + "kibana.stats.os.platform", + "kibana.stats.os.platformRelease" + ] + } + } + } + } + } + } +} + +{ + "type": "data_stream", + "value": { + "data_stream": "metrics-kibana.stack_monitoring.status-default", + "template": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "kibana" + } + }, + "data_stream": { + "allow_custom_routing": false, + "hidden": false + }, + "index_patterns": [ + "metrics-kibana.stack_monitoring.status-*" + ], + "name": "metrics-kibana.stack_monitoring.status", + "priority": 200, + "template": { + "mappings": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "kibana" + } + }, + "date_detection": false, + "dynamic": false, + "dynamic_templates": [ + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "error": { + "properties": { + "message": { + "type": "match_only_text" + } + } + }, + "event": { + "properties": { + "agent_id_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "ingested": { + "format": "strict_date_time_no_millis||strict_date_optional_time||epoch_millis", + "type": "date" + } + } + }, + "kibana": { + "properties": { + "status": { + "properties": { + "metrics": { + "properties": { + "concurrent_connections": { + "type": "long" + }, + "requests": { + "properties": { + "disconnects": { + "type": "long" + }, + "total": { + "type": "long" + } + } + } + } + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "status": { + "properties": { + "overall": { + "properties": { + "state": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + } + } + } + } + }, + "service": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "settings": { + "index": { + "codec": "best_compression", + "lifecycle": { + "name": "metrics" + }, + "mapping": { + "total_fields": { + "limit": "10000" + } + }, + "query": { + "default_field": [ + "service.id", + "service.name", + "service.version", + "service.type", + "service.address", + "ecs.version", + "error.message", + "kibana.status.name", + "kibana.status.status.overall.state" + ] + } + } + } + } + } + } +} + +{ + "type": "data_stream", + "value": { + "data_stream": "metrics-logstash.stack_monitoring.node-default", + "template": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "logstash" + } + }, + "data_stream": { + "allow_custom_routing": false, + "hidden": false + }, + "index_patterns": [ + "metrics-logstash.stack_monitoring.node-*" + ], + "name": "metrics-logstash.stack_monitoring.node", + "priority": 200, + "template": { + "mappings": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "logstash" + } + }, + "date_detection": false, + "dynamic": false, + "dynamic_templates": [ + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "cluster_uuid": { + "path": "logstash.elasticsearch.cluster.id", + "type": "alias" + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "error": { + "properties": { + "message": { + "type": "match_only_text" + } + } + }, + "event": { + "properties": { + "agent_id_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "ingested": { + "format": "strict_date_time_no_millis||strict_date_optional_time||epoch_millis", + "type": "date" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "logstash": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "elasticsearch": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "node": { + "properties": { + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "jvm": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "state": { + "properties": { + "pipeline": { + "properties": { + "batch_size": { + "type": "long" + }, + "ephemeral_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "representation": { + "properties": { + "graph": { + "properties": { + "edges": { + "type": "object" + }, + "vertices": { + "type": "object" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "workers": { + "type": "long" + } + } + } + } + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "logstash_state": { + "properties": { + "pipeline": { + "properties": { + "hash": { + "path": "logstash.node.state.pipeline.hash", + "type": "alias" + }, + "id": { + "path": "logstash.node.state.pipeline.id", + "type": "alias" + } + } + } + } + }, + "process": { + "properties": { + "pid": { + "type": "long" + } + } + }, + "service": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "settings": { + "index": { + "codec": "best_compression", + "lifecycle": { + "name": "metrics" + }, + "mapping": { + "total_fields": { + "limit": "10000" + } + }, + "query": { + "default_field": [ + "service.hostname", + "service.id", + "service.type", + "service.version", + "service.address", + "service.name", + "ecs.version", + "event.dataset", + "event.module", + "host.name", + "error.message", + "logstash.cluster.id", + "logstash.elasticsearch.cluster.id", + "logstash.node.jvm.version", + "logstash.node.host", + "logstash.node.version", + "logstash.node.id", + "logstash.node.state.pipeline.id", + "logstash.node.state.pipeline.hash", + "logstash.node.state.pipeline.ephemeral_id", + "logstash.node.state.pipeline.representation.hash", + "logstash.node.state.pipeline.representation.type", + "logstash.node.state.pipeline.representation.version" + ] + } + } + } + } + } + } +} + +{ + "type": "data_stream", + "value": { + "data_stream": "metrics-logstash.stack_monitoring.node_stats-default", + "template": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "logstash" + } + }, + "data_stream": { + "allow_custom_routing": false, + "hidden": false + }, + "index_patterns": [ + "metrics-logstash.stack_monitoring.node_stats-*" + ], + "name": "metrics-logstash.stack_monitoring.node_stats", + "priority": 200, + "template": { + "mappings": { + "_meta": { + "managed": true, + "managed_by": "fleet", + "package": { + "name": "logstash" + } + }, + "date_detection": false, + "dynamic": false, + "dynamic_templates": [ + { + "strings_as_keyword": { + "mapping": { + "ignore_above": 1024, + "type": "keyword" + }, + "match_mapping_type": "string" + } + } + ], + "properties": { + "@timestamp": { + "type": "date" + }, + "cluster_uuid": { + "path": "logstash.elasticsearch.cluster.id", + "type": "alias" + }, + "data_stream": { + "properties": { + "dataset": { + "type": "constant_keyword" + }, + "namespace": { + "type": "constant_keyword" + }, + "type": { + "type": "constant_keyword" + } + } + }, + "ecs": { + "properties": { + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "error": { + "properties": { + "message": { + "type": "match_only_text" + } + } + }, + "event": { + "properties": { + "agent_id_status": { + "ignore_above": 1024, + "type": "keyword" + }, + "dataset": { + "ignore_above": 1024, + "type": "keyword" + }, + "duration": { + "type": "long" + }, + "ingested": { + "format": "strict_date_time_no_millis||strict_date_optional_time||epoch_millis", + "type": "date" + }, + "module": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "host": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "logstash": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "elasticsearch": { + "properties": { + "cluster": { + "properties": { + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "node": { + "properties": { + "state": { + "properties": { + "pipeline": { + "properties": { + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + } + }, + "stats": { + "properties": { + "events": { + "properties": { + "duration_in_millis": { + "type": "long" + }, + "filtered": { + "type": "long" + }, + "in": { + "type": "long" + }, + "out": { + "type": "long" + } + } + }, + "jvm": { + "properties": { + "gc": { + "properties": { + "collectors": { + "properties": { + "old": { + "properties": { + "collection_count": { + "type": "long" + }, + "collection_time_in_millis": { + "type": "long" + } + } + }, + "young": { + "properties": { + "collection_count": { + "type": "long" + }, + "collection_time_in_millis": { + "type": "long" + } + } + } + } + } + } + }, + "mem": { + "properties": { + "heap_max_in_bytes": { + "type": "long" + }, + "heap_used_in_bytes": { + "type": "long" + }, + "heap_used_percent": { + "type": "long" + } + } + }, + "uptime_in_millis": { + "type": "long" + } + } + }, + "logstash": { + "properties": { + "ephemeral_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "host": { + "ignore_above": 1024, + "type": "keyword" + }, + "http_address": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "pipeline": { + "properties": { + "batch_size": { + "type": "long" + }, + "workers": { + "type": "long" + } + } + }, + "snapshot": { + "type": "boolean" + }, + "status": { + "ignore_above": 1024, + "type": "keyword" + }, + "uuid": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "os": { + "properties": { + "cgroup": { + "properties": { + "cpu": { + "properties": { + "cfs_quota_micros": { + "type": "long" + }, + "control_group": { + "type": "text" + }, + "stat": { + "type": "object" + } + } + }, + "cpuacct": { + "type": "object" + } + } + }, + "cpu": { + "properties": { + "load_average": { + "properties": { + "15m": { + "type": "half_float" + }, + "1m": { + "type": "half_float" + }, + "5m": { + "type": "half_float" + } + } + }, + "percent": { + "type": "double" + } + } + } + } + }, + "pipelines": { + "properties": { + "ephemeral_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "events": { + "properties": { + "duration_in_millis": { + "type": "long" + }, + "filtered": { + "type": "long" + }, + "in": { + "type": "long" + }, + "out": { + "type": "long" + }, + "queue_push_duration_in_millis": { + "type": "long" + } + } + }, + "hash": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "queue": { + "properties": { + "events_count": { + "type": "long" + }, + "max_queue_size_in_bytes": { + "type": "long" + }, + "queue_size_in_bytes": { + "type": "long" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "reloads": { + "properties": { + "failures": { + "type": "long" + }, + "successes": { + "type": "long" + } + } + }, + "vertices": { + "properties": { + "duration_in_millis": { + "type": "long" + }, + "events_in": { + "type": "long" + }, + "events_out": { + "type": "long" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "long_counters": { + "properties": { + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "value": { + "type": "long" + } + }, + "type": "nested" + }, + "pipeline_ephemeral_id": { + "ignore_above": 1024, + "type": "keyword" + }, + "queue_push_duration_in_millis": { + "type": "long" + } + }, + "type": "nested" + } + }, + "type": "nested" + }, + "process": { + "properties": { + "cpu": { + "properties": { + "percent": { + "type": "double" + } + } + }, + "max_file_descriptors": { + "type": "long" + }, + "open_file_descriptors": { + "type": "long" + } + } + }, + "queue": { + "properties": { + "events_count": { + "type": "long" + } + } + }, + "reloads": { + "properties": { + "failures": { + "type": "long" + }, + "successes": { + "type": "long" + } + } + }, + "timestamp": { + "type": "date" + } + } + } + } + } + } + }, + "logstash_stats": { + "properties": { + "events": { + "properties": { + "duration_in_millis": { + "path": "logstash.node.stats.events.duration_in_millis", + "type": "alias" + }, + "in": { + "path": "logstash.node.stats.events.in", + "type": "alias" + }, + "out": { + "path": "logstash.node.stats.events.out", + "type": "alias" + } + } + }, + "jvm": { + "properties": { + "mem": { + "properties": { + "heap_max_in_bytes": { + "path": "logstash.node.stats.jvm.mem.heap_max_in_bytes", + "type": "alias" + }, + "heap_used_in_bytes": { + "path": "logstash.node.stats.jvm.mem.heap_used_in_bytes", + "type": "alias" + } + } + }, + "uptime_in_millis": { + "path": "logstash.node.stats.jvm.uptime_in_millis", + "type": "alias" + } + } + }, + "logstash": { + "properties": { + "uuid": { + "path": "logstash.node.stats.logstash.uuid", + "type": "alias" + }, + "version": { + "path": "logstash.node.stats.logstash.version", + "type": "alias" + } + } + }, + "os": { + "properties": { + "cgroup": { + "properties": { + "cpuacct": { + "type": "object" + } + } + }, + "cpu": { + "properties": { + "load_average": { + "properties": { + "15m": { + "path": "logstash.node.stats.os.cpu.load_average.15m", + "type": "alias" + }, + "1m": { + "path": "logstash.node.stats.os.cpu.load_average.1m", + "type": "alias" + }, + "5m": { + "path": "logstash.node.stats.os.cpu.load_average.5m", + "type": "alias" + } + } + }, + "stat": { + "type": "object" + } + } + } + } + }, + "pipelines": { + "type": "nested" + }, + "process": { + "properties": { + "cpu": { + "properties": { + "percent": { + "path": "logstash.node.stats.process.cpu.percent", + "type": "alias" + } + } + } + } + }, + "queue": { + "properties": { + "events_count": { + "path": "logstash.node.stats.queue.events_count", + "type": "alias" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "process": { + "properties": { + "pid": { + "type": "long" + } + } + }, + "service": { + "properties": { + "address": { + "ignore_above": 1024, + "type": "keyword" + }, + "hostname": { + "ignore_above": 1024, + "type": "keyword" + }, + "id": { + "ignore_above": 1024, + "type": "keyword" + }, + "name": { + "ignore_above": 1024, + "type": "keyword" + }, + "type": { + "ignore_above": 1024, + "type": "keyword" + }, + "version": { + "ignore_above": 1024, + "type": "keyword" + } + } + }, + "timestamp": { + "path": "@timestamp", + "type": "alias" + } + } + }, + "settings": { + "index": { + "codec": "best_compression", + "lifecycle": { + "name": "metrics" + }, + "mapping": { + "total_fields": { + "limit": "10000" + } + }, + "query": { + "default_field": [ + "service.hostname", + "service.id", + "service.type", + "service.version", + "service.address", + "service.name", + "ecs.version", + "event.dataset", + "event.module", + "host.name", + "error.message", + "logstash.elasticsearch.cluster.id", + "logstash.node.state.pipeline.id", + "logstash.node.state.pipeline.hash", + "logstash.node.stats.logstash.uuid", + "logstash.node.stats.logstash.version", + "logstash.node.stats.logstash.ephemeral_id", + "logstash.node.stats.logstash.host", + "logstash.node.stats.logstash.http_address", + "logstash.node.stats.logstash.name", + "logstash.node.stats.logstash.status", + "logstash.node.stats.os.cgroup.cpuacct.control_group", + "logstash.node.stats.os.cgroup.cpu.control_group", + "logstash.node.stats.pipelines.id", + "logstash.node.stats.pipelines.hash", + "logstash.node.stats.pipelines.ephemeral_id", + "logstash.node.stats.pipelines.queue.type", + "logstash.node.stats.pipelines.vertices.id", + "logstash.node.stats.pipelines.vertices.long_counters.name", + "logstash.node.stats.pipelines.vertices.pipeline_ephemeral_id", + "logstash.cluster.id" + ] + } + } + } + } + } + } +} diff --git a/x-pack/test/functional/es_archives/monitoring/logstash_pipelines_package/data.json.gz b/x-pack/test/functional/es_archives/monitoring/logstash_pipelines_package/data.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..c42533016d52ec5f4940bd883f5bb14d54d83e3b GIT binary patch literal 200292 zcmb5VWn5HmzxE9X5(Cl$NDm<}bVvwF2-4CqG)lKfgS0eKLw6(HT|+5d3P_`LgVOOV z)cYk~8NC7cO4IPrbLUbI#X~`i}g+FAk-xEI+;U z^f+DqwHq|GZ@1XmT$&+%JLX-|2Wlay&g~q#8S4zukQLYbE1Z zn~PV)Y2J3mP(;1S$>Fcdoq`L(^=IDf+qmKQ@MJ4iwOhK>`@)_qVJ8^bTv?%o2Rts*$8olN0#OCCH_VQ-p=EKagri;ts{;j9C%kkb` zRI6k7`PKRN?GmQFftSBB4p9i*{0DCj;@J086%vfCRt^1rsA zrlM-Um(2rHOPZ$UB=qQIp54CkIdS_;&+#d1a?U7&dT5fuSw-fay2R!M(eayMZSdi{B z+wtHX7b?broVL)Pr^7$F@;>|Fp^d3#tiIw$63-`bSkjmRo=AQn;ZW+HQ>eGwVT5R==Ee zDxRtyrUPETXCEnCz0-~MklaOc#^Lo@|B2}BfnQwd*asWv zPx;S{H&36nGe4u*;dDG6wcu_|H&5n$_BMcA2`lY zhJdVDmIwvPV6I{ls%z9lY1yaKv4@Bz^Sst~&P4=Ht}#e6v+?NTGZx>IL@%xRDqKFj zDsOo`dmE95f@#MPBCC;=JtwD@=+ZKJzTo+^wU4nI%&LhhxNw-@4Q;d&S%=4gnP1xF z%9FtnPVcp)8oL=FY9N)3dklpTNqy4>`d}isMh$&ZeE4Cw30iND*udZ_!;4!U<_ojq z&TyQk3$0d98C#Olf0>3#j>;y#)ku;_gFC5YMJL($B_>5WvIh(YCoKiwDIZ9{ndNaC zSNc7>!qw@iZ=RA1b|zB`%>@+%w;XZ%YN~xgRfCf;=&b!z!VKl&7@U%j=?oq0UI~rj z9wDMdPgdgKkjswod#6Cy8W9PMC@0QmMUUv z=X)kMBj!-?cmw6L16k_a%6pHrXpT*JKIh|!n*?Edknks%je<%?i38Nh7_(QxDVfTv zzLjBRvG8lq<;4gplkpe5>TzYp%Ig+0ihL78!kBUj>e8}{%KbKZZhmh@8omt(~SO| zo6$v|cMh(nqpzW0xq}VdvzuLxXKf$b&QEsh?KZvNT}wfu{&-w=nbY9y)A#lTeWX=dZ$8DYEi$Hm0k(}U~nQx|I6XN&WT z?_3=xEz5qNYxYM0TjV*iX7n#HvKi&IRdX2TFd*?T?@1eqnZyp| zx-b5IJeG_YXmUBn0>qujY#4bN@9D*u7==zBpCgG2Mj&IDFk%EQnwLg@X4rU7N<{cx zz{yql8KSYi=cO|Hr)*dBJ`I$?M-qq|M)7Sm(Oltq{WV0~h_|T|AA&K6Y1EQI81S3KVoz1%tQc#4m#bDhBBTJ>ohc4; z9iyk25C$@&=O)3D95pr=!Tou7#J=C5$cpTnT=hqDPu52EQaXyPpL~AP++$mvDT{To zo}Sm`x8)SW0zrFl&@_qHr$bUaK5OaTq!FV&9Hf}nL5xrNbK^r>P@Pn<{o1s~H!z=2ilsiC*oP z#VA~1aqk?2WQOhSrG~nTIZJs}5Ya=8Zt!=EaoxojwCagpk@b77+3uCUkMlhr-G zd&{pQ^li|Nv!w}#)8m)ImT{vjKI@D~&{@T*Iory6hCMblFCcW;R{Rf2T=gu2zn6lv zHh1|%^q`+v5^zeEf~TGe<(?Lm(n1mJxc2NhC^az}uNlsozkV)B?ePCfYN(+xP;#aD zLHoQkDK{sH*jN|6m@J7noU^*Iy)K;RrEAj_=Z{Ri$j(V@tl>hpMBwW?7@CA@@spR%EKHSe5eyq_TI$HG$ay;hE}51;e$vvOw#?YCo@Pi z8j7#V97DDqh7i|3Qp|RZ1~Wr%i{PRtB7Towl+c&jBGK>D@ zM|=;;oEBq@Cl<2^XwwOO$ztaCDVI)}c@Lwe{}7e>H})4hbcV$4{xzxi8q1#oSgcH+*S)!(Z75}%TM9@nrjEi3 zRw3yWF?vQLg_m5`hQ+O&^P_6c40S+6HG2-KT-mB5Kfn?TXZi@LU^%%sey>F=sV-Fo znSC{Mm`*Eox<*~-2IYxlF(P2NxW6Nx8LOyp)&8FE7f;u*W*@{-sYD>)ce z6W86u-oj(63WFiqfr(b+H{CB^*H;|ZD@mFBcx~}+gNYz4-wW}tvz*<&8s*t8v zp`nPh$4|91yyFX^WrtoFeW*q#GnIwbF?M20HagXWsc&sHI9%x|jo5n*y70$4CCO7P zhKE+&YW$q-R6dLTsECn;Pj>T^h7c{;F4;!uJSJD_A+kRX4=dAR&HMrm%VMl2 z@@g~Ms?JXqLeJAJ!Fk^B?ZIyf{xpi_6)EqFM}LJ)$PE;D&WOXyMc2H-?W>M<&Co37 zc`+ap>WoOMvu>zycI&--&JzupM@~WYYvehIUO@ z3^Gz!VdqU=_E=8uw-gppeR~PfV3~`(YjJiZlM9*m8I-&Hj?h-gqd77?>oYxXFSpB% zu18v4=fFAm$|OFg@|`nv&8bB0)iH*#+VZR9`R;qzCfB^_RKi1yCU0@ z#xrGhfT-;$zjn=m)8!J8C_A4R_a^E`vx}cY+bO2xL~UA@@c9w9#?@EmQ=xnEc1E+HGd&#gtcegjn&H+j#XN9zqW zU@z;?X?0&^{J7Vq(db9CTpS>7G=tl-Q7(5@mPsno9Q`TR`+3+*y(foOWI8QEtA^rQ zSf`BwU!;P9GA_rvsa5{kqb_36F+Rt|V+Hl$ko>bPMs{bjZ)fvLg6?pYb?>SO1Ev?a zs~glDOfMFx9pQE?OfNF5`I%nqw`5XW`-K)r2woJiCCBKC30@2n(h(Gc;&b|>rMAar zt9B~8Of6fk9%{`sqyNur&i=`iXC{wDT8~wCM-&>{Ca$nV|M4IC= zU}X~~qc4~u(c45VEDpvm7lDA=3hFfC^sD29ZevM_`^O(CL+OFnuym<#7J4a{XlY42 z%m}yVgN@~?_j(WY3svZ3LuC4K!~5qbMTS`@A(imw=}nnJ4F`DOuz>wanR@Uv znTU0=s!nwY>imWtWlvB}BiZI1W7tE}$nP}}GbFw?M$X&h_*5$0-SFn)l42C-4b;`A!=^!H{ZG5RuYhi7S)QTwG~2Alg&fQco; zk$_Xt-SmQDL^=>UYmIK$`Mf~-lS~N~Du{?8!Vm+HsiGv_@Z4pFLF=8H_nAPlA#JbI zWU7;<{7;uusg1XWU7y-+r@e6Knjr&~j?rX9smeUatbWot`!S$Mm14892mt{kF#Tje z>tiItO<@!yx%FNoAG9QG?Wye4)`1^r$Y9?>%!*3BVz(xFS;a;#eWWw^oj%1vI^~}o zSD>~pQ;ivVQ7O{LNsX)YV|~g~i>Bz8pg!fo`ab19`*c@Runyp_n~~dAT96F1@vM>0 z`X|9?o_W8gRYJF>xhHc+<+mB(H^TiZZEiwMOKqUD{yIXo4+cAr!^$h-TJ7=OvTP^~ z4u!tZEb5T8`CSkbDNf0b4+MUP%BX(5oIE)oPF3+SAt**^LphTT5CaC4r%CNu|9X(^ zEDZ$Ln>wQ0@VijVP;j|@HxW)9&dR5!RR=4s#<0r+xVsX7I05BK!vSh@w8ryiq3SRD z?^9TNN`eT_{k=s-p?h{@8*rX+XetCkGRkr4cYyUGZeYVUv)t@6b3fWL@&3{@!iVPJ zleUmi1aSxSWqm@U%Bo}he9ZFQG=I|{S~Wf6D;6%9**to(1dl@toOG6V=t5~hIgoWk zZW;gm(D`V_?A|{JJw|ag5i3ONfU4>cEy2?zM`E<}2=r+oSmmxCtA*2zF|(lQDWYZ8 zPX>M?;ZkVpm(kj9Ipz`8TecLshZmE0BRV8?*}kx(XjqmEj%~|Jn@Ct^+4tl1N){!k z%w(u~Ugq)QcCLovhL{z$60|r^<3`)L2=3kXQL*`0qKNn+hJ0$-Q_3JGsl1JHhlV>?M9$br z%v#d1&u_d;(~Ga>0iJZ3FuyNs#yMuy8F;peh`IH4->a)YElku@2MG^boRp!)s}`$O zMey!D_2o77*(?nrIhK#Sfy&4*89$AZZ>VXv`gAo%v9k!q@7=7D?7X?|_)PSYRQ zYsEKllr6t1im3<*A=k>85%j(5t+Z!!u^vn7H~re>7i*bs3C(>s;*dVa`iX_gBnKzb zRBUY|LFjB97g;k(hMFN^^(md!UJ}8oen{wUpfOA%spPq`9+GZlLN-5Y8PiAZ7~&Z! ztH@Jqt|tCl(V>(i2Q|!CDZvxnc(k%n@;t#8D$9+H#GyQ5tG+vdhl?UPvim%PpQ)5# z_P#Rt&;<5}Q_xSu%gO7nl*`;cQEw*CmYVZh&h*P$Sx^&Uu<7CJI^ROuo zhy%z-;8ChE@qHO7)d%1uwI;-qiS!@kM0tg3@g$)SYX_VdyO%S$I(zk{gev>&i@^eR{udHg^=(! zcZgKZ8vb~<1kyll^OeIdBMv)wi7j~Pa^Z7?_dInQxq%%pAi8-%4SVyVoWG2o;Cr^; zXMBfKLc-!Z)Q1RdSQyyLA$NeUvIxi;qic#H`=dB}Z}EUBOl0L4qtaVfHqaOw{!#%b|vJdG&e>WqLP&P@0$L7pa0^ov(7X?6E?P z!qy_uCpyClqxWdPKwJC}BhhPHvFn>FC(Y~7tAp?6zvQ+8V+Fr(^u^77DQ%i3q-6P# z2v(8bQKT$jH@Wu8&)YCi2p%n~GO)ca_87^tL8hbgF#?gI9w1OT8ThD~D!)Y`IR`bY zoogjpQ5^*}tvN&IB4RqkW#&F`(fGP(LVdj=tIRQXoDrC6$w{6>d2!PvR-=NCqD%}I zv5>0SKkxU!TJXbq*S`O8>GTx-u+%Twfs)H?;w<5Sut5V%}38T4=- zDLureHxUneb^F@;ms99cweRS9iNXG14`y6)k{@f4&-GjSpYK_ww~5Gv$uMz-pq7$~(m6&gOPmCW+<8p$@3DPh;@TqxvOclm~l5DChs zHVIu{Q@(cF6DPj3c?6?s-}vSwXR_ngkFTGaucN8m_p}I6J5_vNaIuMH=JYf@y$t>% zVSwEvV=V^%!<-_s2kV!f60F*ttavX}Nnn_Tn$!}7?R}}b-7a3K(R_A=fzDIrzm}^- z|2RpeB0Pg0@uHIE1y>T`S9u6&pD+=qOP6%DPlXx$IMSF_oGVky$5@-F2Vu+fLRv0X z*gDuaS_?wV*_T$kCp9&mBwY!HfSb%CrrMk<3hkdh|iFlV8uan!l%=2`b3x3tdq; zJU3y0QOlJc-RrH)zG@1cR-r8O8=eq#UqfF=Ej7m5|xW~ z{!`)#*3ZuO;(OeX2dZd}P_*KU*dETXqQ+7<6MZPqH`YV1Zj^OW+Wb$Vw)0p)N1Uns$MvUI62qLCt}hzvlf<4jg9tcW;pWXV)W)six$6Blvl_oWP6rm#z^`*Ew`t6H3N zz30R^y*?!Mo8lES+x1CjWQbDv^a&iuk#6u-Sz_$ioY1`^gU1r!GzIM1=LFFEj z7c+IC-htUFZKsHW^gFb4-z)5DQ}DBjvLaRTl8Cb2L39~PFaXg=l>!_-THpX(q;3GB zvuNc0JY?EYl1=;(LU>`VKW2oF8Xhh+x)FJ&HzQSAKN&kZ157eJITbN5C9_6_)BC?0 z3Ome^xVTLtMxVWzCd|sN^m;T$&K;1d3*pv}wLq_d_8tv}B`F#Jcs^Ph0~J@AQ%QJ1{=KN=VPwcXEIFm-j`!5j!vzLR;>}FhWwYhoUDNm1DAw}!M!)jgSn|a; zSm1wW+*1or<_)zpd0P%%`}HV9$UOfG@~RqUQc7kqRPs%H7DdVw1NX(b4=Pz(2j{n% zYT4!8FN|K}JT!szG=b_faD;bEk9Wk=;m!@5u{XneO`o1~fn+wVZMe$`ddJHHQjFx( z5NdC1xcesWQNGo+Q4x=NaC@E^Acooe>=zlFb6pDR(8$cN^T1)~xRP^9_y?}j(5^-U zIYR&(;i+YzGTI5a4_k)iIjk`B<}`bhG*d?EJZ2S~<4HtPTT-1EvHWY5#wnkk`^jK6 z&cdbOIAr1$G~z3T^1{yR;@Qh+mc;h%pYLO|pS;CWupw&G$&2(j^&cu8DE8Y1R@NDV zQ5rq3-Cf{!`G&Sq0=-kqAL~AG3q7&C-BxuTshqG!P$cN1p$lM(dtnZq-7`s#S1Cz#nk9mkj|$XQ96$XP4m z0`Oi`($+sP&3Vg7N9z0FK4l9hWeG1r%~}qNlXZ{}_gq5Hv6*!tEUjASW^rcgtijWaMhb zYBQ|nCtTV3wysPjJhf~{_?&@CYm@S#Rb*bj@Zr;0vgPU%4@cmY=vSH^$S9YtRwMbL z%C=}Vg$}t&;mJI+k@>}ag+(e3^NX**>5zlf{370(-~3{&C3ADu4;CjjQGaL27y_Sv zESbk%bl+M-CX3Q`Z5!V{?-t?zpjENX&g(V%+g&J|ub=#hlat%33&!l&wz*_fg;}4^ zTSlFh7VqkKgSG%q#!t{7tSWcnY%e+Wt7YtIWhvh~ItUI~a&Ot_1rDrTvg7Xc2-6s- zxw_8ssFG;ASbrv^DL~Wfbe0Og;Z)J3Ns+U#J276_z;PMm2}%2q{@88Xs8gE{cS3w{ zLY`|XJ|fnF_PZ=a;%N~<=QHX=@aYt`{D5{6xMw5Y2b?SaU`JnftGj`76af(pb8#ht z6l$^s!JE-D^PD`A1~l}&ff-^B%n zHFp!lb;!0_RF0tB_tle)?Nx2#+aS9tY`Rc<~CZVOFqhzSSWb>qB=8I zvIVeVSV0x6_%r~LXvKf2Vhz&wiZB21?4|dteSF}t?39t>sGBXYqwI8>*u zLzi9b^Ka(xi-LeDBF`GOf(_a;M$EIydAo2#m_&=eP@*!_o-^R7U^O$*rYG!;t_!F( zEUM7+`$#s5>1dQ1_`)8%f50T(5tlT2GKCN8LP=fSJmDrOZMmt^;T>K%>5)0n%$?+7 zI1!jIXK}<|(yt4umY2ioQ2+^mmRN_-1my0H(-lZ&z;Swsbr@tHkJd@zQ+;=w*8X#x zmPri^F}GdSy0E5ln-f2o6W*in*h3kv+I>Foouqkpg;nMem-LT_I^$G^)uHdFAH|02 zxl_?j!?rW-Ko-=e4Ovb6uoSpoG_=eru-UK(jM-GQ|j8YlKzLo!G~hucjD$ z=+#bipp;qb*2drynr1H_pIL`LSXgc7gBFRDD?WjkYT0WHP1<7cSl$%G%;IQMPFgQ@ z`c@~>bBG@!4X@lJBby1*4f`<>if`HcB8NQ3a><{La1pSdgT`geWI4ig_6R%Yd+rK7pVuc4&p zJzHZj(CVnBpT%(nucHYM_-%lewDaqj4p>FP(itk7=tm$*Z`FMox-O#44(EhzDFKZ} z{%SOI#LBX&7brteUa6PP5bvEYxY+L+zW|<`sExULGb0Q-0cUTqKbG85w+S}S64>ls z3^AKOFoU`73cb@)58vdA+2sS<9wT776i-uWLepH;9^!K+I6F&`YMw)nYcR_i1Q0o|q)nF8j zjyNngX?Jg{J&luueGCF&fVFhxkot_Im`Mi4&r2(`kaDhc^@nW|ENE$@LHiRbqcRyJG`-z5a7!(zchD_>H1MDYJ*x&t> zEBP%fVQ9i8w@3f?o|3xTQ&fOnW>?Eeafas5e~ZQ-d^4uuK4Zg=C@4HXieg=viHK{Pp#-TcNgXyw)u1 zg)#{#PQvZ$Ns+>(=>-8xAx*15jv%7JilvfdOp7tt!=!ZBQ}}2g+s`#}?6<-4 z$V3@mvI>i9O5-}D`jf4Z-9eI^hS@eh@0)R;!H`R$Sk>%T@tRqOl^))3pjh{aj8&4E z1-=@XE%ob78m5DQxqL-s;@Ha)?(xva{7Oz8!PUB^ZW?RZ^!=}c*3WH+jr1Qv`8|cZ z`I7$d+TfM3Vl8)-Cg}Ji_Bkc*#Fo#Sj{$=UAOGRCdIs*J-@Jyn<24qe;-aR)NP zJ_HMX1n(B1S{F7qYcAh$T}Y>r>Tk>3>#mCUGAjToET zDCVS4pfvu`pa7wO=e;b-g4=RPp!2*&jmZDx;5mx(;)Qng17eT_@kXb z(6O|kAYf>XrU%rG<9nDto4t+o|)H}u0coU}QpVXC4 zB$_?YW;{`-W0N(EscFKy^XB|e?_*Mo0R~e&jj#HL(B7ln)0}$0kT&JuVP@aP=cu#9 zyR)^KXp(hO?@C$?b8|~0U-EemRWQgJX7hc~DzHW4DgGfguEB}F_DX@#H|vMjIzE%z zVk4I*N^!DMRGe~SR`RJXhDlI`spzBOK&ypq=^>B(gF=ikKkVG>tTnIg6K=H1DT8#j z;1SsI!fu!gkal^DCEFYK{&UpU|A6K8w*8aRH7vK0ryZjQHC3LZ}$Wt?ADO78c_nd+i%3ub{s zm}(Qg3#GKG7%w(Hpx=!tE>Ku-zngk$i=rvh;Q_^JCCzP}g^rW~n5FqpcU&d8b$lO~ z5dVEqwgAY`DvIp29)Tr3%yHTF<8+9l+WTRbL}@~y#bs(L9VQwr=E)c9NS1C79pQ4C zcN9ftd3d%$1eqQb?~lpvqAAH$ z%_CVl=p)s#Vss)Eniz*MQs$r)<{ftjcW=cgg%R0GF209p74BrMuQ^;!JCbDn%i6JA z4jDih!7bCos?DA5+t=`Ku`^Ku>A3j`QcteX9Sb?ezrc(5tzM}ZTU>CimOz9avL$jM zgE%8#yH8fZ3IpTjW!Wa8i_TM(Ks+*Glox*f+fnN^&ZB@ssTF znE7ahXqf;i6#hX4q*?$KG67Uj8hC?;?E_=1XHv8Li=A2El|9C33lrn=yA5}V-DF4g zfzNdhW%8f-C(af^{v*0T1G_d?&GNAM3(dX`$>jK=|6RAokiA6(q<}JZ^}zKZ*M%(lm%mRJY}lD%%~1oF*$BPV+KK8vUv*8FPDb zUttV<@&S*JqkBz6fyFD*%M|~2Kp6j@0YQbik7}?g3hbU!BpUaMeeFGrX&4obUPaRD zdm7HtI>PzLwK?u9wg;Pdz0`TPqJux^B`N^y_2D?`{4(7!B7 zVhZ3UE0B>j>3pqW&#KVIEXQLfUuMvM(LDTL0KxP+qy_*4mxH7*ji)bXL`clY1TBC9 z={V?7(P(yU&Dd1gCe=Er;%oMn*j;9Y*lZ$r|B<*dok!zvfB*$AHhZ-&)KQthWW4LxlizHtlf~jQ)UeVwUot$UL6s{MtpG+gUmWOmEtCBq*}_Rw zP+feDaq0^kA~>KFIkZhccI_$Zhiza?YV%Dy&;HqhwHQ{$Pi*OBHff`uPMTQlv3Bhb z4XS_$C(cpU=p$eK%g;`@yO(*KCvwZC(*$`HZcyl8@b|0ZxPmA4^J93qoYKn-GDgm? z=3<~#K2KW`;t+eJQ`o^hcg9HxV4SSX3ox@L8Aq1i%RPY08f6r)>R>gu+CTJ^po6P9 zNj%!(+kZWqO{Bv`oV}mNDIt@O^BWKTjab^sThs_7=9Xp{^UiUcq@2+Q5=GiThS+}FiV41Xl0AsR9pnL$$vp|6{LL&x_n9fi z{`iH9KMyv%SE*ud%KZKUH^k?3tEdf1%w53#%w|+WGi`*Ni{FRcJt>KbcgmZa9om`NdUtJVd z8AEhK^+Up;w+%%<$gt9u>i$6%CqFta1^3A^{0p}p;35<+N1mqJPte!}eFGD#HmxHBzS@f!pd;e9+HtM5pv|ZpznS{Cl{~9EhLF|)|qy2VroZ3kR zRJ0^Q%g(r>gYyUC!Cs1o4Pyf#bxVi|MmrH!fnrlX*x+TfMVjvM2N>;8FBOGSSbVUe z<_1z`{4gC-?OR)58YY_hv1Y9;GGu|}@f|s2oU_2Iwsh|RJL_$NoPf=}%l9wDP_lv_ zI=9`+jQ_f8!mj6bZBlPu*aIM6iEfg1ut|TfXsb|4&AZjKH_f|ZY`hLe_CgaVlPF4Z zj>waDH3|+^9~dB?QrIy{p@|>{KuAE1A~U}2PmRLTXu5H8Vz@N1Kx&0q*awEvXj3B}g(=Dg1H<=$Wi-UESl&Vt_&J&2 zVuZnZ`xItv>L zbQ|PB5pfoW4?d`%%5#pdulbnYG2QlWXDs>786(2d;wd$ebr|{ygS0W%&r*%WXyr5f zwllKPf&oU!{=+DuH2|Xo1B~)~;LRC`1_sy}cx+yO?2IwL`Pmm~+-xTZv*S;dVIh}m zMUFiUgzTaXqVfa=s(nrQRn7g|0fBg4`Kc1m z-F||=1kB<#f#ExbFqWN{slfH}>XncHlxHD<04B3_n^e6OZKFBg!TR zcI?_H&dC*ODl|-{oT~j#NVUQdjs1DQ{T`fJ!0(BHLlqfP;#v+A8!1KEY$x8cKAx;W zszsU{*F~zm3o=2V%)20S5(qLawIBE)E8PW|g?V;&mD+>=7@or(jZ-GrWB0DXMLpwq z+~Bp-2vYi+)YXA%>EW~?&P*__$ru#8v)}$Iwq-Q*C1=8e+T7B|lAdoQlt6OZBE0_{ zb62;iCXeQePj9I(Yl9P7oGE!9O+px^2GhxRhxARxA8z}8PqNH!QIh-nqy?*}NH?2} z58tZ|-xlc({0cc+zc+bjg;@%|N&>%bp=K^Cn!}rfL_GdJwhApt9X=u2u4q2nOmJN% z2h<5B2>)jA!khv4Z3|`xbeoPY25iTafGo2>yActZZ(VD+nY%G^0$$pw?9}j-OddV|=UA|+P<}d!TmCdPGj16U!)P^nK0NCoopNh6 z6j4{gQ#Et1mQ%a|*V5uHq_YOT01_v3w80FmC5`x8;17%X4EdibIF^+O`TVH0e=0Z& zgCs3x!DFrG=$86J;W@I2YW$?ID{qF+KcV3x)3OM{g0mmSAJ0a%H;BgC0 zQ@@P18Y8O-P{0|wAhZAqID1Px(%i6~D183pbP*wZwK?i>l@R zo?`t{Nb8@H^3K0X%3O4rS|&Bb|GlJ)J90dq+SL+Xuu~Vn`gpV^*n!Z6MXGX14VvRo z%US+RW>So&^Z`?W?5DXOO-(BFW@P=9ZhDZM3|#4`WjX8|g(t;CdwnUt@?vD;HvyvHdhePm|f`24vst6vxEbP5?>lHuP=Z` zVzvfEa|ckmkOJJ6Ser0et=y}3Jb%fd_+#ZN^WD^M_xe%XaU3K&BiD7)XOA9$(aO!FnZndmD+tGffr<;|4Skwj8O(FSTetx`q@CaYNXpd+!DdMZ7J}0Wlj+vo>MU9kc0Xp*(pt> z%YB*v&Pj;HY^H8qPq3#cDyxc!!MiU@8h3z*tH7gBZY>fqdKnBjJP2LD;h6*+o@Luq zf_xQAOj%d9|Ff#+m{zosF$9V>)f;KnI%){kkjMwW!4mM-B0rHSA#{`w?W|!Lv$AJ4 zH-{6_3?=%;UOBu;v5}_TOsO=K3IeL>B1YMXRS%FTRl7{5QQ(~MD5{?W?j^isF=BNe zVPH0rWf&JYTbKBCxvhfOE`0ZrEFM;fL)^|!8|m;tb~m6glYo(>B;dO1)x!XY%x6xa zhoOu0fIEikalJa@ewNy^FVZG}MrUJ6>)@ia8}b-JAerLQ@5OcK9J;7lUhO0gw8WGq z#1B1~-Yx1XUA6r-=9R9V&e$qlEx3stUarPj2CbZ`>cj~Yt!%Pk_3U$~U!}kDSgv+! z@-qGQ$8x6B>^vS%&r-U2HyaY)XVv7qsB-8Lqc%5hKCq4sRE*wbsJ$Mdw6)%!RXM!8 z`EAsrI?nX$%X||=y?vzveP_qr7Dq@$I71w|_=t-Qj5QA!Jlt$A4T0&#$yRIv8(exY zarC8l-<#B{$)9X0+FUU|(2#NGRMo6H!PtUCTwpDU5fxS+iClX(|BpG@)Dkfw$z)7m z8-=0XL^4E0*SPX`{fhk65_u3LhP#OY`2K)gLf^drLAp{2c~C;j2U*Ls-0oA=1QMOW9&m=dPuUmIUriimlw|1RQ|tN!$^#V+kh^fkR!XiQwNX zU<~7p52quh8a0Mpn9PkQf?1V+jG*V=vB1O|sr*1IhWOFu@7eO8@33agjHV6!LKk%W zM7kkkNB&`P;KW&P5vg+JXq$!)X;OWT{o@j7{V0)wXe>m^zv8tPxsr%=RGjUrj)ILeWemfQ5yIyr8Ru!+kV3s zH0i);+2(gCMIO}Ev{%)345GM2iX=1#QE5Jfo*Y2Y< zC@{QUL%tEUB8J0jKl`?n=*lZ(`XgN6^akgZ^9ClTl`&(!>nN|MuVNS_DY-=yLgl1)EK&Vb+?FyO~%1~@jt0j6bc=E7Ah1; zF;A=*Q}&0pEjs;Jq)b>w#ru%i;u1-oAB<3=)X>CA%CZl5Nmb18F!Z+)5YK{oYD&1Z zL$aHYMvXZX>@dug)lBH2RU%(0_Q{Oj+THjjYw~~d~7G=v;NXvXXGh4ca%*GhsLv5@!wItUpUfhwG#q0{FAqn&W|p^8Q{Z$I z^zIy&lQnV)ze_Ui=G<3c&K=sO62*sNT6$B`1eU8}-GwYFK*$ms$0FGaQmtbnI~}AQ z=x+O5C&oND7X@3qdkgXc9#a$o|1YfEWSteU1=e2O-~zl-tcO0r9LNQq)YsT?dR;R` z_+gV)vo6ywx*~>8h zhtU&@5Pvh)w<(IXU#5Wtpxf^is!AKl2cAzeyGP{z_Ibd074k8NzpE=eBl&AuSd@pY z8XWC!N;8+}L%s`nF0jXkf~fB2HX2|R`w*=S#36_9u9Ai$CSmh(F^F&_gec%+>BkV|^RMN+3gKr6n8&{>uDt<@Ytle*O|n^8 zJP~5?RtRIc7Q?8#fE9+}(PEE9tIOZ%K>c!~h%Zvu@so_}#BFkg$y9NzuLX{*#50>wxxAIdryQcztes%`@pJ9+tCtHCX*;~I9;IB9_%YGj@ zNp?{C@-9bBpVY5VC0;pf4+AGohOI`>AHU}+8;Gc!{Bn3#eK^M2R*5!HNid`&TJ7}G zmKtLB3d`a2iN{WUVS~MWf&;N@CAXDBPJTS)cSmwy30eLaNq`@&G+>z(|Lono$h_|l z+()GL0+Zqq+nL%~U|)GzviC50^{?*p4ml*syHM{%?7NOZCOEsXWAe+7DV$oZAvT+x zPUKqqkV=f3bEMjac2ghNFh;F30`(hs98o*Dhc%YQwEpDP^-5u3m&t=Gpkg4_>OFWj zj3d#c?}jn^pJAMP=kV-cBx;-IONZ*q*=Vn&y?G)E3>k$|x@bd~C=AKMf?f1)9wmL3 zM_D-N`_!Dct^AO7%yO28^whp%1lCb7V{IGxPIpFtc2woSkl$k0Q!K+a`AFaSZ+ zcoi&nb(U(ps{K|hQVOP}ATb21P-9}0tT1F&em*nTU+L`IXfZF8_LHyccWe+S=Zhw` zjLeps*WQx=L>eJc z|LI})-1RUxfgVO;{3;%4$6XJ@5O(o9^pwdDdgc+yZ6FXV zxFtBjodgK(?mM^>G`PFF26uONcL)%IyL)hV_piwuVhs;}6Q*IU>A2^6&5P3$`v=)m^WyZ-f_IWipmd@;8AOrJ zxyqSCONK1e0L#MvcOeYipU}0^0M1`bBN<{}8_pW9;bjD#M+))cUrbb~=51c<*GmsP785+#*rsA;S;VB( zULuRA&auhWQ$pKuS}qc2j+?95!WI06pXBqQK6eZ<^h8>bPk7&}e8!&WBoQ8UhDnGM z`apXjY}3M=<462czowUAb#+>RYTUV(gEJWA%P_4uVnp0aqt!o=Je9;>3^MyLqb^j9 zJ#b$p(D+{y=zjuvHo^V^dH$S0Iet5iiI@&*F~sA5g}TUjwFs4?|FWQ>w@(&Q&4N-6 z8-M`ik?Ik&|2B7sXnPfG8UXzI%Wy!A;B;gdt##Dzw-FJoB)LLW+Dkn5&m7O06q1ql zEfTplL)Im7t9J0nyfcip!8#tEiU_WVeRx(F$8c6UiNmv5_UcS3g}& z{%SJ+jbHzc=*A=Ba%=Fj{%kUT{;SCxB^L@SL9fZWFWag#AcY91T<|Z*H3+C&e$Agv zlw)8@4<{fq{b;*v*t{t-L?C1DL5pcx!C)(sfwvp~V7o&a^X|e*#GWA$lzPbDfpc$$n zHCP}}4uX<^#aPAv@h5uy8ZJNbyW{{?+ok71DOy|nX0ZIdN+t+T=Vs_^2Z@Wal~ ztH*Z!Je{<`Tkfk9BE`+t41;%yPQ;91pjZt|0Vi#NB7NA)Y$kuOe2xs2@7yD0E+gKi zwc(YjL#MI%9;pR8;fX2?uh99;I7pI2N}26fB#%08M8HvOk3YMPmhGAda_o*HWB z5e(q$2)zV`IY3~TwZuyF%}@C8?JIsqhg$yGZOQ@6mlMkQ4o(`C&!n=!s!;ku6!}?> z-_A$8FyOunFsp${;6yD@L=V@RNCR5!cdJ_2ehlR^pxzS8nkZq(*M1BFz0e{OdRR$p zx&D_Gq;T3DL)2Qc9#JwdFAf-T+z-7>LSH@@dI=cn?2K;=i~kjNDw52Ck#%I2eL1JN zmvizBQ}o^;Y5mD%(+d!c08#|kJbhvI;@FPXyhMH?e%Y3Z$WoYO*toU z;w$Gk{5hvs(GjKvSFPjNkp-xE6a~JN2-MooCk3xRh~?ndQNF1?R;!OM3}}5iGv#uf zp1(HNO5sPMF4dF##x=~8LNVVWcN7wodF9qlx@DW^H-8PfZ)?oBa{JAr0za#kGOk+B zz2~n73MUb3kMrv&Cfknxa3)Mv;B!(6j5+G9X#j$PX{C;rNOF+{-FU^~1>BXIIZ`Wf zlTi?t;3OtVCs0>Xzh6cJyc~GqmHi^Ol@;&b`NXi&J$Ip&pX6T8FTkRxJ#I|2h_9xe zYzvsbMqvN|-h{ZRkF?jV!5+sOOAgtIn6k}b39&|FqU>RYKQR{F+x;Tg-iwoMoLDl=kyLux?K2M&un7=rV)(lW`;zpK}) z8V0mFwz$btX?qCTl5~t*Ko=dMy?rpkjz10i2QHwPyis-e(L1%4b@ZH+m-&2IlbeY21NEikQgHv0$p03fM4IS!>QkjNPw0dq3z^%U{MtF!|f%o0K&+B1gJ7x1)Cz#WT60vbI5LEkDnzf?p?as zaAZKQ&_+c|_S%I5Y3jFTEP(nP1|?BGj=D{z4uX$U=8whnRK|&M1B(GF=zdnx+U$>=(XtOQP+e?eg|#I@iKe`Fk8w1J z(%1R_B@;jAbx%+?4AnFswx?E6uMDjpRc_P$VFJ2W0w$ohEI+k=B&5l{WXMeEYp0d| z1kB=}PcMB0jh1=c%XkOec2pFoTP1ZrYJS`mOBpEv9vbjpiui!Mw67-RZxiqr{>0g_ zl7k0pt=@f|f^q#J%rPQB~wtNAkR zLRSfb*QQX&&-;I6 zaXjeE{=wqh0xS--)AhL_<)F#TSoJhbX}H5IsTc=GN?4j{&jpAz3Bi4CiK#1&!VfCC zb4qEJ-0wb#ND5A_lL7JR_NDf`v|8m>D5@u3_)T)FVy)=0EGb*y(_ z%sR9;=~d9BG{B&0$JO;S{418j6QeeD5;v+$p-~+LfY5)+{x$$EJ;>Pxp>+#u7I5cw0K9nw0Nsk zny0+M^bT=%qKE*RnPPu8Grf5MW4C#NCMyqn4Z^Ha3#Nd8$>(E2G0C3=)`#!4NX?tx zU$niyJTC2hdA1z1Lg{amn!{2s!i1Bw)i&!K#F6Wfex^ycSnH+I@Ek@=0@usON@Fk} zXW$E$_-kE$=I>*KK3Jqa@p31}S*A6NKbT+XXuovr?*U!=mMqe+5`|+GWN{h3$qRsz zc>$bJU(U*uNj8Pd3`TbZw@UH=Fl*#H=jYPvEdYlBkR$)Bk4Bb1tUfojj{q@~sXBBe z8;dW7T%g(}CVMhz)T}-TaJk;wyRA%+i2=}%c!KeuB+b__%VWjPNAd4s;6U!w>=g~e{pwswxa5H%|(~-7#lUW}8Ea-G5GIR%w z8;xHDKPRg*7lLd$yjA4=;0_BX{WWX<4JIC>1H2_w( z#;-rtM;&yQQF}W@p0*D9PJ?A6c1Qep=hQ2p9fD6v^>2_Or>K&EK6m zLl52BdZuTgh97G8r5U#OAp&GC5baR%5A(wYq?UW?re8~cNsMZg(Ni*f6)#w;to9Oy z6HSftqp9k88mrJwWwjs4(zZKYo)WB^tl$9cMvCl&@(D`*%q;WGt#3ZyxHx?)Mg8D% z5bxRFDe|~ovV7n;16LIY*b7Z|tfL$A@j1posbF#p zhX(;tMgC7q!WfV$AV8`V#BDOX<*fyzO2(g3g|A2`p@cb34R&?$Gxuee%?jrwugwZn z(VvUTgWc?n1<0EjKpuazHIah4xQeptab}Vn#!`9);R`X6RC{juw zzx^%aT1%sQ(3Y#)FG6Mp>niA{oDXMpQTEod4*EZY25t6G5k zV;oE&V7JBr6702>Bf$dpWG8cb2Ee3?d8^(@4c3AE6X}%@?*?sryE@fHDT0ew z%V6s>T9T{EN*<+_Szf(B%~l8b7(&c7REgmu)7*0TyXDCEv#bf)k7$Y7i|d>53`|Pc zE}#)Ie2790NR%JuL9V+ ziJ@FQvd)=QZXgI!yvY>FSgd%JGu7yYp$B3)<3D0K-j`Ue0Ep!#t8gI!vJQAxf&Pl+ zYI_}(baqvhIrWv=l6wvT!_@O{!?Zw1#PVBD>uZ2WMbqG~uDZPQ;3DxG!TiA5+iud1;m5{9(oXRV~|b1axvSJ9}+G@E?u-r*$Ofx2;x^@tGyf+mXE*yZD1_tRO0F?V2$7H_j|JR6b2_U`Y=3e(VgRR; z7bE|x=oG6Low5(;6h{_mI5eTc^?fi(*HqaT7Us7(!4JpyEl7H<7JZ&E z;9%P<3A^HtjA)j9{mCB-{Lwa8xWPM#kHj(5Y6EvHYhe-C6NlV zg>PXmN&{#=!|93#A=7YXDC~ZRGZK?kM*aCaP)b186wmbuq0;{PA0SLwGGRyFiF3@~ zxKI%4^jp$C<{-3Y2}kk;vRKRh_X52yJK_LHjiulp&1z3g0U{pJ9%V0N4t>_B3XTe@ z*P*vEzzSuyIMyh-b2j1E@sgTCFp=?p>|qnQ&a+fEZH!?c|K{%l_re?<$+!uVmLzn3 zvkI=S`ERmU`RxaISx4G`zECp~ua2avxLV0_{%*h0POPEC{STD+D(7VTK49T=^Eh-L z=99^-ix@?%o_2j{q7t0MR($8s3&hONiUH9$-`L3FSGoobT&GBP9dOwjrq?+qrsRH+ zz!sLFpSnew|7}ULp2HBWe3fkKiN35+jDF?ZUzJ<20G}VxsjibH7Y2vJ9Gf@u!dJ;E z=gYSt{d*r>eXF$Pa~#i;T@Ct{U2CmMI2=4xOsmdfG_=u^$$|T^*v(Qq|ML+74$}$tIMTy@4$s6Pth30u`|1U9Z z|4wp0pk!eC!uR`|{h7J#X}@G{Na?j`DFC@R+T~5*B`4lCF)2{`J8@IngN)bvKSyry z2ax%Tmj)d7>-}yOcUCTaK;)Lc@o$may4U~&jZ~v~JzB~ii(mE*O031tT7dZ)#(wV~h~1Xv%rBhE>;|+A>wZXs+Km$9wS)zpe_i3dzr& zzKQ*F;w@bbJM@yIk?H}!n%_B|WgBtUS6(;^J~)qqsrH#`9{0DDey0+8QM#Nak1k@N zNpIrVGm<{9+#+@sT)T?Av>qgUJWs3?MF90!n!gBbo{|FX3t`c z!W>2QaF7tqBW&BsRQiQG2x52K28fUbg5DtMvHx=H0g}P~-!~UA{n9Z2xVaHs2AF4W zGfx}r66X==Y!UTbdN`salU=RJ%vD*J!FxE8;KLmL0C>Y30J=HMft8+hxiX~-#<rx9dcPsZ(v9hoB!e$^o;Bp*%}C`dGaO&*b{i0n zN2So-6AiQ~$Ej_*Y!6w*$1HGD=hM!lPH-DkUEkN&Uy?jI(O+NYxAEQhNA!&^lzFEU zigjGoJ;dr!b}_;Y+ntc-wS=kMkmvYY3_ zIOiX3Zb`Y;o?<&*r)=qqTA+hxiCyvuWh@%xH5@2g{3b98oeB=KIPp zX%4NJx?D5PW+XcN&hWd3YvT*;Ra5cVR4!JC(q1xcaVGH$hugHD%p1S8=sSja z5x0uTYL1{;8N4O-or$>7EPtjUJ`TOz;6GbFFW;SyRq=Kz$Bn$UZcf`rPo&olGxnEb zXe{$(PrA0Y5@v}1BIV!Nh_=~U83-FhPtrCZ;i`nV?M{V+L}vTcf)$Imx2`)ys!wZP-I zKX+-#4rdlWj>oPR`i({kGOvc>vem@35CjzbX!YHoie93&&(Pm!{*bTUD_gd%c3{wq zQbVq9j38m(Xn!y@5_R~o5V!hEaIX5smk8Z=^q<27%%XE!b;QZ{gROlKLMRr$fbm)lge z3Fxvao8q!-mtOAVpu2hP=jfpQHfX+lmxEs?OZ3lYOG@od!s@OM*~2I(1RiG}-|L*K z3?rjxdGw}ru5kIbpByV2-?%)Hlvg>V53>wB-{ot$-yagVUy~>7R7+i0?g3L@omqsykx9xLxH225_> z79w2=3W>VSw_EF@RL0(cMBQ}SbqiOIZ=-Q#(_>|T!F`DSdGIg)GPwVL4i57#gP;BL z;DrA+xUI|{8m-%Fm9etxkpUR^(V)-(6peu4vvm8^lG$T&owG^su%Azf}ssl;QmUafi|H|{^4^YiCiO7Z3R zio!-(hfNJ?ZqmafHZSwgljyw;uH`%MorSGDucA(fP_uWR^@bqTi$TU9qT=SDdU88c zY;}h1wm2T>S_;=+&!;0lh{dpd`nDx(cR#E$Q=JBz`$1Zc;LI=a+w*?6$80z*kI?Q- zY|lMXdJD@^YoIe@o>Nts$j!sZTbkyZ&90wm&NO6urIkAmH=)U`h?APN{;tDED>3N- z2&YUXdu=i5?x*Y(X=5(S1b7@1h0i8~-<&5N{8wBb^ULpeCKj1iSDt?1!h4ZUE6W)m zG~T~`%Li(=nHwIwxwEmj{Q*mA692M=1&c zYK-v2+lz1`Px-rtr<1^2J=wxNka57WbYTK#wV3DWw%McQ>8iQ>S%)q8wxwP{gLn!J zDRd$kD@rpe&vfFT80ejTA*NVsD$XgQoA>_eX=3 z2+}DP)FU1TGZobJ)pndJlHMpni6jaMXBV~B$14Yq$8#j4ho!sf9L@ZXy-}Z%NlBS} z)W5{}*6vsocUO`8aG~8Nl=#Rapwb*Y6GsZ$8zo&&B;if7+oCdl+>YsS-_;}I;Bm8; zZuqDos}(2^2dNUZ-bKqQf!z}4YwL0Su8KsLKyNc_CXTGna>7|Ono!D{$*799p2y>I z%k5Ip-SxYNibv90&pei91DOWTwXi#G9+DUxI%)vOCC?73Nh%F7y3#pO`gZucOh?0aud7sXq|#q!RI z56zSbpDAg{Q|#ri(;mMc;hS{%zTVf}bpL2{9&c2ufBJ@3kz1>^v={hGg2~+vmH5yT?O&@SGYpupB|y zg-^0nF=V_dt-B{M80@pzcp|~_;Jz8(r+&a58)P*m34_uQz-rmwfI)%Ps(Cs)yV%)X zI-ME6d;JM)atjO$o%G=It4YNVSzXyt`zn&7p}4WV7~DS`s~@|_J{w|Fu^~6taK9;l zET~bFPwFloyG`EKve48}2ct4W1f%-gS%(lC{DZEK>Hrr%HOj1>KfQ-k334zFJ!2wh z;)VpG4r!-`{ml;KPK}!Fox7$D9{R>{;n9RD^pQ*-$4%mK<&kZ}L3Aa%TG%-j>>fwt z6YfPrNsMi}XJ*-&c8loYd;XfC*^i;U_JuyU!J_?hFiE>oafNOdHxbvG+4mwjwXTua09UMOoN$Mb1B(c2nrSWQZ3&&Md{I(1D^HGY{+{z@quO#?+ zhh7TP4M82+gvu=wwzS3j$xOs&rJ|GFk}kO$L#k0vlaHuTVU1z_=LvCYQ<&}Fmnp;z zg6y=J%{Z|TrqNbuAyqMH1C1Kg=^z~j^l+cvg-5Tt#wJFQni%4b;0m=Scd#Cr$21FI zGP=KYB!a`;wYy&GW5Rdvkfht5JD_HFiIf}@Jd(#gv$(4z_fVfY`Z1C0h&~b}WO+xk zU0-i8oOWf-vzVT}O;FyJt}%QsP}e+Rf&rflUZ@9O=b}qx@PuVfdNW= zj;Nq=bXlP=y;K!ijg4sSK8x!y7t&m_ne~zx)^amDj=2FB^+03e&N?48D!s(zMvb3( ze6z$%q{^d5N8N)u<2SCKTdhnN8U*igyXx8E>_Vz~P_{T(xADr%^RqEoX)Y-qKXY!) z);yHH3NzHRb(rWA5!^b9ueihxbklY5X~tX+wBl+AFK>$X5sLQ@LXEmfnaQFS{p9U2 z^!ngINf}X(gSAE?BrE^1x0`iRuIp6qQ_(|`8}xbHt#de2>Kj30RbEKb`%M>SyJZc# ziQ9sv;rmY}-FBoz*q`>6ySd(j^!fU!UEd3BZlTzlZN$fE*Dmjb`L5%ks&sa5$UzKO|7+Es@ zfeu$XtJvI@d^{FWylMF!?Y7P=z)ROg)9%Av6ge6` zi#=VuK-yQfSHroZyrluY_)LRq1bP5BA#BgGnei(ikx9h;v!S3(8gC`c#}kw%jW<@)ZF&cYJ5rshhV zeZ5YWcBUCWZb`3KVu4M zDPJ&K@r48HlQkOxo_{?qJRpEwjv~0~k_W^Vy9Xp2CnA}eu?#YtvLzNN-^y&4)|@4S z*^MVZx?>NHNDz{KxXTK~2T!qD-?$a7Ar3?_7{aRcTKmvLy80x$D|}iqlD<<_vGF65 z_({*JZGonZjLh?EvpR3^cjg(%PcmhN@w`0>z|*!Z$97WmOyz1Iu< zms(5n1@j5i#hxCb-&kR+7O!QOU`16p3PP6WjCV zhXUos7%yG1uxzj0PSP26LI^(@IxkeyfsKtIY+&TfmU>V1Y_wm&KIT^q-`()e{T~|8 zPAO^e#K+v~5Z{}>H*cLDoxOFe=N>V8G?ds@)7^orl=FV)D2q$l2|8t-f0~`{xR^E+ z*sW{4(|x^MWIK-Bq8|;rajKY>YmMcIgW0ptsi}_FAf!iFT@~^Rv+)ykJ+e95q^oj+ z5CtdtA{7nUFWO(FPL2!1yi5vBt5m+!GKE^+AZ44_Z8ZDn;WwO=tCYn@x>46{b)|@} z0>sTGMH|eD_7eE&;OuDN>jp(SW9Q=NEPFc5F7=6vsbrhFQ>1)+MoZ0HID$Z5?ggOg zh@ewU)>XfuoU6>aS16iOc^P{dhi1=*#6d4(7V#_k*;R5r>n2)?$FhX2<1j#|1g{H$ zmNw{+;)&Bcp$8Vj|Mp!CD z`3ppX;D%U+@wrQJ0UO5Ce1)Bj(obkps$YaK=jUZyqe!yuzx_7 z8)u5K$0_DDI4KjSL;%-JmvT-e*A(ImA0DL=Zb3wxrAAy^u#51!AjS#?qbHwkJfp#>i5MX3CfR&E(LE84^>u_=dEy|`UR$J^BUxKSPUXr_ zL}>-yvyn5?{nHQivi5DTVi-k~k~Q$1DC^JOnZG{{ULy9>bH? z_H$)^NlqY}R9RR#9NBF#SQVk#vuLR!P?6<6-+6xS@b!YLk5A`Gr9)%GsaJ#uZuht? zI-;y_1I~2JFJ1|+9|!!*h;g5EsgRLF?W0>BxoF;~q+%%B=Q~BAcO^UKk~rAX4XX`m z#PBMMm81lZ;azGOh0#_lZs$TVbMeq#WnX=(>yPQ%9C$QRJoI8hdpR1Uy`iD5A}F{L zJs~T5=dC;Q8T}zq%=7v*EK#R?-+hn4DuQFn>@IHSZhdgQKi!?s;+0H(#VZ+8AtEI? zZ->>&+wE;0&cL@I9?USlDFCE&fgr5QWPv;d<&8ENm2E`;9Ju_>ETS6} z*kp9HXJ&sMcntXnAbFvHLjjAobq|4_o2&iyc0HsW%yS+W%rnc^42Rc9Z*vnOhGyhK zdz5m{KD#SA2FDJ(niOismR~8|44-}OtccT7`sJ|8oDdqqu#T)1@Li+2e57=O<~iq@ zPDPA&`>6PJ!0PFJhe%fr4>Xs%zayWS--amXH>^Sp!N9tAYIz?fJp(sPMER)qX|^TJ zkD^`0U}Tnp3AO9qboN$C)maa~y-H?V_vp8u!6TwyVa)d%h7dNn6Jy^9A`!?K@pxrvBUESMSL`$1SpO=5byw^@ z03z7$e-^=DvQu6I;M`@eoXXHDgUA?0q+|2P}rDFWe zC6rwQ@;6rB+c~zCu2?SNRrE(?upf{Xf_7tEu@UlFQ1(Cp&(sPxw*9M=u1pw)-FI!A}O=0;t;bS&ZC;#(fDlvU~-NbcPQDNQ^ zYn|C}glrvsNt=C@hKJPrI?OI@`Im6ES^yZ5QyJ zg_;Fla<29OYtr>1@iof}KBb65aa)B=-Z~$F>Ar00;Iu0=yf<8R>rO0^A*%{*6i93> zq;1Q@`a)M!*CvM5>(WZT>YHu-sU67zP(_mPUS=Q%4U-MeBEHLOwO0dm) zu}7_kGq{`_b3s3^k?rreB6A54H}9C<1uvQH4^-QwkCN6WO5botUoIM+FZ+B~=()7y zjIh5MRTNhK=@S``>B1QzoBlO&hyFQM%(Yy0q&RLRcBN7_oqFF2qv2;>YmSy({=r^{OIgT)owtI;cGuV1*)2scGFCk=s9k)6 z{vR?H!Bh3I^hL&+zR1}8%apU4r!)-@ibErzAb&qH!S-O+_(nr$1M@M<#KPCr1DpO~ zKXR+UMR2Ub6!qaE&vVnhmag0cV?8Ak!Zw>CaU@AFyX_Ash%#zCV-wFX+M6r0?K)^& zw>E#mF;Koqk&ON3x+qReKZHSAd65;G+QYzBC>ECBq8q2X zn%l#9fIk9_JnZHi^3J^aCh41NS}UdylP(Rg%Y@auNgG&XK#>4X5{@%sY?;{L@M4f` zlUx1SFvh`Hwk*Ldw^}1&i597Xn)T)ederdrCpB*9_AklSk5QZH>?Wbqd44@^6$+dx z?hg#Z!w+E?+t^nF0f(ierSP*h3|A@v>UHH^jl^}d0c>mw-m9rY_TuK{zBaIMJHDRe zw`K^XJ(3QDjt`q}27Tr*Y3L%bO3d5ET95>kB)9JUh4056Rmk-M@*h?I!Y0SH&)1|q$u)1h=d@?|)g)dH6ntM~6&|f7|Orfdb z^OqV+A^Ka5xh|SOt2yyMng*6G!UcdWz|^6b>KZNFv>nN`^AGsal2N#Vlz*<%xPoo= zhPU*C#}La%d$B_!bT?!vL)sx0O|!8+pPfBDY(A_HaDPDI72kiwD;`r}ModZ}f>;5$ z*$W;E7OS`oPE`onjrL%4yE}U;y7$B<&*`X7&Zb{8;0{X|oZlrH@c=SyrYcO4-pT)YB_826~0c z4z0&M7+YJWM#huz8xr!4Iog&dYBCbY>fETmdpFy-`{^W2(q<-XZLw42Q6jgRevsn3 z$k4<7j5+ZmIL4_5BzbPx;Rlke?)T2B(@8ouk&bxX%~Y)mO_k^L1uPbOQoNgqIZl6w zF0XIkWW>b;D%j{u_T>BmEZC^%bw@|Ak#!O3iKe!fYEm!#B?)^i)9#nxi!W}qOoyW} zs!71cS<@do`wLRELVme#nGV*c=Qkp`#8Ysr4nThC$)U;wD#)j-(n=$kz zs=5eLL+&88@kd9yT*B8-O#7&DXfYMEv|EyO{8kbaa%k{|Wi2HT4zop`WaSHkG#R@Q zJ$$_)9pDm%>Lu3O;q)a%fz;`dq!c$~A1)?T-$em(ad_C17eJs8Sl42TUd9QHX zA#PZu(#gmL!gBnYY9E_}kr#YOoXE+8 zUd?DN)00f5MSxs003r#*Yhx4o&S(bs2z}HSB54YN?AOt&_ufx4})fi_epm^1<~ub89s zqV?Qze{rjZhPDEj7xBo4RueC9g> zM+v}iRPe#`)&lKC_gz=W0_KLNo%%hEnMep3vOcPmEHyu?O6D3foeE7HElPRK4K>Z* zrQ!3M@8B_M3g{SqnnOIk#OQ<9*kiLD=V#o%jb^Xrhkn3~Rb6@|mT9NvD9O98EE0!4 zUpXKFGLbgKRW{}K&=6CNLBqbM%cn>zgE<_4E!`iAg?PK+TPCKgiQ;Q!^cjpT^Za_r zQ3=YtLP6S4YC%bK-ysrh{uXUvwgY+yMyd-}&)2-_Ap)f-@?B<->m)4v{peB(oXQFNJi5rT-wl@C!2I&-m ziY?18AilHr8qLzdq5)pztY-D9X33Hx+(kl%gFw1<{zfs)vjH-r;KX-m(D?OB&8qij zs=b_jsaNIi{-s`FF4P&LC`Fj<%2d2-Kqv|?*0Bs>i*Q74s5J}cD)m1YG4;S@x@P=o zTKVGNcH^aep&{O* z*~QaLQFb^byavBsOa!Zqqqa#gJ`p`ql8VpPMMeq3?w3({t}#?>IAcEQ7ed4VVMOUIn1qb9x<6s^Pw}wDxmQ3K0a+lA zMdg&<>M-*9l<|Jx0X_qGJ~CdO4-hPz6Bs)m5z?Q}$GtVP2luxUVw#N(J%p92Z(&k+ z>kPiaL`Y=6u1N@Z^T)(%CoN_XBD?!GicB5Qo=9r^%{#kZ zqo19)_RI{tUcBMQr>Obx!5^RAhWOAfS%Z0Rri9fS|sBKevUz?i--ATv6ZYxw!n-Q=MH6?CTlampk%K={Q z-&KiuF?zWt&i4k+d6I-?Esw`N29sDbZvCz$Xoz~J^0W$WQM=e1zlEKG4D-VB+4h4q zM328WzJE-#r#F6pyLUFtj<)Lt6#50LAYb^5e2wt4lxgfm*&4Yy>WOh8@`-bWH@^L@ zH~#F3P-KM$=EX00<^=&hq%e4qa-V(eIv&U8Pb&-M_zhlW2a{k>TvS3Et=wk0p#k3b zoTrGXu!wNZynNw9%my1?KHm7C(N}QJ@+=9S%`ROUqObDdfh1x9p&m4ISI#V{M+{(~xH2+&!e~f&X?aVXKsfa{#@E0&12)_TKM(?>N_#+^ zU;T?lddnUV=jV3KR?Z4snE!3QXF%W67RA`1Y#AM8UvFS$EJesw3GVjTv2AFi z6R@1@N~YYu*Np9k+=AL-4tFvM7i7!|#LLm7p;@=e)AV)57fJhyvgeeN!kgDk>_gmJ zqnwtIr#13)b$3+U_t-`LkJ*npc@C!R?Tqg!?kQe;4i+n4u;Ibe?#kurcyG|y04WdH z4Dv5F0~H?^Fue=5!GT;2a!1}?t8A-0AhNbA%1}M`Q$`vzxzVidJNR(+pW1=Kljjwj zGubv=n?v~R8U@>t_pPGro1^E8$ZF28K}n#Iu1mahe58kbBUdgYQ}Q-0tUV`&kq#sH zJttry6>M8U?E4)+6l{;pI^$cIJbl4Y`80WsOs{UQKC(UvM#WqZyXRy`GmxY);uCKf zaXk$;dHzcua$^^K@*ITV-8FSSN8KB+qFqm&=m47VN#zR78; z=17x^416EUd^_zXXQ$_7{H{32f*I-KQe0e)&=ltZ;g3x%So!l`V&GGpd#G`bwjb$f z;ot++_!E__)GLiL7pnQ9-~-%2>u+a()YM z@pQ%yDA+y?4xYYoe%GAaS}dKV-3AL@4qd$6K~^?!!JC~HFi@snEZ0r9@AS)O^85<~ zan-iG1H--&)mW>?$&*=IwU+Lp>d)afpy6y;-esQcQl?YTun+li$N6_YHY8B`C9}Vt zmyb0*X!upXll-SY=4vlQK0>`!^D1V)lc|=2VUwRV{>RmDQM*CH1-#gELv?3eicRob z&Z<{ED*dlK>x6iLmCNW+W(;&udki!Vo1_=q$68bYt0G=`dH2M3Dxcp7&bULD&A<(s zRXio|HBqHB0}4bqMiEG{DqIs-Lhe2o+L_~v&TUf^ZU`|>i+M4dbZ zv-M`j|HJSi9ow}VN=G2Z1%6jF?Lc5=81&@n>|Lue_U33Em*%iiP-oxDn)bdUYuoxn zQol#i&zV!vtZ-BE4LupL z(kzu!bJ{FtvEzpwR=ox(`C?9=j$Z7Fe|WR!2)s%sPaRui%fotp_E1^+>-$kwY;l4B z5%RgG>uI7s)sv)^`eY3lj|wT?5HCckk&KTtVq-aC*qPqc zB=+>>t6#-kP&D&4L@gr_sTyI0&L9`%T;IV7QpLI;rizlLU1zuP=AQAPA?M~ScuUSX zU}VZaecpqWp;~b-?GT&N@m57mlyAGe5+cP|*7ozv8PeE85M6`(WiAoI%1eV@?~Bh& zPiVBxAN!hQu6D9uMSwTzJU^uMyB!|=2@+O>Z-NYS4g#NG)ZCeXpsWCK)Egup&%hiX zL6XmQcu!~LAfsbSX`N+tG})7&hsY>zeP?%usV@ed5FeS5IV3(YU{(Y%7s>hcR>}@! zPg^*5@4INv3S1@ZJ(c>+JpoCet5TcuBsM2KFR&ZwNkcsF#Gj0-QY-Y!ZedZU;AM0w zK(PtAoHrAuWVH#SW6)@VA?wn#W=kJ(-olU4Rc-mF3B+=s*i`okQQ{PH8%*ZN7v>N# zQ_fkAKMW_lXNeqc&{2(;&aoA!L*C#smeo0^CV+u6ktItHWh93mkkzS^i&3C_)s!(U zma0Jc7*W<{SCwBB1Lp(V(9E*vR}?dE3Dh+6YmmQ2+H@^s1#6qPQi2AhfMYJJ8fd{y z-#}ksm``dw)QvvF*n%Yrh=Vu{zL)V6A!six&1ik)35%+t`R|8?ZZfT zQba1!eV9Q}{Lio30&!Tc(~hgclb2J^sr9zA&0*(mKh5yjb9?RRSD&u}>$iZ-W0@=R z`5&w*j*xa_yL2^qhl z+0V~!G4*zeh2VzP8q?7BN^cirMbH%rmQ_rOxWC=JtG;;SYq741ar0f#?t=v4r^4xDG82M#VfJrXufU_P z#@Ju8-6zrTY#f*v4s&;9(-MANA+o+or7b_Ib1Ry$c>VuzcGf{vw+q(>q$QMYq`SLY z1nEY)ySrNilwab}a-VM(x!f#EsgM)m``zb??1~z~}ZB>b^!2cOk}~R76aK5BqY-CJ%I0 za|)$Td@&`oJX&H!4UaQa#A3BznKXBkzqPSM|B9Q#0XrtP0Q>%1tUfl zjFgPuQ`v1>nBQ1r)Qk<$Fwyhlhwnl+c?kOV0>F1`FI8reL?r9D3-*Rq)ucu@0G%!= z+)q>ObmG_hYCIU0)eJLPeO#_waUEVSsYU5!?`1!fu~@rUnc!q@ki+7mi^h|9*PyAE z83t5rC=V;2uBFptO|;WqoaQXZMT}Laj#k}P@bc6S)CpPCiE&V+l=|%&GOIKn4V)5w zA+U=ZE|_WdoA+0Dy*gR%!b?VyU1r880mA@=H7+zO1?BO)&AiQ9VHO-26OQgnhG-)w z=dvZ-D@B-!kuE>KmWx^yOX;c2Xo#c0%bwm35iVxu2cyRpNcCi-EqEg?`()3P`=Ez0<5` zZnI}Ai}gH$5f%wCr`^h?ghZPm>!2R!tDzKpDACxTEb!oK7in)Mn^@nh@j+>t2BESQ%105e*nieCcn)$JmQ4%ko~(k3 zB?hPlsAj9pY(U4Z1|Q{X1owM4_lg9I@lu);yw93JC1(>__RaICRke^#N>w8&NDPUk zcf!Wj$7$|2ahvz%nBMl7#e(`LC8Bh&Z5nWElS3^B{G$CW)W`$__;p&+dHJ7cafMjU~bfv*e?G zYl$cm?CAmiu!EG-RS^zj=h2(q(djETbQCzm1x>s`egoKxAZ-6bWMrWA);TR|djA#l zee)$rYI?szP)Kk{W;pNXVlL-tW?*jvD+}wM0=@_)-dRMgI4tcF{{<(mvOv1sL|grx zcgW8zaAvkRS--G&KKdElSqq=m!FWJsvH>1?)|EX$;a=f)0^jZ^3io_{H7J*|DIWaB zDpLD^54N(f$!bG;gb7)4>2^W0^w}igLzdb(vAHSLCl3#c=x&nMp=k0;{>I7vu1M)W z?PEU^%l0A9q_>D_*pXU*_L5{2#@Lc%9+>uJMkarVi=|g)(#P0UK`x_S{9z=}0p&1T z##A2Kg{^Wn`pnu07B6Z@^b3o7*w!S!A6{y1xmkL&wR#GZX2w5WVfP~N;vy84B>vDA z|5-(1=9w8ZoOyg>n02=d%E!})Kn~eDzR82@=5Ze{kms@UHz*E9u7L%bQtHn?=a1Jz za-bEoGzsd8e{HFD*O)b+D4>VtB z?1Rx@0wHH2eyJ7XHD3pYQB`pQQb~1x2q0*{$*1^qr`iS_h9Uf_9dv9OB?^N4U{ZL^E`w6 z{VXABNRX_c(+$m5w0aTR4JStRJ*|q2rv!<_dIaPQck1{aEdZH}n~&}u*KUn9%*0?rX$- zgg24u6lZKeV632i3^tV@n3d!DBqUs2kIjc}h3+4wV}ivmvI~PnpYtF&ds5G^@g7a! z458a587=9?ojsPzw$C!n@`IrIj-NxuAoPwGGloaLU6sS}T5}mYLIw4kY7_3y*Yli3aB-I|oAaB8YXeM!hY&)5#B3@(qZR z7HiU+pQGE9Th9*<6Do3==HaimcW!$MjtyeYpF$6hF1~bylSCBml#?LKvw@7&EH(vf zLFxVS7qIWvgRA20rg_=n&5s*A*hahVr_XDak1VzZ`p$8&^qdogf0KH_VqGH=>yQgE z^Gh(Ro%c_LEMZfw#kXzv zzATigi8ZsK1NMT7eLl`c(e4N!m#k27Yoh%@<6Zg`n9uGFAx{)!=Kkubmvag=5lxMD zIc(fb6G(>b)j@wLy+W@_@7O<--o&WTa<|~sd8~nYq1pABwZe6_V@o>@?5dLi+fB}+ z5P+4sVou4M+ z{Ezx@U7ee0)7D{6Kd{rJ)-!1%>5Ge$8IO$}vNcC~OnLXwnJcMVR4#zn8~;UcmUbFD zm4ttsq?lB&=i_2StuSFerHE6MWM*zL3ZKkUaV1OvlduEfh43x~ z1T@p~x4H78zF7)ChUSXW@#BDlM@!P_+&-xTM-`3aqG#XXy30)OS;abbf=SZ(O`I+E z!`kLxh%va7MN!Dl)3y4Un{#`2uHOZ{UgTcCs5{Ln&QgHf>#U)?T+k}Qe5gmMQtXrY z;`So`7c1h40g~#B(S41lgml@Kc~|cV)eW!WC_PGS2~HWPb7M3+0tz07BW3_^q$yE) zTgEVLN`T*jjXlUCRGL^0ZFVuz#~asd4C_|tJ;IO^NSA1DtMHA$g-4zJ&{@e7pGdBC zGI26R*tRXs$PswcgUc={%Nyg%M)LrJuk)AEsiIn?If?^jDFx?S`KI9*+fdxTBT<-e z6ldC7-ng-KLLCm-7=z4fj@SwUvfpvZet;?21Sp!aBRgstJI~w=mCOK_wtbPnDpp6; zDL}El_qnz>zXp!hE9_IAKl4`@#JStWKcOs+Ec~7*F7%|As5! zHi{Z64}@w&XiW8$tTUb^N;Z(e&tRY;WJjzw`2nsT91w9np|%6~5 z(PP$GPY6|S(kkW}qK*sAOg0X1v$_NyXLvqxiupEhYqyXhAp){a0lzxZPouK^O!bj- zwdm)~4V4HJUOgr+S1;Egf@QsiJ_m~PPmJFUg4m*piV#kweo%;(B&HS0BvOPv=$Iy< zEAtK1E6jJu3Cc2v)Z_u4=WmfuoEnnGOd^nNT7N3D4=ILQ)!v|oBKP$SvIK6{E7S0+ zVYU!bMqR`YSzlOsyU;&Gm`aseTYB{u2eH(#LQ&l%= zDI1~LSXMS^B7BOEEf*%M!py()DzT@4WnJJyo-0F!<{zjW@|^oYCIxdqwgWn+4)d zU+==4A+%oxb&{p7rPbjW6iHz&)#H&^YxCGr{GEC_Y~Dt#6(Nfqx%(QQPP0Izt zHQz^{FFu?)+^jMa3SZ>v-n|PJa64EOyE3aqh-+&h@1hK9fh1#U{s3%4T4D}LjaFiE zZYa~$+Gf6HXSTduYi@GGIb=0!c+>H5f3BB9sj|4;9t83YWCBDxRmc=_q+Bu5v=mE0 zX?EOPF!O|nA{Obw-hENNGg5pvJ4~)zz)J zzPbFFYe3EIdLr;am8QSXlb-l6(^{-g_QKrA=VjxS!G1fxludRk=z%SB0SlCaNhUjm zwcq(*&p5%`vVlGei;!h9y_xFx0~Aa1O8gMaOTHTM1KNifR!H}gW*%3UI@fEw>W3 zwI^hCa8%TmWPm|~sIKlqG8K_mHj_Bc>fWShB)lOyNzbzWuA(&CrWv{fV9=~fb3%a4 zq*^l@7SwF9jDDvM97U%Qj>$9L($Ak9BkzMuLFygGj_>Laq4^S8GroE8Tp!dkuqu`B zZFKEc?|65*cHjh-5XUt^U8rYoz)+}1K7dn16fucu`syTChYz*DMI%rWDfPQ4iPYEwsPD0pInaX{PKO4>7iR=(^6*2yzof7fjtB?Uvd z7EG1?2IcgIQriKGE4~Fimd6P*JHBPl=Ybt#*ny>=r^V%Ncf26xSThwfkQ?o%@Z{G# z9o(Ne?01@8@}L*9=H+@QR&U*CQ$zA$Wrs8_`QUcO&%CIGaWQ{;>kLQ%)(^b6^1pr>te-iXZ`6Xh-=XE1 zc1)DP@4Oiexh-hLM-jq(`}z-UmE3)RxG=iqMRlV-i|t0a+4jAgg?Uq&WQ6ts@&lyl zx;qbTa?%n^xT^%9d+Ykqpt<iLo?Alc&ucXH8a@JdRRn(&YF& zKde!u$R$jy3zyQ>)TfrXM>Ef#D2kZx4`IPVuzk3V$9N>KinTq^Oj-E`qlLoQ5sS$|EB-wD1Csy z*SG(`*)<+iOjw0s*F3|%^%Zdu23`8G(rjOJT!zKX%5b&PnWz7 zL?u>qyKzry2{KeNL78S(B58Iue3yZXkKRwe+;}ixtcF|)jD5&?>ZfJ<&}8#JVl6wm z!#InEV4R!q(?S9I>cQcC(D9-q>NYOA9>E!0am4pA5SLGp$zr_Tf|qmFGRpZ;mXNG9 z8G~a9M%Ji_f=pWAw3~kU{1Q7ub(fD_v$iPf2ET<{nVKBn6JN7>%W8yVtc3hX@RP_? z|JP`Gw!s7goD2jwd)_1u2XW&LG{f!NBh4V3fZ)XW(i%)=4D7ITYQRazCxI{^K3MZC zz9%;zwiYtz~`;7Z_ZfqAO;aKIf-1Vq!r?-2Uz3i{-0 zmS5bWEggT4rh{-uQey!jJLmBqMS>gCnWPW^M@B93;^J^o_IY*9;Nkdf%VVTq$p^3S z;HdCG$LPT{LZq>%&8SG-y2@)P(%n9hRzX{)AK{#-nU`8G@pMsU%zxlm`r-U|Kv9w; zWnNO`f**?%iZp;Au`N<=CPvrqBAY=9VHY<@t0!A492bNbP$(e=CO$-oP=CB%+vIT= zSyNoUO@E9PUZAaL0FAZvmRhGHi;UpbL;xHawOFL*@%y7; znhXo-r$u)$Z$op1?)A=0edmZ?kFK>E;0Vy~eB=7-q<`mADx#)X36CZ|i;;!h79Ou~ zW(d!4Qmy%qB4?S53%jN)?&< z_~+J==KzmoP>m;W8Nf3LnHStlhAdiC8HMdRn5m03XmJ)71|K4o=EF5-mHDYe5E5Ed zJn_VwIKIFLbaNI+s-Oc%3P`E}EY}iHQ{7)5Iw^sN7k;+{3)IyQ36uqzTLhvH*qE8F zh)u<0BM+l+{dT&wL1^rXVF95XGv)sx^4SN8Zm&LcUBBJlJKE|8`$tk0nOsImE+~rY>=O@<@?5w6eb2OCH~e3Frs+S7 z63X;2um`f?tV!|7fJqIrS(LL;FitW0viJDN+1vN*zdb=3e(u%Un8EPppSM$u`K8#q z;Yl)a5*`B-dy&zA;~bw^fopQIFYy^(@0`;1Z?(>PoE8kr#EN7mRA7#@hbbE|2z4jk z180p9bw?E7C7^aLJbpP5&1f*B{Z8%Q4|k2tVhOSg9p^BxyIJHO{oglDO9oHX1bvvE ztv;R_wkv}d1uu1u%2`rId~~!dU{FQ!b^qiX=YlVsd$Bj!FYM%ib*H|<4tHO>yU5m3 z-jcTr8TV$(r;pX>gvXR5d;H9ZF>y&SR{;B|L~ecD$UoF;s^V+0@jl+nJfX;; z^8WoVd#$f|^m56PbNHZu0(!Je`kMOaeE|7qnWrQ|895K488|Ks&zIJkBYrGl@2>pT=G0**k5=wb*6$XF@j+OGxqwJcXU3JIR`za~G zjO;??_DLShym!Nw{W?T!Cx09X){pUtOmle5&0L#~2zzPR$w|D3`tGBs^!wBp;s85sN4$E&FCz~=Ku+jI$~o$`tAW1N(hu7fNbw0oh5%?4_hFyl59(p$VYxU2A^&zo~h z15I}jL}~pF@vOyy!Q)Px4VV{a$5|N*Z*wP4>xq)l)u)BM@@rK|A_wf8W+`xCf_|p- z(&M8kY;+F#ansraeccyhiY*&3#nlV^U|&>dG+4tpebSXJ>xGz|{es&9r=Kwk^|Xo0 zN#q^q+6&>!1yP^d?rU!6f%@A_{F=+gJNmU+I*O_W;j62$^wDks#{R*B(Mu$ic#Wjp z7w2c6ULtA3OC+^?jimg3yWitUE|>#*uwn!sKWDwV`}qUu5r{FtHv?d=?tUy#@+S3l zo>ym3$?QG8g}lEzt?B2r;&YS`4h_+oa|QQ$?1Y)nb|pO zS=UdY%VGsupXjJKj{=I;1~OAPH*1P3i)WU!*Hk@CA^e$bqK1>kVR5L?%iYk5WNq$= zz9^bnm>6oLI&4jG1DEVCNU3vG;2=UpHn8-IJ6hCyH$j+J(3;zI`j^h>KA>}&aLqOW zMAmB!dbMmTN+y9+Od$!E&wxD;v0DUKVf9;+MScppi`}O^yYOO0U(Bvq{AlG(b zAVUVO28_(*b0+;nj{e>ju|~@0;q^ryrTc87WUd;+uQx4yGQO{7Nd5!EjY3wWa7Rt7 zU92eZ^c4t7z`nz#v%RL3XQWN`CgRgrx2kTPI&coPTC0$cjaw&rLY0;IiZWK*Mq*G? z{3k^{E?_%gyCH!^`>)v|Z`I>A`?4xv7z*3rJ7HIQPk|6AoHqFj1~IQHa&BC8_b>)B&y41FEl~mTc5(9nRM8q2V|C zZu78ooD>XO-^)BYnhpTYk! z_H|?&<1g5?e^_s*9Hr=f~pK$LO#!@g9&m_)~9&I-%36X z1p@)M9+=hc4kO& z!A#e}cc0$&G5cF>-MuN>LBC-ZCryL?**HM+^=&o%Vk4GXc7JTbXQIssC@ff#CPO}O zd#L#5yHC^<^MEm~a|KIv;dZJ5Ox zKjp)pRbK55f4tpxkmPZ5zC6Q*x$uFtWxLaS%}~K^yeWG-K41#(e;PFOMJsnwU9|m| z9A^64TXo(R;-`+-M^IIKQ`ymZbC)|uJNY1wyWz=Ag}Y;Y!T0)M?0Zk{$x#TX-`?s2 zS;L0DZWE7UjXvlJ52H-edsGhKo57sZFZ!mQCE{nGB*Xb zELtURy%kW|1)Z;@ng8UwcfC$H*_zJ{|3{~n@I1Tqwd(5xX+azX0VB5cQt2g@4X=ka zC3(qu_m`R=DqH6Ip=qG$pnwW-S-E^;QIjtXGam90<&pT&nw+GQ=%*~?jU@suOF+rD z!iAUsk2ooU_}f8f+l@!kb5C-4IQ|x69eZ=)Tlg~yL}>zIz^xa;N@^dC=DL2A=2w)P zrnh4Ssh-L*?TgZv(#KGyEAyx$HTb4%$*JEm4v>jt+&spOjQ_bbmVf z-b}*wX^@AaHi#4cmQ*n9kTymvJDj4_FHbPB0B-XK&~0VhW%$uVToP3r_c$VGJMLYNQ5;7LXUpqh90T`^A%_xfMGr@20411xP~(U}Zl zVxv!CFTrnGk2FN@dbnk2>E5AD1@mvPXk36cx+>jwNlCo( zF<5j18dtk<_DL&(lo2)x>zmpaTyQx6NTecfa^!e8YkRx=uznq~@|l&F2oP2Uv+&D4 zmqT;-3+L$07yaC}>O=ljgkEFh4)8pD!wyKu?7-}YC`sm$`^7#82mhy4pr*YM_2+)Z zIf>NlZ<&cdQsb6%GA*o7cZaBhN9fUDOM1XR>q^Z~8~;xOizuE zeSFBl5V~I6WGs7!5A|`EqQZ>?vI@rlDTFvt@8{l*IF>kA5518uL=Ag~5Z{i!dFz!g z@1IHSz!42^AZ_}60iaN(=ONqjo*rTlBEo8H#bZW7EN64vkhLj5%Afr~Bd~%3D>&FOt4B?+leIKUA+;*S%Yyim`8!t}`Zrv0{FN&T|2wXz(6(EVxV+TN<}%mtXz3B0?9q7VZqIfM zKYJumB46l8-xpZyEF&F7@WE|!2LB0Ma7)3KRCTYnddq_n;BE5ap5;uA2h2KUM+CL zLma}KB<6T9Q>O~&w6qDs9>f2p3I_qpavS{V;X{U4E^T=O83Y*5R3_V5&>BJfIcT6? zs8`5||IV}ZVf?20qffZhCWkndB7V;JR^by#^p5r3I2u#U-2Cuwo@pR+> z)0vA;IJM$^K+uz5FEif11U9I^^P1Am;wYvcPSso5=`*(EmhBT4rI!gBr*|GcRra&g zAC+u|axFaT*p0TBJ*`i^q?sIClv>XmTbfYW_!d$5qkrTkktO25tr;7(Sep>BxVkqI z^umnb^&$lhK<=)84U*91~Q!M#BY&7YvqM4GSMPeFU`4so>NcB&StgytwlBU zm^r8<0BS|~$T|h%Q{zp16U~`|-3~-YHQ^Dv#cAz%mMw?HW)8(nLJ#2Yp;lx4s93|C zU%lNgLgt%PM8(qO4|+RPiSZS1S?7B440*HIU7xJ`zUY47As6v5Sg*ZhFRz;L_V6xv z2w)tD`(+&H@nsyS=8tip6u>x;IcZ6Ir!qF6%M!NG-o zD9oC_tj5Kq9&+Q5#nj~gZ&V}3;{CryHA$7B#>6io@+&BPvLVrc?+`*H-?-WU6F$KR zGZ8d!w)$FKm_Ms0Ayufexj`)mmzfp4USJ*oT`uEKX_14eB3aWG+bb4t-@{>Y^?9j| zl(WWDd#kcQLi17!10ip)qxkdh`z*Akk4uo@p^iSysKrUFsII84v(_vR*D@MaQB*9{ z+6HQ&$SDQsgXbdo2htWw)HB^$VIOE43zvi?&TBr>y|I;NH-g+LzpXe+rH~wKek*LQ zv=F9(W@8758s=3fS=(EsT<7OIa0-t*^&?2ik(8ylT^nQxWGUVs5TJUfQXCIPYo!v;GwlVzE|5=@QO?to;Zdwp^0C#_YLP6rE1Ock{Bk#S?OX>t810g{uzX1}CXN zmHJ`|EFU6owUgJWQXSHiSq7RtyG}#br^V5lDN1588R#gK_~*G+XPT$MW6b|TddX@j zmm}MwitqO_7+M3vN{;Ifko}>IPkcc5V1*v);YyBz6WzH61ENZT+yy$f(B~r*6}6bX zJiI)9tS?`Wk3=lzbS&epZ=OuqLp;)?3@>O%-q37{TqR8-ZUbuZABT6*T7D*8jM^~O z$0k^vC@Bq6Yq*Oo#s}B^yoH885M$%0m{c(eP{>Y*$rzABx2cH9^kfIlSj|MG>g7GO zzVle@THmxJm9MY7=T_r$dP^Pt~*B>KJqGQ!whoJLN)iy0S zVwwXBLooD_ypb;qRG~VMrE2=nPVAEp2VkbDfpt3BP<7a^50BA2!YU-3b1s6PClV2~)ta4H0~ zi+VMOH7bT0e#|Ddp{Oa!j?f-@Nyg_Ii-ao<5&a^;d})82!BL?8(P|sV~{A~ zWvEFjzi}*Iz=?pD+f2VHlfzEm;B)rK1!x~qd|y5tiRf~Et|!eeBbDX!WU7}R#lf^s z_<8*V#c)q|L44Wuz24PkfcZ2-`|SKR>T*L0^)L^8|Hln%RT4ItKbM-6W2!bY&x*-K z-dUOp*U7MqZ&0%a7`MY{_P>?)OH2+%U0&k!SY1_YIrfSLV4+x2t&sTGOgtg*R>W$x zm^wi?Nw_3^tQ9gozH;O_;nLhV0`TwQBu+%vEQ zsz2V$0wNfBHZT!36(GR*{3F0&G5-4iS5a}Sm@;a~SlzN*nG(L^$NGZvgjs#a@=9s? zpm!GyQVGX+P&$IeI|z9|#Q;mG0KIdLinwXVt?ss`*+Xg2$LgLgz`pVgF*XG;lik1& zIZ|w-X`Pn70~GBpXj-?93@M3QD)Rp;LcLp&`jjz!CkL zGM`?t+gc6FpTC|X;{%)1wJB|ox`gL%)D6C{4z~rpRiu|#KN_wi!ed*Xz+Z#{C{ggP zC*#+i)r`Fg?w`A^s#l8|BL+32H@ELQE#Hup(c_Q+s2gHx;gYT6pIT@>&_A@$5pYky zZ|e!-IY-62xVZ56c=%*<44CBo%?tfs#<#_5^{4yG-Px9@E)I41<`uRRw>0( zT6Iz=NDe%^&^PZzm@xS$n)>LOenMJd^y%;MCAyttnEU6309E^g@pZkF)odJUS zkN5OD-#le@5$5~kLx1cB~;ROQA@WOOVFM^6BsCK zYPAt<9KdxTc#{2*et%>gj|LeAnjt3cHk~dX_54c;{cF(mZz; zv{2hYJI2JG%7y&u8?dX7()6DT-xe6H*BMqOLt5bdEH~sc?bx)&t5qRhKN)dM{Jvc< z7)`1C`P^}fbZ-%++sYwh0lPf*w4?Q{^vb7_hGU8B)7pC-Yqk-6jnUa4-9TdNoUu@k z@e;1v^?ZAhm}Us#U%9tr4!w7WVMUT zbaG+dyXpp(QBJMzvfdwFAzS4OWV8P98)TDea?~;hEBLxs@U>{k+4a3@M^00z(x?&3 zdY4)u#Tiv>Sz&LVoRNH)>CgOhz7B~}*Hv$QgJ!Iv1xHu|sXQU7Dq9tXhT*jX=XdZW z;irVH>SURLSbgjjU+Q~FI>MKaGOk4f=aY-Be`%jX{3I)dz)ta{hbz(0%GnO)F?7oB zuOP*t6e=5B=qh3vxi#c0u;!VmN4a}W%!2h6)7Aa7nuuoh?AeX^!a|NRE`(2Gb;i$X z^gmH!E-u=hy$`E^fc;k2!QrCKMt+yGOVQcy#}o$_F8DS)SpCSx z^ho!MQ!xeuJZTo@KJKpDea_yMPRD#J73=lvFY~Ro6nKS2p(y?hc611jn=SMKhzfh& zlh&2`FzYb~+RdyJ)$!WxHf2MP)+|_N@=^5U%?meeA_*sX9k$V}s;>p2sv<-o- z$L|-mD9%QDlSVugrh$Yrnn)r==?mlP%Om(4V=_&7y@wm=OTKKhR*S$Uv3+`A{&S!u zCfJ%LRiS4;+EL$84Hqnb&6?{6ps}V_tU{qV_% za-&^GzVIE}AAYCfV~ct8Fj={~j2)^@kex~N&f3eWfCnZomm`%8K=JHw_g68A!~Ik7 zB%i(2d%A$2By2)K(0WC=8Ids2-NA|c_%K8<;M zv8aE_R0hmBu688*CIC~T;$G+|AMR0eCc0B?TO7xsJ@RO~2+I!4<$t& zj+MH-_S%&aLx-`3fEUZs+`N|JR5-vA&&@uE_1EBFLM1k^42yrWsEIT|SX4-#8@HD| zoa%|;fruGpMey)c2D4%st3+9kw7SC2UqEXiQCCz@?&Td#&J`l7>g>2A zuzJ*26wHZ%&4A5@1m^99H?5(U6}^;e?Bj(JVT(BJV%uSp7h6;g~#I4cS_$|0M-^>~`Wc}G`9gsl3 zauoaS52lx+N5@6(-*vZFQSB-G5L^PM2t}_fkP{WKjIrC=w5o9yl;WGK61UpDWiSNCpt_$6ke^=By%;vwcw`8l&#YzO&Ha)pF%p^OSbTadzasWQBaad(Mpv% zAq@&1RtI@+TUm&}YzzEotG^sC29cX_>H(DJ0!EfhX6%Z30ADD_zf!`yY_;vYY_+XM zlRe0yo3oY0JJl8uw208vGZ7>E0LFRyn7glf`07yB1+uh46GT(Lq<%TijfR>rL!C6g zwO_vtZmgF$EY-GYryx@;gS)m1TgR)Hkb`XtudUZme2GM^Ir3lL{47ohh;oZ$8?UFbSJ%0kFc|H&tN1}V)4^OiZE+yhW zn{x2paXX9o?+)UD+A3;U>ei!D`Y=)t0!sPe%BBU58k3c}Vr?bZ8En4=K5O_hvxofB z3KgSZoFHzOQ)#bu1!V>+LchznG`v@^Q|Nxrzuu3`BVSSM+oZIQ`+n&QQiI^T`aJNF zVtuXfAsO<~`Yu!Sal}4-)-qYKiQnMTck=%NmxMebntw@!A77-xPXMVYZyl4s=pzouIem zOb1F+0o0A)(Q5sLlXwS-a5E3w4JhEqp>nUzTiy~J)Ga^IXaJ=!Lja`!G7Uyb1Ec+0OSJxv}D;mJR`G|mfteZ*9 zsh>Jn6IHQ(zF&a`ROSSN?4^Mj-s`smegYk0MVu(`KYc`T^QP?xnyLMgp#6q_smh)G zYgMi%jqneyb!+odY6B*k6cpKhG;p}uz&(buSh5ZR)ZO?%Ubq(WDP^312x(@8KN(q{ zwb3!6)K~;!J(Be~Y2O=B0C0J!qEQiXJzkEv?JY@otXhoB{d*ZvMrOeCRYs(d%!P>s z1spk4;#_UH9~-?~ z#-0dB;yf_qb;(_zi@nkTs;dIuSx88v*9%ffjl)66fdOaIPn4!vZ5Y*H8n@X)tr6lM z3gZ8+EH~>kl;yx>;sDttzjrTt2Is!zQpkZ#eXmYpVyjaTm+poAxci(4NRpU+oTiHt}P5o^xnmu&Et~H~kv@E70-{A46x=mAFkQ zU$rynC7}JfK?ERLbbk=7@KyfRzeAA)AQWx=5sEO>e<08wyoRFvKKZaA%-2wq^Jgdu zxeqqrD8^*xYrU!$-2IP0i|+j^&^mXU-eMedN|fe|x18cD$Y8NzM8+D(e2=rR2ZIWh zhFcFz5&BBB#sKc2>3#B#HwnzZe-kaJzlqlNKZ(})za?64k9u*1`Z!0`MkAP0gFfyD zoS=YE1)+2@t5TzSH|WvBJ%8`%b8PN6?F+AB3^52!UmDWH0*LL4cmwD>FpclPf-mat zk909Y8hD6f&P|_?lbSve8{s>U!``wy&PDJP8#}D+igN}U^wG0^?sEK(^5Mpde0cDi ze8~Tod{_&}MT<NC zga+nd`(O9=|Bg(RN~cCF1l?+dlrNE~^d&N>y`OF>=5?_jif20jeTznIXumZu+8;J; z2_E%jLMEt&sbaryxESK}gdANGTdzwe?BCUmVr*gm?ca%N>IMLr%PBs&(&GNw@mf z^u!-Y?yW2EQj?SL?Ao*h84%7A8kK*3cV7ARS8#erF4M8f##}UrmjK5XqQdtX5o5di z19cI|M}vYX^x8N7-jjne@d^4Q{TSuwwIAt0RzL*k$=M3;V&Z3VJWPJIlWbNe`<-)r z1l)k}7w0P4MjCAHpG40vl~}>qx;v;XeyPdf0%~&m`I(oF)%Dz{1k##M6cMaiS=35Y z5R@%CS;LA`m*gj5;x1(UXG`TD|0C%lu@6Q4iU!sUPA|HdFihMu_?S+kJEc|`-Zzi; zfEyv4AVJJ&f1pb3&v|SOp7c4*?+ZLs6I1U$ti;k6D-rC||DTmeMIN~x=W$t3IWS3# z@wF6cv=pC2pZdxxPK8m`AivGDA@N(#@Udm;}_&oKw}8{Y>Ww3M)GOxDQoS=nsN%ywBBi7fUNMt zA&6Uzva7f$(1>l!{S5C~_w<2#SPNiA7_FKpY}zTJCy6%e-ibm|t!;^ud@}5~A!@(1 zep0%MPfzl+z&Jdnx1#2)#+@-GEe7a_ zTrWCe(Tk3#Lj3Zg=`S5o0eIVWUWV|zsOKZd_R$X;#I<><&3M6@s9gJ5^ZdoThqLV! zdJN$;N!o%B#S89{D@ffC{91u|kur&-QXiVqhD|9))Y8qG!h(vJY0YKrdSKe+ch*Ng zP~R&@AzAHeUo>c{UV*?3g4y z;dP4fCt!*(1l)lu8;tA-e_s3QXH;v@8R;LrQ`TbJ)4CjDmiE4K4XQNe6a zW7zAa&t0!IS14*;r$@TOXp9XUF-F=jVb^E1B{m6*K^yJX1Fg?zr4-0kg(7mW<}wtg zJLFc}|Ixs!Nt00fK9j16w}P+gX`y_;ldFj8*4g>e)5kAeQT;3i!xaaCEB<%jG3W@6F>HIkl#Z5hWc%qbIr`D z(tJ@Pxvyqmz;Tt5xrS=fUxx&d0n3UgQ9oLZi@BzlhC+2d-F))X%uD8Ms}s#)1hrLW zQOB_@=m9BPA>34*M=~e|Ts#p@7`l%NrNG<8BXG_NsfM`>=-jz#OWIN}{k=3|TZ51M z$I?hf$Y|l5T2o>u#a=>sN8L{8;ao9Alb+RJshd!4Q8#Fjr-7MDay|K%)@E2me1;pv ztXREMRJ_S87++ zq*M-nY`oU+JYQ;fu0duhWysQz7G}uH>}SV%FHOAGE+THxd2tl*`FWA#vNaJjeiwhu zAUcvd&Mu=Z=_QA=5ItRLnCh}@!bOe_M> zOp$K*Fk}A?ODo`=R@UW%w#a!Nh&52NO{+bgp`|syOjL}}^M0j84M1udPIT6>_Ig#-HVNOKB64eRkO!^!D zycTtw7?Gl8&=bDfWLo3<4=LZv)yI-T%PWW?WSqTqwfl7^V~sK`j0T`m*w8^l0F5hy#EThUzShe3fLk_(Qrujghq#{U8u&|o!#2>7 z4XlvdTJU}ny{h%03L@aDxAh2nbiX&Z$)!VscjU_v z0v71NoJ7f(uiz(>R2k|76maBFIh)+Do7E+ful!4LxLW}qZbbxatFDL;h<)F8S<_$R z`QFjj1&j?`Y{^>3T4{)iOpB;RECz7*^sP6gjatQCjvd|jO-Wakos-S!-sZ8zp#ib8 zKS=DZQe57*j(~`@N7_hTEsE4fL2J=+T5BzpU;&YD0Q?lW(L25Z^eZF@iFo{Ip==h9 zPP>1EHRmB3rTCPZsgsq7pG;&!3gu_Z{)LE0nflNTMAX@uAC=!6hscRn1R%xzapj(e z+tK1k^TW|X3hzq{D=}SUUEhr$|qri1?y)hKW~R z&41`?U0gh7JuX=%Kh-*qoA40xF|tssTWQNMG>L4qXrIn|ihy(*y0!z|Y?=LO{xQ~J zH$7aLnLdBve*1e}E7ARry4HKy1*tI1){k%zeF&^%edUWc@QeSj{sug75|1CRk9c+v zZz6EufyiD4Nh168vk4i<&>_w-JFI2X|3gT!b9{+NK&g8mxfQz_8p1Jviy4lDaQ`;{ z{#TPCy93jfCl`0um(w209>2|#{I%ul#WFm-74`8S}%s5Hh7(*Bj0T9p8iV4ld!@wDcK*Q) zVIZd6L580P{CyDTuoN^Z{07XreE+620{SI{&i@ z<>svq@UU^g5x0Jx6hPia=|sz0iwi{H9@C0Hz35*FdR5HXYi~&-BNHI`Me&(qt*&xz zD{OPpzXnMiuPr#IXkC>o{A^wMTO$SR^915T#z)wA?KbrXiqi;4Y6pw31;*I7G`q*t zhwvzIU7n<{Sm@VoCw)%(Op)$=DSytHjaL9GPr9?qCjzN=R5nsS1g040CvEVj?Mjx^ zZA4!v0KbDzLNaQ>wfrc2|kbvaIKFrGokgbZ}^%t*qV@nU*h%`1*!b zuK~vIX>KfvnaV5a)mh3-+($;(I{`#Ma|nmD~Zg=`!yieq=t=^i`Y)d0Ar!t zg>^oG+)7Ni-75p^GgOhYzyw= z^o{m0|1@i z-Op7pG**9nU`uEUuix6h2r0nn(8qB-c_uP zHs=l{M0FPE-!ZcW+%Gh`Ruv&0GKxCW%;tpAR?*7D^$isX zDD`S@x_X&Ra8Yf%$3Won%b-~$4_?a257u-6a%V)o=58+MD}XCLUgIT;E=CE83316D zHhx?4T`cpjiYTa>^L@(a36K85plJk;u3Yr%6J@2%FRED;IrsP=!y0X9+8=F}L=~A` zmryn6n*M_<2hKSf$rTP_>Q^@v{Cm}M3Vem&OjM((qXli6UW^Tl^t7w}Gi!QJ1T{Kr zsnSFsz*UYSrZtvjPl_m;iUICV#&Eft!pcP_ypH6 z@M3-1G8&`ey+Jc$T2N#|iYkqH{^T?RtVoP-qWh`5;n?45Tv+}AS}9r+k1l@8GDTii z+0Ie^gMCUAA~h=GtsQ}XdoLg7bg|~s%_ELzlms;n76PptVTm+46LNk&frj^8eB>(u zNlvx!`+XJCkUPx1)6q<529ws>s+Df_O5XJu^>RN;Vo~PrPZ?55o2~A)F}7Z*g<}AF zhJl!etngekJsq}{&%c-%bnqjx@x;p+&`F@IJ_Q7^Q(U~n{|?`}2Rk{uc-mH+j;_#J zUt^1`P<`(s;M~*;4UfH6d1qv&6!@w)qim>s8pvJQtvI$@7SQ}X?><*k^ec$30y}gP zU4hd2LY>!G!@QrbCQ-?ot}K{}(tgH3T|dU4Q0}&r*~;Xm?;Hc?LYT?^{YnrNDMX3? z8RsGyD@WtjSTZbQA$@_ttMh0qJsD!%i~osNGE8X9lVwaQ__Q((NYY#;RCjKwa6EP~ zOpr5df-;z>tIV(Icwq`BjjUjD%P6cGKlSm=`c?mMrXRc7n7=2bX_gMLRX^*T!r%DG z+k+{HI>Ik5NWwy|tHEmko#5l?x#t0F!>muE@7<$A*dchrj7XFAIs#QWw1c@k1dA=o z7tAjWu4yftmSdx=!23m;IJT`v=GTvL67R=8Q~aRnxd9gUqmv_yD_d88o1%6L0F9*!wA>XfyaR450j&^E>bMasgp|=T%H-S;&3(w^Bpnsz^^pP+DZ>KFkSegi` zrfVj}kLo$6uqi=`4XO{S4;R!ptyQq|wLdNCEX|oi8V<5n49j?wC8o>tWT7GgKi9g> z=<8)9CP}gElO$7~6~TtF0K$oP=JC|VSO8B%MhP|3&3UkU@;1YKVr)H^(1u8z)`K-p z2ENQYg;F#@4S3F1S*_zT1^B8GeN{&BqjMuZBR*sM;3C7V(Qp#~tqzsG&S5ZKDD2zl z#0J2`I027B=RT;ZX{N4BL3ag%OO}~IB7E+l1Nxxf{QpqphS11sHPb=F|TOR0|U+Y7V6FrOn`Yte2rx z>`Cd*#z_1ad64fMs{ccfCAmH_v4gMZ@C+eNW3ZjpIU5x2IL0`@{tK(Gqz5JZiW}kKrsm9p?4aePbZ0JJ>S6V>2sBT#>i{6U~TT9p@aXFlMc|ea)tmuZi zW1aIq!s>_b6%QA^2jU#MVF^8rl{N~OLz=C}d@Y)~W=O@t_J#|@3R*KP_5p1sz6 zi;B*;c3NVhr=4p3Jl1|0yN5zlyv-xiV5;0H5@13hdX$nJr zwDepC$q1k z#sq-;^-6;RBV+^%jf1(@iB{5#ArsP)dt#8I`Bq^03U>FD$K!tP`Dte}cHLrRby5jl zG{$8hEyIy7hB2`!y-`a^kkAw;g&!7+&ofD=yYvYpn`>VtcVKOMpoU*-7tmkQ=F{H{ z^PK8YTrUjGSx3DV+w<@G4DXSRUw5Y_)l;BoWOx6#^g|}XO#uHK4m3q{9&U`UA{D&a z9#6ZQ@qu@>Z9aEB*pIpAgLhB?pG{?EFx))TZ?+efuikel6ffUBd0P6BkJ`q=%Dj!^ zuj!KgfqMt!rL`OaX8(fYcmCvK3krVZek_c#?hx!7yb*$_ zF$*r{rh`%zLo(3hHzyUb+djU&Z~TEjD4f)QHKeF3#0ECc;%Yj_aGka{Y51ROLh3Tkn3qoKF%& zw5y8&fCyrMw5kFTfRS^)WG(p`0Zf)apj)d=?xJ=uG8#aN&#fV9be8S=#f)eQF&`0V zX5YzrgQR!EdG3#1SN#Msgw}B2fLdg50D^3c;B=%Pp!^%0IJ=pmzRVd67%`RORQKjm z1OVwboh998Dk3U8Rr8eA!|4y0m)6fa2ts+s?}SJ}UlYN+YA(5A=}jIa&b(=>fQ0@$ z8K|x}wCri-g6mY+g#&{gEXc@@Rjy-?mJlT_X>9WHfYwlbl}0d z=uN>JrM6ux?mYvkMoG&9CwRR@qHSzDiGk#`1{Y3;*cb{X{6434`PaBbgco^N@FuX_ zEsnt7>agSU7ZJ@~y`v@Qz%GW$BiY8SSJRFbN(4s;k*)*XYM;`*9_O0Lr}klW1W`z$ zbAkEG?yC=H_BlILq0(~JUz)>xwOv-kR7(t?smdh$$oGhV@F=TZq(xJEY@bLcjk0NN z)@&i?F9pW)^^2%Ir0?Yq{*H8PZf(cw?l8k$aa5^c5g4Gs+D#T}N4+SAe@(OH&VcCt zc|EI#J4!NdXP%4c4Bt)qX1yXz@b4)++P@wUeRLYqmcoq$tRg*?+*v<-((~-pXGzZ` zc&bnhQfu(QAg$38;#}T&rTofs=tLM9X^eu|s4qoCn^Z!f*3-JuY)$(sfj45xD!b(e zxdBgN-Q2e+6|q(t_38ziCUwAS0x;?6lg!l3^0>huAdKaMb41Rn4NGu~#_mbwWEcUo zwitxy{j!!bXDIo~;rqK zC)d;8TPyEe?~7iK|3*z=E+Ett;r1`6De9l7sqPPIa{2#3O?ci#y8{6#8vH#W>c1k4VyPT0Dw?X=&SmQfho+<(K0$zVeN~?-99t8Z3z@PL zKDAgTtr*%kv4+HYEoG1_l=v$q$5>3280C1((QKUZ45$E>k!YFcv^%7gTvG*V1lQ;J zGAc`KsKaR#IN3{*!eQOR@<~1~bt{c<8x!czlz1;YHR36Zwts+XKdx(4ttFMFT|M96 z)a)4Rq2(sz!Fr1O#gPHVXn8vOw7<6~JlEW!w)^?By(8(7G9+oj9?ZJ#`^qgd2h7`+ z#2llvBVz_^p>}@ znl1oKd47l($+4(181o`h{Q7gocDx-jM+43v3(00peZcx47AqODTPgpeUOY-^G#CPA zsk{ezo=UI?+o91DeOHwnIAxm`ybS7yvJEoXbm3aKl~MZ?k?AB?M{~J^$NUG?mQs^7 z3!dYhi_oTMSKIS*zGu9?SH?%vnte2Vkl>HXcV-8dQ)LRa&J@MiAj;KaR6Th{Ptkgs z4W45@_v_8@#pk6<1Qy6F=ofz-!`Ft}730B@4jYVv+G)kc7`TE^7cZ`Z<9P{DE=<{y zvt|QrX2p3Jzhbd+Ub=@8t->|%?~!RGfG&j;A@@CB z8^L+!i~N`L28;vvgx?AmxYwl`O&29V9LH()`raENCe4Tx8Z`#x7wN1LXQ)Rx7Ctj38j8-F*jM!{tl{|1;ZO z@OnS_+FvYpSu|%k?iOjdQA!^OkOU!_{84cyFE-q~@Vl3h#Ip9%?+uU4NvwSERsMsq z39 zM%c!1$mMMo)Ty|BO;(AHom&hH*nps7QD)dY4k>><$DT6rPRGLGoxKKB8;v90H!vf^ z=5Nz$JHoS39Jm@NYty|6f5Ly4Q2B#qiEc|{b18d8zWts5#@0cDzkmOfH7hdeImUUt ztBd=lYh%C|SxHx$KhQ4^+78?S8cEYX045TeZpO({C4FBhjis<)m1R-vM=^QAv|=eo zz*9g1mmKp))!igS{&mrhuAxK>*IMUrc#yzOmr^8nr&d0w?oStv!PNDHkm0vcup?M6 z9I&MbsRNw@oudZpsN=wRTzZuNr&(ZkLMIv{)2TuT)_4lhWV~2V=_>xpWDMUkbsh`#WKvZm4aWZ8`$G-3(iDn!$UsGN%>kZVAmrHb1@7YAa~ z)>2o3l0nroZAR1RFLZ%Fo8e?!zAx@G%L4j}#4}0!_Vs6wj)cswz(-KUjpXoJ@!xoy zwf|&Bti8F=-oJlUX1F@nBFDV0vYUc9>F9Y5o8);loBK2))1IXuu<#Z3L7u!;NWn~Z z4NP}5XNtb6?M&>hBs3Ma6SgxPa^3bgxg{44ENr(JvtAC{Iy3#C=>XasvE|3(>{qTK z+XEsvOHmgg$22!FTB9+E%8J$RN`UmTA`sYv; zg6O1r%%~&|gG?4i?9(4kBre(Yhwzbw8-rC}uwgeSg+F9=R9K#E7k%qP&iDwLgYN~W z4eayJ!WY-BEUlcLE}Jk3Z#%Y+EiN}W&y$b?UwcV{b>nkpQYmmr`#WukKrd%g`^Dj$LB4}&mjpN=M@C# zpThbt4%W-X1jf}ig@Kk{2US1{2|?!Vrpf(--OK$IWiUa|XHp_k@IF>hvbnjq^1wLH zXVScHC$L8gY?2qV)PWyk-v*RyPQX6b|0^}Kfqm`e#q}Yn2jMtKTn0UMi4&9^2ap65 zEZ+%=eT<#DAS&z6m6du35`P;r7thZzqR4&%K~sIN$NVcHylS=bl`qB(#g# zMNUB1)A6xUE=g`~xBS#&uxE?Mv#Zl(|2($*)D46@%D1B;xfnNJ*2cRs@H8O{4CDJN z&TCHgRF1BChyn3Z5AJqc4H!UAmubVO5eX?tUU$q?;`VT$%C5D_)@^3yXG%+YLQ31d zj8By4OJqMMzzzFBnyoB+dR)_bcwMLfdDN&?T0{G~@Soh*(k-yEZ{r9)6PkzVk@f6? z{*Db|<^}=+?b}f-G{xY)Qa?W^G|oR4hn1>|{0?#tIevkwM+$A}$G>dD81dyV9;~k~ zmiS)_LZRe9E4|#?N-tX^b`rB6E!NLp;ILFSanX1c%$F1+;NbSV)(aI}!!wOD8x=GP zT6-)J<~%R~3xR?Z6Gf+Es(4Qe^i?M`YKW>D=@n#;A9f11f;3t8Bi+u3jAIPIrm1aF z=xZ7WA|EafbOJ>_EiDWC5dWBLrN1A!Y2}CTFuZ*d5V%^4PTSAjWN@(D1MUb#?<8~K5}ZCjsN*`fz>3^*<%A#e8txq(1zzs9 zrA9hqZtoPlG+Yk%5+a9kxhpeo4$@L{9t=v(*87y!w{%l*tzCx6jyIU>otbm7SZ;i@K{*ylF#5*KQiqM8A%RFs^4@8^|MC8i5mPOWG zXU116J-_nlr#$h_!rlt`no5O8txWq#xwddoypNvH#0jJ1T)p4?iyzfzv!W{Ck3}iy zZ^g`Qbx~9bAku)fcXBPYM2ptSo#)K-=hDpwSeUg2T9%1{LMx5j2#=j;~J-Eao5A4d4=7c?#4=bV{0;xGx+JA^NIlrMbMk? zBL3QS4NeU&i{Ex!6jo-#+s>;YVSO%r3l{d?iDz1Upz#JJS54bRq+L4Lr;ya={3nLH zA-0eF1+A)l7JE|)875f6z#G(da~yedkwvC|%; zxo}Y;M}qkTJLTm21o$@+UOPb43!8Gr(QD|G9DqqyFR03kS3L_ z6HDgHb>OTFdE^OBWjlLaw{>1{2R>6xGKVg*r^>iDJ?L8*YHNCM%X$ZHc#n83S#SnS zRM|HH2yMT78;fV*vrO^FW*gZupBu_W%5h7rm+LGdJFe16z@N;}`H2m~dPe?4{MgZU z$|j-p98e=mo}S+vFUhXea|x8Q?$G93D)LcxoX5LNA!_EqQWUlg=jgqj2Cf2QLQ0+q z$dxq9$hNzNSVr1LV6vO9)Mp;>hYG0RT_5=uDjqG3^6b}uL zyjFQ-WcC*qkgIhn%3ax^IQF~D@r?_J;}-q8uU!6ga3ivEqzU2zDr=ax^3_Buc@vcd zW8b&{(t2rng>sjr%%(RkAmoh;VEw-R#s$E=aRIJxT)=OMH!fiAFD}3pqHxb;|CNCV zh4OZif_Os-Gg-N>6ktb{*bkEXHD%*aGR|*|C$NKQp}_Bhan7K7 zv+DvnyIL9dIWtICX#%twIF3=Mqyy(+T9M9uVpKpmaM?a&hQyb|mu!))Td~I4>xH>g zHYF$U5);9+(`;pWVzanGC`d{bM7g=^_-C&OeWOL z!6=q+d69&hpQ6ilAZRE*Yj9n`N6~s$r-Ls}f${Aw4b0`!=}zZFm67QZFA^`ZMOw%( zqe{89D%JRFc**F2%LGw4v-rt`)Cge}51%5(YXn}SF5_xb@7MRfOuuiRy$7i$m2<~E z+m%jxykPg)Xy{h(p{(J|2eOZuT1m?rdDJ2re26_XHxi=GRJ+Q^^oduASJ^&T%W#7? zOe7mBHO{M?#wm#;OpkJ)GP0LpFN3;=FJ}X7lO4uCX)UmXphl`b)qg94TDy6WVQy5} zjYZs8?LKVw;@3)aybk!q{?Qq)9MaQrd~@7g@u#)#ktWOl%+x_M$wz`>xp^Zbcigkt z07()ZlC{2Q>(icT2hzYnB|S|?Z&e66Lq_juXI6Asz&5Y)=?_+ai!^Nvo7B~YSgSXZ zLsui5D?wO84`yJ<0l_5t(M5uF8jlRI1Zzzm>^UO)a4F2{!>@XM*S!HYsNy2F%Dnd$ zk=>wj-eAR0MId+a*JB~gY5P|yquozwi<&mRtvTu6>m%4@>eOpw>&%TT zq==k%UOy=iuFkp3F;A%MCL>0Jw%Eo*&$F_zwrqytZEbci6r+gP3EhAU*fiEC`gdrG zc#li653-iS6Phw3=B{WrvqDn-I{s_Fe_0 z`)i*F?!NThDClQhp^XR!e%cGoc4(C&Ou?gBXRqHha?IKKRWp)w=Idp{<^4UuSW_m4 zm?Y?AD4A9zladt1&clVmEeCWA5S=;OUPxQ_J&Vf@90%>8E*CS?XMdlCGrgZL=QmG! zE$+sbzyA9!%VqL^?Xn*Ky34x9y)B(Yq_e`}CEhxZmyvS?1aqFRpmlT@jt}5g9cLH? zGsg!Y?jmzm2UOpAvPZ=%a6#xfRa?ew6On@MjiBe^CB(d>yt+8PbUi!|&sxjyNo>Mw zzTJv_Y!N|$TIw0p%HA>7O4sv9>(y_U>eQr}L1V z3vlUADfH&nOE;+npu|p5vcJfh_T<)j+-XfM1&U{-Tp|D2g3TljU#iqSU%6d&Na-^( zdC2tC8%(yQdvcwM#gBN~-9;s-{KSc5Qp<8kM%GrfMF0W-P8!lhoy~wpuj_{kHx3a1 z=y(s<4ExFokf*PN#_VAAi47XjtXUBi2f`e290oGsaqyO?vU>wnTZD>xvM;K*E6U(uKV{7zrdk3l z%IlHi3V2i?z~MmyD(iVL_((QKf~)1->;@6K{_&>}4)V`hFw!qg2OOZXo`fie91+qR zDDQ3VY!vsv#$W-U?BK8Eyip?|QlY%=>?w<@oY#%VcrM4)z#!0VIq2=S`~x6tmna!2 z$oZd7yX_CopE-#@GwUziR?|GrfBqp*_NT&HdKKqgm5%<3TJ@*OdQKgw8-gL3e&i;z zDT3?u&m$zFVEHPWB-&$mx_@mZa|*fOY#LAPA$N320aDUQj5onG)z(i)1g}Wg8bNxG$}ub&?U4s?1vKN|Mp|g z>|7sXy(n$%mA9nifeRS_;u!BbPoH3a_;T-SRNa8MWkS}Jpz*n_Q2~n%PJq_|vWkR6 z#7L$BhG(fkAyO%0$Nh;x|Ji9>r`LOWe&8Xj;mYq79f9#MemvWdEle!1<%u`1|63c< z_W7jbCWJ~UW$rtBbkfiykn66Dbm5|3Zb`yn{>U(Fw|eeD@&P_LQCI>4hfYOe5NL-J ztFtA(l=0|FqZSwR_QtDc~|z zYLomj#>MsT4C_|#L>4zPzWKYg3kwG7ELGXooIs26j=ZG2xFV(dcI$N zrsSL!q}-CDzhj&~}~rK`NNjHOy~zfcC2*Q9qZ;+gG*qt5cDoM{LBSHh>o6XcBp zIjnbH9I}CryFt_|UB6Rf7G<&$zAI5xWS>wW4;Z)AYHD>4C=47HoZ=P?Lkbe3gev9F{(7ZvWuUF@(O>j}Wbm5wT)pT3Z)>n?7tc3jhm=Nb z>akP{%j}fiKVKRx{w#dWW|`_UExBaSLBpE;wS$it)@)toPWZ;#ea$kV_5tBrmNdJR zFm&Z<|NL+vG4T}V0CZ&pEDPlm#fCmO2yg&l0NM`fsH%hCLhvCpL!Gx z_9=<_Lm=oHE0eS&Ai10=loes)N4%?Jy2_F9VSSZuTuNFP@4orni{<5ANG}+LQ=*2+ z&yVMbp*s00j&}qimcnz_UIUQsk~P6J5DKbNjGc{H_@Re51Gg9O6HS$ATTnbhx zj!=)WrmVG;8well^$(wzc0vlCo2YZhopzIaV1l-wo)}d=yes#xXX`dF6y!lRa5!8I z3!X%6VaDnEkhIdotOT}v3Z38<+v}!JVt0~bYX$HK%v&a#v?MLoN@trrp=ov zg?aDcwvPT|Ir(y#@p_67gw(bWln9g+K160Z8^rFi2EoCc6y>Hmqja=+A)yK`siw@m zK6mUDRn~_${M~ZB_?C)pq;B)##j{i?v&(3vI7ANAM+US_ znsX8wD*-p{HO_%lPX&`Iqsu`28eK^cXdEwxqKBbZZ_D8BlyYyf46brnvq53md;9H$ zXht)fPDv#AvbN9;l+eZ5a{;+S9oj9tu7a7Wd5t64&2j$qk>zSR0ko1;f>tsavS5A( zGSX}Ld8)CtnJ=*S59Py|Aq9Lo;ZkEogd5K+OUVd?+Ho85XSXQgK?;o4Bv zKK*`T_Rc_U4DssDn+^pR33PDY=jzd3m%atd~R;xqg=nkh+!JC}0Qa+dC1?_WN$~l-~;fhbr z3P~7h7y|pMEN^?Jot)({V)lKK+p+MCKSR&U)ALaB(?W^40}C)jHNU-@proTu@s)U@ z%S4xswL6lY%17FzcJabL$!E@ub(G!a8p~FWaSaPFgyNOcnYQgs)$ujBNY&VnfM2-y zb)r#9H9~xwEZBpV3R%TAKlE$u%~HK!4yOeMh;F5>>=2>({V3b4YGA7$622Z~`OMz*AQun8VBytz0P(kgJ}%^jq%Obob;0zU_RI z0i^+-2LPQ=rtxWvQ2&^mk0j>BLW0KT|?yNZ#$~S`G2GW9M9um}u^c z1if|+XIoui7lMUNr=^T?x=(MigJZp)Ijhk-4ZgH)J_g6GP3#XWV8*&;ka~f2^yk-+ z0$t5uAv9q$%iI{{Tv>_gQo0+i%c-jZ1q{Cl);EK%eu`mKpjO(;Q0uS99v&V-wq=E$*`X2fd{sy@)fo^mYF+tM(n9?W&eZ1J==gGJ2^a(8gXsI_ zgkJn;zK9GSkj&=NQdIGOmf5`j9Q;L7QD(CVPoxvJ7#KszakF5m)&l`dXujrU zu?{X^QXe#H4`O~aD_{K|Wj4MbnT-pd%72&H&}qB-4a%6ka(#LZ?E#5odfr4b!9|^u z)}p`2527dF0z}d7gua@c$EF6!6g_QR+}0sxvZTfl@(_V$HbADsyM?&IJ+lLmUc{T2 z2Xu1gc{@4tU`smltfSgkEXXko-r%KPJhy;A2Kn8UcTX-_EcZ+MoL&s)AO<5GXo~10 zA823hYuG*4E+1_DlR)nxsR!HLEJ;z!h>0iafZ|L@zzktC$SP#4stJwNpZo@CZTHk1 zhuf6t^^IWoLoqntPVdGhue?4yZh!5XzJcgM1)a}-DG-H=JI74QB?ULLtj`ad{@&62 zr2Zs{&xC3~HUz?U#&)yh>cq@MpqcHJytxlR2W6h84TO(P)1pq%wh5Qt^)k5j}Xy?40Id$nTdfFHQuS3u$Y zE(CBZj#Cs;GeaVcj?xLK$Rm*$ndS$$_0gAE6OfupPYHtHk^rDMG-ma+D(&TYv->`_rY93j?JJVt8*M0rHUI#mu@H18Tx6@7Fw#Fklb@csjnNPU((~}r)WDGCeKm$nTGx8h5(jz5lMw&JFS%t zt87gLZobu${vW_|VE98$1+SMT-OE`!At~r{CVl&yNsAhIpxNJ>fRQ7o2B`70Nw=~4 zNa5;rTW^yn^JpJpHX|bxtbjC0aZzzdt#wnw6{j5>?3ui;T($oK>4vP>?3u)Tpm)M&+s9+-qu$dt>rvZk-Bk|g zxuzl77YPR(!4cTE`hE>o_f}2wYm!JE4gv%L0)_KByzSH0j#h_%Jsy`rW}{@s=pGei z$uFi;Yza>*=Klwh0x0UBt|Q_g;J``4`L$#3^=T{fa?MNf$CgUyc*ml(w`2)XoHvI* zMEb)?*zB*!XOzRSm|35?*?Y6<*N-)xl*DoeqB-~j0Mm1EtYQN4bEeQxf0@3~LvK8s zVDwKmJq#(gqyz_2Dr#Y5NN4e_HTXt-sG_fUzxh#CV`8vc>cNTiAEi5Kb;fvdpU(tM zDRSJq4)m&hj{es1ycdP~TgT(~rsI+QOUIMpvLdTGY=8mM@jz1Skpijy=y+!SspGL* zv(*|W$}l?DhC;iP=BNIfy@zOEub@j&+s+x5lf12N z6@IlTt=CBM=A`I}iNcEi+J^sZvS!7VAZU3I%FFJ~byl(2v2X5w4H-J=5c3y_p>_Fh zB*x+YKw^ZPeEJ!Nt@XbmF%>tC;Mc} zUj-Ds{4nvinkOfeHQUMFgu7?`kD5p0P0eG1++bodnQcst-R<*pQLVJkoVH@;eQ{V} zUZ1swF*|mqR`_OaCL0ADsOZS?G1L=2F7pPsXp+e)bvONiDFLM^*j&~5@V3azM!_!2 zsPD{OzF}&Jsn@cxJTRGj$Z5PZe2h;pRAZw1)cPg86m&Pq+?oiPh*e>25a8i>DA zrI^4JDdhVOPTr^|s~^QPJ`CFY$D54j^dB;wjyD;PuY9=GbdhWo)x5JIzEP-_{S89a z0XS)-`wbq}8UPDt$;_O{NXg6!&RQSoy-Kn`m=d5$M1V%K5`e56r%S57Selqn0yA3; zVw&HCJedDo$n#K+)0lOPLzpwwyy&qsER1E3dfBxJF7u4X1{SpVAyum2Bd7;Q1umCy zccLk#uRzL=0cZY=`RL0%$p$eW;+<;bZ_EefALax0UziWWH|C?@XZ}UJB+q{_AK1R? zJ8#TKR@)o%;nKF_KYw_?emm7gE&i3pL_ob%a%fq?_u~Tw+9PgheGX5aPn>Xah`3E^#Cc)>}S&;=mbs>h3f&ni3 z&ON|xom`9Us161a8P7nwy9y07UscO;Gh{%7wdxa7TXFX*gBf*9<*gw8f&o>*^&CL! z*OZ5Rc}|8KwTh2pOO91Ud0M>u>SD6fG!6Aarff-;6r7Gr5{AaN6iQ6K<8f{5uT@;b zP~3dD`Y`$s34^IMU*4FHqBrIv|Bnk|@h|412;_q3ubM&FI1G*+Xo~D>qCCe-uuFY2 zo!=bQ7CC(*{T(@J#1gz+!dOB`CujX$8(Pu-9R+tGtihcqB>H9}55YcF?7JO1gCU3E z19b+Zt$I)5|ALJ~Bh;lKTS+Qy6Z3_(=my&Qz-*~HgNi#J7nzSC=Fo>e+Ar^2ArG#7 z$kcFd-F)fQb4AutYQd#Cg)W3IEOGB&S~)B)MwOQT%NMaMVZN)~WxYZrAfbTXylJr! zd$3aNmg8x^-$lgV87)nn)zFJH^L~Byi;*gQjENI*!xI`j^=^jtI#VT_rurGR#vgw@EDhN zO`8@B6%_YF5sc!`30s2>j@dt;DyiyAotPNbIsM}`Me^fSf)ydAmlVGm|SmGfpBVRH2=nf&t_7b2BOcR%n$ep#j4I6idQ%`USH8tYqL$dG$n7pT)<_p+NF%zuX^P-~5y(9& z-stbo*TjpoQ7lLXK?h;A1$KMVqu}Hm^Ea|?9<{$>qveKASd|a~{ z9CA!E>m|XTlr&IML@lK^%t;{{RwGluyExY@U|}u;BM}HSyW;@A+CF_}I-HyOn*M>m zJHr6dyxB~(<#&sh9!CAIqJ(DEB-;-16Pbh<=tR5WO#Ai>(J|!6acM z%N!`$Q0&etn9^4}-Ko7T70%tgW)Bw+Ti)w{`$*#);H&CuGAl;TZ5sVGQk5L_aBhwL z;VY^(^hcJb@X>&izSnCV=HSoqH{^W-igZlJadY}uqxa0)oUyZaOqWw__@-YE0OK<1 zV=CvXd9G=a?vpV}ikK9yQphsO;@MYyrFT5ut}pw;_rvhfEU$8bL0R{ysmOxN8u;`- zejl2>Zs``zcy3{3*|i;Df8O-{ob88vzAxN!LgEJNZU5f;z?y~iNy&O!MXs7dllt}W z`Eoq-)#Dl;$4ziDkoaM*eR8Hgau1YAT}VPj{BY!T(L=n6^dKulu)?15>7|(6PAC)A zde7{t3fa?P&BP2SdQ}v`Q~$4zT?pc7{>O_1@sO`h%k89S!eJ$IdZb*eo{fn6pNS9OaIBE_HHoj z)B8<_Eh^kpb}kcm)_`b~&!i$l24Pb&mzh&vbB1}Hui*OCtzi6c80eYP$CC$LYZ0bpM)-5 zPwE=T+V^_+t89hW$2?C&1GoGp;~ zW+0P4uaEpdE|gaR^*p%Ej~7_zdAD6CQy}2+HpK{;tJl0_H7y%^57rMKHbHQF69mU& z`^b%qHzzlO{r@uGkl@0HoW)VG^LXokk`3%*sJc)=1F9`@aK3#woUgFiY3DNQ}GDd8yhE8`rlH!nWy zc6pyiYkF~c0yagX#KdJlm9-QSqgf;B%O`W3i5iigYfs_-*Q1PIpGgk%PS-af|!y5lAJVT zo?f?oEzeiu#|``A!~gEWDUoGz=G+kpSS0Pq{Z^`A&P5hrHYEyrnt)_6LTuXl_^!81 zN8s?VuWxq$w-TCuORe_b7{Ex_x5N_%|^LHDD=xBF3{q7(U$%Op!YWx5k}EjOJf@yGn!kLej- z%GQKBZ;;dH65nh%NTJfVn5+bC5^bWKejZzp&fiLryp9r8ofAr-OUuSoVxI#^zJ=F- zH0FHDfKZt(*=LU6L^Vwk!?scT_h?Qi@Do;ED?C=A@Y%s}{k6>W(KXWbDqW9ont9<#?ZnE*;cDBo2}kaER% z2XHM&i>J@~y9KEb)cwWyRMI!8<;*H!;6L)+_QiEAAPx5J%a#lGJ7|H!l5UO^@$#KH zG5Qm<9}?duKCJN3zy-@KP9Ii9-W<3IIgLGr}f6o!xMH6m+AATGcOy@ zt%!0_t2M0Ju&aw}rEOrmXU)hxZp!SBiN`XhHWS`2CbP>4Dx%}l=NP+R^SkB*renrQy5t2f3M9I(?QRUpt?thpBL8i)ABU#K2(HUfm*lU4y( z!{g4EbDTWe?AJwMBfcQf;$9^HeNN2pO|;k%a!?{fmU=y9=O|>tNJW@8FSC*SeG#6n z%ka~6%VgPz3MUDzTVVM2U>w`td6%s-#Nns%j&>Qj|5z|JKU@`iH3| zM>HkA5MI$jA0(GE!jwlTL~(uB)Lb00im>MBqn^tII3%TbSw5eul!I9)&1>`}s$r4@Zpgv2NyN<+`Rkl=E`qZSmBd%`0;3;wobR%F`ps zR#RoPBblPviF|*0ZppB+>5(||%$wbcH(BC02z^9~W&NGUP8J3!nd~F-Ho4^TW3PR?tc%uHQ#Xz{JO@_EwkqC&*c0 zR5f1(as8VsU@#G$c@Fmh<=TxQM?^WyGuR+luz2ZQ#RII;|KTb4^m>B6syD!d^99ke z%4klcv!^;(C+fR-3>?cpo!lNyOCQr>tvxF>*mHwI`#7Y^vtl%DV{E?eAV@XqATnb0 zn}$jZSr%jfmFG>N7tEHcNbSlavJjUP8FR0NLb#D8mLg!ISjv3##q1TuwITl>Z;v-a4wPw&D5(Ns(?zDG_O@? zyFuwjx9^N^^**}_M@G%E~|+MLz-(EPng)*JBRB9IKDu_T5dfnW}H6JwXM zA9EUw)dvz}s!eo9EFO7?ksTEsz{hTCsBhx_ zaY0_cPeBxlkg2bTrFs*mJp%*L@Dm8J>olR|x04#j(@-jYMS26}&90I`aEbzzJAfgY zTsX>>6p;Od%2Yblc>WRGPUxV8(G*sRY(}LJ_p`6^iD?G!yk)XO$H;HM!!6&BE%gW4 zQ>~A*inXY=%&uze`RZm}@>Dr?>Hko|>l=X~Jd>yp=#5X9m;hB>{vpg_Zu=+^B=(>lgBC z3ED(4_J!6xa>yROB&c}aO(P1G*^5Hp`NQ9fVZbc$A0rm>A$}u+Fq)2nCpZWyC3C0o zAVwiUVGi~YWB0W|IhCa{pB;;-QMx41s;*0mi*r`cByv3V9gDMNhL4xxHw4w3+)aU+ z6OQS58ZG5f0m%J1S)d&Z03$%zKCe?8keEg0B_;QD8g$ZxDq6+-le&-aCjw%E=#y zLey`F0vH+qQAh?s6do_HZJThEEVf@&vV zqxP3qpOUP&@m{4qkmjXS=*2SAQR^M~La=Z(<4rqPoz$T0h#DU_!B#D}z>kU)J5++m z|7!nLIa>dkJ^=cz>2x<6Y$nHn6jn;h4H>GaD4MN1I~lQCn4t>!)7!#eIp28!xVosU zDf>Q;lCt@zoz2k>C?dI(Z|chz!k?#M{DLT$ClwjPxHuE2Ip3Q3K0p*4^v|^DX3ky3 z8e=v1zLQSb7ArVeb zxY|7+s7ZJ@1H3_1^fm3;V91;bb}WVVFMF3#IV2WzHZ?Q1zK`rASlQ{SxNIkIzCQ59 z>kt-;jP-*RZCqdh2;u&U;6-RT6rHIpt=nX-VIEaoK#44klNcJ1f{!V3XaxOqZ)dNp zojFa_o-=2O30%RVQf%Z%N}_1zyovb0eM6-{O{Sokh$uN&@>ZUCoJnvHFWvi>GhA?U zq2E7OyUFFk*Z>le|Bmg3_wfsCV5$}LADp~zNk7&GK^2-c2m9CFw_n$s_F8Y${6`sR zMuu0~@M(*lLOPuDchYx{i>uyAxn9`ta+bqMxXIA?M_ZP!z>akIxJ&C{1xh$+z>f>3 zNYmb_lLwu;(fnkuV#}Gm#@6We!(VY-6DN3M>;W)QVx}i0j`j)mCSXAK%xkVgU}K`M zKy96uD&BfZnOBlql9h_W>8Y~w+0vH5snq^7uOtxpl>|k8C12LKF>eVdu*t*YmU}Wk z#@{?>3e|BS;}w6w2);4H%_KJk+tpl0!5oc}jGT=4M7+EEY$R)LuR)k*o$*iqEE{-? z*~`~``FuO~gK|G=nDKCSOX5C#JMMUR_OW;Co0uA)>X+@2Z7DBZ{l(Gcy#27(?&@Ok zbt=%KO9l1l{@3QN9oBV{%az5=RB)&1mHxqb#mdTlupsP8&425p(N9Gaqh>fWY`Wz~ zU?zE_T-og5#h%r8ugcN?I`*T6{pLT!ysvT2M0QhY^EdYWD}F<@%-S#3j$+$1R$2 zl?jI#!(~?k=7zNUwn_9kJ%5SAG>|wvvFo={nOk2ASUNz*hASvS{BOx#KCa1%sq&pk z4-a(b|DU~GPP=Ak(MDG*i#3)_1itXf8mnDI+#jHYTvF4B{u!&R65GMLL{*wY8hPu} zS36m;GqH@@dyZvUE^o(nTS_$8gVr|qS-94gR#$h9s{yV-MZiI(JWWiaqKx5vv|WTK0uK(eRf6aqx_MvB=mOY!;gVNHdh z$ITe4{V!*_e|+nH&+}O7Go06Q;MtlZ>504N&ND;{(XZShBJ_q}5tUIaAG}mqV*A=7 zw_*{_@jum?oZM+ei6`T4ufb5EdW1VXKrU}I;PRqfsOm|@1P9hsm<20HPlO%PBq>VN z2^wlTtQg4$vsZu2d8tj{^Qe1(>)7o$ltGOw^?R6x?m)QbC8>nNFhgiJU@IO;Bul4G z{iKl2?>fe}L)!Qp{cZzMntgY|M%|uLgQ|go%A~*m#lk|!7R^E(hz2X>OZqYnY5>t- z{o>R|l%ZXqXt3KmpLg0HcAnq_;$!$kdDZ((sdUTA|2K{j>uC9yn)c&Y{EczTGq_WQU7OT?=L=(JY?tWLK!s;_pPfEx6bUvg<`wBZSXQt?jE!58As)zA|P6 zNDaXSwV&<2zM{6Eh2aL0!NWi@_yqr1!^athm9x-pWAu=jTnkTOubhpsQ9_p$xJGyQ zCokA^0FReGI{CxX+eg=R=SLuu*BCH)WdW17Jxb^=lb0|_D}C;HLCGK<{5MFKPf`>- z^U=MR{9p(@3Es`0_`;ZljfkG_ie(@Z)mxz(fJNM+?sg89SENTni$4BB-D%oXdBVUE zflzmT52!m05bCa7x^JtX>=)|p^Z|883PRo0mb~7}RFEs?N_#-v(UyxcN)@_JCe?%L zZHbR3J)5MdGjl3%Ek#%5@@vEgY)xI_P7LT+T8`TPvuQ8>>&L+s^rFd|8yFo55{kUM-vus!?z~%LM@{Hh#w9nFoV|t!2Cg}jA zhP!c9CS77d=*o$`3HeU>ly96{Eo-|W>`%CA3YfahjC$UJJnWySU4*hOu)84sof);5 ze7_vbG3$UI4CBe<2g9&3x1yc##awpA%TZFqb>ipWXup{pjh}9pPB4#|f&7ihAdqSc zp_NJUm3pKI+u)GLPc1UC?$_)omV4U0S$ERg`otUZ`;DU(Th5)^y9jc7eNOjZ74b_6 zE@p(RZTLi+4H3mehqxZX_`b-FmIqg_iEw;8@Y!-*2!ehmnezl>^|C($dKeAi_X(Q>r%d8)E9Y+8x=n>hYgu-tbft{E)KrW7W85q2D11!V^0yXB)c zao{yLE{2b{MhCL}z8XuFst796XYdIE3Q@7El318PW}0mFYm16i{D(@ON+W{lMC)(6 zhq`#QTS5aP_+tvtg31NZHZ4`Uw6NStP6Niic8dct1`E&YiVHS6L_U_|qk40_&rh%f zmYwvWSM(D~$l{e$hRS#frLySdTTn}2Hv8u?hEt`lkWF=w$FIImyj(?y7r*K>*B-+% zQ*5vE5P#cJ80?tPn8`B{ZO{0lh$f8qmiU$_*hP%JpkkLyUw`wZCv~+a@7sJ6FDki5 zG(LHpg`??evQiOdmDVrHPHiR(C{N2r-Eg>TS+fjb5B$_i#A-)M7J0ZN9u+P5RobHK zf$U!I_kC3~Z%@p7s1qCBW>*sF1cr3;e&Q2U18^LW%8=8m;Jdy+q*aTSbO`*l6FqxR z7o)eiNCRs%n0Yg26-ztX_SL{Kgo^dY1xJB|QS||VJcI9!M7--^`{%1sX>t9)+nQ~O$Hmy?jLi)3`Wis)mZEwhi-;&2}F=P0|nEhv~ z4*M1~*Xi$v5^U(#Rk4gn|t&JVVC=+U_;O`RZqBT+b@@OtWjm8&*>4&>jyMY|`IP0vfFN%oP5aj~(r+><4!IN= zV_&BmC%8N_6Naapfj9dWc(aKPX;P}|I{6U-^Pk&FTg zDpf!Pf2KL+{kk?r;KkbU-D5t9^m{X-5lItcTv$0Fz6%{&uuFhiF*h5NRJ)hwdDp*?vq5!llJA~0jIs| zn>D1rVR^zJSl;Q{JuFWQ;twoOv*!cA>uVD(v=`xgg$5icqt8QFtm`T@MRkOyE=hnq zdyW2Eo|W(YEzdmWRv>;eLKZD@LA*PFc=tho(7w**=5%j#s{*Sb0dU($_|wy~1O<2^ zGFHV=AD>GNmPTkDd}$;m`)UKp&Fu(eci#(6D*tLM+Hkpuk}qstBw!@{XQwXRat+Q6 zf67as{^FV7Z|vQ14bso+ozt^d=g!XmCWNetW=&_))p*4G3~BDb7?)|YE3_%<*Vbk@MhA%T78L7m zA4COhCXBDSnKc(mr&eEup@t2**<_N+xtl~2UNt1DiT$0v-4*V9NZ;;=2>j>t?eN+k zVBSIZmnr|tyqhgkXJ4?gI#;k(ATbUuXl{OCCf@l!g17(h>B!b*TDx1-l^HZ|C>>FR1z0FTh_UN3}?An^I8^$>qID@O-L4ERCX<|^XC1z zTMx0E$i=^cwpXk>wHIS4^rV1OCw`Z-O`5>F7B!qFv6JKI>Sw4po(shzDFh)x9Q3P~ zYJ#>NS6p%JcvpC)!0$ZH^XPo^3gDIZ@*Z8%7|`G$dbB)I=|>vkYTOHq%A;cEsasiR zg05b$qSWXOdYWBI6PTFnZ)m`8dl{K7nl|+*;zP7=d5crKl}i5+u!xpXXv(@Glw)w7 zvNEnZ|AuVy@WLAYHrLE@Or>`anW#iP-YL;86a)MEj+VFdf1>3L0JOZRR3;)C3>V{* zhkhmO79?ic2I=*@ODlKJ#Y)MGSOk*61)5v2jRS=S2s=lH@XAIE1310!$~>LKt2?7k z29L|H%py+EW*9l1LR9CMafa7(FKYh?YxU|LkvuG)Zd)F+4J%)BCJ>Ub+5c;cgi@dz8qBe4PMi&UGyk3Coy)ffL_ zKv81Ps*VmafTB&eSatmAPc3jRfnfqhk>$y$)dNS^7b9y-b#NGY=1zR866H@+p{>}& zcR`4e0{}5{b>3537Q#TwSmD7;595_5Ow{sHTb=|3lSV!RjIyf;HNkLHsC&e7Si${~ zq&)x`dHHY1NQKKWUVGVNjG1pSW+msP(Oa~un5)`k0Z|cmr13e%-=uNXJJPt=mlH5o zwwMcxUZB#T1R(RuVOgd?$h=pi|3>C*+#&N?hNP>)DE>m`Jr&P81R?XZK*+pLg-Ns* z6*X~N*N$w_64Dk{x9?-UtAY!vK5rDi!myw{2h}u70WoHM4%r+?(vcBau+FR8{Pn}v z8|l=hhpOhnt*k4xO4~3KUS%Ag`T)h3Hz>&_bskLRF7iSrF!9RWR>dOgpLiqYN^&HV zgT-DAm`IH%=pjNYC~}oXMiB3IKX)W`gx2Y4mMA6Z#LVQDC14Kb_V}vH7kXaAV1m~V zW2zgi`ywkW$np5mZMmIet0owFbvHG$c*mJnE3H%>>lIR3Iq|7I*RmUara7-k!4L*j zFZl}Vrf-Eglzau-rp|ho0!3>=f&z1|{^#rSQk=<%eNS(NuU0{^<}*V#%aK48GhDb4 zqJ_x%S*B`i?VB$P^xue*eCVsKOqyB%tezdh5=_tTbnFYTT^l^1x|_O0Y~T3HPw`(+ z=QJoP1T2+&_2sfe%GjRJxdhOp36QFJ04up8d252EewF(kOXwPkxkNFNcoaSvG#ueK z<5CUZ8JuC9=S|saxS&^{Wq0DI6mRvQS2rEMQLUqLTlT4jSaGBfoGMg!mCFQJ;S1rt z8xgHpgjnPletyL{eB4N5)vA`=tbz(wKFnJ?e0YXXS~jc{PL=#P7PbzyuGf9GWXNk) zxiKLLflu#sJ=YPETdlMcr07$f1!e<``Hh+>~OQWOQcQIO-4uaC#5Bp(OgTm3TiqubF~H`^W60IyYB^_@$R&zqB5&r zyIx4oph~p{70EV<~VVSwhw z1~kKxY( zPoE+V5V7DR!bS%oFA5?9W64T8IF@btmah=U5LYUO49G#`cbv~vAX&ERhh7m}6}N#9 z4zk$rH1;yiubX`%^^|A{Lo3xp=Fp5rvhJO6lkk{m@cnPE8Qj;79FU{m3%AJJ8@%KCN(FK4OLBU>vUvBG&& z={;dD%a5fy zD`|3xpY!x8&#KRh^bPXc!KFbw{f=nbwuTlG(f6<{9G>D4(gttUnW^d@7r~HWjzE1U zGV|MQQHrk2^G)#i?(@C3c^=SWdT4aE1gDu51ECD(FqN=G9E{#jTaephLm}8DO`X-A zh!zL8Tl??UzWZUHEni$*7`|U8u7%_A5$i`^bHMy2@zl7YZF9Gao*PH`-O+32t(W6M z@HZ$+1=?TvNFCE)`U@8{$fmwaZ(4Pqzg%StGqOOfiTM=bw6M~8X>pUVP5dM`b%BP2 ze=$77S>xUO_AFq_I>S1Ex8v^pg1Lh6|ZWaFG}S?RsrboW^!jfAOs4WEQp1ny#At_ z>YX=Br_ud$L=TlpPCdt0oRSOtlW1k0s%lvrZ?3-Kcw|Xe9RNBCS}bnD(1RQ}S=I9! z$BRL=HnKyVUq+z*6d}Xk#bIZ2xUn4)@|l|JHLkfDK$1s$VbV$vy{6Ym1+D-X*R6Z~ z=w6Gd^q}8XI-TxLjU>(0tKK?X^tAMgKYPs~qw|uO1su1I&^wGu|A5WN;6-Pu$K2u{ zHD<1y4tQ5U#t{TGY&}-nyV+2ywLj{g2?kXf|AjBdjRElG&S>)Kq$fdd`F%`q$?W(A zzI20dHr^SeHjHOmO_zt~Y54LWuk9@!$c3XT{2n1KFZAt9dk3K0oXbCAD@O=tP#S&q zoCr80o&t3yb9}U%PPd`8#B)IY(KZF2ej`UyQYmXXpSyE<<2Sy1&|VmBBt7^S^xVne zd^6b0gnob5MHPg&Vfur(Y0x~M@)1C7`*iIEUb$-I@DL1LKIKy6;x(D6a#;Jj4Ef(; zlj)YY2cxu>B$%Q#0Lh1fhyp(j78Xp~6gNJM|ZxxH=wqUE9M z`PQU4lt@7IM}kb%$gbTFIjsJdEb9@XH5iHn(VQr-Qj$KR{qdtF#OjwmqFdcQqCTSD zJXsBWo1FGzT>n?_@=(~UxIGWvB(FcP#?@&XO$frynoSAk!I}a9bc1b%;SGRpN|t@s z*obapug76rY^AU_;R8HmnzX=Uf4O3eScovcU9nSMz!d}5qd>0M%zkxbu}(WY;EM5z z4e*pR-nn8~zg)3Jz!d{OHpH<9;N|iE9bW$7uJKsmI7Y+U2YZg6Kk5@E^UvApg%&CxZeQMfsppj^FUA%j-+;NL#MB(6 zP2%Y^#12KYId>5Z?!UnASW1g+fhv@j;(xOGQV^5gq+(Y|sCXqftu$%9aHA7@K)c{L z_9q4^t$!31lX78HSj7s{^MkY2!E__ zk&80J5aS zFqOrFRYGA0gIg;H?k+l?nwM@LzLjV~f7A*mC3MJiWx=sp{l9AC%Yu=f9O$!krRpX9*UW*A}mUSOKLbv4Pa&)?@Rw z`m!K06ncZh=c|pTkrW>C8SnWtrSPUZ?ojZ6rYQP=5e8%&F%@7Q^BndS7WP3OIq|ujSK^7?fzAS^(mp@2-^?}q^&V%}*1lz@0zHM&dU!LY$nvOU_6si(Qof4GB zO#%=(`QIN9IruslEi?Tev)!b8u)9v*WaNN^7pzQlqJT@jYU3xo1_&Gs>hFy2iIqovH=mk2D#auaKlIuoA5R4EGR-)%x!zyM<5M)P^9Y>Y}TjSh* zTKMBa{BO_Q-=j|p<%1Qgbk#$CdZ&1TK$Sc((h7(!bZm2WxT{TK@Z z-DQQ1%E+f;23+1tggCVayO9$+bkG_GyrMj6q=ShwBtwYGmb<;+!7zw*J*u zvV5iYX)oKV6Fbb?Lv4I11rsH^GEzq*A0!ueoT8EI*2JRevc$eDJ~@gpiZL!s#he%$ zpUwH}py=b36)zZdRQdrxa>0J6=SxMsbH?(GeRDK}vm;HzIb%l2K!U4)-iYARV{~)gnGV*Y*jJ6T{q{zvMmd;=GerevtceKqQCy9 z;JPuMF}M?4(%_b`qTUda4LC$Ck^{DYU*ALt(aMM_sOth*{hGwu!kDMPhsq0L6VylCVjt%*~xVP3URL zNQ4HC1%7&~yVnypT^`xslq9wwIZ_pm4!*mWfG@U9THdat87!6{X+|29PG1%fr675H zyGzS2i1YXp7%7iHa%KW<``!59yf?Hu!F-}^`7Uog_p4p{A>He1Dv1)tIxQ&6gG;(~&k4V=LU&hCdh^_F+9-ons(2pItNhA>1y z)~bpd;$5~;Gx*eRhMy(*E%->Weqd!}#H^DhUBq`Y>=ZdP)=>9Q_ueHC6+WRg0m?r< zm@#u}w6A8dIDrJ?y;b!g`@$~gS}t2efqF3_gf~PnucWb*N;`b*NaaVF>WuP&wB9hw zEuW22<)+N!uDMJ}JQ77H1~g8Cdc)Z-Mh^51zB(h1b-JEOe(gVHIgN5t!iL zG^!_w1qCM=NL$^+XS}o+wYsC1)lknC&0zS5)xEtmG5HZ-@oc@`(S3DNA2-9cl0##E z`2Qw{Y&pH8M;t;E*#Q*>AFXUw@Q4r!LDjc1jD0fRTOaVT+G!Hh#vkFjHS+>wTR#BV zcCVvqbGD0`$GKOv`ES!C~VbV}Hu zTHfGTcSZ&B&`cBlcxVGMx96458wcczjk|94GlKymwSD4?>(}P9~P&w9@%LopFkRS zxZnX@H}Is}RFrstVN?6Tv!^A-_wbZ4Fjo0E4*vJ%l#A2#$x5Kr(O5Ls9*AM{6izF1 ztxH%Nl3YFM^lyeulZm=pM1&;j!kz&R*&7Wpfd%9?TYG6SuxgZ$GQ1ML`(3q z(6B^GvPg-j9-#7e=uPv9qI2=omFEt$?{SuS2imU&waH4=1aSr$^lr(k-VmN9eb;~U zYjjGNjx2ICjOr$aIXzw0`nmiNeJ2u1cvLiqFnZ!IaMI7!;8=Ziy1C#5nH4NhI}jA} zQ<**|N6J_>M{C!zD-fTw=fYqt?{bzqxr_QdELf|VB7cJZsKt64zBH%}3>Z-4P&rMfX&ga4Nsbl;t;PzkxZ9 z_S-(X)v9|9_PSSefd?bo9cSPEGtIX`qJ^EYFxJ4`)OV;VWRs|;_+tp$17GXj0-XJ! zd(M8r&xAy&6dIFVul*t%UZkB?QUsJ&PrN49eD@SpQ<7c>cz;yKE3KUjPV>Fz)bRe3 zQ-gN_aB9Lsssp53C%b=dP9-!N(h+3bZ%#D;n^WP=9~2)pr)+@Dspr7vln!WfYU@R8 zD`<177ucK%7<5jpOV4U@1&VI8cSSb_-LDJ!^wIZ4H-e0vsxR$fp4fVcyLh|_H|ppW zV|_E4%}=@DYeOJ|4y(LRY*B+JnV0euW^cQ86SEQ+O4v%gt`mw*ej=?;7T693dmk|1 zL+duIES{XqoOk!_WO+Y1ys$VuywV>P`n}ZK^?Rw;nkz2juccl}W`iPEOU!A`QWuNV zBEs9ay4#z9BG)&M+^@To4$a#VaeT%bn1mF@z zTQgVS8=$(|)I;6P5OG-9+Xn+2u^o)95C+Mt!ih1a!Y(meU2xtfLw-1<76I6y*2I#Z zL|jB>n@{^_CgpeDAfm$d0#lfGX~T5QK9gZOC6Ro|tw*98J%7u;p)&h%tjCyDAp?vfI0u#?|k1wQ-}|gHFU>@?(^@m{CdgAUdgYgiPk8 zzm}&qJZAl7nnbD}j6-g|VsvcF2^NuSk;m!jCsS4XG3N9!pxMeGT7&pNn(ZZax5>AD zr7hTthNfw_*%mzP!dIT~dFUEX1VA&rD{>N!k=a_|qOye;U%m`(weNrUt_2RzO@pd; z)eBEP!l^B3&JWfXxDjA&v~D}tHveTy42 z$t5bZ)H_;l3%a(v>~uN`#h`amt7erg_m~;S#P;m>UK$kA9MO$26XDBdY8sPq!8!?n z?*OD4r*80#_e2HxJj`%SONH`8QX2XfWykGmRbcz+Pi1Jdy0qb%n4;mnC(FgXK}$BN zZ(%BTm)AdWh*#;3ESA}(Bk3`jD3wYFT(iL<3&1ryu~$&#DvgdH-tX3NBz1+(>}l30 zB@@8PO(SL{b14<#`T@S_YmmYjC9H*L)$Lvz;uMI;A?i9BDEK3Y09KdnS&@PrkT%`<0D(70&e%>fD8k9`((s zI><6}rWhlwp7GVk0xUCJN;((B!c+-THP5Oii(!-RJbfrBS;WB~rJ^KD61?=un%yer z56)Lzk!1O-o2OYdGlToMy7!py^;-ZZFC!6+oT_S|6ld+}X^OYA$tjm?6q%+H3=1r6 z92Ekbn&6$YLYDYEaGRY*T7+7LV%HRHl^z476v{$RDGL)3;3rLs_>}lGuDwn-tGBMo zi;ZIoY0&!0c6HC)KIZ~E{^f9!$@oi6|C|eDyO#YjQd7F^48+Huccy=OX_{EzcfjwC zyjdv;wH4x~^<)?0s|)yY^1aRjGJ=ck19*K49N1LGzK|=XrSjQbU=f}b_WE9`6`B3K zJYpyreKrDUwGGF%9hutj;rqa%Pv|tfIt3C|P?n=cC=l0-Weql`oR9OZ2|UJstuD6| zjG!@tgCis0CZ|=Ewq6rasmU4~VV?7;EW(T@W*DUq!DsduyinJ_In;f=fK`-uns_=6 z2EdDEvo!#lCQhAIEs}c)G8FBSdEXT@r#aE1ZQmhJR#(jombAL@KA|0aa@6@z=03m( zd{r!`Ecsr!o0s)XAotCv3_)E9Jg#;#jX3@)9&N=P!cXa`GG@ioy%I(f!j=p%J8*Im z(=3#|#Hz`9^e#pYi!0PV)V?=u7ENrqz(FETks;?1r7PxlJ+r1_3VOn*1=`5!W{{AsG>$G%AF6+64Gx3?3Fd6eeFR7^U!d6lLG^SSd^Fv7@d?5>L{2 zD<2>uLoG%1E2<+`_vb^QK3Z``e(=YXkHAh_URyJpV}_Xp$8v7%=@!IEH7w$G4UWsI z;Ltf)y)Zv`KZa!aCUB*Ml+m{WidC<-)M#M^D@CYDO56eWm&T%10y$)W#!6zQQQzN1 zdr7Q9K|fyMh7OJo4wQT-uPcT^t4SFUD@NHWMdQ$vSxK-?uO$}nK3drS45~E0pc{T6ERy{~; z)n+g?e0GwnwfdmBSgt+JVI*gXag54nHZ?}F(+!q^IQ*6Rz1}wjaHuL^yCA|R-wFAF zL8^F^4fvqe%qugt<%Akz&!^-2c8eFm@^H${TEWYk-k=vFQv$S_ZX+s=K*RHzz3%zk zIdR+6K640f2RV|Q3ZV7{N-z$E;K6WPO@)Qd9IMcCN%uAcL2aX&qCc{3YQ!oi0(X0S z8Mtz+Vw03p8v)(Ogyr37G2kIaszIu8#9w(LJlhC~n%I_bfN#kna$i*I2d(|qoct=P zwJKk6QFE@dE1*CmDXXd_TEMD!V5PzyYpqzbw zaA|fh(w_Q2n*H3Kpt05Ov}Xs3YL3-Dz!lGcifWtMYPL=X3xA4g&%(|~NmF)Ug9FI@ z$g^9;IB1`s>w|Chy`arV#g}xhNR{d`7Pl0xDuDV&Q4N}p0QXl>E$dfNEgC4QB`nu( zqV&zVT-i_D93C&0fYyG$Tm4!4)sWL*JD7e1U`S^~b_2r`IW>^!3IZpAwO`iJ<16Bn zx`oy^s6!WzPyt*>$@5H9a!ouapq|D}j!qx}to{O5Xhh7JaS_u!H^$&-K1@ushz1-f zm9w9l2W!En2YCx;$LAP}z$<`&BPDHFO)!*r0uHI=16y0A)Oq z;Hq&Ub#b#jLx(27kqb^)o?(ztQ)DzioGezoWk{ads})g(|+LB54PP5MZqQWANAY&&1g* z7?YVt0##_Z{JCx5ea%cs1ynPeq^0QPOeisKcb>aG*hC`DIEEr61NL@FGIH6Zz9mMK zxhu^5XVWYWWSS}eHqACyy9sw!PG`0E)_!7w>pR`KW(t67w)`JlGsb(@O!m$-JMkB6 z7CkLm_}SaOZWRCQB_IIrGmJ8SXBf+V!$wqD0s+{FEa7Rux(9Hiu~^A;0ocgan@iBf z86jxnY?|il38}(QVB?I2cM53*=9RxP<0c~OGs=usa*b@`_?9Con!`8G?T%^Rf1J0o z_gm*1DqMb@mp12%;7Gcc3v(X3T7JV8_OV3+zf2V0`>cujHtTvnmu~neHjrTa z0skrugG(5CsGaFw3C2}_Aiv#=zJcy;_l@Vt=k^9A8W?=C* z-|{^(vJkhX^vO^2^)#m%5r|DCCUJ*}DK{64TM;#qe6$#ZwzP+ph-hFXVlbHB|9&On z8nhDeVe!$}-AV*LS;^f>#GCO$Z;45<(&(Skcea`5oo%)X*k;tL54KraDTfVUn<10* z4ka{a4-p0|o=jFL{jtqX2MEL#B`$Rw8M{HY+0nmjGYqkd1G>b_=K1Xk<>}daHkXO2 z>z}6YR9$ve6V-a{?^hy-fR%^|jbAGfyL=@Pulit*9YL7T%8x5LI~XB-pQpS}OhkVk zFR7KB&JkXew4NO!%nOTMcYKT|U2-@G(nb@8QQs6W2Zkby$DO8&B^1Rlz@h7#-usg! zm0M^|w|8h>KGA`vDmR=I2&?-vP?`D;n2K-(rXm=X;G?-!n?X|%lnAr3J*rxk)*L?J z#=kayBb3wSy1mZx6`JOp28$vpMY4A=b1POZrOPT_GR{4EiD2$25~!r79l2Pg(qhOz zuE9d~bZECoCle@;8P;F6<1;5?)FXYUKL$2`{otG7MivgOc&0zgzsr~##BC#amTOcu zbp$>oe`%~c6CBVxQdX>h#Ps-_A1oFr`UmhEv0GjQeZ$8^y@f9gw z(+A(@Yg#r16fRf>IQTTQ?ZPK^{9WZA48_*j>z%gGj)q?`RR)cp_{9N?ks0eziXCHL zj7KT8*#I5XYp15NnQC$Zm7j>hxV0~-B3A8e#L4N+<|m{KKj{O2Gm;*If6-z8tV+&T zw^(_6(@N{!D-&HFoZ38agnSXXCYu14JVm?L!43zOwT;C+0+EX!yv;^eCqp-CGd#)~ zgw30=D!YGgmRZVYz$yKMF=F}Z+x(iyxBlJrqmVGZk(7x%-|@3G21DI*H(b-0%0TNxSmlo7gq_=V%n zWEJT#nyl)2JDa1g-!?bX39LVjU~E`dXQ z-3|C<_`m%!v0Ri6T^_jD$+Cz8+JU*=q$e*19CNA1)AQ#v_yAi!aZjs zp`cH&WUTwuWy;JS&WIks8KD+vdf<$p!ZN=IyNz5$Skgn<-8m!$RmW)6f$CUbkpjG{ zrcD_J3>;a5`aw5(9_DRxb^(9GETWxya8CTNlD-w0(2+t_ko|6fBKYV|P_;m{zO0~~ z?#D%ul4NxU!2&NPGRFlyO~Y87Oy!GG4i}kq-(I`t^KOotuwlq$z|gN9+(d|28+x^s z!C?9T+7}C4Pr?`0Yi%INNb>C-IWO@VK>*Mjo1$Hb`%u9qv9k#D#y%pf_J5aQ@LS%Z zvw5d{{L&vTp4(&jNsv@a29}Pxpk4YiK!bb?ySsg^Dr^>bMhvaiQE{p7!AqBBD*+@J5gT@L>NgqOW zv*trcFXMnx_{(Jf7*JMm_1)ft-g^_8dC~q0_fmYW#PiFys=1s{S#YKMmt}Cnn)xhp z1oV#7kJoE-j z0J`Mg2o)!-u$elDY5Bq>V*7I98+6bXXfmUVB|jpAfc>DW=a@)kLsYx z1!>+8-g#zUz^PUiQlVojGWA%4p{Juz0$XOIQ0~X{CV}~`bl)RmL^2j*6S8q8Y(KhqWzoFD6KF-}>%6KU zEXjr*3DRMk?pBmN7!GlgRD&>5WiqW$z5`{I2&6b&~p3KuIv!ntm!dDlKY}U5mrw z(^{({Ua2R~WyGOCAw|(`#~$Rxm!Obh%?{>zfWc=KZ^ zzk8JGD+YeF`_n@uzD0GF?GMPj$V`YHMPlq`HkdY;RF<5hF-3X1)h~pV!5zgwaK`}IZ*jCsJ@xj_ zD*s+hBx@_ln!B(VRr^dJQ+J#6C_{!fi{leC9q za_d(=TU&SKb_Tq}888-+e~`1E0>?L)m`(ljf_10!YgG%yLohK82qr!@`V~ynTde1} zUF16OlSj*X1IH2XdyX`%f+w=bEIE1jRq=Pfi6!be{ zG7dSxmuXb7?*&MgvDowgcT0{F)DheF7GekvV^2>Xxl1%&OAgjqaa@@46s1n}E&jD4 z{Zv>Wql}btnLHshZ1DOSq_rW=^YfGoZ<6~^qKCl2e7{n6+?CzUUV}^G!}6X*YkDRy z&oHI40UD9!MhRD(;N27X$BJ~=t;y}k)z;}87V}NkuZ@Ppm|{i5UGgx|jRV z5z}#MKFK6adC#HBGH6)T0t=V%{8^n+$ErTgJG)JHTVw#@ft+;^Uq1q|G^m_^Tz-P#v1u@l4dkQrnU~FRJejZoUGR7zPu|GQ|kz zT29nt_cxAT%RlzcCY?NEm&n-^jmTZ940adYC{@Z?G21|Mqa*WN|M{6~tlVy03rHn) z-=z{Sd9t=ZC9#aY8&FBi8&ndj5X$Eezyvr&S^hsx?n`2U)$WK7YYe#L2kid-SEh_b zH`<@z`8!k~U!)R>)P(it2RV~7?T6Op5iDl~OH?x@;6{P>#QrDz0SQv@AwwHfk#7 z3MY8*WV-ibCwBmYm!3zZtDX3e~M95RsDXK+Z=QI3;+zGj3Z{yVfW^u^=f^rFpp_EO(1 z`9U+Xb%H@d_Kq6TE5q3#=!$E9C}6NvqIU@WF>(A%wE7pxQPMnAl^S=oMCY-~sX&9| zB2!8ff0B3|^;}kNolK4$!T-kJ$_>bJ>!_%Y!t!^<*1^Jcr&g0|q4tr{W`E=F&}<9& zp{&5BhEpBaU~VV>GW2UzH73*Mcb$D|)<-OO5Zjdm>@71VBkHrOcB!8!;Nx4~DuHN@ zAb*Qceiqq#+)ZgBLKDID80;M^!@GIUv;)gZ3mz%*pSf~Bwb(=K^q=BVVWC3$fnbhz zLd)>+fs^?8KOHXngml?$RWdiUuuUc^KKz{&>Cl&;P~!heXaV&wJD?uMgnmW(4L{qO z{o7vSPucJCH^}(2iZIzPbE+_Eec#Y2Ys2Bo<}_grssoUY&7#zcm!X}{69TBt?83K8 z*zB*d6DeY-fDP(4i3 z9I*2=j;mx#&0wzM)%AVspT4FQIOc#Xj>?j5i*PAMzItOfmnnvN z9eOahnGsB!7m!zswJ;hJiXV|wy}CdxjG{vSt`@esnhUCh1)ekY zvVPu)y|0C3ofm6c$C|eeos`O?kTYdP0|S0LFy%2`O3S?y%c4ZMhi_uID~x+1(d{)Y z1k?5*T6d>oNWgY0sC#+qk3rc)chG#_WrlM2x;1%jpx76E<|x%0JY}9V{`xC(td^NX zsX`!|SedHvMash$<2_vlyCmc$k2g>C$K#21&*ln~DUT`RiqMcL`89fXGe*R7!)J2B z3v%3rJ9uCgtuSEdh(_PAx-uXYN0L{kEz?r2Q;e(E(msXb*cc2#FnmYV!_pgLpHzuw z+F9+|`I*nf|K(sQwgG8$Mac=FR`bczHW7)Ht|3p|yow3R!Pj~J4{L87Rpr8WYZC$@ z0@6rIBOxFm4HA-4(p}Om-6-ANAxJ6R9n#(1-QDeXFF?1xd++Bw?>XPN|8@;=IdskS zoAbK7uswL0H{*D2Qd@N(ZjV|^pre+Cs=0QmwyLI512n4QTH5Pp`y&bYqo+d85U#Yx zHc`Zjd4y|gZS&9_A#bjtSig@RI?72`AwtwvX8J7oEg9mSC+fsvr5?T!Vo&HTH}nub97>5y6-%-dgj8*}?S-+Rd!f zwr_;B`x%C?5(|DWDlE|?E87$mawm$o#iDUv|S8EPoiH(Y5Uucm2@T)MDduA!}~ z!q>R>mQBk&;osxmV?=ZmXSXTavC=CcTbB~)s##cKmi$D^8ObI&eV4GMx@!EYlkNKP}DDs-7`Pak43 zWKBKNO@bO)3Ea~sy=0p5>6%kZ(8Bsy2evTWU8f0A9_peZJ{2nsSKkyWCb`vAA7}{P zVE_*|qWl?t9Wxr48#)jEqjB$H=eKIB)xk?)nB6FRT8)Jz%Tk|)hMv9+ zWnzpy29^w6iq^?1P?`+Cf7p9=*+gqt4d)Xvj?y(vaLOgy@FI` z4oM7c{AdMnvY{{NuQ0DY&Er>b=A!7>XIDrF%~?@h%ii*&@*&M@0IvwwESZ>QB<(p_ zQcziC;eC%+oOpDA{K=(B&ro#-NoXS-k8KhPkxU^dRVpt|9D{B)Bs(r_teLN73oeg_ zGyZT_8$&??4c_J{S30(7XrHyaKnqGU%FqHv+J8J-b#Mcdwk_UvOdLz2Vk%8HW0C2L zq}Z~icTaP)8P!^1oQ@N{vjD#0b!%SKHjNq$CtOd<7OrxJ8L^L7*SZ1>@l$iOQk1fs zmk&Zmrk7@z*Vj>?!3QTYRoe6~J~&>!Qkgpb0bfV-du4F1`F~8kQb`w39K1Gxz8-uM zP6>|RnLF@EV{oe6(D~iiyPU%~naw`q1U@JO_B>8QM+(Q#hLB=11Gt)6F$asYZJFQB zRx5?S&Q>?OE-p3YSB58AqBBIlMJhpLP^6;2k5mtCBUSJ$DdIgBkpa-&J=bp&1wB@D z@2<{ejtB~CTsS$8#QtmyM*YzkTv#Z^;l8_CEoF}4Kl>S}zRcJ4_Z`$$pW{sZ#BQt# z3%w5~`9SXDekEHB(wQGV1?kMsih|<=K!p5_`>x?S_R}#8e}Nh0o100HG4F{0pu>ak zr;iR5HWZR=6K5qNNsE(xxHZNgdN9m}b|0xcgm!PPx1DS(SRC1$&L1TI>ZM z6t9rfu!f~uhaw30Em4)c|Dc3l=Z-PkruXE=>LS{Gd@3cN7bPtAD`~-xj%8CKQX$MQ z``FNPv1NA~HX!ju(IC30&CaTN&fc6s{x^wgz$p#8t}o!YOHjD8Q&3n?_>v@TskOOm zX?u01YOYM+&zlwLMA&Z7Cy9T_Qz&miP{b#n4McYFMDy6xOw^hin>iqcE+8OKf#W7L zd3(%y>uZwHBKK5mMv4M5$F6F&)>C(TxR z3vd4Pn9JCtNaHp+;aCc1Obb&7i6lLAfBu{=14C@_71CT#9zP(vvvb5SzHECPK*sRrVp+l921g7mgwaaB5?iQ1)I$Ka5iJ+9t5}`aaF?WL|DL1>DBthBsn6V6Uv2|v z8yhfqB`P$ovj|sNXQmfe8cx3z1{3R?erQP3o%#yz9K@qbkm{PIsl!D~=a(CHtG zf>5irX8#tX-hhIX!0$n-?PrjhxD8V5|5cE3`MTN$1gU(DQ;lCiDu^o5cB04493S#F zNaX@SDnp}L;gcsCJV3CGp<=aw2yU5#Mj>{)jT2mQndLx-g5AS_`51eYDf4I zVT~eFhi*6W%}$tOT8ps=CT7ENsUyI|mrYw4_?Vmj+?+BeTZ+BRFB%?}?QsUN*2ML2 z7lRIdQn$?yKyp3oPdnR1j<-XwOlhER z8wnjl2<42`T)*p`OqTkqB1o$7ojWxs8%D|@!V)^mBS%%>PGz^qms_2K*9+q+Wo0r9 zQrSg;RCZN=Rs=U69Wd$Uh&E)m$3;Un%A^NtL=YMgz=H4^R}{W^$Pq>Z?Hw|yi#$-N zM;CPLlC%o-{L%hjOxP;J&V~I_`AvUdc_xc^i$ka#by?irsb1XOsWi${uMn`onzl0D zwrD-XQgmcZGl-ds*ry-vKlQ)jON>WsYcx`an&=Y%aET`MMri z-L&z|_c7OfCQ`nAG;v2E&#nzdkw%VDVo@6xoZEs z@kQji0W7{zSG7Jms!{Jf7XNJk^5U-Ne7FT4K$iuWW zNatZP9n19msA*;E%{+|nbOoIXU_yT0p*fZa4`4gX(W3`kw(u`oEsZaD8NDpWZ^6ajF(bW=Jq@A7XyvifER{d6sQeELVp|ZDDxb*n|k51+*lNn`>Mz9!CxJ>MFM2dD6JL1q8?Hrd`Yb*cntC@ko$e6wbSmpul=o=r zdX+Z3NwtAInc)mVSeM!&w{=(L8@C!nd*37eGWMGRr;Q4Lzk2x^Odf?f#5KgVn+O;R z4NSM`df%SLR?RR;cBH1SikJ&u@upA)q1DDZA$V8e!860=h7?cA&(cADV7$?LxP*+m zY;f>ROny48iQ26k%uN_p4mBX?+b(i1`Y96U!`W{{Bn#9FIp(&83D%W6SDb;X$JFd! zM(_qK-uF9CzgG|t{Z_oy_f@5<#HmxJwovd@_GUX=Z-+QMRox(!Kg$R()yae#ZPqGvilVJUxD4nilA?Uy!WK0-m?J@hh&{y=By*u3prgzXkJ5T5uDMyz zavAdcS@!;0UhXmYrj4058gle+s0La(3TTt@f}el>GT%1|hsY+o=GR`zNTpr`xrQkW z4_}24EFp~n{|+&Bo8=+=W&_y*?LxjCv*Ut7_0Pz*G(AC&TWp_@Y@ysdnpCOAJzYl@Gln&iGymZj}4UM5M_0 z;oF=c&r(!*IvdPF85ofVN)MD4>m%c>Z+6mqKpU^U%G8rBXpHEnN$AKYf}^bQ3>X9T zc`9#;K24ua4p%4d@jRX_6ysR{jl5ph10yfKMG{v%`ODlY%{Lybv)|1{U(fYD^44?0 zRSK^_1AzJ5CvD#m3LwmxEu*cBVsFiOMtHEJi35gl+zo@}^tGP?)w{Urn^D&3La0>9 z)JGHFG)JR}jnEfI`~AphhDjg;dCodFJ8zBWA5jT7Yb0*RYrKKZdq@$(h8t?U`U~l z-BPVyRlE|jzi@wDU(95HVX*;~R5x3Daiwu(#m=h<%x5$g{GCRcq!*^jz5pFV!8P{= zqDPJ?cqO(PFo4{w(dzs%)>AytUKQ^r6u)vEY8IwH>U?RD5@R3evF(Fs_IqFJwO3I% z!CO6Xp~8%23!cx`QPMqkBAg@jdJ-ljdT@4$Af1+cBcMULG2p89A|od1gTCHAyvQMXAGWTuU2aeA|MZ>bhD*Ouc@cz)EslwbuL|EeE{LPNex7UoS-4$=&4oq@N+@gJh*|E0^S@c z(3>L}YQL#v)(8g4>@!Byb+B%=Q3Gx?@{;ZoHaULYKHRjo$Dj%D1Kx$c+4!A^%Te6* zI=k&ZW@7bm_cO77Hk|`AF~D>_d}})A5P7SXyES7fS2VY}OfUby3yfsK8!QbfQ(;O$ z6y{I>#af0iR~J_3m4URT_*wKK{FczrS>pmumx`jw8)+Wt2^tC#)7jQnHes9Vqu>9$ zrR{g!Y0>^?Q}F~T0odgMTC@{CG3|aQ$II=j;a*9XGo6#=VGpj0LKL0~%YPY;5$Ieh z^Q8<0LH`y7?a(pCgJfx+Y!>kBP}Cz`>rF&BX40!_)5S8^%N_LC2R{|ZxweUh5waB# z*4&zS{c#$w`ZJYYK(_;WkfY{vI%JI2KfY{wp=-EGHwqToGB z*maTzDj8fqsut!Fg0^GAKeuCqz;?{aaq)S6mgrRhDNzuLGSB zh=Z>&((F)cco+b2!_sKW4DHF&nRU$^D|o9(Gr7~Gsnq9?ym>E9a|^;}D!@r%1;6?Q zV1&{6v`>BqV60pL0E|aO0}FQm#!(P}F{Hen@fN@+&`xy=U_>ar(g?Rk+a}>g)3H=A zbRux_XzEO1@q?H1t5`Cw2x!mSCpYe$W{;$55|Mmv6~R5uc9{`n>{xW|KXZD?MrrTizz-BV&>e_y1iX>7?m(7j)<{z zyt=b|KAau(i-RBWi-W)I%pd}A@FjZ7^w#z^*9RnBe@r_rn zy;|K)r7Y7koR{dtLicNITMJ>+!TG0KVe=Z28+UlUeyzt;sE|q$co#XLF+l4vBhY$` z*RQD33*Adrx7)}%lnzj(-3G&h`(Sugs&hiPcoz(zN#<2a(mIxw2&Wa9hIF?5bvG%ZY@72dl|sPm}-0g|FU-`YinK4836_i&oaB& zp2t}Zd_3mEppoVlF2ipOg9?LEc5i3iDE-0~Q&cRdc+``ZYuF#`sXB-8`AwQr*m`-G zA8m6$m!F@_%VV3dC(m@ajDaKD+3k_7CH})I4_1n-amrY&&m}6Wl7(gq;Z2bWY?lumPpR)D;+3H2OWxb zhaBGcHc)Ue$nQpbbGRTn`CS>k*q-@dJbyp?&11&d?Z)KBo!bps)PI{Wa^M<|Y}|s; z2#urb;gJ&4HtHq@+0)HYh0SaRhZ?Fz{0SLhq>J|`T*!QoVXO1Z6QRTi?+7@8;=~Hv zhBVI!!P4v+Z6`imR?G1crG3Cr7I2+AXUX2W&J%NEL9X*?he0Z;u|%0W*Lf_q(n{>}C~jkM4K(14_6^qd zSrW%bKECa^A|FsNJiHBtuRy`@=sp;#flbkff^Yr3$~dn7Zo5UXE9p~~9%}oj*3QTB zVrz+lW+?Q@&pbge6bzPMb7nG2*%iieNgraYMGmvYq9QCdS^M-FpUenO7?-2OfEf4; z5A4siC?0I2&FpMv;habr_%!BBw97eiSGN{r*O=u&Qrk;>%6t1@zl8Is1ov}$)_NJK z9XAGjh;xW@z?a$Y&H96;fz>6FCT{SH9s53*94zc~(tebPNG9+JrW|e)1?5nM-F%bj zm4Q!1v&>t+31XLTIQez*=6LFVnpTowNj-L-YFPxMF2D^rH3U;Es1NEWN+v^ihVZdy zgWQMK50Kh*CF;DyvKbo&o%ED$PkIESvZv%S49s%z5%fA8<5tR@?|v*Dn7yX@rZL>u z|AGkl6xFP3T~!_1@rl^o6p(hn2`lYuDc z4F6J^1GwZ(K^*7|m}oh*0*UENOQsE;W19GlP!|bnPZ}%Bxi(O6n?eqTqs;`SYU5{_ zk7)J-BMLqTM%{z$(w-!@_u_)o#`2o!YE6 zi)3;22uHh z+j#5^hTPT>0_o^@@}_;|`;9b>PuJrWNh7ImP-hgp%2mxCRhlkdw>^0>a;_uuB%J}( z+I%9y6IZ>+S+1Fex=oLWi_i|~X6oFZUC|7Ksq^dXFyEbLUxhs6S)o60Eb4N?lZmo~WeMN4A zP)XSB_yY{Ml2tZeHh(rFqMJw@XA8J6T^*@zYE|Jn zqxtliEASq=+Ynv{=kWo6xQ;FKDOk3Z7%wv3!_R&rwb!|ACc-x*2~YAjm@juL36P4$ z0hZ%}$8y;miNqTVC(Nx$?$|+%P&|ft6d_EZF=pf&1qa1EEeKfg#hx<+R)4x5U>M@5 zFmDQN6I@jsu+X$*nH75bG+*2#q2pU7W_!DdzsRErI`MqbVEE4c?1;y_*6BHR#J;sL zV8o6mPW_I?!1bZ16r!$a4WDi)Hp+qTBeVU95e9pjDMzAkjR~hplcPYPiI^q^%5fo0 zb?up1PhFUb_G=l2DUw71N95lQd{No|Z&|TB*m0OBzV64_apCpyX0z`1@#vaQo2Y@r z`@t+6o36x-xee9}EGnMd1C?=8*kl||4bRjSu}k1sR79(1y^>zA&6FXI3W@^62vGpj z5F0HV4`zc3L`2vG30pol@u4s1TqQn#F+twqk^kJKp-wqpsRudCI#*ZV6WrhT60tbZ zqPH9y$mSjvd{GbGW@B2uv>_o)6Mry;L#Zj{D+Dwo7ionOwETYZ39YK8`*5Y(@kyq_b@N4!Ht)IKyA=@ zetp|NkkbYK#~J+=Av=c(w=L)eY$?*{)_WLPAJI!jL0=iLbXUiV@H)q7Xs3sRWZHw# zK3tCwZ(Z8@;$3{XIbLqt4~tN+{soQMxNfJwVKY2q^=QTrn+ z`h^!)-?KM-O>Zt3*bv$9@oJqo?@ijh5uqLABDZkhi5S?OJo7bN{ku>9XoFC@*^k*r(AH6OnSri5hH# z$H`E{uq9Z0DMvIYd@>EGcyxhA-|O_P3F2mV1A%S_Il0B;)-vyjRD?}be9e$|6_8hrn&LMC{?KNK?EK!r?`e=KCW|EEGGGzV}; zgyHek6cU6@Dr@1@P{R zbeP!MpWJscg@1N39hK-ELiX=EnV&+<@_9t@0VA5LRy#zd89k6;+FMh9DEJOoT zGU+oHWiF^|G}s{sCr7GqHQbZR_N_;t+Rv0#5aW2i*TYm};e-N+NJP8^lS>0y(?e0o z@2Hwy#f2nxY_&-UP0snn1hv?~eL!IRPFmkbLxuk37B=Eb`T`uMZp}2-ALgYvwFcxS zSk|Z+>5|o?LY*|PexHO<5&v5aP9~$-W?Y^Ao=9m^$FFEraz6YxnsTKYEC;~q?VI$z ztnMV#WISi#PUbnQ>>7AWI4^_z%ikm8IVdtd3Ks@N#*y2|*pha;e51evE#K;8Xd}&| zCX`>HO7a+(LfL5IJsyqW@s|-U@Nkze*Nz~}CjTy6Tqs0FEe{p~hZa1r-MVM_J9LEV z4mu((*cO{6;D%QeZU;(?S+vc@T_S#`bU zVw5F4#sCtd@gIp%;}Cvv6|7|h0ZAEE-p$iU~8nW1pgv+ah3KZB7y7RW3XrOSD+N&x4m)v)q0L9|b;xQ;b08 z+Mg~QsAtV92H4A`%0x6Oil>%+;RfZ%b3=6?M_Tb2LdL6M_jx8V8-92aFC!r2uHde4 zsD8rmZlIhfFJ1Tg^@J~e@0C+q1=Hw;Vc)!R!V{Y&AKg(v{dOJJ*$7pT=_!LKP~|T; z^{)Q*o;Y@YPt2eL?uk6{2QiPYm|_@1@^<$pqbd5L#;Fwv($t;>@c7kP2HC$bcle%v4AvI4Qsn})j4R3wmo;ud6 ze{L3#dONm@1}xj(f^RL`q0u6i@gi0h2kjdG`Gn*dhPni>wkzD1L{nYxf%}2LTfQOh z0&y;;1TaF$u#4_zK?gO9tPX{?=9ew`j*2@Y2}S4zW9XM{4I zv{6ftke@aZ?|kDWg?IsxYv<~)5L1P12iIQSDw=eBTJ-djfT8%T$I3`)KU7;6d$g#o zSMKIljPKIzp+`2m8H|rrY}IfV?7u%>s|h$I;^mfKjgxsDo!UAuB-$8AB)iUpI2r3C z;>%EM!7b_y)kV1$94!ylJIvi2XjswgF^jx8hVz+GKZY61S=-5h{z)%K=tdS?%ERV| z%`LCZ9T(bv-5GIItxA=l^!mS9d-__Vp*QVv{`l4|Lxlx&L+81(L#ii%wHN^IbXvSGuU`zGd>&ER7Ad7ZJ@vX?7MBvq z5XrE+abi$xetO6r=!QzGwq_;B#&ee?h3`ThzW3^Exl55sRWy11TT@E5BQMM{J4xO$ zAUnkE3hIF6kFdZC***(wi!Cv&p{xuKbumT;OWBZoICjiYXFI|R`+yW7|BW=|US<73 zEfyVfK7SlS*wMYAZ6(BPTfZg{miVqJO5OrgMcG5}FxnTaAgs6br9o9u4&MJ+6&(ec zxP@-3qVp#}RkY=-|_n=KwSM97kw@;Dh}LxR9rc z$9B`Z%DvrXdUv^MFFVs!h|>Xb1u5|H{H-WSj|YObXnqxLY(r?ZtlKKCnXj=T;*Yz2tsCdjkkWZx8~}Qz%V3y}?Tg7b;Ou(D*e@ z|J#0+t9^=x;yDb)dFy*i$t?hT5P(z`tJz*Gp7zYjalDGAuJuPs1Q3^Z9&Ta4!+rSE z!>xGh;qF_|JqV7$q?ZJ;C>@H+1H4;I%3xyj`tWK0WAKs_G z{D@-4*JBPS1!U_t`3!^$$<65;U_TRUVqK78*mW2JM1}C#5=j1jo_-@+-&@7H%ZHw*^Db&^f;1vK6DR?_?D=PiLJitoSTq`T=zR*?TfqzqB*P^Eu5 z{{mY@f%LcHsfPJq#Zx=%-SyL`sJfb@s~LyIKS3!k6Jyd}rVW~;MYaN8dNhQirVPSm z?8iME<4hSmc$tEdGU(j@oO6@2`r7(tV>Oe@k^b_)UYfUn{?vJ71O^UD=QJsgU zU5X;`19ycRc`EcHW>x6|fo7H4CenQ5k3nZ!6)XcCA$dlBonYLYGmV$goB$$z-t`%= z>YBZC^bNSP8H1WOIK@U6j165M63ry6p=}pWnw9?5g9L3A{)Wjsk_fD6{!he}!o~bM zY`L3?ub;SAV}LhTOZIg{NsS)xb{5psFFK_QzMq+bpI2k_$D8mI!Xnm2e_Vu@c#*q{ zadCTmeDe>-$7yaVSRcvp!OrhNC)-27a>E16nY_U9r-<7Mvgo^Qxbt3}CV>vep+dOm z1(Lpb)Q^m#v+PwjcFtHq<+)f!k7D)QFWTsb)|<7AFiJPH!VbPCp-GR300CTW@T~wY zzS%RYS@~W77hbw*f+vCw2;eF|U|L;#lAKayv+;x1`ze6Kn^+WLH<e!h6xS**o2Nn5962BWt_<2g<<7w1IJC1McdZra+P_!LOr z${-X~4e4#(mOf43U*I?BqZmM(Z20fvq+A^) z73X$FQ30o6%wALy9~Fr?$}IS!r+7fLt-ok0;%ER(rRk$*DyXEo50q3-+?V0aA>zCnk5kf74Ivov zaqFVV0$T>>d(aYc;j>ix!}hsXzLFTJ=aRnZOCi;k0^K4-fm`IJf@U1G!S5`~yQSX~ z4RsF?Qso2)mzB~QB8~=V#k}|mh^ZG81n}taN;QF0Gh{v!Us`;WU6nWzgCNrgrz;yj z%7n{c=!06S)sT!qAdux81t#UzR&(4YG@-8WcFvqw*Qa^bcWnj2bfv+la8cP(o@o5? zK8j51sZg8JMy8-UBntH3?~qOA)Smv?h$t#W@wazKIJ(;`DzM|R?%ML4x*d37P$e0(DYjGEmmZ)-22K>cwN|z51Zn4erSecEM(!;EcP)@qQGrS^PKgsL!=t$ z5NY`PA#(rEL*&bX`$OdEUx!H7`$J^3)O%HIN z_Ph*!+LU!D!W$jMmC56(y0JY|-62VXX6-Qp1JqN!Pu;=m@+>&UI`K)=Tpc*nA1Gp< z+q=;yrh3lC4uJ#sjT8P8#vrG~L7iC~TSKj>2_!jXhL(PxWMO4HPcxfc2Szhx1~InC zq6F6o(L!LP7424xWs@yj?3OiCUd}#f5G?D|$CoTC6R5`#k{j4i)MU*!mFK403^6*N z{nj;I7Nf^Av8@9pS-~otFPcA^5m85+9xZ@v+rWMVKQ-rUziZaZzmqyM3tZYrE{N@|D!n6yn4l-6?&XH~Ll5;ZUV+P|;BI zJfO4WuZAkrZw*x-a`1}3@{vUT;1l@atC$$4f>RW7*@GpB#}x0CC7C$CH2`M0DbcfM z?pb%2$rkXPrQ#1(tEcAdd8WfpVNZj@vXnUZc<4;soLa^9El;gESr+M3qB_Q;~N9kne(#?)>JwaWOTK-H&lp%wGkp!k@D;lqAH`) zMCZ_WP~SuYYKO8Y>t3S>Ah{s9bT`hTh>zwtOhQ@xP~ne)<3Dzd^FTMH<&DXrRS-24 zoRG;gr9jGsWr5Wwt3c3(-Z4lRcrt~?SYtdj&GA~0PncwzHFr(EwS5XmmG$xQ7NAr~ zP0flKyG=exUY4*vuB%=ysGJ(JG%OYv^@ZeG#Y z_gOveS?Kxb(bI}GXg92)1!d5`VeQ#rjW*J<%ZZkiypr;r^>KNaMJ#MJsAkP9w-^}l ze6*C&VL3ua8L5c5J8Gn_u!G<_q?d0;>=^4)b6a2)(*g>t{14ZC{&Rt~s3zHO@8GV$YW80hScBI8PX$&R zpH-wJcj98)`H=lvQNgmne<>;m`4>^aYW05>6^sF*0(auSvofns@vDPo@q2$bp6w&} z0R2-Rpns}>^3I27F7TuH5K%J9qabp?G&i)6!Gx4F#-@B9B{PFaj;05+TFR&*qtTljZY>BFq0^neVEn@9h08t%RnAb1g!P($ma17`ZnfMA>VV}SAgJ4p3a`CBOgl8c zy39KLArJX~pCn^hXz;z{T-3T!+OhvH?~;Cj=u4FtH#k#-e*icCn;f}r-S1@kTZ=Wq zg>h@wT_UjRe-|X(nH~GayaSq&Ic?D9?gR)!PiYD<;hjl#vteTPoBCb6?1J6PQi)q~ zb6mZdlefp+%sPMQ|Nq}&C42Z>V(U@ayV~%|NPNY>Z7955dVY$--w-k6pk<@ge&Fte z^}Pdu{69Gmt^o%EN-x2BpxoXs1SkG)2+r6)5S%KA|Bm34DUJe@iS7r?b^kqrlkcaw z?l%Nyl{yH)ne>Ob?jFHOH2}U2+rDD1ZUU`mt)n1<$miz=PLQl ze!umMi!F{V4ga4G1T2Xmr}#Yz9M&yP%Q5nt3|}xvwfX*LWXVYuh8-=lf@>)H7IdI2 z$WY8|*w=T<;Pkv_a4Oz2I0I%AJ!PO;?i>j4!VNXT!V&H5{FNm}nY|MvSJPzhBJGp@ z)PlbntY1(wncAK*d6=Zd$aJh)BNe^Y@B*}T@>O-;Vp_Hqi_UlOGit?g)R|LDz`UJ- zdEi4tN4fL5CO~M@8C`Pj0hYSRYp}GadJpKz5GoSzh#rR}? z{Ydgo;xAB))Mr^JYXB6p1OmnMtFB^9x4zvzKDGI>QFT$#)p*5gn5V9jE!sWR@ewp} zM2=P6I&k+%okCf<=umWo%l`PK+5-0*pYPYr)e(HRWy1Q{#`Cn6tl4ig%k?Q%_vsO( z@6}xQ(8(2&R;72EeO;?vsWQTE3G$3s>zdU(AwnlFisYOZTjV)UozafKM?Li$b{qkv z&?yZH?KN|H3Z`HcDm9qTcR~c0s8!00jzC9h$iIXL)SMET=O7`1;++tI^aKzhREaK6 z%}C|`6e5`23lWCzga~1#u_aKGgLfV~@i47UOZsJs%x#uzK#0)82#)xKEZ+yw$9v+H zE((W-QQNB4qv=XUQz?MixgOAfh+6eQs}`($HY3uWT9o6Tr3jsL_fmvVK#CxByfcT! z?J+wk0)}R8zoGt_hc{|sqsE{!%mX*GtcGHM+HgjK0oXXM4!nznt%5%#p!b$rjq;?W zagp!KdDEK0tQoV&Y@5%xiB zrq7w*nIYayVgl36N|zG$3i=pBE>5y{XA3hoowPq?5HN3?{xxq5dmIOQJ8#Sc%^Q=M z%&b0@7s_WPD|U0jcmUhRZ^sbxHvm0?$U+-lkTS9y;jeY08P~6Mqd7wrbGIeKPE*#p zf=h7eLMy!szSN5{h%eAm1uEuzCS9pTo8^%iH|@*oALXSXv%DHrJc)On@0kqNfD8=w z=>!%#H}5coHE9UYnv|WRx?bATtjAQ}V7F#?lXA+Ua;1Zm1n=LAtw!ct^PisNvdR+95zfWJlxHO5-T4BCbE=X3~Qo zx1h1evzu~Q@B!+q6`x1+zdf`_9+NQ}?5!_^CL*qQRMb@LX{mC&kiIZKLApeYI=#Xg z{4_qxN|={f4)w4+e0o|5q+IY%R*v%Z>TD+f^;zT1o0C%z%weGp=r?$kLAepL;l9th z2zI*D^ugxU%U^|7O6XZB@u#xf7$a>AYYRT_th{)lwt`J)q-%>HjDkOV9xoibe>nIt z&Q`QiYQAhb+nXWybwkYbYV1$o#Mr z;^3Y546_tp>XSp04>FuR1^G<04x~bX%gPYD5(|>&JObPrH@R zwLE@E6j=V1N3$2BTW%|I^$DwkVw(o;9OQEILGPcA?z1;H@kusV z$)_hjP|Lp1JXQ))Xg;^53C%Nha2Pj>q7DL9>7M%q*0}E;h=3`9DIM0Ajtf=CDVnlR z26b#wSlo0NkvA)l0e|`2dZ8;C+dmK>Ty>-|DD4X;)G8F5ymesoG*t))w%Y_wm{0Nt zKqpM@K;eZP^<9;bv?UhAHfx276Y_^R>WBp_1Tqh+ql?T$J-&}EKZd7RRG<97(s7}I zUi7?yESNSJNS(@dig~(sZP-AYCt5e)6p0TJ{fL3B^X(B+==O+N4)AU)LA;xlTSs2@ zt6f4DnMWu|s)9YGG}>PnW^w~$rX#}KY0E9Td#AFgztb>X2t24*X~si(78uJh8B2DQ z)B5h~Xm^HR^p4<2x6ig_it35SsBV(@x=pAbab}@sRoh{35D)4E!eN^&p&f+Mk>>Gx zw*y7jYCw@ERL0w}8)+##4j&r$yiDdxM##vwdNiI&%pyb*t(`WlFYgKbCQFw> zh(17(#~(i))d@fi=Z^-@0TRETsjk{nU7{0&Tq$PcCfNrZ^~# z^$~mWlSzN(l-QIHYml;FiEV6a*)-h zye!qXTuAGwPg!mI~EKtbdE5XF1~2k!PDV@m^I!#*BHgrIB}t)hsflh;E4nZo;(Cj>Di&7R7~P9$P+1S~D8=V^% zPjU-!3jyQFW}~B^%Zr1Zs1K*f=iz*aO>UvCq0B7+h|~iBk*1O*xP=bj(itW#Zg&PH zgZ=zdtDKK3Is~^r6+b8%bQDeTu&xJr9;^V*!=qcz1Ey@lzF5dN4pI+`0hph^sG4SN z=X$c&R29Y~?>zd!_*6CsnX~bgG~@?b=Pa}+GVPn~Q<;y9rkg*1b4$xh2Zv{lXT7II zz1+ZsnOg{Wi@y+`kF-wRo-nn;Xhkwc+X2a5NTbmie0(_Gj`F34N!v&Lvf=m7NS>u# zhYqYwdt4eY@#1qipJ50B?~fqp{YjO!hBO@r3$>=*#4h!C^$2&Xzad1^frLlm8Ke0? zRg6(?B~mzy!@JxUklf(h+Zdm7voB|sA)PNzy_T@S0BQ~x>U)5i^V@ooCs&tF=#_;u zq4-(wV)uAh<_S=U4F*Jek24=+7OP2H;JI`qv{tP*9t}SI46HyuBfmEql=!+O7XEWS zSqu_AsHdlbC8#o&0HTKza9}pusS<2+rJ zD`B7k3DQ4+vS(WNTFS@;&)Fll zDE<$~*e@_Xe4n(y4&z#soJg#)qf*EZSy}JV7+ObsWA3m$Mg1~mzp)-pa!&B)fRdv& z9vD!rfd-T)z<{!Cb{!Z{nyFO%mObOAXPnuc0R6*(nWw7D_6>VY{4sKAd66#Km&B>U z6r!Xq>GyDL236BRI?wgupKYC^BjDOQwRUt*P?FZToSC05Z%r>O7^41QElUtj!UyWG zBfsjfTX%I>JN(w_N1g~(h`6_P*m5^<2g?G!A!~$yOH5@@9ku{ehlQtJz=EeX7}|QE zh516SRL5^#sxyn_lQ5CN*Zs-Cd|@p|Yeta&;q!wj$~5Va`0T-)_qwB&ShdUEQ zZ(C6Xq(#jv!&5}QK*f6KEeBP7l$W@9lRcGb(;|)VHfBrfUeVS0-}?mw{T9r z+nC75u`TxEk^CmOIcoG_qu%~myPU9|V{`uSrgwu=Xd8z?y!UX~@Z$M1iOjy7OUhdJ z15IjK3z`oRY`Js$g0+pSWymdr_KS$Xd~!cU*h-jaU)?!Ds963ha#mX7fr#w4?}d-D zxhX*FNh^j)CxSBkLtQvhIOqG|$=5T$qu)R20-d-U(l76t53MJ(9VgnFpzP5PazH4r zv1vbk5|+gDG{_Dp!YUK9hp@Evc+m3YOt{Z{w!~5k(;>CQ9G?si_?ToZg@4Ka75Vra z$~QUKjcXpU-^JKzlq%vFv4bbVJ$6Hm@Y)hxd>1-l+g|^9#si9BwO3vAypB#U^)Qx? zou-_|q*b{@!!(4JhdbH3;6>Z~(DY-JSe}T^rVxDoiuD1L)()zI$h$eBvI+WVXanvqZ$ z?E~dy=~1LStg9qLmN^4mZM^KHWZ~J&tixAA)}1~P zkQV*wQ>PxPPZVfDIm9Oc^;xqB_|NFI$IOof*UukuMl*<}d$ipk&m-knrwgmmiyLjD zNi`Y3tPOW~b)MvP&~(1c(}FstM!G|~yA*D^yLo;$Ix{+J*4pd8_p@K@`Mw(u<3L{Am!Io8&%l>Z!YeQ^ za4_s>o&t%_2t93f3(@TIv#{-_@iV&#XuEMl5mj2UAKny05!fzQyylv%nLL4+s|6O7 zZ}Kg>%5(|8fY3A>zC;J;a0A-}9NG znZCKeiFvlqg>ADre?$B}c4E1c8W#!0(6a7q)5w7wj|QfmN0W-_s1Y$jxjU48jcR(% z5&U?u`~^~?3GmtfjGVPZ1r#^R6LljgTEHeIFHg(*%tattNjbR zpWjychW>!IxnGZZsK_f_4PA|+sj6=Qb%f$T?^X1^_lol&U)4?COC4Q4*LGWtzz=Jq z03BX>+}dJ&x9F4>)1#7O{NM$=!jQtN^TGzgIL~Ij2?3TI zj+{NjpD?)-toOs@CZ+3JC`@#jc2o+1>B9{A=CJ37vz^-DC%wexX}<;VZ3T;3iF=Y0_7J8<}b50n9u&kyZZDc=gyTNGTf3>w)*e+aN~^M`Iata)R)$B&xd zjA-UVjBU4_mg@3!^2z;(n&C}4@9dme8B2OFe!wv~}f7mqivpTr^aUV9m?n`G&H z%0|(dVOeILCJgraaf7{nHur?op#+DpriVTOGE5ZNGk9fk56ve#^LBfl3*l?ltQwh5 zL=WK+UOyJnJkk$AKoI?yY}P+|G0~PgwzWDcEa^b8wc2jaBFA*qx>Y`yea!P!7*kQL zO>4!eTa*lG!*z9((d0fdlKI zHHkUgWHkLa(T)4=wA}SzXPa)>w0)sP2}#t;Q7kdpR?tf>rYgyjKZY!{V)w~er?^ZC zGeYcy$c~Woo$lJ`RoXL`XGAxsfOi6-{Usoc2*_>zY5{mBw$p|X<3uUWz4=Us^U#(Q z=%g-+c=)-jebDz2ftO3`5`VpQve@8qa>LHK2MH`FA^7Dw*-=y2R=HF518j_c)Lsck zZ|bmt+Uxp?dvgYM1n*_zj9xfz2QD)r@N#J-xv$nXQ?C5X*HRAViFJXG^19%U^31uR zJsGYfz^xL|XUec0V;no_wZaAnLS}`yQD#wv!%^N8{zqn1#NlO(hZ&CFG#>> z#%jiTZ92M?8`_z{-MvoT=dDFF6a>OPvSvhMc>m-)?Pj#Yt5mLNV6pPDY1-p z$(-)A#SG4ypW!}BiCce(rVCcH3&T(ieB0xXPXj@lEo&lh$sdYPI}bOIB~6UB(`yFicy^pgPTnF1cl7BFQsl_E8R zZ_PrWo}?*(r?{2r>x0yc6WCOWo+;o=>$3HF_kKZHCLWtPy0zjAJ=Lwpehnv04q6^} zOCv1PoiVc`5JMDuH^?r_A%o`;N&PxOM8be${|O(>JNWWOJq^dt zLoFl>L^M?@{9qc#I@5P*~&LN*dC zWjC}kVj=D$m6}pQtV!;mnD3Sg;QjXE6NiyZ`V1-VnjlzRk&2l*;wHCoRz2KA>eXU) zeFSM8lgtP~3;te>>e+osFes@IH}bApsCOACXB$c&4Q==+TuH&0k`4j?Brt?H^sZ_B zm}VEKyjopu8jg|P^3^$>=*6P|1Iod9QXwm#^Xfg;(r+J7N%b{dbY|0*WyZ~air*-V z`sDL-zg~%V2Z;E2KU5af8LvA<-oB)^%*`hX1|wLPc#;mtk%zm#xlr!q!^iD(%enh; zhC)<(KN2Y_bVQhrCOkhLoJMoIeo*}C#Q;5GuJ3TLktiL|cgYGd8_}hHgb;>Tn@pPJ z&UugAfw)KR#Eyb%ukRe&g>r$~>k9YR+Q8Uq9Yoq^_Z-$Z>YzCX&B<~;CQGQQDN1uH zR~mZ;feNBoWZoGgTiT;b^X@yPw)M1z*o@~wZ(5kIT-NItC+ z7}|5xD0r}Gq_vP5m{6a~vSU7wf@VtzFQY*`Uez|YQ8yfRA4C7xPsT8`7Z~ve0745P zhRwsf3_xhX%M1A0q42(tgMID!fUmt`KF^}RhQS>_lTX2PhUGM;cvcna_ENwDD~*DpN@a}+9#KL)fS+G01WFqTPfgczfLLweC?B! z8V4Dq50>9?qYn&<)ivBWUY6Nhfxe+M+|JxMz31AZGzEkfwBY@uFnB-N^M}x4fb;p( z5d#tT@!>s(RqXxU{_5{&9&Q2o18B5jFtrx+IAch3{hidf3Y-Kre-3abRKK8_6j$UP}D&dtu;@yclM5<*yJcfy~(gHn!s%#MSw;#;%P4 zO;_$uo={C=78|I`7*r)@4G9Ct-HhQ+76#rw!bt7~pDT$L+v=?z8olf+T{hlFcbJX& z;FKT|h?(_hk=8vKbkPm=k)vW?>tSCoQ?G1fO zyI;Jz9$%oPEK1-9(TluZV4tjXlB(g(40B{|8lX@wPz)F!(Yv6e8`o8XRelsD#ciWp zq2^{U`j4TJ#~rZIQ}8?1arAVr&hMx)Ur76nJ@8d7@RWI3Yldtb}QtrxS2I z`lmE75i>{8eIAeo9)P8Rk&}}~vprj{?p7V%fyUE#w;kV=k~7%Q!Fz3Ju)(lpj)9oV z#eldt9z_M}&vNeBuHK!p2=a~%bTd0SP@#t`XqjNr>i$&7WjOkvMYEXAhF@^rMeeOB ze5vB@8E03tiC+Gco=EH>Kn4~gr=}gAYD4JfC5% zii`cim*5q5VDzdCM$mYHIr;RwK`S{gag+PI0m?DJVZ{l6te?^{pZ9#(GfD3j_GUcY z9lwfF92ic9%)XXbJBbD&AsDvvIK_=l#Y3s?vvG1!Vw4a7+i_B$r<+Pv$WN7G(Q%9? z(8!7x#{*zHy6*rE>u|f%qZFR+;{H7xMx(sy>?`Fg>VVH8{w?rhHEA~<3rU3Ku!&c3 zh#oiXVoSfpTOE7$U z&M}V{UP#3StwMoGO-}WQ`B8}zg3E|0%s@>w_gG=P{FJOPjkPb5b%&f+&o%w%9c}1y z4xr~c3e#MezZLtu3dw;Uxym#DVK>f-x_#yy`@}B4`J1Lknd(fsy8=j~tQ?*Z%QTgnpS0Ay_g@i+tLzH*6Y`6;u`bA{>=tVGhSR1t+Uiq*sq1sg9Ggh|R z@49K6#J3)YMSi(a4bMRHwSbi{HGjXWERpbi-n(G0j9$ZB*>}i?Qayz9`}!+ojEw1; ziZIq{^XEC3OysdnM6FSN5=$CO8b{|<(_D2&SDeWz)t4w-)-~BMF;nb>{JHHCeyB$9 zy#*D}r0{t)^WWbA>xoa}8@@R4CFVm_g`o@1*~#7-?lMoI?V^AaDz)uHCRVT1wY2+pycu9yk*wXKS2P zAs@Qc1rx31;||Uyt{ZtjQc0vnKcovy%0ry&eh{CwHZkc59A7iRK0*m$hqGvn;V%&MJ+VwJ@bQhS^e5&Ge=CZfChF9o)9_y2Nm39WZ`N z^F4aiMF3-GnRc#}{=5FHGG#6vh307v6_RD!JO`himT;qNzrGpwrzsPgXdk8Kst#5H zA?ai}J9#DxI;t?ZXxm{$ZZB-yk@OSK#jRjo9YF{e9mLdwSnS~9o< z+C6nH-aM@eo(@5oZCsXrBmZi%u<3DJOOwPJJ;R}XhxVP11J&}jWr<_%@WY#*KcEA>Lj)`7LL-ywHhr@jYkMy##&(EP5%Z!o`4Ys-H2<2!r>c$jX|h;yGj2nwp;~G^?xVfnL-~=N(8D^)BzgM}8LxZH z#@F9vRMJYkO$}nXl6|_01{M^SeKC8r0M=x?SYOo;lUM1Rt&?|V^_P^PgEM?u$i%dr=Zk#yw5GI?bcXJ z*i^T{{(DxO{tsF480pWfIO}?~bFysdiQBaI5BJ5$|8!rxwd4FacLlpK$Iq4$zV68h z{x!S6z1EWGH$KN1tg`a&eP8U@)Vp3FqWls2c(BL;L&h$*jr7m=`*w*JjNW zkgvzwbSPDisv1!uVInJZBsSfW8?RXIwr_SFfp~ifB?}Jn)Z)v`WzFzL5>P zLx9Y>!c6D}O%--{VB9o>N`uA^FAoL0yuirYWa09!O&lsg91RYFfDl7a0=Q5<&MYHz zj7W~G06XLv>gCpTLvTM~&(dLdLFEQSEcCyz8UL8dJC$H6e=J;(1C%koxatve? zL=@nWKR6i-QSL(X)8TJ~R|LLG6v5vmv{CZ`f7Dui?&pzxk=UugJn|Ggk4y#Tk*Qdz zqsiGD1GNt<+!GsX2~Pan2N|^+jxF5wd}Uj1(F3=}9#CbVnOFU=9*+F59=4xy1-;BA zMdj91mI#t*mYwGeSd)Mf@((o9ycfzZu>u(}Xy`s8=E28pfHUHGh)0z-5s(or5!CG0 zmqKemcafypF}_4ZB<7Ju5A8udw^+NTyRz7P zNY?Pv)xo6Uuh!*)Ng3hhtv&|26X)aKa&#mim4ack6pj~CXI7DW8uYGCX))dgyo=-s zJjG0@K-3yj*Fn%B+b?@7t=|UHXLQsse|>1gD=};1R)9~yZsnVw&*LYTEr8##Q)yG( z?b!JMn(3wIW7pj@zU21Lrzhvu(GJb&b!+dKq_zhN$lSB@`EJ_mc7A#fKY_i6_Rd!a z$AI^+w~gTaP36_mvGv5OsqX{HO2JOny@8*cpDIK#Jj&m(7l_Y{wel)i)8MpSA19{c zFe&ywzWvq(iYa#p3M!Vn-kP)LcXb0gt!jUETFV{i6LcTSuDB8%(c*J%^IP6`T9@GX zcS<`jWoNmb?!JBt?zD>BcUnvQP1s7nF)>*8XH2C0852eRB_`UP1euu*zb}&>jQ)5c zKDy$5Dc&AV&S7nqq2$ne_SM)@$(pQ^s&+j}L#TSJ=V^yco&VR8k{6*8%q8RbiBD6K zJ6Ga`my5B zegZK7K}-7q;j?d3(QSkX)^G+yJVkI1tg2nPVyoZfQR^XDhpNnk*AoB&L{k~nR`jRd zm9G-gCt)n#z8(;D{6pPwPHi|_zxy*U>O-Sh0mnre;JElcYaXD3XfEsogrLqkSox_| zlv9GXC@S^W24BDA%&sqH>LS@mlZ_dvYDcB-e<%lp#oR`DvE`s&!yUg~I*_ zi-5bMT+8MZ*=f9OoR{RQ!}+yx>lAaS#+JTzwOrDK7*VW_0p>I1ybfcU(rd4%ypjSq zI`m$!{cv4R@N}BE!L2WaDVF~Hr@jO0LIOEcc<=h%tmh7V8b}ZIZR89`+$WwIw9giA zv^9?{g>H$T!ufxdNeJ%ZeQ&D8h?(36rtRPZv>h+#y*Z*(laU^8w8zc~WpewY(wncF zsFl+Bn*>>~pYBs#lU)`U?!{-8-#%B%!IV>geU*_q@O@)GwOosd0hA$_iL~wOWY}FS z1Gkgja9ch#p}idP)lPh8{LYN;P+!=1RT&p%6hH_YNjz^ml5b*`sZ%0DU*73JZyg01~iLQnv}G9%yV+1*5UPv0NxH&>aYhfco_Mk){62=tu;cV z^U`jHn+9w_JXkZMqeQ$(uOWp@w<=$|u&SW!Ch81kmy*iXed1G0sRsM#nFYR#^Yty` zpt7_N@qq-~rP=6tU^|5NHe>a%U^>VIw@Iwrcvt{sHk@~RC$wwlX{HUBx1$TzcZ3Z# zMbS0q&C5NLQyGvT+cTAHpiu_%c9e#)VwrdW-p*)$h6$LrQ;|HC`0hJzs0_)$%aecLsdYrzJg4KPbO(L?~jW!DlFT=jcuQ@XsL8gAx}vNHMVWtaF$GXf^`dD z>TG*&zla)UI@M~g^-A=h3rA42!a~4D07{>q5~P~BPL)M#l~|GLtb;LEP{x-7KX`A6 z>*S0=_P)~Lk>$ayl&(s4)KCGW;3hb`s<8e*XE4?(a@h^Xx3ZzDKEA+%DQE?A74}h^#6^Hn4EI?&6;$GT8b<5wb=|ihzI5Dk| z-gA(ZRQiElrzjEEFQ|D@%gh>NF{DiCGKfZFSwy)zalem@0``$>y8?bc4vdqu0}WHt z$QPGIuSg@Pp6d*D6o7;-Po{@GklaUiKxbXx17p=BS8!@RLQ*sEAE32s!?NR$e|W!; z9E&3o$*qh1m^ItoIv|^nHjD$0+;OoFAL+m+$*@yMvo|sB&3I>(<}ZxLoT16E*fTU-_u*?zq79N*0nrUi{d9l%B_$XAcpVFx3$uB zw%)0b#LUQypHOmWL(*$#ZcoJXl@imbdkl0`FzD)A&nmMMMkIyo88^k|-pIEFe z-M-=4C%Y2(7*@y)wpQWUw}%(cSz+cc@5`;W;BqU?#_mE{pdRDKNPns(4~p8TaIguy zDZh*sg%%NWycfsrt2&^WrvfwyH6Q5&wbyISnL37RygGg!wnx3>I&Lb-C2dOk_P7y^j`l% zDFXVK`8O(vZTwVJ=}1IXTGG)nI9E?q-SkLArWUBsA9v~Z-Y~x`K=`wWI_d~6q6z^; z)akmY&rF2Hn_(Vm`YbN63dQ3vTg;a6B`2y{T3smJN?%^9wRcp7b0A|DwV|m|=T6F- z_GFKi1!6E(Nlx1Z#|X;8&f$v8hDLzoh^O`2TTcO+4hbEk38cx#wwaXvfj`4yS1xa5 z%Yj;&VSOZ61bicyJODnL;!3 ze`yW+;KAp0!U?nO&1j_a9SI$uOuDEmB52 z>W|eXuaz7?6l5qxnn$c0Ca?B`KHg$HFLEjsh4KGvI9Rp1;j(q0xM_E^L7v4EZfB!k z7n>8~`t4+TP2nwnCMmOi0B?}>;1cuzb9LANM{SYB>i z&kmk;RF@YAmt#1?tI!Z3ekZefKLUy9t2JZadZGERL{?Yli2B=;-OVkZ6K)v5-T|Qx z{@mTJxU>Sccbv+u|ItBR&y{M<#!cYR09R1S$(FEyr(key8_+d+d)~Wlyw9{WdI`0J z1;mGa@z-TXh$)@%Sgr3PqA;w7IL#BMW7oMT}E;R7(cFwU%}VJaxI|5hvh_Gu^z{(`=nJewz1f}Z>0yX z7>X4VcuF0TchZT)o>=u)ZtRYezxPkG@7*2$*gw4>U;$T11;v%*MlSqEm9AQ)f(i)6sm@KeF`**Bqz!SS)C}9|@tHNpD>B`Y!>7O(ZN!abqtE^3 zeA2J(+s;L{+CK%v;jS$RVEXvM7??gL9z#Yz057jKL*-`0W&hL&5T`D(kw!d9NT@t; z(wFBOr#NiVznJw9hw99^X_P1dPal6YYsZ{z4ptX8zK;(2HTnK?1Jz#S*9Pj#p04~G zA&xgK6|A6a?-Jc^mQV%+ct5#82m-fjK{>$g z=@H+N)M3l)&ZehAx$+)2!uGK!<)QZju7yOt0AqL6MCh7V`Mn+z9uil=nZsu>Yd3Od z+c*7Ac(OnfRuTxuT?}?PI!%-)R;m2TBkoS;gN}RDE*S+$P?(OxE_K?03 z&Q1y1ZJQ;{E;bjr`LBqS&I< zUvQ($8Cz$3NHJ`XPH(+vrS(9AA`8y6^wpg7rTn(K+gq+GJjaT`b;Z?_`Ov$c29FQk z-GITP?eSuV?dPStL_J<2o1YLJ1i;{dzyugPg1m+v%zH2(dj5du9PUinyAGbvpRO7H z85ZY%35$cjhefA<9~SQ+Iu#iIJ}mM(yy%olJlNd)wS=1b4<%H-`x2_uKb26Szq#C8 z@9cDq0u~RZ2S)2Ble>eXy=qK)V2Tb4n4-fCP;`|3qUa#DCR^x@DAml7keL^U{*SUE z*EYZPpINb`BOJ(zth<1}1IUWL_gS%wGk3TVliNt67=ARTuZn_W-bPR4w%5sEc7) z81aQ741&f>xG*cAW6Y@MFbKLn<+r?;Gt)s^HG4=S5$okxsyz8K9&)J8p?4ud)!nyG zPw5Bs|7@QQbMiqJ{&7y!|6p*04bS&S`!tE+dE;OJs5T3ol(1^=J6h>mqgRgP0gYfL z>l$Yc5E0?Q5ixQkOmq+ax!OagNKMvw{r~JtXFDieko9 z^PJNZ+PplCwxs&ra?Ks_wp5-{`IR3iraL9Kp?lrk& zr(8Ahd_ZER&q#Xp-7)WE*^Az`g0CHY_YG9<;c6BphKDMkMY0zjvDal^9s53aO@PS1 zz3bz$XY|G}9;Y~df(a-N-x&zGhc!q|KRFktIw{qOq?Sw3NySG3rjNJiH0_oird|=ES}8e=4IM1_ zpm@w$IbvXgQA#PNGSQQ;RlZ)&qvG!!o9AYJf}vUfSe(CV6Ec;;OTtj|QT`j{B8Yr@(Q#faE;^t3a+Z@URh1IHT;=Bp`i=W+&#L;KMHG3= zB)5zJ{nD&}BSC(r_EGdGi-A>e_cZ&yd&&;(p4$KDo@N2vQ&v`ptAMcP8u;b8$n(=z zHBW|jq!pb;3yv zB4m}C0_~FatbUk=a3el!B8#EYeh_i5ky$vjr7)5wxhd2g)ZN3bCY^!!{wA(t<*pi~ z$4GT=gTt3ml$HZ+V4~=iv+kl|8toJ9>HUP_)kn<0AGZs@AGh;RH7`0ld}^Y#)|x(6 z?(PD~aQwZb^14+l?(~3mXtWtSZE7V(cCJ!Kd0JQN;q$l3B$SYbkcRyqrVX<`%Vldx z$y|P@z!6A3zY4X+Nmq>HGLi|P?MkriL@RTNYE{C%FP@4Imu~r5tvK6@dD<{oRquj* z9(lZ@=+7MP2v7=G#dGoMwvDMN&-9I$R<^P=DBgbl>#8W|)3h;hc(trEh{(yaMda=A z%XKk+S48ONbur|x>tY=3&+8)LkL#k{KVKJjAHT|EptgP=PxrsPE+YQCE*_&e9roQm z6^~*hEXXO47>FEi8KKo8no8E>VTgdvmF=*r)hl@PW+#9vn7#?|x6`6DW(l?(G%2a> zyLe@G=qfYm+FEo6x$YKQviH^lQ+$zbz&s zTSsLD6LqO632s>Zx5q^@dw~(a@JL)nXn}|U^fEE?gVKZAmc#;!$km}{p=RT|s!(NS z=f%{-I{EZ33z|~2@HK^z^bw7p6NwunsB=cx!bhxc583hIU}J-VnF|E{^Pa@N7O-VL zxiUs3(%y?1 zwB$ggB`jLh-~g_l+JNh)ONBuFbcCVGOv(EF^Jcp#9P!A`{24i=Yy%u{+!%9&* zp`4^3u%Qzv!mNAxxPbd3o{jwj-ah`F6l0Fo~IwOX%E7nC3hwr z5brH@Tth4JVvwMTr`xseOpV6kN3?#u^ue_{xT{!CJ$fVDcd>GKd5CSXAbd-X{e-_E zl*mA*TjU*B^H@u_hM;E&ichIg(}25JbKy?UPBO~>pt{`3oC^?5PRqK@-y-=V^2q&Y+m~eBy$VG;Y z$TC6-Vg>Vj5t+w@N^*?QTEWwP;VcewrNd>R9cCJb6L(|vu*ni{Df2JL2PB!u)7=Nl zL^*G4Z+DEYzRympbWZy>e8|WC1alC|$+zJF^MTQf=bI$szjAU`RkBB`Z>0B3&bBds zTPrRAYsIM-X;@D~#P$)Lr_yoYnyC)aCNqJ;CQv;M__KO?Y4mMc>zd`X?P&7Xv0^TG ztVo3Wx3QwS26Akqez@qO3Xfzs6(PhENZ={?i0fSH>=wff?^)epLH%v3nD*;d(Uf); z;g_(e^;cL7yV;9r*(&eiuy~L0x3JiB9~K*m{wXYSgh3gCUtVAwf8));;k>}Ni~ZT8 z+27Nm(f5D5R=g0B0tdU)j6CWMoJ%+7qvh4_a9YV6z)cW?LUzO^GlRS*oGY?DSt|2y z#nZr}BM)Gb=nt~)=jQ1_Ze$7UVLFK)?#Xa`_Dk|FI`6TVR z`z(-OVna~^@r)9vYkmx0(IBiyA8LHK}ETvJHcU!Y=O-^_1Wif$Ek#O zs-W@r3*Nd_sO~v%Bkdb9t7Dua(HJ)Ad4vbt|qq1 z4qbtmSa?H*J()`?Ek-oHXl5Yu2Zo9y@n#5h zDjXd@im!p_ni_!QC<}LY9?R-q*bg+7-DMSFjG*?xEz4cD+?Dynp7c@4J>3w^5!Sj* z8Cxz-_FFp`ez^ptl0lOJYlA~s9$TexQpi;edhod-`z_OjIN`7`fXUg%fno|;rC`@& zT=l93u|IL|{9M7emOU9^g=JJ<`zvjgGXPL`_(O?a&b@Hv4G`VgIsnn{c?#dFJEoG< zUffEnIA8j0%@jJ0g!mn>5hEBifwoUimp6I`c4GWkk1tKm);2%|F(n;IeEImtE73T_ z=WnuTH3XGs!L~=PWf;A|YRmPZ-h1048DM)1>18t7!^PA2d_GyT<8pb;xvyO|a6A^m z+bRCE(P&SVy@f5c`-*c_iP?I}b)`g3T?VHG)n(>G5M^4Gjp1C^l>Qa6Aqqp4>CC$~ zr8)m6IZ@NNi)Obvd4Vdw(XLcYvJ?^Q?TC(7%K}qY39#)EWD$ROJ0$t}6ZUSc;A?W) z&$vp##Zz2^fI2iI`oY{b&{oAYIsM}YecuGE1b`DW7vfU@63?7inN&t zK4!NiZ4vlHci6wFZF={V#Gk0rAGJO!+e9eqJ0S1KuBf9#V+!Aj7y2Q4YzJhIG<%1+ zI6Uqok4bI3Vv10E^+cViBQq)(te}IaM4~W!(J0R)E`p2ks@@aJeUZVe5&ei&dRq0K zmlO)=q(&*lYdTMJA?#HYuOIrly=KjFn2Vo`1!b@>t`VB1+X)*H9f|U~h-tdK1|6*nSCbkR~A@)j=2L_$OjD@(402@ZR)T z4@RtRbMtK7E<|ei-DYfye_pw3Z>w+iPE-vGt%-tYIc9jc87Duu@016KI|2_Le`Ya# z++S)_il&s>rg&nLAJVLks(Yfvv)>c_l#HxjF2N0Zl{+i$2=XDr6iZczDlHHgU-yoe zD4jDu9*5F5?ADQ8o$HC2()1ZB3 ztDtxVk+F)p{4Qki8z{FYx9qWYr(l!WL!B`EX5jEIQ0ESAnwEIYHL{4N}jx|jUF``nBc;f(L&LY>Gme zt{~tKpjOdCjGOT;OyhEf@bsih6-Ao5Pqj|7dl0{n2MA)Yd%AnN_b)F-7#>-mHAGnz zb$+sf#Snf@oz-Jyz^T7>s{+|wYc*3!gjByNUj59DSfRw8Ns;gi5=|lXWLahX$4WAQgR-|>2pFX!#CVAp%=xO-z^RyEy>qyS>FU8Zh zHAS6>njK;t2h)OPeHGYsav#YG@79x$8!N4{K^h?CqsA zjKzu1ImL@+?pU@fqWm){Mz&E0#ISy?mtvqFk0l$6(nWp~+`aWJ6_Ey|(vIYXuFAJi z-x5ZB$| zL9I-Ohpn|&lXhIW&GKWy-DPMcFQr~h+G%x73>pifF?FcYZ_jK$66~l?+u5-yeApU| zbJ^9Rtpo$R54->DfeT@BvBt?Nvh_uF@S`q7l`#r7BfAe6;hKmSeP|AN$=DV{+FG8> zl@4}%PSu?NT6LWkK&uWJjMtkD&AZl6B@ohsH1W#CAw<V<(db^iIKEQ zc3uxguQA4WppJ0F3N?2hC6qF~0N)eQfqSAFdR5Y+eGpGAcJ{YW;&Ia>%bZJnkf3C0 z3(cqY?(e3|vXD4D(#_M!#a^&xpOiFD=b5lx4}N35c^<2Z^Aa);GO+){ci*+60RX7# zJPY9OGd}Zq8ROLn>sKC!cAOom0Q%m~IjPaj8Y+t{A8c@LRimv-3#Tee&b3kV z*tB0ph{k0p1q1eiPm@+JbrNF4WFhCvKxttkC88A_>tYuufx3vg$hsyZQ|vq;4hlO! zP8@dnDqCx;X~h*J0I+%Wf<9WqE3D5ox2aZ^WPgdrJ?C*42)x#vm)+&@{1_j)Jp=(j zk36Fm-ieJs%RemYb7AC^BHA+EJ@9dC@!zSx1X)A8J>i zMW_ggt&6Wa#fx9WTMaA~eSa(!W57#A8E+%eaE~O*t5Y^w@KUkpUzUn1;H4t_{Zf%? z9=uevxL+#D{kc@!$0NLX+G6{#g*?X^ zpt0FT)sX@Bu<;@-exCqml!x;Y!T2~q(!!EX_rwrg1YR??U}NKd94Uyp9V zti(q0W5|wL|8-b&N@w`v5H~_BmC)r=h0ipl=Zv6 zao|8{E|HA~5Lp+qfyl}`Jbefu1Afk4*((w5d+=X%7I%&Qepj6Qxl*KCy2`2|k$?hT9=-F16_He3jJW0W#e|DQx@f4NIG}k9yw^M;Z7`5UMz(KP zBSpSkc+ONcJ3ClFow5`kf109q_+O+4*Ju>$Etpc6RpbQSpWQ_g!yU$eI7yO0m1c77SFS zK4!6tY6FWNaa?i$(Id-4uEgS%q?1RiBwU+&=npXWqeI)fD{;`%nt_TZOZ9ciVcXV7 z=!;iEn|f@^)5C$JPd;qCPN={SL=bA-DO&T}ARTz{X*GymNI2B11Sk7_E5z7fc(1j4%AT%!Mhe!G5m? zWZybfl8R!rRL(v8*731bOl#(^o8oZD;SMK?xNHRmF<^Q8qkwwz%T00e_nYGTe}7Y~ z0}80A6$JnOrdT8v>WO94{99HG2Aetj^EpS>ewaCQLYR!4@aSuulTSz6cQr}l`u|@A z+r&@XbsDLB;M~YUm1u5|m%#b@m3v;DeT-@+{0_`i?U|htsZ#D>SiFyl7h}om=?>DwLDIIA*t;vSe*D^HbTltuUN>dU)kc;Ho49^2p6iey1Zez7TBqc9?7)u)$!5c7!>Zr zpnA%k1#oQ+O_K%FjF1jW^{yCq(Sz)(GF*}}z;K)HY61eKMPJYmFjef4zbqUm<4m&W zvU_VZK8eiIB@p=hp$;3MdrbF8p|Fm5NTm;H4(J}yumf%LwS7J>GVS5760@B>RjFS# zCJ9;Laq*_pqd#=1scEd!DGmDq-YQxbCjPWGC_Oa{<%ee=S3O( zzn>Q!ZjV0<9Wui=BTut~yQc`BEp)XNbA}wc(H}h#FaZMN)O}!lXoCg>Mo0BZcr;UM z1&<g^!ME8vd;?M($6$K%3*UzBC*KC< z2j51#4a~P;RNyYH9^3rMw>kdFw>kRBx9LmJ*ZYlcGbvdM^OJAm1m@dx;8M}3to2XR zheV@Zya}Et)QEVZ4)9jZ-U_5TtaZMDT)S;n$dFLMdhBWQptFYNU?;{}Dt$I7$9@=m zWDNRwWaI-M89`kK(GWO(pinc}7SqO^G(lKD#wrluI4%`(SG2{$yio?{LymRdgCRR1 z<991$x*R36UGwq4l&>%UQ1V3%9=xQI`RihaMMdd+Pn>1#ZSHNyeCuNa(j_(h&kdnW zr-9{6Nb3z{`R$8rZT<{)Tu>_QO@YmbFeoslB#%Ysc?^F$2x&Ek4&MBWt>`%UJm+1t;c}!YVCx5L-#0ibqxk~ru2YT@J9!<0KJjYkX;qmnH z^y>e-FB~#YkgRIp2Cqc511%3*Sd_=NkstlghRgJIV zHfXPh(FcU-XG}jZF7UDDWFaw$FwR1~3=QHWc%0B;S(V+he)mC@=*$i2JV{8*!K`-Eftk>;? zKJ{oO6%l%WSvP*RtpwAUhmW+5ylz5r$$C7ETyN6LS)%<4hU>f%pPwNw$2cevgxlOoPJoo{Zf%cJTT9 zA0xQzscpYXZ=NcWt6ELTno6XO%Fx-q-kG;cd}K*uoI?pUxey`=spn%64Xd|OqbJLP z>g*|Td14Q*KVgy~7;MT!ojlYF8b->QvMKOL+RV}AN>C9x>$v5&)9FG!2>W-T5)_pF zN-)TniiTaLA7!|xz4d%PK&6yI%lW{^z-esT8Td;s0{)WMXs=7@LHe`NM)uf-ngi{8 z4N7ghqcjD@)Dr~+WzcbEHugyQ9$*+wsadxMh5GdFYy47l_t+@o!@n|S#2*<`OO(Gw z+favQV9AA0RcOI@@dc$pt*2k9G18ZkSdkP@%`6M$eQ$fi_`MqbOu>n8=f60rPJ)Ry zUvl^y>E6ESfSBrpG&Vqrn?pS{Yc%r0pR-Pz2>54_QY>bC<|$s3 zBHsK-7RV1jVrIw>AdZm;7>ILq^6!8+)8LrNcpo#nX8!`>u>2V_OTa*!Rt+!^=UfC8 z0OEYOocQpcfH+)nC_fOYBhCZaS`+toNzmqhyh{#8quR0hf*A>3-SuNrp> zN4So(X;B5ML7e4Gq#^%#<+uv09N8=Xb>+BmeKU9)v$Q(rcm zjCDHIzzLbs4Y)gi<|nXn6t)F6jz3n8+$FMD4WGmN}3(kKF z7>Iy(gaY0S7Oz^Hj035TyCZQ&3)kOnlEXiPrpZ6zaCS0&AXM}8vk-3=92T0~IWA6? z9ggAxq*oyB-5oD2zY|5+5J{Ak;0$qxC5F=nYj$gYm&IgNQR9%XUNK_$vxh3MaCdUL zHp`?VaCTQ?3N%q4i=}3)Nr($aQrb`>`W)w$Nl27U@e-$I;6av~mjFQ(k`l;3K#6rH zCVVJi;EX1|iST2D+rIogg!{STJDFIvj>SFgM&J_KV{P?M6;|-Zk%m;! zSrQ49@!*fIwOwsA2V&E8B?3P`^t1maXtpF>-JI^#$qdx>viv%6r2aP($4pVb$=`T5 zO&M%W7cLXdXJ=06bCm!46UUQ|JI-_G>-@9)Gw9PSm)id>Xa?FOfftStQF%g{-*hY% z8}7~u?hdZ@QU2%s)zR|ZR;R7)53u zV9c)3V`jRsty`+mFz`dZuv?}`HnPI-xj#&Hw~^UJefSYIvw^5db{{oePac&MgQF%q z=2A2|IBGs1^RsOnqZd3SyChY7H>L0V?&Gv(!>Shi0K>iCs z^_5uHkyamWUHeW3Q%4cVFZ#8!r|4C%w1M^_>P3?=K3@f11e=&YJ-#8I%TgU=|HSo= zv?=y`+O(8Izf2=6p(MLsJDvk;$2#*RXWZ<>^8d?B94;9*vgIcOj&^oy%$vvXpT9KN z@8S{+o$D?6P+MjU@>O(2IF2=v=nNc^sM?bKdyr%kP!@6F$tiw{SqRZ}V?Z^05s8mrg6tJqJoH^E?>rBO%h$9xV`inW=B(KIQu z!jir|#9oSCo`u?=$cy8jMOIFN7INb~MLuNCgP&*|zp2r@4$zh@Z(G&1d{ZW%@kpGi zIx+8Bn-WoX;@R?k>CIT|_c4B-J_u{&%ZI0*h*duLeVJ_}>YHU#ie!ep;MZWSjb7O~ zcjMM|Zf*5FPu`g=aM+9o){dqtYK_{w_a{oa_zDii#&oJ>&u#_e@qM($XmO```w7+^ z^MGa8=kFB!|5`el5;5v`45V~TRq?XF-vCIe&HzbOOJX+s(f+euA!4xqQG)Cv(?jri zvi|3J5~3P7Pr@S!*D7WII8Sax)h|(@?|q2}gKep~S~q{)=h=`8umiFQA;N0ROw@tg=v`XH`i{U0 zJTg+)MmSc9!uu|(?=S}o6MgM+xVs+;r2b*slVz3%BpNY6-q}yr#%j>va+HFG5+q_f zCo{qj=Y>z%4I-AZlg7H-jOEYZ60lRKM}4w7DJV0-?{|{y+$|)E7a6HYB_xW!-MwgU<9#EfT_DysC*h@g ziHmw8nQQChvSKXW4s0EL=UjDt#Qc5^9Wk5L*{!$BGJ``q3_7*anI~EL6S0QgwnUe@ zw#zpxF7s+I`WCkO5rnz*W+i#K&UNcH4QNnhPH!1--PXHiQk3ejojulNGr!~&2(5z2 zZHpz)kw2oT>Y96`2KRI1h{hzN0v|;O;>}u%IEh2X}XOcbDMq!QDb|4Nh-RL- zd(WPEXXZQasXEpFl1dj{O{Mzkb=_;(p4vGsr4OH(%tg!enE=}zmN^&QoBKhRkZ#Ua zlGrwf$lOA84y?>*99KH&X=uw{G&AH)i=k%NpdQt!KYCP^4S*h1hvsDhh3&XBRoP!J zx*>hT*76V#Xekk}2WQB39R^Qd&)0S}=yU#Z5*Phvn-yF>VPVXCkUe1%$R>-h??ODE zZPt~JYD4uh8cZ8T&-fPTYqxX~6T|I2C|>iJbT2vqZK0tT*HG82$X+t3i0zywO3;nC zT)mj<=unweBnvNTDqaY>OknRiw4F{cq7~BYmQc-4|8N8fQX9Dvh2}dHnT_5T8H$;v znZ|g4WlxobF_-tPPT7V`JI#L6gyJ8p!^0e%$M3KFWc-0G;arD<4la(rhQFqF+@d{Y z&g6&f-_9HZG(?tI5{WTkK#WNPV$4c23T%=<{EA7&W`L}FZ81pQIBj@*>kq9Aps#5) z|BzYt!Ne;z)UYJl z)Y(xo3y1L%!-5csomq5$fiqp; z6kStjF6Mh&M$r|WM2NpMx^srvw)JjQI}w#!nC<4Ui2XFW#hy@DDpYY9Pc5*TkRcjQ zMd4f!T+9iV*toR+2rDynWtI>UQ(T-B-r-+HQg#38sIkoNR*a{>=PM(2ts)hg5dw!V z7F@9_jjp6tqDUL*ob3Z6^V|>feE)-jr@nslOr6IPgQ%p~r zT2HH&&Vg-)+BO$H!5#5>DSS>xTSwbwwRP7dP^RjfeX0PxV5k^msrQRG;#H1DXt5sN zLFU)J{^idZ5kWh{3wxn0tWLx%D#|m;Gcursh@`aXb|BDW&4pt-^7{t+)#eU5{?bZVv0f`FO1b*!9 z6zreE*jWeXNR-oayq6Z77KuKHeU&)u)g4 z0w!Be5d(@Inw||g94~X?uZGq2a(wRuF0og%3kfQC?RVT|q^bh$4**$8i8>UO9wmb} z!F$t(H_p~!Hg8}CYA7eH_|VQm1zuqGe5qXxXvUtKscUVuXi?`bBv~&&1FPHgwXBJAWxoJbtme;ru&XYS)G8>Q*MKJp)>N=#3LQb@{-jvb5xDWT z9^z2ZVx_c|o=l3zvYXNn^mPJ`3h;G89uM(IfyNJp7R;|-^kCBuYb-<$Kdb~`an*kW zhstHrQBQ>rV6MANzSYT%{%{|xI$aQw)zR6}xmj(qG0-~u0_(TxD%lIDt^p{Scw(!7 z>N-DJ1X5kyg8o%?^#G}^x4%_ayML&zRB(T)u71y|s~t#n<;Q3BsAC=7RgWtAFRJTC z)vJHGiR4LYp_kP{h;|lsrP*;3y;+QvrfGgZ!MsstcK&uk4byUwA6x%2+hB;m&EhM) zf$c(K%LN~+wQnJs+JISG2(WSf{-)%=iLPsa=&EZ^_di9~9I-9?Ys-6PuO~zJzY`_r zZ=(FOVbw`Sx}#93q-mNU3;$+_`_JU^{N$?gX6oup3fHO!e zP=WG*tRxabhPs=LEV8Iz8$V5)8OFsdKU{ndNyg#J@6Mdb%$1!5z1xGkh^K0FM}B>` zCa`0W!01Ao$6PGU_70v!7f?_9ID1;s!&B&ubqeBBn1Irq#}}GdMs=&9Mz!${|~|C z_T2{JVlxIGo(eJKDbrRv+Xh_LQT}J{~P@?Dbvo{+%ef z{}WNdwEQbko=+m&p0T%&dcV}tgroriavG2;8~@#EMaoTX0?Ej;tL|7h+n+~`L(Za7 z5Eed8H@$|nlT`&G6y99lXbNW!E;|<&6xEqWv2gANVF`Y>sPH0*>*<*4?qIZ`rl=CAB znt*{WzlTbv$SS@2jGlpXeeAtH8Cy;V0#LCU`CPI30aTwe{`22Pmn3{Pt;9P2FBUn% z{X2S)3jce*>PJv_jz7kNGY@XX&2Q5+`=3qMUpd6*AJ}yy1auTG&+X20J(?pt7vNlL zlUg&*D)-xq%>&LMYreU}dmXo1kQiy6iN#CaqMCh7dZN0xF5CO%>hTt}p##$t-t?P> z&;WhGfs&{Bh~-Te^#Sd?gwKSL!$)&Z5|6-+!5q#|#H8@X70bqmfvgj1%h8)9ZiAKX zS5*~<_`(^FIvDjcBa5VDxP0UUQ1JLW_Q(e(1=st73eFy^{{)=?{rD3ky+&j9m5Fgd<~nm5W)0Ni|xXSk9MadOzaSl^oXNQc5hq zRW0l9#_6FV&;xjuJF`Dj9;q~{y7%N=A@eb`r?;wWctosfZ`GacoUL`Z54@X{=R3ur z8o17E)t`GY=|g(7maP13O!q3gOW2f0@df*_X%s_Z$oxpQEs=lt0b?@IvY0By=DFgo2;$!DERLZd}ypX0tcGYQ;tq z1^r)(9FhHfwI#MUyaY2<1nobfo(opLTDC4Aa@55LFOA$1qkbNw(_@(ks#-C=Af)gZZTo!IkW+~C)I z!L(Wzv8ku#c4C?VG^JQlis-|k#(ubluN}f`-;fbI=6UrfmS;G|69;tnj&()yma9#( zbe?X?625uGHIA5_?a~gPCLPe{hdz`H5JBaNp>J>ae$5pn>=g(jWX~5Uvhg({@tJP< z$lV<4?4sIfm$P4l&2lW0){{gJ-S6kzI0b{t%4d90Dp-p2)WtNOr*{;@ZJJe_@l$=k z5z74RV`HQje1!&-(m`ZFW0Rc{t*^29<#1JljFI_u}1nUA#=vuDeguTdv zM#=%i{;o)JX7Gtk+`VJ7t(&u4R>z^* z;Oix%muaQieqnOR6e$`a0NgbRPgr$j^dqgaau!gG(cQ#1|ByJp`@UhO4Op{xs|q$3 z>vT)RS|3bM!XTUBJCa^}>9KJ;@9`xwby6H>v=xxiATFd@2|J#_VE6U$^*JD0F>Hq8 z=vw+N%HG#&3-ziefI4y4wkuDf%`?ffV~k!G;E-h^z6WzpX3w_0dt`tVv`wfMQHkihaz&x9B$%2j#N4IG&scgnZowr#(I8)G z1T?lzgdNG;zx$z~yqp_PjENn7GM?&cJbHm&f?X9p2_6o>tfFjK5!Sv-Sn0V#ZyGT(z%F`aJ*ZX^1TGVXNnD=tO0t5)2CRS4!PCdjx zxo7c*2Yu6~px;DF0QEF^sWIOA_P6doe1sHJad=NfALznzZT@ z_X`)UCE|jBOLS%>D$#}kZQKakp_-(!uoVbCGiM>)qHv|dW(9~vT z3W7kAU3*oG4=^qH#or-f$rNsHx^hP^X8&su-YptIt=(*XKS>2O;h-HZ?1f;IGD{_6 z%Bidzqg}U1S_31#qN=b5fm zF?+M23;2%}vrV6F5Mnje=>jw`#CIQMDmui$na^#9EXQWG(_;Gg?2<-kxB5+uBREk zpQQ*ui(A0X)8%6tXn%aXwSIqt-S{N~RZ{d5PTTbR9xId=dd)>TVrhHW%Q-Kh&`ip$ zvY-W9$@00A{iykw`Kuje@AEe}ThAKm4YJSLIu(|_|5AP#{BxH~LZ}%neC_He1aS_n z5nG1?$rAFIZOVCnMZ=#jF<(OxmW{*heQ$yVXP;Qxed_HSsZyM^RkXqB-MOGoV`_EF zn0sB_b=el#CW1Ju?zkbV|?XeVfGV!IF`_>_R^p$)ET+C@>wQiN?dK!^|GFHks z3gX*aeub}X5b(kkbY^{<5qJ=`HnJpeFoGE0k^MRguHook(pwNA)U(t&V_i|Qe~Eil zgKcvn=;}ruKJ&qJCR4B{Sy6hP#UUB!aP5N0fT7bHpi|x`)o(KlJcXha@NmoF+-r-D zn0IMro_0_aM*F@(%gX0iQvu!Hy-mctu7=SpUq#Z+1k z8(lNs+QsYgFy5Pz&fvXbr%{L;sGg@A(<()h)mbN4yS}YNRuy5)Sy=V;#zFL#Qq~MP zH{SyN?-s-3lP2vYW=GI%xRcn3R1?{KN`nHCUoCgkpFW%^xzOe&oDX8#8fj-;v>l>K zFSkA2m*4H2&53-QOK$Zad=ZIp63xl8=Yz3U@zbgEP$`jrq9Cm-B92f?7nRBK(|mCH zJzlVehW4knp$ATs$pWyDP?pP&poPd4;N~(pXACh={q1!?aRUw2iae>e%e^D8{;15y zf_(h~cqm}o1WR1cU`pBd~bWn`|LpJh}b0aVwvG^3g%_V7@1k-Z6IWtY8 zzqSfka=Z@OMx{AE<<6PKUzIVV*iRFsEKhR_d9F0hNx_(N3xUsw6IU2lV zLC@+3A39e_DGpg7=VaXCh+o&CT5%-hq2R=Ejcz5+CfBX_Vj91`n`8z7#FNi0I}d4d zX+4$SvaGc|5a(sY?m-KY)z1r&gup_icS~7JEIu=6AySOE49^0W;>6hccQQI9D7KU& zV@!0?b91nK(swD3#)kp}$homN#>^C$)3NE%Sq{+R;!fD+9+CBxd|?oOwz1xN-5s^w zT@7zd4sQ8h>Z37!g{0(Bk~G_mPm`xk;YzXVszQ^N<10Ez#@PKwhigvzqtnuo7oL{q zd&UJ&hwJP4YYyh(6f?BDN|i@8omf9+-1bVeGS>wRQ1m(_A(nep&rWoY{Ma*mibQQH z4;J73YJp9B!rGI5k*NbhS|A`$mA6&8ogM6bMHO&%DQDN_zJ}dI0#mR!-2*ziyojA> zz8lX%^5Ue*8fA_K-eFPDJN!HlIUV=KiRnlkG!UsN>H4d`suhilIy#knXHkGnc@j3P zb18mL4+Nub;IyfCj4T zy;9Fcz41ZWPNYfw7O|TO=e+FW0{L;U;tP*48_>$6xzXr;~lu zkB^xR*2{~?+w$WngtswwE*$AU!<5TXb}E^KgON!PJsM%K=>!gp zhE#xy%PT~um#>{H=8X+bF3R4Mg+sG)^`HpDr)J#PeT_ZE9r-*TqGonor+dl0Rx|jX zyG0Z?-p{=@zCDCVKa=|>e@*AXh&aS$Va@HEj z2MtDjHtK!m&vGx#_wL@-B)59B%|302;dSH%K*es?(+tw~s%#ChoFaBBjSjBi27H#| z+cd+7qR6(~np0r2?!t9tKk!%Zsdz$Jh(U6%u)wE&6(_defd8`xd-3dB&fo{&uUJwv1$X1X@o-Wfmn%Zw7ObrIO}m9t;kjeh-Em8DGXIx0Ua$Q;~L?TVb5!!-P(w4u4I`#j zF3^c8f%|aIef@=Ur^>omQ-`I!sp#1PkZLBw47R5TM@*SjH^!^D4x1^eeDqfgF`U$r ztIm|n8UFZQtv;)N3!y;56%&bST!_8tBc}umh2qiUAu*d>C-7#Dvxd*HXGpoFAjK{B zmo;54$v+XY!H3Mrq)Ai0@z_si41SZsxi*sjMzDM#;Kg#j7(bs1i~PG!ho-&4B%@rW zkq;#rp_}&*T{``pS;uL+PX{eC3>g>fBLZzJ7R?w}BM-$A_@CqdzRw>58 z_qRG@TJD5d8u#1MD4wq{F z4W|VG?|#TR7u!Lt?D;cFHaw%G)M=9CKTz^)3xtyW1b?7pfK^_uD$HkAYmCu~bpox# z%5+h#-P)J;lSU^L;ox6ZG_6j2g@;E~A84max}KOM-=@qqlgP{)n^9dUxoLiz_fV+F z&GMsD_66oYOe=u-5Al_`R8N+&*RvT)!2AcCwM#O-`bL_m^814k-Hj%F_X;sP$kQq^ zv7zC!b%z3~B*eJ@$qET)N@=^rYM%C(yC4r`D=8e&3gjXZ&89!MB10;*zSo9YUFFO- zEGjhD;-77;aN~;XQl#7wGfW@3szNASx4wEI`%SNk52L8TYQ=t%<1Q|6OZEW$%wh0W zO3E(SR!{)LZq$tYfbD1KKEGC+z8Xa9>Q_3ER>AgijfzXfm+s7tLNI0N9zA&7=E)?r zHkEYh*Pmgu{Q|f{cE^$$1c5H*+j3Y>DQ5I-?ClxeTg|#OFP8Q4Pj>eEuau)@Bwh51 zv6LZ5%Y4;mY&mz$DCgOJIMVCRyG64dOMX&CF%$CmX{eUB++6@&kWXqv6lj8K+mjLo zAEIQzE&??l9mZgTk~tMD_F46_>YYhl#*WEPU*#I0xYe}hipq;XyrT5zl|*z{c+a)T zaC*&_8&bL2ccG9h7`kyr_gkv_huX@SisbN2uV{Po~!U2+-8T9r*xpXd+h3>&LoUUK-zY}vR;xt?w8`P zgriV8<}jYTGR6$hUfWkwjKKiI0h{FovvM7=nrdcL$QI>P@pbnY~h@HrCCrLPP`1@VADJ%(NK`c8yA|X_mA2+ z{Y7ou4rc5rzUPJp#aNI9(z2P@Xo!WqhuWK?W@ux7mHP{~o=RUz;#3~luL~e6?w8ya z1jtuvnPXg0?h;t?NY;r}n<@Uw(BKvDp4@U)g4ZKMy@^S#mV% z+W_rNkI;~eVqtUc_lYhusi(9xb0>l`Rf)N`hhn;H%C9~^^pu|V^TH||Vzx!XZ-NXi z4^}NH_#JFs`dT*2yVe8Sky=sR5;q&gcWYr=sbAip+C?TO?m%HEXRZw1Zaz%n(|$j? zpmwswJH=O95p!ay8s~Z);~HZi!C-~F^dOQ1CGVj*8b^=F1^?piN1VZm692b;5sEkN zhK*fQF;z0;QGBrQX{*ouM4t2-u1btwd;^Vbt?kITVwv5+v1Q`>gul4(#5)~`DST4h z$m97C+<5K%&SMNn%@bSf6x-gds4G!xXOMOmQl-itBFq&<)Z^((DI1b!zpRiulV{&E zJC^wLi29*Is9GH(L_cWMY9#lTjjW`5539y-$eBECliZ1UT=6z&%lJt8#`uc>mI8%E z5VawJO^CoMe7$5rDpyrk+(3zd;cNcoSBACm^&h@hOgo70K&3{~)Ub-k)8;*+Cub+paX=0EZz;0=>g4M2Anh}I$`TkQ zfCq6L`U{{$v*0I;0s&N}Y)B|^WOBi_2CqKMN--J3h!r9C$-p0%n5^F>?+^Aqo=;u~ z$L+EB6iR`2pc`8(fEr#6-aTJp^57pMY`#3RBSa$b0_{aIqi+H)gT?h$^V45~EH+=k zauPbw`ty4EYgWoNXfLwwc`tH6mlN2Fgy90OMBkwq_}1^gPXR{(XP+RIOWqaf@mIxb zqjz2R4Bz2a`-ndX0zq?;WuUppFTh-6f7WaBJaUmC&|D-M@VPooSnR%9{r5j*{W$S( zaNJY)tHd-&X|FIPn6`PT{O#o~_hn^#%O zGWX2@b{g1+v++txniZsWKR(}L=IMOueZIwH>jC{3K%YDR!!~E{%<|!r2Tc4|8ZhzI zPnLKTJN3MYRyaD~R3x39^jTVk%XmJ-%CpCK95kHsttUWl59FlPo*pp;alV__PS>^N z)1bEY+TPp>t|-8uc_0RrqiyzO-xE{iO1^r%(1{nwP|#vyFsl`ciXkc$du~ONR%-e} zNZ0ziBQqEVm_jSq#rebOW!GZ(UVCq$H{}1CAycmqT(J3wxSONKVjtm(fES_wdLh3z zKo$z#P)u3@8z215U*}VJRGUo6#>3y$+{UoZo3^RoA^!k94-yt78--7r!?di~Axc=LsLw6cT(w z8WHY+W_o#}oQ(>FW1Elme}Iu8o|^0SFs=oRZ`xes@!X7FeHmrS9NgdTcAosU-!_Q* z66OU-PPWJc(+%0pw{g7`=%S)}oS)sXkuFoxDqZ?mX5|vAg+IjDvP4~O^H+0)*~fKo zGLRz_51TVZ@CD&Ebrs}>)iKNee?fBJ{b$`|Nft|(2>O7iiQ;@zZgCEMjj(Ei;wwUU z0lssHYDx^@eCJANzTU#MF=NaK1(~G#(rfEY#?B_+8=W`OTG!guXp@;Y zOv#oVo@;e|rm891?x13wnuVCCTs#mt3jp-kf;RsT%KIrS?0Xe4=a+|jH^DW^gEB<9 z*LUu#ZJy42pJjxM-L^#z*M8a9(P>qi`HAt5U)gr%>a15i_3M__5%LDSJ>DSHD1)s{ zW7a3o4_{=TW&Sz~)B&3&%w^ATq*D?geX(z`sp(R)g&8TVCQeTba}FtVgaWv&0@taf|q?34qVM7Nm8 zo;9p5wxjOMf)-s(1^uXiCmMeAB1@NRv zSU@up9cf|`nf9d67LTDaO$&sTs=#roa4T`)!{6mGd!tZly|+;F{Mt?G#PKkpITAWNwdH!mP%-vKFIS+_It$ z+Pp8OjKwOWjLOd_Y5Z?cl5houvp<&uhSh91ZG^H_GGM@3UrD_)MC^``?M28OBZws3 zo=Gx-vkM?ef$}s#UcZbUJ{3Co+i(CR*+^vGfk0C586;Ky29hz)AnBLduS|R6@E1sq zz$(zTgFx~U07>4?QfE8c_SY?5X%V@xo#w|ddW4%zYz93gc|#c(u-VoF*;%g=7)XsP zB89c)VCj7sOAPMp1I7PX1DV3@fbQ~aw|EWXHS*2lk(mBMf{W^f-CG?COYG{{Lvx_= zwY$pkyozk>X!fg2S)pG@LC)--=oBTk%KxIA(CmNN>5?%|%P~tv5Ls&y&v(EY#pNTK79|Ogs3l zyAg5SIx@%kQps3A80CxJia{gzNpROl5UP{ZYFI=aad58sfIL1JXA?E zgOq8vwbiYl=v4mMqn5`PN2gpv8&s=6K9I}*nzSNhMv=)5$c}fWpn{f%7F)H8x4T3$DMQW4WJ)=XYz}lK0w1^(KL_UJ|fP zFTzJFrAHk-#afAkN2g$26lHd6Yq`74A!xRY zzxkp)7G=KJ<)ubaDGxOdT(J06JM9_^_k@Mxg>lez-TSAU&D*b(Nc?oVcXzyJA20JK@&giy9 zdsORXn=Txvzo$3hTtO0#3!^EI%0WI3S_z+R`|-g+XkqvB*i{!BvCY~;KNbqxwb9O$ zdGbRsRuB#9)`+w1?1J|)`nc(Namx#_vNx#J@mO>|ddTjvFBajkzPJiHk>?YJGRKnp zCQ!#alc8lL^za=lOC1RqU!!ZsyB44Nz9 zx9eP_KTxM>7sFdtThM*&iZ16>ftZDuorkGA7+G7ya$j@hc~faD8cbW0i=lJ@wiik7 z5EV>6i$Kk`zp5%AVIRXPF#~JoS%~;^0SNQ_eIiCo#d;wT+MyvTbgmZt5awcQRFG{B z1sPsA8K$`?e(TT*9sa(Xr!y00;p%|`&(eJ5g`>k(bDyQESZ+2y^RkJ-5!%(s^O{D7>4RYCj zT76>GOwbK@(;z-9vshND%gB5!@~IxH$Liy8#4GM*PUP){mj!5*>O+al%P|(IakD*w z$~$>zmhZ$* zAiO1zH!_dR6uwi$tUx)PN^UdZh(Y42Q^T^$vy@oAB}%RDlz&y8rw!6zZ#}LYfoYJ- zhb`+xnXFM>_>tay0u4%=ypZ6b9aWe-9QzGmKXUuai&(Zr1IzUDWB70%Q~e*j>kd2w zo?H>j@6I~BA-jPO(|W6)JbwVoAjhC(kOFFl55KSwd3D1Gy!6nILwWqQd6u|6>@MWj zePlon#b1->rXDbv2>i#MrWjTG|ZfUw7Y;0|Tk_4WF67(c-@Wqmi$obEGujudbnWe@X z?@wsKWcFXRjcU)lby+=I|Gf=j=2ti_UE0O{S!!X{@g)VaasXhW7?vCfAC_v~KkcY=Z zTg~Osf0DQ__T##1Rij^14I9+pGZijQgx%F%$j8trgKb453*c)J2w#6!_|yZ1uLaMA zuZOS!pu$%wt2K61VqiS71ZNCxtXRtdUYg-h+l$BZ(*7q=YqGc7rDYu_YAL>etMvbd z96Lq%`_E97X|qGT-Zsm&6tJrnpyD>h)*EPE5VI0AZeB4xeH=@S?NXV;4Mu^7_~h{` z_KD@07!6*1sr)-J&Li|e{u43w7XBtiFPAAvmF8z+>@55t^6!Xoi<9>f1*=qZ&1pVZ z@3MQ$77mg6h{ct6Gb%0SUO6JC`Oq%48#Vzdx6J>FCrQNoX7p80Zm0qASK5QVafOeG zs=4$(OI{*FWfQsis-VN?PBbg)6Rl0c6;z;egnZ9pxKTb?9?}lDfH?bRklu3Ku18To za3=OP{gUj*udt`Wi|emzF@OQ9*w8^?4lmZDA>8FUv|#BrBQSp|@^Rv$gYtEJ+L&Vb zMd&FiJYzT(JzF{>c37by8!4RW=9{x+gs*m{m~)JdGWR+@u051o<}6CCv|ue1xsOZ-bB4vVSj zuHb0swx9apn4g_k49bA{$UA5*VJslkVX1;0#eG|4B3mQ>Nhj~~TneKI9Yy7@mn9KJ z`NGzCMx!je&G_A2;d$?A8k8l9X_+}?>JyR9Rh#46uik%~IAw$PK;<(evbx}2+*(k; zJ0Z`K+I+e2=D#2#j0KZ|k>qPQue2{^TAvgNugPabGF@fAQnby zTrIg?8%VXJUGmd%&v*wN#1QAl>K6YSYUGHIz&TTmWnEjC8WU@Y%No6>FxU)~Bx|QqUlHd#jC?!wRrJ`J;S{pH%veTBl1rYm@Y(=M<(FK_ zJc=zuNEd{xuS%xsFAnC2WsAow-_bV)d^scyyvpB>?e3tK0`j4ya+wi{&ZhqoQ z`i@d-g??j%W^{r)Jrs|W>z-Quu|G~aRll9~V-9C~2NTv8U_7$m)|>07R>JThqGpUd zoANe6oG+uVChfiTRkOnVi<&*E?L}xi_p91U&n&pv)0-Pe$$49=q6H8Czw=#0&4a0=d+&%G8^W z#HnwcwFpJH!di6c*SBoXXau)~-lejFshtU*?29ig8#aCq{gSKI*TH9rrTqnmIDByf zi_oO|K7FbZt^D0Ra+hFSU@P8fo@RlQku}8(X4$aF#=F~_dOJ*@@->xm_q%HGdPaF8 zdsma+qAF1N8h;!V+*qynCB+Hq$03GN1y@~RDmgnbGFNQbPk$g6*cKM}$tb_zy@8)ZyZ97%gz>dsI)v8M{dn1kH+U99RHX^Uu*{5Logze$+ z2QDW(`h52LfQI=9b7#sSti*kPmG^`*H~pi8Y?|KNAnQrrGQhvL(c%| zTd=)f7+PVF(n03r$86Ki`^1|5d}^JIt7ha#4%Lrue__$J;JE4`$i8QY&GRXGHNy~r z{gL#!zK7_!zNfrvVdg-3{x?Q$7$++*Zb9o^13_dIb+_&eVu*k3D18icXxBrt?uSf= z$CO5}kClitFNd$l0bzDKBeBZrA+>@$Up>4jo9bI{Zaxdgs*kjPb8I&l#WCpsQ&&I> zcu9gQ0a}m{cBx{*ybkQ=j@FLWOIzzfdElhdCEMe8e!+RL}2HW|noG zauaDLdAYeYrC~t_=8M05gtRH#R+t`P(${A1LE50k3M#u3TWUaDy|FXvzaa18V_gd? zA53oW=_y~L6a4M22K)^jYn7D;%6SdN22hW4T- zP+K+C9Mcs^%cq;<1C+#Ew6=%&o82Gc-CyD({ZXoE0wB;J(H4TcU(0NOxG_Ba3e)IV zDYC7A#*8_0j$|%D1-CRvWp;oQt~G#cYNOnHc?VxZbTm^6tA1WC?@qcII6+adDnA=I;-zRY+V$! z5N3V*%2(kch_USC8`y(eUCEWqy9I@T7i%J6Vp>rT9E77@HIW}T`tzs3wY@$j=far< z-rPKH;sGO#pGYk*B02&w>)mm={8hmw(R_{dU{EmGq8Y+SiD0gdXpAQmWKmt@JUBU2 z(M-`*p5z*?YK(Qh0l$;Sh~LR0mGBo6AbH#u1B`%;ya$1QO&%9O$z#HE@(B62-o6Jso@@hfpa!5+rxT2Z7FKA{%O(>Q)g zZV8E|S#6RgAKTzi3_B_Q2>z2r7VCD=^%j0ViF?Z^DF^nj~PHc4_d^) zpV_19pV{L;qZ_lAJ48w4j2vj(_pPZ1Wg`3 zj~;sSJ#gYeZ4qU9W=ey_0STrUD8bAVpp`%LF9yyj%XUzIQ)Iv(8-$DA=&>gtpngNo zqD4M_0X!7YxnFAq{Nl2rw5;o7RWq z7jr*zBBIdaQj008pTah*At`Baa!;PGDW#ZY(PZUX zit@);uRZ;pAaE=jG*bGZ(;dg#R&ZFmK*V<6IF*O7UPgxxNRrLK%ZvAkHye>|YPRET zeoFTYspKZkmjaJQ1G3@g&5$xG!vmeAdeCM_Q}StNjIKL{uq-jF*hF)nMMVKBMqn$= zOb?hWnCu0_k3Pai+lQlOt1}#Ja zQ2$GPHP+`@UmYig5kAkI3tZ)C9e9H{-k;Dyu~!OHe9+I@9?TgHQ6Ep-`+b@_Kw~`^ z3G@GnzG`&}3B?$zaHb?=P87xy>?x8o=5xv$x26Bs@M^$&in?i!p-?PZR+UNI{d(-m zk9g)cMUwv)iu4C4vij&<<{lZnchkCdk2i}q>NMgIOq}g$=Tlfh^5qcKxXpZ&Y%twp z*7VwBrpV^WxWX@pq%sYV%wbNAJMW|co)v9J~ z+BB#$6X!VYc?hWvIJt2BBhtv%rY;h4i)M&EtsV9@a#`@N1%o4gTroRp-jgmkX}Ht3 z;~jO=nVJgEOEYpRoUUp=%i_5qb3BmdKIqGJNqiZ=V!QFb&mEJrm#Up=4spe-kJ>W5 zIoxaS&zZy8+o=v0oUb5n6&wnJz1DdNk*MldF-s|vUto9=QE|fyBi%*e*O~48`XCCa zefX^>Ot$$I%QSF8>FH1KA)FxX5?3|-t%=j5}Wd{w0=u*9uNQl(ui+ZKVWQ> zA=vBiM6Z`pylvE*ZQL#He6T6HDjJY2Z!5PRh4vK>v|20_ZHk}5Oi`h^G}>W|_arP{ zu^n9^+p0(FB~^ZdP-V$*VTh!WG11Sh@;LlftxPF&IKS(=xl-x3F!(Y7+O*3zU#S06 z+9>07RV|Sbea*=vVZP|VwquAZ>4jeNeN|Tx&{iQr=8!>QqtkQP7|Q7ngpK^=>Vj<~ zJM@p=a8o8U9b{P8;9N(QW+hV1@_#xOTS6q1J z;>5Cj;FT0hji-&?w~_92)S$dP*SO z3{g9{Mq)I+!?oOa?{b#^w#K-xJob;~*V-4ypK;*^@aC*pXY6pkqqN#kJW<{?Kb(PY zLhpYxZw^VY(_X_@F9MLl~d-#%2?G;z^`}XlD>3}95?xDn$2r5TRerv-P zxP8Ry6`=YyT!2EW@mUq(4`1~`GqEIn``xbLU%u+Brq!aa@BqkH9r*35iaqf@WsL*a`l4->`#z$g}Bhqi%(70pt_ru5Vz(8C43$%ww zyT*BC=KY@d<={%BQ%q}=N|Nqh^{Exm9-(xR*izf!i?VO}%fh^>k3uJpfaC+#Tgnz4 z76*3r9fX(jv=ziiRsEZZ;c7z-W?@w22-^_7VnStn@`gZg!*@EK2U|!#D!M4L+0d=i zcHcSKlz$@_)U#Yk;iw^=4f|O)So;$#L~ghQXGSi@KT4ohR5%Osj}u7pe$`jwK?)AO z{>OjM8%5Vf{+2h&+G~1_stAX4>3MuLTAH)x3Es`0Ty^k8;lozS(Plf}Z*&YrIWZqg zg=+!IbhtWZwo?8*p?mEseLY5lU`ge4`cC+~BC}4m9&oBIRx}s9JuV=l z`$qKomj-#xFvIrh1B*Xy39v93`kEiAQ8X4J$4H|Yn4t)TU4#MG_?yW3^|#16ILb60 zE|-5wE2ZJr`Cm0;eDpu@5_xn(A z0(#N5{kUz*?-`n|bK;$UV`PEjZjWx)GGBH!DTMF~vZy=X2*H)!yO`I+7RSS1h$Ufd zKTLL15+mNB_0DhTdd+z}@PE=E75mIeVoQt~UOJogjY{h^UL2|hz>ooA5h+NY9y7>D zs%e5C&>_(m`nq3_K0_oZd@MNL#nwsE!D803Esdm~+83t}TlR*SuDa)Ou5!ZvKHS0{ z>zuaB<)j0=tAhdzl!94PA3c(wb659ph5cLsd$qfVBC&Mp>jO@CuoXg$rHZitWUnax z0%4HF#W%DLtd42kDobaqqqCXU_SX!8V-gi@xF0GT)=tSl4jO z0LRi!vD{ei{IwaH0!G;hF}X={6VljW1$L=J-Sh)H!xByAtT%9yoAIaMIkp#tLENBvoArIRUmTv&@=SIqIIfNnQ1rm|0TUT0>Zog$Mh<7`k(35!}_TA`jKbIpfoY)g-7VEFi?xwLpAym+oNZ{j^ z$hjoSvn$4B0TJ^y5Z#s3rO3F*AdKH71n36>0nsz*k*k*X2dN82_mekC|0WpF)U+f#a(+|`j$N8VNA7ku#UpzeTP6U9!4P~IwN#(L5 zGcD=2<3#7`#kXIYh@iC@9My>xPAbTs03FPn$dHBmyYtiAy2jfx1M`1OuM*;UX-@r- zUG*79{Bq07yw+4UTZ1VCE0nD!eSLHizUXwNeROnJi2Z-ok6|~64i`Tz5HALu;_II{ z15P!MSqIl==a|m=b)%xHN=Lu4z<*QfKX~h z&@CY>JY-vjZtOjW-wOkkQ+qBwBM*T!?Y?jkx)l6=8nlBg@dyKNfr2$^MRiW0FMR+`C8aEAnWBoat$bwHgb!5ADyQ*DlqQ|FCtTi&{2quk&+n#b!Nnj~ePElg z^JEP1vXC-+BmesZ7n)rFJ{wIkcsR%SCB4&}-&*5mw0X_wH1I6-z)?{K@m(-}!bH>&<=9Sn+ z^!KFi7hqsTduOMPP8_PnPb?BmWWFSXj=rq0G|rFK-Tq#K`MDSO{>)W}sF->&T z8oWqb`FdwPb&bMsn7#RIgdn;tpto7oewY)Vs)j=bpt=$W-}D#?PXw6gLl)yx8GC!h z(@}j986e@w<|7v8Ic_@AVFEbF+WfHiXD1ICTRKU{V}wjB#*#DcvR$>C8FwQK5lLXn z$Hs$y1y`pBzu$5D{IChw^tAb+;13F}QiRWjIH$x}Y6j%NjM$fZlSKZ_e_RLok7SbM z!};v!RE|C4=-GnE5=vCz`)S`hIqd>*Kv-9m9OlRz_rC9QJ~l_`PY&GN>_zDA=aOn%uEMb#n|JG|6FQu=J|qA7h0@nxQOf?{9Y zmeEMBY}752UOBN&$EU^C4lw!~-O+A-fx!5abxD#p`cu`i0$G-!K~1#`(3>!Zx*|@) zoc&WIYl@`(#p>bY!*S{wn9me1Q5|LO8sjf!(o60;6hDPXqTY$5Cl0Jm13|_cRkjXt z7m>3`>XTh0b^PZuf;PAbK=)BjjdnpLQrs8*p=r~aNwS!LS}t98f9+98g7=eIUIow< zC)&6wsZI--uw=PW%JTkX@#IZ_G1UaqicRPOhYr2o!P@BMx3Rki=Mu1(%5*6K<5Cma-P)(NDUsGQYCT^riwsx@y-LVz!B`Oh)0 z)tVbN@W@#PxSe7b$f6Q~TOdBEfju7gt!7%@Q&YgM#5Syy)4s=v6I>OlC;W=vLCk73 zN+v+DqVys_*1PKIie%bKjmrV_j39;}+~By0V{E2+0hym&LhE`DuDg|kL}UBy>Iorx z(&Songa$3WS)pcOmzK zUvhR7c*||Aso(&J4yHSLyV4Qmfi(3ks=0Hl(aP z$C)Y2`36{_#D83&+)JId%1AR4RO|n6?UshVn0RUFU9A=%Q}sRg`;M>63<##9+j^ce zuHp_P6Qgc)>!q&r*X>0v-wt5^rX)A3K}r$_FfaL3RQicsgdQg-&q?~l8#T%3`SQ2e zO5g`hpZe9?0uz)glWb3+V^c^?=}e0(aX5@^D)!}+ennX6ygs7PB15jylnd##<{@p1 z6hW5=tfjNC@FMW7_suH&D2B3vM*z?^gi@~a9;(J)odwg5wbs^usJOq+4UeL%h)dnB z^ETTsLz2g*05=6U-GiL7`msl2y!uUQ9))37K2dSY=MI+nZWmv|Pdh(ispzxRBz*9@ zkp5wK?Yqn_ZuS>Mwf$wzrm+XYR!IdwKTdQ0+ESIO#uvkqPr}u|Q`mqz~*+yky|DHM*bKO<}s(O{j80nhO zo8qN>gk|!;Jas~yFNe~q@$)YD`Paw=1drR3GcZ-u5=-+UDwrP%qP9*PIoaR1E6_dx zc&6*fLy)=k0H~I+ZbMfFdZ*s+ic12NMQ#fn!no16SX6ioeF=PIeL=}STv2P92~hmYA*#@KRbh(*LIAsN2U!ek}D{$&r>_>0?$N^d@_1Uc|AL z(DZoB2l9HJQF`5qjZK3x^^eQX2-N+zd_7UOhO~2a2?S> z%(?$Mu4)a$RjtbZA+CC}ddB^U?Xpw30UwP1%QNRF5PyUoo#n|s*`+)Avw6v?_ihqV zT3(6sQ1&8Fw1JHU2A6Bw`WxVhV8E5rlG&*4^zcKUuFmQ1{D=C#({c#^CKlb)#s9JA zNVHh(tCp;ux>UG?LI>#8C{U76j3VvLI#>MT5{MX-SsTOqA1E|H&(Vjo_2OzL=81&; zFLbMn_~B_wwZok?%LO-w)A_R{;0}kNJAl}&(E$t~b}J&xtt)G5U7Q!+{UwV=hI=%f zlj>+x_b9C?_|L@Z_h>b)yW1DU_=Sa}g_-{nSrz%uk=26_@P9>C@0QyIY47dtcK1>M z#TWR>B?OO>7+or2H<<|S*e(-`yc_w%!Z{=Xs->nmLkb021jthU#L=9nFRFXoCA!7> z?nvE```~+nUKjQ&jS6{YDEy&If(??G*iMUyt8*3+JXEe7l=MB*8i_p^I0@vAka)Pe zhAYPp{g#YNw^ghqEt5GH$J;&E9fs{0ZW?m^&c8EFQsVm0bgkD;F2J(kW9Gotk|Lz42}gB8AI>tlM z1H;ut>ksbu_CVGoAbKkair!|)T9NjAGmh;E6RSm6!i$_kekvpF{6S)_!-SB>o+tAo zeG+PtO#LPUYxU*X?{=dv^JJzS0h;;t|4uLR+b@PYJbW|~8;GU*%Fi96N~SgzOErq= zuhOktGGH5o6=+`PWfSCD8Ab#+jy&!Vov=Z)D#uP8FHAo3AyV_5<92+F#*M!;W{aA) zR`gx=e#OslnuSl|M8wUaL^b*p{S3n`R$&CS5bK$tO&@Q*r7&2yZTAK$tVE-%{n#c6 z*7MYpKa~HJx?C&qgWgU#9|u(cnblFlkv4h zcjNa5y?equ{3t|{)isX?bV~ZY7>ShSGW=u&`CIP%&P>(7zSY$17HAqp86k>|H&_GO z3&x|h7$Xtf-$M#gY9X@b{0ctjON0eVep4*dC|fM@L_Ht<97MP7|<@absZ{utJ|^?fO+Q(D2i zPv+e>w84;I(`)5{g2Kf(u02(!Dt5j>ZZ&&$&O~+i_U#V`jDEIndcOzQOUw9Ezq*^5 zcVv*@S%uQvW@oXuI>R*tnvT)`tES^-(ZkSRO-I!{r1IEz+PH3yO~(pQ(=oaIH18eX zBQOW^7cgh!4`9yizX5YN?~z-5e&~teZGW7MHd8oAH=C)Bu7J-&Dq|!R@%Z zwPGxvG4#dU$=Kl88@<*RJU)u{CZ@$s@{?`FJ~b}&-3RmCAtXCus-U(;aYcYpz$R#P z3Dm_45+XYpy=iT90)AE=mw?J67wao(oqiy_%1gmN>ExX+fgCiHc_pBW!cGHYef0jq zzG(AUL8=AKoe2DOA+aJ~Lp*$20RVAL_#rjSc@h&+2p=@mPNx3wCZSKj&gqli#nsSg zH_v+Zd!whW$LcKO$22ttlVz2}-cLdXIDdB@QRtCg6l*<5@H#M49lXeG21Qphj-60C z-)Uv4e!yo7+s|!hs5Sywj}Z5!S=QOzlGM$B^(f#f5^X%6t8t`UP#~oGy(=Y=w;?p= zvE~RGolFVgGM!af3@=aFUK7}8IX1~a)+skPqM?^lD^((p3)4imoi2+kc|U-p(6vW; zOzyTNt>)1xY%%O_EITmrPI%m|arKqOCp^8e872@e=XvO2Q(lfcedsx-(Nm<-M8C&gX;H+&u?v-|$ zd&0HFR)(A#gUvP!0b_=5E;Ln`I~}pwh1y@pd}ftKPQ6PO@?c94gxq`Wo9ZEPdZV_! z6?ulexq+~%w!}I&Xb2+ac!7vH>Hsn4*0BfTtmYcJu{s9uAc+%b5h^K2)sLRQu0S_L z4az}Z5~|zh!8#yEz`w~&QRlap$g|`GmnTBTY#}+MJuI}mWoI{Je$X3Ie)&T#pqhji z8O4Vxc=h{Ncl{wu^V3EUeKk|H^9$rWD7xANims*u(N+JIXXg1`Z)z2M&pO4|KFhTi zMSMTC!pR~oP+&!;10h)XMceELx1E{LN=*^n{w2D4@>_JZml5Yo!Bdu_*tb}3W*X5! z=Oo?E?!eJnn1|0+I?w?n_kB;Y5)`f>(0X1Zj@ zAg>15k`T(R{DRdO+42Qz$tdONnkapN)B?Q93P!j!J*VU==zHk<@&KnF)DkoKwlGf| za@1izoB5DmNtevEAm|pjf8V&i*^x-Nhpld9Tw#7~L~{Ph*OQDb=@ajOoJ zbH`;1K!K=a$VOe0snAiR45}omLIOQ>d>3g?Brk9=(HedW1=M*w6h*=IdF(vC0(Bmd zU!ZC!Whn-ka|Ux)<6_4>i;gFUOJX zpkfAa9EWWjTIEu7P2Y!n?8yFF!cgwk{k7l)OMn4FRZ-Z+%?+HSCvNny=P}rg`yl5R zl1rw=&|M9URO=bSQ;`sPtCvx`jncAxc|(PtT8WBuq_E9hoj24cdA8sl)HTYz<;xUEk!e?7*E-fKLt4 z=6O-7TPMTd>lLb2rU740nf+ji9vIo0Jh3&heRF!X)j60sc;W3k9hmc)P*0-bHDN}@ z7!q>r>L$T$|Et@rMNPxY*~VaXpcLegf17A6!R=sswt~xWn#yRwd9A^NKgw?O<;I!o zCKXYR|2Zum!eH??iO^1t8@={ud8p-CYR>EDD? z`+6&Hu7X`hE&TlLA+O8ok|~Gu>tE9~4WjNR?tQw8#f=4b0&{vrfk#0BI_UHBdqsw| zXcm?f<$&kygM>;zf=5M?!>sJga^-%bFS?SZ=k(k=9*Ld63Xi}_q>|X{={4~B4Pll& zw~coyk|03lz=&)4embOx z{7Mdqnm~!Sj6U&K2Mi5wAw9REX<3)16H=Utm1;6cJB zVB$66Xo+I)Rd$I^Bxw`9(|5ysMvtcT=?b%kCHGnfORKe;p|py*+DC>voRy%my7Ba- zLG!u>8Rw_h2C($Gai?*f2!?(STesXtA>ru7YvH-a>ne&>TtY3&-|qt(nK;okoUqHi z@Qpy7+W4JhjxCw{hDMg)V`mr&}qNVr?8mnR2GI@y_ZilHl55(UH$NNMZHyN z>~|8=Juzv}E0N$pUNjW>D&05Zb1t~|IzN8e*|U8>sdh3NDAjU}!ZE0R0!p=9QoomK z@u14aOM+g1QNEsd7^*{0V0&pj`p9CEf2fuJhdgwgY|5`%EekYxW&GS0sQ?dDT<%s| zh&Zz%45?XR5oDB=Kfv`}sHE=|I63zru)Xt29#=fnbC}gftKyma^Nwf z{kC@|FEe7I${p+UpXJ(qLyjxvn1&mD^S9u?<)Y&_Z=EG_&&CBiiB@W%PVQfe)j*g9q37y&t=0@^r(OD%Kj{m+_tJL;lptmq{&@td9 z^~H(A;D_5Q$E`*19K__b4-VEX4b6k|SUVrQdMPL5^m~u?#rw`Zy!n0b;ccbmL~pkwO{v-5Rahc+YkZ!xZrXp!GhaO8SQ}{~P{_0L zpEUqt(Vd96{}hW317guVr?`tJ#IzAVEp5+#u(V%zKOy%MIZ*R=^pof`-h5k?u9YhM zSG^YUuX-&oF!Ou876>%`$9nBY3wf~c*x~9KlE!|LH$}s zpkHfwd;Eqq9Ijrmo+BOi&CzflQI=i=be1%>ODF z?TK)Mi2G+Sdbs_WRP9TK3HmBfFk1UD7_CHw%~1AOuhsljuciJ~ukA1~)Ei{{d%c$R zv0i)jvtHW@)N9X+6L(tk6Ebh?V?XnuXhg8JRt)_YSYIe;HJ=MnEl@BTL)-uLi)0mi zv$HymfaPlx_1+`x0)Zn1lqstOYV_ZMOv($UNS2V@j3I!j9rU}YUF@MT9YmiJ zo^S+?CkjOCB`rehD%Ol3!H?$b>w7`f+J|gN_qNIPJ8{qnMJ}|_t2RpY{Ok~b$Hbm- zXXv)Vd7HpGon?o55%u0qS$g3ID&@H&rsDh#_SXR-uNEMv7}I$0P?6P5a_Jn2G}`|{qG)bjFaH0V7up1gITpZ`3i z*s$hV?}twdkcpq_QURr-&GY2^`ia|tbTnn_cfveg>ezE>^X``raG+|f=08+xS2T8| zNr@a0%*SRPvA#$@vA)hpPKek~+IBO=Nl{`%3wo9OypbADuChHZ+_>>N4k<-ShOde$wFkoF_6cC+voF9f5-tlTDu* z^t2i}nly_z!vA_>L{hqrRw1h`D#y|I3|S!`!l>*uT3Eg=zbWxgQ+x2)+Nb6*U>YVJ zn1&gRfYthA8m3UgX#`|xtNygKuX-yYK$i9{$kKj!`emA6_mi;*mv-Za{%)BzJ)vsw7gkP3+_b*Eu$PCwLSnK_=v>lDY zO*2$s%GrHEmiF}TmbMJY($>=fS=wJgmNsm_PfNSwr==bHZ~pV#PwYNlk;X7f!K5TFAJ==N*Ujjc#{i7xC8#i?iUOiPc`FdLw0 zm@!eYDZ?omV)+}2j(VtN$fUw=Zfz(l*DXB_6kU;3T5xZQX|4E#OLLz&6(10oA>|4# zeP@7>nS+9O0#Om@ylRDN>RBHiY#flk`knr}aB%6zAW8(31jnGDOvs5z$9z&ZK#)3`ZJOMnj~LdFlRM3noa z69EX5--lsro-$* zm}+pQ_)@GY8lwa;=@`)<=W zr7Xl;clyOP&ccdtT^H(walYidC0`}ksvLin=U?kE!Pb;6e}tor`kirFUBggzU5QrO zXlmWHRJhS)(G0bVP#f4- z9ir2eVwr3{5=WskKUW_k;Vp>xF6A7*GF_j{KbY_Ar|J%YjFCH4=;EE<-PNwZgpzO6 z_+;(7zBtaO#wUC@&~#7eDiHmY6Q=**{EBVn$2s}WiYQXdg-6LOIK8PzsV5Fzl|{E6D(zPi0qu@V4hecaA#{k!1tUfQ#)4# z%QBwWzZGqXxLyrbW$i6d6pChBJIgL|Ac;Akc<-x$L%$|6FwhI0Ec|Mq>`dGXoHN{N z{2VMjFE(A@s!xWe;_$T##hym?pN6aYmck(r(!P^iW+;)O)ki_P_mZs-pieHl4Y>Uj zmg6pqCA?RJ=mcDx!*RC2VCk2-c}&9^ir28Zrr|M(HHz|X>RP9PnC8@grsTnSYj5=x zZ@%)S6tP-m6t#B4>uCnkVqc$v5oQiYBw&d3H zuj3jV9F1kgpJYwVePb?@+DYbLT9ea!CWkBsM8$T??Vc3}!hZ zYd@D${Y8eu!}RDn=3iPeyD9r;Mtak;g&GUs{IcKflKk^bO#RoEt@*9?#-p{)#eX-x z$^T}2zh2T?2Ma|JOS!f5ZzXa_pw>VEF6oa^r)N8{*1elQln<(z!TyeF8qE0})#Tor z2mV{hmg=vP?PB7>{oAXfox7zU&`rSH%@WAeJd_pEeuHajfu`4jhj0n~)zgL*(d$;z zyh#l9&!HGY&}!-9ZmDYWChpx7`-y-P_3WUSJs}L;sJ3nfp=;<`U)-u>h+Dk#q|Yg! zEZ5$hhq#BhSNCK{h2$dOmq^Q8)`s%<$jy z-!~7t@yda-73Y-)H{=kI55464(rIlMGzJ+4BSfJ(BN^Qto&>YU1i^@_tvVS^_xrTO z(|ED^-Ny>Ybl6iusiSYIt1b^a- zjQ`x5DZ-op8oN9WLf?Mv&5-`p*fq10F{WX6HV3m*afW#39_e)2+P)jk{&s)a6_RXV ziWFYbx2iTKFyg{;>LaYi3al`*t*n*=6iugc38~a7qVI|7{>VlNAF-E6=X>H~lZ%TB znZXA;3r35qvic>!LqDIBe2iSD7*oiw?a6(zQMu+P6BA~&u-#w=7H7~{ER@u(HrIx> zsy0uJ$4~Ar&97EEbyytBs~nHG6mT<`pf|rg;)3DiV7Sjk^EgH2ASdL0%(l8sBGS)B z5~8F#GHi<|l2da*^PQ~_sp**^!`Syt!TKYa_By0v()(?2wp-VXe#A&|p}i7WkPmz_ z>tb?`@N0BNb@mYHDI`8G;oLFzsuy!Q_-S8A(dQ^C9jmgH+UZY@i+b>$kPtmZxS`G& zj~;qK2^hL%Wa_NK2y)>ptl>A1hi-5i#@1c&-M#Vx9a!QJNF~}P>L5h4_anG5LwZ*{ z#RzQ9khiJvaN-9C9dc>QL@%0j9;-73?9b#XViCz=_`MZK1}8}#AAH%lnyo`r*1+bM z8oi=q?0>xSK~n>1#Cb)M3UJV;M|Xg@^`1BHGd{&VU6Y@rU@Xn~CM|~eH2m8@1#iVc zdt~BLO(>0b2;yT!mb<#cE{?s1O)feMRUuqC+EjD7aObd=-;lg zFV0FzF^ROy^art?a8~QShvACO?!X8dx3a^emL8}A3xdK+<7%waUe()!54o?q8M*p) zW@~vz{=LzG=f3vh;`Oo0&%*A9kS&R$083Oc$nOn-sA}s12ws6WRw6seglR5=wx-1- zV^#xxotVnIPRV$DzMQcLSc)pLoF#|&igEe+r83V!+Egj8!;t)!HuVJ1PnB4SXM$!U zqS%jp>$ttr<#cC8h^ zn#}f^ysNEFjeRE;p#lmDvy0&wyG&H5|7@jMq@qO;@wx+7`N|;$Y#mbgh40yB zDyJNU%=yQaE4-4oZ8*yK!k6RbF)GYP@HIK!iA1)MF(jYijZeODp~-GrC_fK_Bac-> z>5j?fZ4B)Jv?;qe$U$Ga2m!Qd{pz-VpU1johLldZZC*GQC9PsU3gvduvu2|SaX6+T zzYdQ%M~cL^QTc1{qr_6x*lRwrio&J64|F;s14p~Wb4lrM-;M3hoLBKJW`09Uv(SCI zsM+cqbyqfRK>^t%ryt&xwh_l64`81RP*EHsNgy2b`^C2CYARo1dvIK&v7YB16UUsu zJ#S6Mx_4KXeJH<}w>8LbG{uN>yX5&#} zAHRH=t9+sNAunMneyPZ@X@4O8C8XjoI6hLns4NN*?j{%3W=5B_N?$(e0-k&Mk&X7= zKujNg>IVj&v7I-Fnks3FmnBfyP+D}0r07I6?cb=R3Gg=LU*H5_xNk3h8l~M~{#=Q$ z%9X-(kpo&Rb;!c&GCb~$;h}BJEa9nda2ziDctYV>-*tiSV&4v<;qe8BG3y5yR>s%7S$W`ozj-=fniWE0+?`jZxl|A!E0__$~V2O<*Fg%HKeAXl}w@ z)daRSWlU|6O-Y&Vk+E={aLmWMdy@J5=!LeX6U>KFbL=#5QEcmyLyRtfQj`s9kPL1U z)u?LJD35LfBG=il+f1)b-lgD~+rW9snKfY1LMa$QQ1n4dmMMu>pGn(*2NMx;K3m!5 zONUf}sXBw4I~kZ#z4u$ywe%fC+L*amRzcxGje2DUQ!dDdif_w8w{{&aAjM(1HmI>XV*t;$E?QhKwUTka}z15`Tq`J75MAZ!%=3IjhHh4#wL z10Pv|LVoCW$#hSc`?d&i(s|LND7p(EK;^*fV8xe^t!L+S z5I9&?;yqQVO&AfhaiZ$xRz_Ozi&vU&c1&lUnn4@DqeEM)AwOj`{zL@Dyb%1^wT0vd zm2be`QED!zo9w(oN`M@6s$y< zq+HA)W+X~%fFGVr?beH$uK)zHVJZ-ec3>)g#1Ga|UUm4cde^(Ca~25kPH`21;l~>{ za~_**+GO}FwYVxRVOOXYZN|YXznS(tcGmD_HH?96=)Xv_1BnP z$Lgm(#WJj+B>kyRs}+_1(5JqfkNUKNT4HxLAWOPXc|ab75{?C-gxz-GXbTtAj}LTS zC`yLYA-;NU0S+C;?fq)6L@$Oksk2Z;{l(90c3qeed)lqBcxKpq(pHqYGPNz%mwXBp zm*e&*2eN1pFFbZ?xNpA?(3Hf`uJpMiOfYk{tk)tYHdYjJt2>~?`A@TNXZ}SJwpN_o z3fRqoCHhj^oeD6ZNIye~DW@V3WJca0=H4vC{upLHm_QyqcYRF)JgSR}K_j@a!*acY z$dd37WVnQaJ-wV3_maq7^0>MIYP_EQpK-ZZ?ae_urs8gsixJ!%iwjQbyj~Ksa0rPk z+Jo?kRC?_Ahr;G@Q^Itx&|I$e4+ZUMr?8ID&aG)^p--LESLuWk^>^sHHA7m{a_9{1 zXCp5v3o}gaZO3cBMgb4}z>?|t99?!$kB-BKap5IcN$;QG>=V0U_HSATPa*CbGMYn| z%ih9BASB>$e1w)rzt(^jQNHjgi2hhdI? z_#);;{s5`eIp7OKK4y%MV>E(S!uo>3TaRNj2wC@D>|*9oYjoL!V%Mu@d%ZhSJjVBT zH?3EoHB)vm+nh(Ha3R1HW?O$UFTyf?CFb8rltb#^C5#Y?L-Nr>IQO8}$+K`@4O+bs z=0~6~4XDs-@Uzg{sC6}q@Jpx8#Z>O;3JM2=1c(Z6B79JPn6|m!t6b~|2&s61Lu}TO z@W&pFB;*GO?>`1jAsUL7D_4o+xY7Wuu=9_Md8SBQa#m?J8gf;KYgm&_Z2PlW#9bla zQwl}_KBZvkY4|!tiJqBeErn9*I`A`sWsldb=OTVdaet+>+xEn(t9QYAz{kwMKOe4K zCE{;faMLte%}1LdzQ6&MdJUYF+UCdY%jyaNDij#1giy_JDvBMU>7P`nWhiSe5rl9Y zijN*5p*xyR*Clp=tw$yZ;lO*L0KJ#TNgA~=fGnK(NES|f>OoHK^4#g#2P5~Vn)^BKuRVwBGA|{qYkIWGPAP5lIeYwI8m`#;+|cUMiRi7q zK=M0#61=mq!gnS864VO3uWjORO;>hh>@JK zZ*GAtYP({|r%C-->V;2|rk$1xK0I$okxrfc6viLlrm*G`SS-lP!;v6B++HU$G!x0Y z3q5v%3@aSnbL+?+@sML?F{#!+LY7>j5x2!o*92a4&AR%HBmB9?guIs-gN#aVzLeS= z`Sa(zSduv3iIeFl>})x&=^Jo)QQWys`L1Rk3%%6>3fx7Q;-p(J53ez_CK%QEyNxhi zFs!c{l>!HA@S-~f-+I8E0ts!n418i=(4=X8IxuOPT9*5%5WFV_WPL^-qXT5&2r4EE zInnl6bL>#{RpFTgI~yuRpWuz<0kbjO01`91ojGcz6xdHfWKSLTzFO~XQ6-c$O0fIZ z!O6|ni`^LLS?j^yu&eKF0gI-UE7Np%ohKGVar(z|b9MFh3-wputfAE$w;k$tsh;>K z%uSbiN=XpzKm&V$g%z8g0C14(wBaJ=*z#n&wtgIIU%86YRZkW24~W5YZ0*`A}R?8 zTt2qvFJ|U8d?~g;n_+D&cyvA=r6t+!8_=L>pgiMAl!JXS$L;E?r}QDRLBkNjr?YCk za2*O8V9+aF{Br&~7t>Xq5=7eUzW8r3J5hx{&Dt>wpv)?~HqmzodNy>1UMz!-=BWUz zsYZ!u2|8K4xR{9_F6jrYnu3Kh&?$=^d)|KKLSb)d@q{u`;59Ii*_{FV%GVd~P++^P z!-kKqGW?3C!KlgPB35rSxJL$V%9%sD!SgL~;p6~YMysfs2B9a9vP@LqpW4z((d_U? zGX9gGPH;Qy3BJH{1#;18dDtedVnACe;R~OQ^8(fnYt^MJgh`v-a15_A?7X8B61h(d4Ch-+_y*RMX<#_Y%;@}AuY6G&(?#eUGe zo!ZVr0h~{_A0jVPn7*_atFQ$&mg;3#V9w9_`ST{&fCAdnj{)srNqDCg+MI`(8{>NS z33V1Yaf;6rn%P7E2%r(y@?s}lHx4~Z)^(n~5bt`&?H$Y)*{|a_*7Ekm@z|0d?BAb0 zXl`hpdfVV44wTEZjf^RT$5lr@0dm?HAP>|H>B;dlRe4j%$HgFv;|s|mNn!ercfeMC zkrMP2g&-c4au1kic-S#*N#mrGT+^H@Y{3`&;)#PmzyjUTj6IYJ6l&BTeb>yz)vM7c zuBxBTim798Uy`5BP^`{)ld8dB@T8t2r~+-eRkDwHDpBUh18j064{9ieIp7DRjaQ^T zRpv;5EhFSZh0UBkFh^6@OU*shbrsQGD4nl#i|8g4>RXS0oaT^WWo1G=g-+E^3ebgF ztIVMv>B2hzT^K4Mev7$v+x5=okuL1vHC=4k5^aS$c25*Bj#?Wk9s&c_5#>Gbv3de-Q%{W|3PffqPJc_CE*M%1I!M7_f{YGr|kyboLdyVQImRj65s zmb(GWnG(Rif5-vmOks#3mca0#?Fq;O8eXkk^cI9TCJPefD@in=3qyGpZCy?tncQ7o ztkhjGdoA>^OlqxGX?bgntZq|uhA%yZj8g()*&~$!qYa(?;Y^{%02Yd|S*acr%tpda zD@#$KoH*v1;Jq7Gkps9;6DS1DM+}m1L9`Gy=wixIpO9GyhosF33!ml~$gfhmbdTzRno}rskKZG1u#Fe@v;n02V#o$k1SPv#B$%OV%ajfs4jWDd$kLm+@Xpnl))d?L^+?S zB2fo*EvS->!Hb_LG{NX00n9Dg?g-ZFC*&!g4Zzv%W%^+WwlDSd^Y|X+;n}Ld?mZuF zHJdzqGHdD&-iG7Oh++kd(VQg#ET{>0^Y`Q?iRSR7I7~n!dreCrwEWZ7er^gzKEI0M zhzFZx<+pvBrVwJIai1Elv-a<{Xf2HHVlY(*riL(8mwhMJ*2fqjTh7r9n0Wf!PnKSW z+=>*zEe*C{OcA3kZxl~Kr+^*LcFOZ$yQ@P;rKDzDGb@m$AXAXp2R1i(yN7F=uBv8} z&>5KzmeB3K_RAs<&-@hNrazaG?20SNzds>O|J0tUCdJ1WTqxQ2D^K9Jk+7=jaQv*$*+s#b^2YJF9kWC%!Mz&w(bHdU2mMkc9 z1zFr%p12kZxWdY{T%u_LAS<*}!m&V2we1g=_2n z@<%Jo>D=GsrR%@Q%WROmY;%8_00QZ(cgNcTGKAvR)2GmPfT=P`dwS%ggt7@&O~h>Jc|giTM|hWM%4F_ z$v?#Y4q-eX1c#VaB9)E=K;#&p zL+sb|{{?-A-->oog3xG4c4he9E zWhJgbqLNiC=UJ%U=KkJd_c)9b{pHOqeYY-X<5c|T#;H7&)2wEQD?L_YVTkfcMg1;W zx73Ik`Ia6|qod8ukAuQnSj#X#`~zb(=X1ZRzs^{uC_I0FhLH{d&@e7(I_WrrV>0&P zT-oeK$!lUk5y1qjTAM4orD5xOZYLGC|GRM+^PGF$y>PXW`+gh|mk0QuL9F2suyXI( z+^bJE>RzhhU?d5Ttl@M1r9V+oi|aIBXxL@Vvn*6(uQBbP-t8ACejSO_u5 z+{Cv5oif10se>h^;M?}{Ijr^e_!fj7`*o3(+@r#j46RrqF^je>mRrNlM+uBb&Zk&>Jn!%mqpkgd%L}kQ8dL0q zXkSk#1CiMi10UAj^52!E4WKMlUQuIb0j{MG$hCCS)fEEW^(!MvXg)1PIqT|7v`OWj z9JOH~lW?bJ8i7=02aF5>9G)>HB{XDpGB`aGn zYR)3dnEjqpyw`HrJ)_t;yYf$23DK+3T3Rn4+d7Z2->IRZW%Nu$si;S-pyD`sjJ6^Z zr3h`{-CQUGJ)S#BU0UA;(mOgQbjs2EiEs9LV-zk0x>q9@RU0WARd0w>cff-8qCL<2^`zKPj_=UKWr+hi>RK|QO z>!Jt-mk}#h{PRm|H2np@V$D!%i#g$iDpDl$f%OjROVehyobZ`xNV3O}HAq0K>D+ zeT|q^aLynncvLU#un_Fz9sczR-9B?bP z&(4=vM3E{O#N;UVv^v_DeV;nFws8DY4U$!{z{n!>tf z)_MIV6w#;TtND#a|Jue!p#1w;>3K0H{20V45wvNSy}qCt6gl8mWabFtPje#-Z+B#8 zsft#eWlfz7NUVf6Cu$>!n$R`3z=daQJd<{%7ov?OaWcL}Ob3i2Qtc`D3iD}aLZYayj{L4I<}USTcTCsytuI_o$Z{CNafthl;cD=Wx6Pvv zRmm18U#u(Bui^JZV;$jm`R! z6gxiaLpC8s*@}&n)Qy^*!>C7$$F~xKS(Mi<&hH`7aQpg)tX_w2IF0qppG~)EFY^OOHRzNgD zkwqK~|6$N~0x7v4x)mME*SbduMyHI+`@w!gHwaIh&ic#ycPR~ZK8=z{uG#bk$h1Gh zZd11`SUJiw0&3j=c=!wq7$f@Br4cCG6-(EvxQ6@cW${+EiCPyfjx%eN8+!C+vEr_P zQoMPA!Hep?5p2N^nV~R3<+eIIt+n<#H&=}>oE*;P9j)+lUV(i)nBecM3S`#-7o$Yw zR#M815E_0l2!Zoy6ply3vyghm>#{X~YSOpP`Ov(XYRtzgY+f~{8kSgGd&)@1_LB6Q zcLFMJPBep&3`83^%BCDO?q&96Fq>xwnZ*p4F7=fCvekI?)8#yU-JbR{{iVVfmndae z?9`sQt&&~i?psI=ZaG4t-eo(|z3EYaK-}Kz?2io)h|P|E&Y|PB>LZAeW<6mt3X? zWNX<#*;<$>94)P;meqw`Mj%@Y?3VcmfKjL4vOt-{v5sK9#98)qx%yrpTgq-3x@^d0qN0xcs4732#>+Dsjd# z0EjZz=kMiq0Bsr5kym)Q)qgQRI5v3U6pNI`bR^T}tpC{X_|J0X-i(4YcSuZ?O=7A-&FdsnX!h&Qj zjEvt)%F(vhRJxRbx?h>%fe{;BF&=lyVHRKt^_RX}b^B#qvN2t_o~_Zs95mm#^Kp5A zMr`n3@F@PI5chE)Q#g$vI)Ny}gqYa<91;>VKQY8t*ExxQ3e40N50+;9rrZ7q+@WM1 ziX$>HQE{0^4Dne8Isa9bVOT6V{_q-gP!k#EI5Hql1GBOR|F8xhV9NOJE;%v}yf4SD zox_|X0UKIs~#cud&D$@_-9X z=InL?h|Y8GETHLWlSO_v-t!$9(zI0^tb(~eZ({2LhQAeu?bbdymQZQ*($AvRX4E37 zKRgznh9EAsdue+miO+|r&T;_>p9WBez$7ZqtGBcbUaxk7<%xe8!rSpKfNjUB4^aoAKRB&g2q?0!Zm9>zoI%D*(q9 z7)5ol_=%X3d-ahf<&jA2Mv9r6jnBz*g4YrRhJepm!o+23y=kjqd)>J0<td{iAvLlSpiD-XTPc zB*etu&hYTU-BJD-|1dp#k$4;7=V-4nkC|y{)>FL4n=$p6 z(o-YE#2nKq3I-19^smaEi8}0!(IaEfB6cSeR4 z$Ap0)L8eCOik8Lw$kRl4i@PwSwI6^BN$t__xM(v0w*!NnwMBln=+P-S;Jh9}oq$X> zvds9PymO>FOm=ccn%CvLl215)2iMR)gycL~NqYbi*% zb~dd#Z0l&^>!m&ao5l>n4G2-Oa{P!!BnFXLg1l29>Qek8XSb-c`7TLlhpe|*O(Leq zzeGS8>o7+6;O(ezNvk>GFs!%4M~l%S;tIwI2LnbCLrrhNrkLQzSgbb?i%plcvJuRrO}vO@_>Q|4HPy9bLF4%)p8aIQ@-3-tbgmD z|0by%FMep{;AdZx?H_&3mkJ$ehauZ7=gsO&IcGRSf-#|qrYf|^cId;FqH}l7CQtLA zX~%RN28sf}ZgfUSw&~W6IT;t`WBDZdC3)!cL2b?9*?yp{iH!&kBx9$*#QRVf!dfe_ z7Gysl{lll^Cq0<__?*9X#p#Bc-fqBI8d0TMM`MOpk71F>s*qu#gKa5`Fv@*6*T?&= zOBLqEe4CSQu#H&qB+i^6C+MzliwHVP{Ke*)S9Q);LVvyXw)@y%CR;LwK?$%Drxi!u zNC!u!Zfn}dvZiHHkK0d})G=gOvZd-R?O0*g19RZZ`pFv-nQ0@_yo+&f&9?8ZZ%eb% zyy=uZ6&tclNK`-*^*!t`0llz3 z;$rnED@lLJ%0fU^;%uR=F$mD!YNbOI5VK74VHaGw<1WhH^er0;c)CMsBmv5@@Ed37 zDD$F>s>LHqYTK)kvZWaQl=R8jGkeJjQ?0IY948gq*1le4SN=xWx1`dN%HYjkpHw~z z-9!|iE`DAd?w)Y~o%zNYqEw8O+4oIPOSs2QPs@?hi6u(YN2}7VZmTY|uI!#M#c;YI z^mt=!BY7h8y2As|85SEI*ppwIBqZ8%dEt3wR~;UW#n z6#Uqahow+Qtzs@d5Le$b$|fG=P}mc0=Fz1VNmnA4RSo7DH~RF+laI- zV(a2hE+l?kPo72!?-YBx34GxxV7+@w%OV8d+8VQG^$yLBVkfoGKnE?j=8PKieQ;{H z4*~2%gwHUyssmLKi3G6s*_JXWM;C;X@Ge87upmHI*_(miTv!XD9=dtZV7{AE=8ew8 zVkE1sCb2~MO}W|EGEV)EI1ulL>%oGR=vb8Bb5M;rfv*gV5|{ESJf=grTFuiOrhmyu zFPMURh3n@9A5&?kEvYCexN`Wg6N#a?AmJO%I|f+9`Go0awtb17rR>I2u$mph0dM+gyX$d-#liA2W+P!T@k@L)ROkITUFsaK z8Cx*|OHr)cwn2$lUo*G_ln(@p_`$&;FbdTbI3_-E$`*&Z!eD^X8CNs zL=P)dsS~2FSLWTVBzuPp$548Y(Mw#C81}3jZVQXv6fy&DmXeV&`bh9&Um1DDid^|5 z=4%2RF2+(KoHQqi1K>8Mvf5b29HZPakTalAYN@aQ%|%& zdF}|oT7R9b)^RWMz1H*k$i4y;6CK*B`2~5!N%TXbNRv>kBc&4O|?WQv^g?y!RnBCcR_~v-P3e z3nE$Kr%v3`7G)&PoEY}x8hjYo)-J=|z8h8!&U9RHEDvBfGOr1eC!hm>uDgTw;0B@{R z4rD~iCunYyneTP?0qZ4)3a{x@2XU;{`G-Fz5iT9i1q^G?Or(|Z!Vh)t5}e7izwH!S zKP`rQ8~UYq&sJT13@W;IZuJ}c*3uJJh};snfXLCcvyiC}r;VN+oRpE@jmq$U7?qBG zZAZ@}lA=!RSOE#Y~C#{GRMLEm>@7f4B;$ zNqNP?A0aSHng@gAT2lAchk%&|G&Rp>7Yic04LBz@$p@fVkgnFOfu<%Bjfa1-er{|6 zv4{3(Jp9f@to6WZd@qZ<;=t*}@_kv|;Twz=NWS5;giB$R9x0iR3BhpE(OK5gLgIv{ zf?8DH<)dN2Tc+Z&vSWXhHOm&#r$K>LQE^4N?_)beuN)RO(k%UpfcN+px3c%2Ze{NW ztrXBp!=no`v%78&7PLaOn|z)$vI8Mn*kzDL6%Q?9p}-oC=I)c> z`Z>0`Q8l9_tIXZw{KSWRTTe2WDb_}|5*9AsK*=tSn7B=4#0cfBWR9LF4&VId zSaz+=j2#mDBDDVR#AKl0PcaF$SSrD+hdbyJd|;bbL@x}fef+VpjL@(aa^aR>ogZQL ztv7B%?Gg!^qkCZahyI69qWM^ukr$Hfg}RlIQ{RFQ-eq06C9&e7z)=%p{$Hw=y14uj zj<_E&PoxFRv=J(BWQRq`$s30!71l3iDsGj-vKr1!Kf%C%gkDLOgOCdRFT0j-0>aF1 zn>3HhmRl0ceC;4ZzS%~*AM)vuyyH0$i5>7qH@1pd^7Y7*-A>=G`)=ZR^>=$d0{X*Ajyhn2>?dO}7u3XKePELW_l*?Sx^Pu{Ii_Bz_x zY_M;mh{k+wvfIbrVS{{zfgq@TGpp&s8A7#pFgiqf;HBumG-?4LfK)r~hm>8eMYpF* z9N9v9j<^ZnHj-H8|EDCZ04NFT^;;4)_5~vtxfg7~Fw?>0XH^%UY`%kLTVAauElrQ$ zWlN&ShyA;|KyI9rtqh|2h!}%w`9}RYs8P?%gB4%p`lya2vVfHD&iQaAi&cag#qc#L zFIHH(v2V2Vdq(tttNUwg9OP%JFY~8p{F&d5yk}5asfnHV05kUb$J>rNDwk9=+x$snDVlS*&uUhHlUIjyaqvda?Gxg8qrR%3nQ8ydCOeLw(lX{NEi*eZaBw4Cp*JG!vf>_ZSk@ zQ&yQp3uQr1=^V%Gr(6V=qOc%y`jv%6gROQw8p}2xvjcn7GZaQXvNQL6~Xz$ zPZ?R?{J@x9KXN6{kKL-pq@IvtOUV{K8G7_B3qihRGO%!ico~!EWaCrr*+elL^caWr zE>;S!!O#cduvmH`Pn9y_2EUlJNxUXif(ABj3S9eiYNK&a`>882A9bambLctOd(6MZVZZ+shc)T_LzJf0(4vVnsBM|VlOq>16ZnFMPP0d}T;C6eAp0hkrTgN z@7X6mAo`VD$uO)oKKw&lu1P*6e$NqK8`1u@r+A~$vmQF8ywyj_%s z^e**H0Mv~~>Cp2@OPdK*6BHQL)Ry;_G;em52Op?$-y{k$p=L9PTr;;YZM<-o@RJ#F z?;ec6{CY^#bK=$5(J%i=-bA!1*~?>wd%p^o7;%1WoXB|9wSQT;K#Ac#KpKNxDvL_l;`M<`S3f9lMj9Yf=qp zrXCpm+d*@^l)aE(@~A=e75`aW!n*RGf;h#t={LsdNu&!_EOpY3E@{gFmLjCAY#in}oNGWC&(DV@+_qC0P#rp9YXD~j|SjoayVe* zOWmUeFVXPDa+zZrL*P9y^TQp%G3BPIcb!#8b(BS$m`~fESe4QEavs~Qs`DN5oY>A4 zI%thh0a0cwqJ-~^SNcG~QkiyQ7${h-!S5{S00yPk2JsevC*BtL@;a{=ek)j|O6Jj? zOb^M}RLN@tsY$|;Yz>4Ea-dzQ1+*(&SisUGK7HjuS=tuL{Z%G?F}yg}t0|TX`R-cJ zG5HP`?C_LM4oJeLFT0-bHi(4_y3pHufg?J6ENUi(at0jkEVgVB6{;*91PY8omI55fx8Q|ex6f3c)WNJk zC`ggxWhIp3UMtWi^p#J-D!lcNh#575%L)%6z?ldSX-RRCeiW6PfT;XfXMM}MmrN^N zHYQX@SHa%wZ8B-<&3ee~&Z9>bRaej~kNTbUQeSn*4^C049%C<6fA;W0HgB{_!~4r`BlFG@}skes=`4uJ_1B8>{22`<$(&7`@|myQjILe$A1l^_UlDF4y2m*uUyxX75>=ybfP%mKt8ihZqM?K_@=$T z=pycxYf1!Lfnop>PPZfsqK}DBqMTC5P1m$#BmUl!Fx!*H-r28RKtIfC6AB0Yn9BH#Y7O#h}+oWr6*KeUSF1TIZ*0|kW zZO1IWADEZp^CJ`CHjp0XB<}j$KP~N`rTm82WabTFSPUVr9GTAaGdnmAzoq4}2oLUu zYu6gbtw11liVpMYWsM=DX(ul!hwRg*U{&XjynSQyGZ~t;9uMWqy-#I>9MI`YF z{cE=}_HW(FpvWYDyZBf=jHLrJe9Enp_XI#3(>h)Oi}LL7a;CrcR{mCRpF;{Ti-6r5 z7mIiWF~dsUtZni`C~9GEcD=;RlPkAL0`3Y2C~!azF7|%-p5Q|TDpwYI=S}#GT?{Lq zuH20E7yQGX{Pu6`N%=1dd0PX%XT3L|Rwc)~!r+AatCAC=)2Qf{<_A}ge>5vU{fA~{ zLn=wyC+@SeeXQ@h~F#H}Th{e+tUK;;)}$PiKl+KH=Kl--q4rrSVZ5L0W-? zCVBVRNlnuocH700Rhy`_*1;{jOMV z)ORcKtqXQ%hY3VR*a;6^QHdGE@K~UT`xjOgyCczj2{|7X{ufquEt^u@xh`^W?4>uU zg=OEMA*?J)dN@7n8&S(m%Q&W^vHl5^bim90uWFSC)^R|;la@n)labahc@jg;jibCj}g`_a#MQL;JuVk~RG zele+~17FNbT>?#if{h!ho%s}k{6DgL5a7DV)3-om*-u6E{33H}n{1zKJ9q5cpFNUg zpYi2LSC)`2?YW8MysrC39mE+_@fDItpNSY8T$mmNmeod>qAS=S!@!s~dQW?Dv!`-j z)csALCm(*(lXxRgFUc`|o6qYT&TX+}rWf*3MCKuj_O){7URH5c`QN3Kou5Yh zs8K(9j~lV##ECZK-aj@tIMcr|mlWZkyttM(KhZy=7a7=|(KZaxEwcc=Y!~f@ca=onV*~>~0QTD%}_7uK-Y*l9eY*k`_T9rqTMZq9s zkK2siiEHyD=1_T&joBc*JnyTbcw~eIqh`)w! z=}3NOXzW5WHbXe6u)1N}e;$HTyUI+5QWoubt#t)fPUu|SBca;YEaAzNQDVJ4l2OPc zg83CL6D_+}q+>k22;ovZ)1km56MK;@V&jo0yQN5;(svy`kdr?^hPj-gaPrw`A&N`` zUf=8e7u|{35oNIitokQ5x=tx3t12b9W&lxE@=v0y-3yB-lWOdrQnLM@QnKlxD6OnK24c!?q8**x7hW8cUS8X{pA;rv2FJ(b5S~vi7rlI;L}9d_BLI?= z{(z(;UPRrPa`aZynJTm_&fL&QhU4eYUOk)i86h5r#2tf5Xwy*UcMRsSoId3n`_k4zYF^2#1yNV zW(g6sN`J@q#oqJ$J8^nYc`}I{6%6#>#mxHPltRQunKJFr-fGn=tC~{D^Xv@}oq#n-}{AbdjRx~z(2hRHvq6e+y zR}br;!5g(*JY^&~DQ6AMwa*y%R_yct^eCSc^Pr6RPZH-~t*KRfx~RZ@_RQ~16|H}b zFnMnbKLdYr;DjQxxo)Ni|M&4i2sH^`Tfd$^{Ym?mHwU0*Wx(H>l@(naAf_y8C%nzhwSY=u)BHXeJhb8$T+uR?C*L0U#dYCAEWNSwH)UTd`QS*g5 z+L8Oxrf*teAHlMR2I|RM=(x)(&zU1PCn5yfayPfwC#^o*v0o0v*f~@_%Op=_!kPVs zUlZ*Zg^PPpAd;Qv3};6%3Gw6gDg`rl0H*&x4ayLt1fGqeV?ob74jle(rWEVJ3>(>; zOghO<&pO8fBtTum9oWwsDYXr^PkZ{emD1Z}J*GtxdX4VWRl%huMP>Xc;n4VAZcb9< zh6<#6bf&0FP;G^Fea``c%KqM~qy~+odIj8xs${;48|9~|9ySGoI~HZx3d8}M zl3sIOM|Pu@=ou3z!_n#WdKTf`lnb}rI^kt`*LpE|EgDuyf9P=Uch&sMU8hm|a zBck28#nI^;8I#yafk!5^iGSo4*aW!69@qre3Fdstk3Ug8(Oxju?>jLzAs{MbW<=v; zLv17c7}203(+gR(`5QZcU$uQ4Hn;4x*a4#}?yZ}>IZ zRI2iiCG!o+4fXVt*hIy*yP%e`ij6x|vd#4cnIf~1lwrC8Bl&Fudc-$bh2=!M!h?52 zyNpst8Uh>WusILt23AVkMV~_g;bo?RzPxDEG@lY!8ixTenXk8%mg1FhBdn4ZzG^`eq}rvR_#`fBvK^)qI;nut1QWI5k&90pv; zf7+78u*Bb<)z`cap!$ZR(eDqTU1_~TjS-tS>)IEdQj) z#_a6ukTo0PtRc$#UY<(X47riu)hyYY6>pW|lf||vn!2yQGe>p_YU9&utf4;-^tK#W zovP(7w&Y5dXtLnY?s65aG?&)Hd4gQY)Y$0k(c2QEX&|5o!|j{hFa#Owx)inbSfV`J z{(mV^9&S{vgOsGzzg3b|x)k&O?GaCftIaRYW|bG0}B4{!2H;Wuw` zI1T+^5eSLGUEY8ORC61D3dwLNnFF7Nua2STueMQK5vD3OO?79@BK3hbWw320tz^g1aZ+87A?|L+MGUdD-Bf458bGp z1VA}68dq6gg0`5#DK^d4J~q}OaOx8Oz>`x70FnY)a_cJ>yz3=LE4jwqz5PFgWRfy< z0#}N)j|D|?wk!V%OVGCX!XI`f#_7Wq?*p838Lz9rf5qoXPB_&+baH%gbAOY!IP_nI zTvHYPCFFWfIOm=$ec*v;vB1f*wd73(@&o@`QSB;!r|t;3E!6&NMU|sKJbIqNz=ky} zJ#Z!oAjyKqLgueP{HSZ$aJZK_=s)O))BZm;Dfju(WIXI&x142Bm17KLL>sS+3jeph z_PEdMjy%GYQ?Sv>a`Ze5b!Ci{2c z)+R6~U25!x?!9Uzze&XWf2SYyLHg03n!MFl4dBQ<$9tXLrFmaAzETw~x_^!GKNSG1CzdDkhAV*T`-#U`8MlEaG>+5@KC;Njv4RnXc@&`MHMl52T%R{NGp-$Go zcB;#B&~|Fk-Z`^ccDxlhF+8`Jo4Z|4_uw=h>7CO>&dJgC+4i+OrpJxvt;4~A=xY6@ z6zbhqw`B6sv}J-F%6J$|HzKOWK4g3pBKF>j7{HGBt)sqi`Jg>1` z*a%*h2jaaff7~R|`Ne&u_{DvF{V&|tLX1ZRnf_BjB7hX6;AG+Q_`#^+f_?szNzRVa z0ni}H|A6HQ)FZ!44}*^0tZVv&6IwB#3I?Gx1`4&B5z`(a{l?@$p{T8RJwJ3!jFrAa zr}yeR_;T-S(`c52&hYz9#{C+uEW@OLV2oT(u;4CZz=wM1F?5jtjixSxMpJ(Pqp9XJ-~F%d*wc#F67)cM7o_>w@T{*Q$1v?+vm?(RmX0TC^tRgLn3{Haqj*#<~(6KsHsLt zx%_2X?9OK1LLZjS*uHUM9-UDRhNJzvd8B@X^SmFl#`5hrgp}Rm_3x&kWp7TD0dY9= zLYxpR-dRj4xW>tbtzX|zi1(?!-OhY=5P<8k!5c@NoU4DKN=(PO2$|^+B;lP6IVTD^ zhj|qqQg7Ej<1>DumGWwQpT6ssWm`B#tO@@Ft($dMK-OE~a!^6!ZIp1QC@I#mu9V;& zT}YM)*r~eK)M>x}t4V(=e7%Spr?Bif{~KAJ$cfcBRxd3%&b9oBiL$er$DC`05^zrf zij%~tL~kn?6u_GK+h-|HbHwm{m0(&t!yvr9!8D=-bpjJnJP7W`Q9V{px)+k2=sGk) zkXM4ygFhR;Cz9<<*F0AEFi`+I2HGY0;XnB@kS?%>ly*;^ z;Rh;7aiStiA%&f;+G>cOJoxwEy>6&#II(FpMSjU3_Hrl8Kj=I=qE#CSk=-fwtSz|V z-<4cF(D8-(Sn-d6#nkf2t{?BlInu#Nu16DtLGag~tw~hDsLOVvdqO#3`Q^LIopeG`{hq>h) zsB(VAT))cEdBrW5s_9^}RE`Pd(g|Q!LogI3etrXhUk&~Qzy4X89QdC~lUAZjqJKhq z>^*N*8g1<3_*NWM=Z;?}G^OL=wn2$2`1S}sA&T-8bW2mkr-XaH%C2tL0V7x|&FbUn z`^Rpo0xGaiV)RDk;c6u6(QuEc%auKgjn=!JN$>iH9JfaWDyd~E95{U3iIdt#viaS^r zFNoe#Zi5`jw$C6(as_ZChd+Y~lYx(pr1%ta!RM@Ewc(s{v1yB-YG`_kQMHWhoqw%N z);Dme{#lvCf&}wtr8cY$JC=H$vdTZuqldE!Ef(L&nan0wD6`?(d56m{hSs7}5QQ}B z$X5stpX6Fa4==g(%$XdRZJ4)C%29+g6fU=~#BVB;@=%)g`VR_WC($37wjy&xm zQmx^YQKe__jUWoo2Y|vODbFZ~^`ca`egiI!u=!40pxrQ|nXr&4I@wTR{( zp#omSQ|}x|b=cY($eGnf8%KvVP(w1~Rjcz@Hc}~n3~!utd#ZHC2_P30jn2J2@p&oK z<@7A!AXlxB=A?crM;62C7y!-4;}P%rrufWs%HF2XZxFq!qFB$EkV0aZJELcV`($y^ zRr`9g%FAgyIdScoHTZCOhgX3$*p&G`6oUc2)~+XO8Bz2)RNtFljXlU zf&I>Cmg@xJd~1DX=hdg?+5DnUvbR>K?_k_kVhTAioThFpGw<7YVLKMJcIZ?^lQQ@fl z*6mFPRmXnypK39)MXRJVZ{gnc3FQF+FVJ#x1-0BQS|kV_w1?g9a?W zQ(dNL|E3m&|5A$we7AOI>wAk49$(TPtp9;@W&az}wLzZqFQluksK%d2*I_=X!!*m7 z{jr-kO;`|HHWkE{O+_$~%6$3l1ds!!Q171>f|0yvLTe>so) z55gVFX-08%j?A2YuSJIUKGq^vly#m`_xiM(a)^r4{HYh+(*F#jDj&24Fha#0%#R*| z&^ZE}63&IO3c{*|s1)FRmak2-$z=vctzu8<|FslZ7H3)3TtPaJ^jYUl9o#j#ApMzf=%r8WIwfUAncpY`aE}qNR#Wnth8JYT;SK9F-9w$Dp z?IcY}KyV}s@6NZbXL2(fFA4QOR6O`OhccYM=QK99`j(y{;**%7heQTFIIhR4W#)uz zBx^3r!0JB3+%R@o%oiM^HJy$*Ta=^lG5P&yiJ_3&IOE!a+emqJBeFQIisJ0G+n4Pb zY&`x?L*;a~|G|9pjSSP4R3Q#>2P%9Il$M)l}1z?)m z=v<0zFlOYjv!qXB#CJC%_LsF9UZ~YNiL?ZSoNc^3o-5B7{> zHn4fBh!Wf2_5Pd+35Mys=vO`khC-Z7!SQqg`;#JRoSN*%SqQYA@gj(s{El*cp3pfT z+)?CvX3B3Xr2ZSs_0Y@kV?5A_ENE5(SfIamA{juP$R00=D4-K5c6xJ0kRU0i`a&_# z;qBl`s+(x|2Z~TX!XHU^)(CJ>O%OJo3roFhY%EK z+xFv?QSZ*$(uF!FwCZMp1jHC2%80ZsNrIS+(^?T*IaS1b*w4K`C*y{UJO~Y}G=2~b z{dh)FqWVsJ^D31}LBlmEFQvEWeHAtvUC5jsk&H``RLSgorAtj+qGdfZ+lXRC>bVZJag?!D^xAp4|T)$<44{W zBYOd!hb672FR)5Hu!luQ>0kMe`BFIP!SmMP1RFx; z%!z`D36aj;R5J?^+uIil3@sbHjFPT!_|D@pz0*eQBavaV#xs)ja{EH(gO~oKF5#*j zBkAm(29(=!Me7qE!u=qd?47MCrB~bOyk==y5my?!Hw23-(q(w^vxY>d4NVqleoTC= zU=`&eU&w*`8q@v-^L~`OsH=^|m;rO*Y>hlqv|;6tN=y4Q!)$!x8kiGfN~*wWIAfDY zvnHBFy#mB=ue0&|zEmFT2M9KVl;1IMsW2j1Foi`exaJnFQDis`Eod@+jMsX#n zKuaHQx|y&3WiG?#C)ipV&%mQ-&PwcFUb#2S5Z23_4M-6bRWNLN8Y z=Q4Ij94;(5k{ZhE0~r!uF}P6dPw?+z8zayb8QSG^RTe_8C&xo~-)1{ygc<#AK(cQUyIs0;6SvDB3raZ0eAR zD$e`bH5nwhC0p8=?S?1SUBpf%ECZXw+a4vVGCuse-Ua8Rg8Dk5Pp=@T7398(W-Zz= z*npwIWa@l}*q%5t$fV6fsVB^Rc3~(57g|R!d!va+xhB$GDB0Df%be(FP`nyB*w*`r zE3nYl*R5ej%cth4mWiO$M$i{dgDFRqL120bep$*szG$Qdp^bS2ThD~KxdRei_F{X< zBskdDJgKCGaymHK6a?HwrP`*0b&g6jpXSmTYhG`_e*FmtIzTH zZ$9=Toi{UmK!8%zO-xk$(u4Z0ePp2LhNEs>VH)B3wcT?;e09%dZB|IdI7I7Q>89{6 z-R5-4-?%09ZS4TKaHxgK{FDM8X0yozoGErm4V)C2fmPHRHw+`xGw6O2Xr5&JTA}y@ ziFSv|L?JYn-bB?PL%*1_l*DewsMmt0(`_5<LKM7&UQ4Y%}(018ZE77-z ztI_^KDCa0$@$j2Q4~?`8T8tC_kGErUdJNN}aEi&~8p$3I%z~XC^KsY8pUC2v)0h&$ zmAgM32E*J4kqUWFXLL8J1?x+KhN&WcdZ?5!IO&C^!t&8^MemFFkz8p}26I$r2t$&0 zi+YUs+)$or0J8Z5`0TVjF2;vGFFE`zB}k1<;hD&sAY^`<@D8xBgLCSrTCcB3HtmJV#x0oLG=3yB%b{`S&OMyLlmXQ6(h{b)j8@&W z({L(wP;%-x!VkuHmBhC_94ou*o=1E`EQwxV6kx%vT|!`IUg@0ZDwh#9j$qg480{ Date: Mon, 21 Nov 2022 15:08:49 +0100 Subject: [PATCH 19/20] [Files] Do not let the modal collapse (#145721) ## Summary * Added css to make the modal it's max height of `height: 75vh` * Added css to center position the loader `height: 100%` on the container ### Before https://user-images.githubusercontent.com/8155004/202712368-27a412a5-0fbe-4199-a1ca-2a3b542f4e91.mov ### After https://user-images.githubusercontent.com/8155004/202712389-71145027-d986-4d09-a4db-dbe1ccd3378e.mov --- .../file_picker/components/file_card.tsx | 4 ++++ .../components/file_picker/file_picker.scss | 8 -------- .../components/file_picker/file_picker.tsx | 19 +++++++++++++++++-- 3 files changed, 21 insertions(+), 10 deletions(-) delete mode 100644 src/plugins/files/public/components/file_picker/file_picker.scss diff --git a/src/plugins/files/public/components/file_picker/components/file_card.tsx b/src/plugins/files/public/components/file_picker/components/file_card.tsx index a50e031c1c25b..8e5730a9745ac 100644 --- a/src/plugins/files/public/components/file_picker/components/file_card.tsx +++ b/src/plugins/files/public/components/file_picker/components/file_card.tsx @@ -36,6 +36,10 @@ export const FileCard: FunctionComponent = ({ file }) => { title="" css={css` place-self: stretch; + > * { + // TODO: Once content no longer overflows card remove, i.e. once on @elastic/eui ^70.3.0 + width: 100%; + } `} paddingSize="s" selectable={{ diff --git a/src/plugins/files/public/components/file_picker/file_picker.scss b/src/plugins/files/public/components/file_picker/file_picker.scss deleted file mode 100644 index a7ec792564500..0000000000000 --- a/src/plugins/files/public/components/file_picker/file_picker.scss +++ /dev/null @@ -1,8 +0,0 @@ -.filesFilePicker--fixed { - @include euiBreakpoint('m', 'l', 'xl', 'xxl') { - width: 75vw; - .euiModal__flex { - height: 75vw; - } - } -} \ No newline at end of file diff --git a/src/plugins/files/public/components/file_picker/file_picker.tsx b/src/plugins/files/public/components/file_picker/file_picker.tsx index 9c9ae47811a11..434a0da9967a4 100644 --- a/src/plugins/files/public/components/file_picker/file_picker.tsx +++ b/src/plugins/files/public/components/file_picker/file_picker.tsx @@ -16,8 +16,10 @@ import { EuiLoadingSpinner, EuiSpacer, EuiFlexGroup, + useEuiTheme, } from '@elastic/eui'; +import { css } from '@emotion/react'; import type { DoneNotification } from '../upload_file'; import { useBehaviorSubject } from '../use_behavior_subject'; import { useFilePickerContext, FilePickerContext } from './context'; @@ -29,7 +31,6 @@ import { FileGrid } from './components/file_grid'; import { SearchField } from './components/search_field'; import { ModalFooter } from './components/modal_footer'; -import './file_picker.scss'; import { ClearFilterButton } from './components/clear_filter_button'; import type { FileJSON } from '../../../common'; @@ -66,6 +67,7 @@ type InnerProps = Required = ({ onClose, onDone, onUpload, multiple }) => { const { state, kind } = useFilePickerContext(); + const { euiTheme } = useEuiTheme(); const hasFiles = useBehaviorSubject(state.hasFiles$); const hasQuery = useBehaviorSubject(state.hasQuery$); @@ -84,6 +86,12 @@ const Component: FunctionComponent = ({ onClose, onDone, onUpload, m className="filesFilePicker filesFilePicker--fixed" maxWidth="75vw" onClose={onClose} + css={css` + @media screen and (min-width: ${euiTheme.breakpoint.l}px) { + width: 75vw; + height: 75vh; + } + `} > @@ -92,7 +100,14 @@ const Component: FunctionComponent<InnerProps> = ({ onClose, onDone, onUpload, m {isLoading ? ( <> <EuiModalBody> - <EuiFlexGroup justifyContent="center" alignItems="center" gutterSize="none"> + <EuiFlexGroup + css={css` + height: 100%; + `} + justifyContent="center" + alignItems="center" + gutterSize="none" + > <EuiLoadingSpinner data-test-subj="loadingSpinner" size="xl" /> </EuiFlexGroup> </EuiModalBody> From 80af40e3005527b948ba045eb5681024882f6310 Mon Sep 17 00:00:00 2001 From: Tomasz Ciecierski <tomasz.ciecierski@elastic.co> Date: Mon, 21 Nov 2022 15:25:43 +0100 Subject: [PATCH 20/20] [Osquery] Fix Global Packs (#145820) --- .../osquery/common/schemas/common/utils.ts | 2 +- .../osquery/public/packs/form/index.tsx | 5 +++++ .../packs/form/shards/pack_shards_field.tsx | 20 +++++++++++++++---- 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/x-pack/plugins/osquery/common/schemas/common/utils.ts b/x-pack/plugins/osquery/common/schemas/common/utils.ts index b6dec6a6f920d..2a9061507be46 100644 --- a/x-pack/plugins/osquery/common/schemas/common/utils.ts +++ b/x-pack/plugins/osquery/common/schemas/common/utils.ts @@ -84,7 +84,7 @@ export const convertShardsToArray = ( reduce( shards, (acc, value, key) => { - if (value) { + if (value != null) { acc.push({ policy: { key, diff --git a/x-pack/plugins/osquery/public/packs/form/index.tsx b/x-pack/plugins/osquery/public/packs/form/index.tsx index dc19739c32adf..e2a9a48612fcf 100644 --- a/x-pack/plugins/osquery/public/packs/form/index.tsx +++ b/x-pack/plugins/osquery/public/packs/form/index.tsx @@ -242,16 +242,19 @@ const PackFormComponent: React.FC<PackFormProps> = ({ <NameField euiFieldProps={euiFieldProps} /> </EuiFlexItem> </EuiFlexGroup> + <EuiSpacer size="m" /> <EuiFlexGroup> <EuiFlexItem> <DescriptionField euiFieldProps={euiFieldProps} /> </EuiFlexItem> </EuiFlexGroup> + <EuiSpacer size="m" /> <EuiFlexGroup> <PackTypeSelectable packType={packType} setPackType={changePackType} /> </EuiFlexGroup> + <EuiSpacer size="m" /> {packType === 'policy' && ( <> @@ -260,6 +263,7 @@ const PackFormComponent: React.FC<PackFormProps> = ({ <PolicyIdComboBoxField options={availableOptions} /> </EuiFlexItem> </EuiFlexGroup> + <EuiSpacer size="m" /> <EuiFlexGroup> <EuiFlexItem> @@ -274,6 +278,7 @@ const PackFormComponent: React.FC<PackFormProps> = ({ </StyledEuiAccordion> </EuiFlexItem> </EuiFlexGroup> + <EuiSpacer size="m" /> </> )} diff --git a/x-pack/plugins/osquery/public/packs/form/shards/pack_shards_field.tsx b/x-pack/plugins/osquery/public/packs/form/shards/pack_shards_field.tsx index c78d36f20aa19..ceb0ecab3fcdd 100644 --- a/x-pack/plugins/osquery/public/packs/form/shards/pack_shards_field.tsx +++ b/x-pack/plugins/osquery/public/packs/form/shards/pack_shards_field.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import React, { useEffect } from 'react'; +import React, { useEffect, useMemo } from 'react'; import type { InternalFieldErrors } from 'react-hook-form'; import { useFieldArray, useForm, useFormContext } from 'react-hook-form'; import type { EuiComboBoxOptionOption } from '@elastic/eui'; @@ -40,15 +40,26 @@ const PackShardsFieldComponent = ({ options }: PackShardsFieldProps) => { const rootShards = watchRoot('shards'); + const initialShardsArray = useMemo(() => { + const initialConvertedShards = convertShardsToArray(rootShards, agentPoliciesById); + if (!isEmpty(initialConvertedShards)) { + if (initialConvertedShards[initialConvertedShards.length - 1].policy.key) { + return [...initialConvertedShards, defaultShardData]; + } + + return initialConvertedShards; + } + + return [defaultShardData]; + }, [agentPoliciesById, rootShards]); + const { control, watch, getFieldState, formState, resetField, setValue } = useForm<{ shardsArray: ShardsArray; }>({ mode: 'all', shouldUnregister: true, defaultValues: { - shardsArray: !isEmpty(convertShardsToArray(rootShards, agentPoliciesById)) - ? [...convertShardsToArray(rootShards, agentPoliciesById), defaultShardData] - : [defaultShardData], + shardsArray: initialShardsArray, }, }); const { fields, remove, append } = useFieldArray({ @@ -108,6 +119,7 @@ const PackShardsFieldComponent = ({ options }: PackShardsFieldProps) => { control={control} options={options} /> + <EuiSpacer size="xs" /> </div> ))} </>