From 9d80b110f88b44f0bab60e60f1ddbf0f5d358a5f Mon Sep 17 00:00:00 2001 From: Nick Peihl Date: Wed, 6 Nov 2024 14:33:09 -0500 Subject: [PATCH 01/16] Generate OAS docs from Dashboards API --- .buildkite/scripts/steps/checks/capture_oas_snapshot.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/scripts/steps/checks/capture_oas_snapshot.sh b/.buildkite/scripts/steps/checks/capture_oas_snapshot.sh index 98a825919f077..a673086a6a31a 100755 --- a/.buildkite/scripts/steps/checks/capture_oas_snapshot.sh +++ b/.buildkite/scripts/steps/checks/capture_oas_snapshot.sh @@ -7,7 +7,7 @@ set -euo pipefail source .buildkite/scripts/common/util.sh echo --- Capture OAS snapshot -cmd="node scripts/capture_oas_snapshot --include-path /api/status --include-path /api/alerting/rule/ --include-path /api/alerting/rules --include-path /api/actions --include-path /api/security/role --include-path /api/spaces --include-path /api/fleet" +cmd="node scripts/capture_oas_snapshot --include-path /api/status --include-path /api/alerting/rule/ --include-path /api/alerting/rules --include-path /api/actions --include-path /api/security/role --include-path /api/spaces --include-path /api/fleet --include-path /api/dashboards" if is_pr && ! is_auto_commit_disabled; then cmd="$cmd --update" fi From 5a43d8f8739e791abff32fed0773866cbf09bf2a Mon Sep 17 00:00:00 2001 From: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Date: Fri, 8 Nov 2024 18:45:07 +0000 Subject: [PATCH 02/16] [CI] Auto-commit changed files from 'node scripts/capture_oas_snapshot --include-path /api/status --include-path /api/alerting/rule/ --include-path /api/alerting/rules --include-path /api/actions --include-path /api/security/role --include-path /api/spaces --include-path /api/fleet --include-path /api/dashboards --update' --- oas_docs/bundle.json | 3277 +++++++++++++++++++++++++++++++ oas_docs/bundle.serverless.json | 3277 +++++++++++++++++++++++++++++++ 2 files changed, 6554 insertions(+) diff --git a/oas_docs/bundle.json b/oas_docs/bundle.json index cb748564415c2..7ccef07cf7f19 100644 --- a/oas_docs/bundle.json +++ b/oas_docs/bundle.json @@ -5626,6 +5626,3280 @@ ] } }, + "/api/dashboards/dashboard": { + "get": { + "description": "This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.", + "operationId": "get-dashboards-dashboard", + "parameters": [ + { + "description": "The version of the API to use", + "in": "header", + "name": "elastic-api-version", + "schema": { + "default": "2023-10-31", + "enum": [ + "2023-10-31" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "default": 1, + "type": "number" + } + }, + { + "in": "query", + "name": "perPage", + "required": false, + "schema": { + "type": "number" + } + } + ], + "responses": { + "200": { + "content": { + "application/json; Elastic-Api-Version=2023-10-31": { + "schema": { + "additionalProperties": false, + "properties": { + "items": { + "items": { + "additionalProperties": true, + "properties": { + "attributes": { + "additionalProperties": false, + "properties": { + "description": { + "default": "", + "description": "A short description.", + "type": "string" + }, + "timeRestore": { + "default": false, + "description": "Whether to restore time upon viewing this dashboard", + "type": "boolean" + }, + "title": { + "description": "A human-readable title for the dashboard", + "type": "string" + } + }, + "required": [ + "title" + ], + "type": "object" + }, + "createdAt": { + "type": "string" + }, + "createdBy": { + "type": "string" + }, + "error": { + "additionalProperties": false, + "properties": { + "error": { + "type": "string" + }, + "message": { + "type": "string" + }, + "metadata": { + "additionalProperties": true, + "properties": {}, + "type": "object" + }, + "statusCode": { + "type": "number" + } + }, + "required": [ + "error", + "message", + "statusCode" + ], + "type": "object" + }, + "id": { + "type": "string" + }, + "managed": { + "type": "boolean" + }, + "namespaces": { + "items": { + "type": "string" + }, + "type": "array" + }, + "originId": { + "type": "string" + }, + "references": { + "items": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "name", + "type", + "id" + ], + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "updatedBy": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "required": [ + "id", + "type", + "attributes", + "references" + ], + "type": "object" + }, + "type": "array" + }, + "total": { + "type": "number" + } + }, + "required": [ + "items", + "total" + ], + "type": "object" + } + } + } + } + }, + "summary": "Get a list of dashboards.", + "tags": [ + "Dashboards" + ] + } + }, + "/api/dashboards/dashboard/{id}": { + "delete": { + "description": "This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.", + "operationId": "delete-dashboards-dashboard-id", + "parameters": [ + { + "description": "The version of the API to use", + "in": "header", + "name": "elastic-api-version", + "schema": { + "default": "2023-10-31", + "enum": [ + "2023-10-31" + ], + "type": "string" + } + }, + { + "description": "A required header to protect against CSRF attacks", + "in": "header", + "name": "kbn-xsrf", + "required": true, + "schema": { + "example": "true", + "type": "string" + } + }, + { + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": {}, + "summary": "Delete a dashboard.", + "tags": [ + "Dashboards" + ] + }, + "get": { + "description": "This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.", + "operationId": "get-dashboards-dashboard-id", + "parameters": [ + { + "description": "The version of the API to use", + "in": "header", + "name": "elastic-api-version", + "schema": { + "default": "2023-10-31", + "enum": [ + "2023-10-31" + ], + "type": "string" + } + }, + { + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json; Elastic-Api-Version=2023-10-31": { + "schema": { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": true, + "properties": { + "attributes": { + "additionalProperties": false, + "properties": { + "controlGroupInput": { + "additionalProperties": false, + "properties": { + "autoApplySelections": { + "default": true, + "description": "Show apply selections button in controls.", + "type": "boolean" + }, + "chainingSystem": { + "default": "HIERARCHICAL", + "description": "The chaining strategy for multiple controls. For example, \"HIERARCHICAL\" or \"NONE\".", + "enum": [ + "NONE", + "HIERARCHICAL" + ], + "type": "string" + }, + "controls": { + "default": [], + "description": "An array of control panels and their state in the control group.", + "items": { + "additionalProperties": true, + "properties": { + "controlConfig": { + "additionalProperties": {}, + "type": "object" + }, + "grow": { + "default": true, + "description": "Expand width of the control panel to fit available space.", + "type": "boolean" + }, + "id": { + "default": "32b28ffe-4df3-4257-a976-71ff7ba811b2", + "description": "The unique ID of the control.", + "type": "string" + }, + "order": { + "description": "The order of the control panel in the control group.", + "type": "number" + }, + "type": { + "description": "The type of the control panel.", + "type": "string" + }, + "width": { + "default": "medium", + "description": "Minimum width of the control panel in the control group.", + "enum": [ + "small", + "medium", + "large" + ], + "type": "string" + } + }, + "required": [ + "type", + "order" + ], + "type": "object" + }, + "type": "array" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "ignoreParentSettings": { + "additionalProperties": false, + "properties": { + "ignoreFilters": { + "default": false, + "description": "Ignore global filters in controls.", + "type": "boolean" + }, + "ignoreQuery": { + "default": false, + "description": "Ignore the global query bar in controls.", + "type": "boolean" + }, + "ignoreTimerange": { + "default": false, + "description": "Ignore the global time range in controls.", + "type": "boolean" + }, + "ignoreValidations": { + "default": false, + "description": "Ignore validations in controls.", + "type": "boolean" + } + }, + "type": "object" + }, + "labelPosition": { + "default": "oneLine", + "description": "Position of the labels for controls. For example, \"oneLine\", \"twoLine\".", + "enum": [ + "oneLine", + "twoLine" + ], + "type": "string" + } + }, + "required": [ + "ignoreParentSettings" + ], + "type": "object" + }, + "description": { + "default": "", + "description": "A short description.", + "type": "string" + }, + "kibanaSavedObjectMeta": { + "additionalProperties": false, + "default": {}, + "description": "A container for various metadata", + "properties": { + "searchSource": { + "additionalProperties": true, + "properties": { + "filter": { + "items": { + "additionalProperties": false, + "description": "A filter for the search source.", + "properties": { + "$state": { + "additionalProperties": false, + "properties": { + "store": { + "description": "Denote whether a filter is specific to an application's context (e.g. 'appState') or whether it should be applied globally (e.g. 'globalState').", + "enum": [ + "appState", + "globalState" + ], + "type": "string" + } + }, + "required": [ + "store" + ], + "type": "object" + }, + "meta": { + "additionalProperties": true, + "properties": { + "alias": { + "nullable": true, + "type": "string" + }, + "controlledBy": { + "type": "string" + }, + "disabled": { + "type": "boolean" + }, + "field": { + "type": "string" + }, + "group": { + "type": "string" + }, + "index": { + "type": "string" + }, + "isMultiIndex": { + "type": "boolean" + }, + "key": { + "type": "string" + }, + "negate": { + "type": "boolean" + }, + "params": {}, + "type": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [ + "params" + ], + "type": "object" + }, + "query": { + "additionalProperties": {}, + "type": "object" + } + }, + "required": [ + "meta" + ], + "type": "object" + }, + "type": "array" + }, + "query": { + "additionalProperties": false, + "properties": { + "language": { + "description": "The query language such as KQL or Lucene.", + "type": "string" + }, + "query": { + "anyOf": [ + { + "description": "A text-based query such as Kibana Query Language (KQL) or Lucene query language.", + "type": "string" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + } + }, + "required": [ + "query", + "language" + ], + "type": "object" + }, + "sort": { + "items": { + "additionalProperties": { + "anyOf": [ + { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "format": { + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "numeric_type": { + "enum": [ + "double", + "long", + "date", + "date_nanos" + ], + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + } + ] + }, + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "options": { + "additionalProperties": false, + "properties": { + "hidePanelTitles": { + "default": false, + "description": "Hide the panel titles in the dashboard.", + "type": "boolean" + }, + "syncColors": { + "default": true, + "description": "Synchronize colors between related panels in the dashboard.", + "type": "boolean" + }, + "syncCursor": { + "default": true, + "description": "Synchronize cursor position between related panels in the dashboard.", + "type": "boolean" + }, + "syncTooltips": { + "default": true, + "description": "Synchronize tooltips between related panels in the dashboard.", + "type": "boolean" + }, + "useMargins": { + "default": true, + "description": "Show margins between panels in the dashboard layout.", + "type": "boolean" + } + }, + "type": "object" + }, + "panels": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "gridData": { + "additionalProperties": false, + "properties": { + "h": { + "default": 15, + "description": "The height of the panel in grid units", + "minimum": 1, + "type": "number" + }, + "i": { + "default": "199505bf-cee4-4ba4-bf12-8dfff6d57d2e", + "description": "The unique identifier of the panel", + "type": "string" + }, + "w": { + "default": 24, + "description": "The width of the panel in grid units", + "maximum": 48, + "minimum": 1, + "type": "number" + }, + "x": { + "description": "The x coordinate of the panel in grid units", + "type": "number" + }, + "y": { + "description": "The y coordinate of the panel in grid units", + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "id": { + "description": "The saved object id for by reference panels", + "type": "string" + }, + "panelConfig": { + "additionalProperties": true, + "properties": { + "description": { + "description": "The description of the panel", + "type": "string" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "hidePanelTitles": { + "description": "Set to true to hide the panel title in its container.", + "type": "boolean" + }, + "savedObjectId": { + "description": "The unique id of the library item to construct the embeddable.", + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "version": { + "description": "The version of the embeddable in the panel.", + "type": "string" + } + }, + "type": "object" + }, + "panelIndex": { + "default": { + "ref": { + "path": [ + "gridData", + "i" + ] + } + }, + "description": "The unique ID of the panel.", + "type": "string" + }, + "panelRefName": { + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "type": { + "description": "The embeddable type", + "type": "string" + }, + "version": { + "deprecated": true, + "description": "The version was used to store Kibana version information from versions 7.3.0 -> 8.11.0. As of version 8.11.0, the versioning information is now per-embeddable-type and is stored on the embeddable's input. (panelConfig in this type).", + "type": "string" + } + }, + "required": [ + "panelConfig", + "type", + "gridData" + ], + "type": "object" + }, + "type": "array" + }, + "refreshInterval": { + "additionalProperties": false, + "description": "A container for various refresh interval settings", + "properties": { + "display": { + "deprecated": true, + "description": "A human-readable string indicating the refresh frequency. No longer used.", + "type": "string" + }, + "pause": { + "description": "Whether the refresh interval is set to be paused while viewing the dashboard.", + "type": "boolean" + }, + "section": { + "deprecated": true, + "description": "No longer used.", + "type": "number" + }, + "value": { + "description": "A numeric value indicating refresh frequency in milliseconds.", + "type": "number" + } + }, + "required": [ + "pause", + "value" + ], + "type": "object" + }, + "timeFrom": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "timeRestore": { + "default": false, + "description": "Whether to restore time upon viewing this dashboard", + "type": "boolean" + }, + "timeTo": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "title": { + "description": "A human-readable title for the dashboard", + "type": "string" + }, + "version": { + "deprecated": true, + "type": "number" + } + }, + "required": [ + "title", + "options" + ], + "type": "object" + }, + "createdAt": { + "type": "string" + }, + "createdBy": { + "type": "string" + }, + "error": { + "additionalProperties": false, + "properties": { + "error": { + "type": "string" + }, + "message": { + "type": "string" + }, + "metadata": { + "additionalProperties": true, + "properties": {}, + "type": "object" + }, + "statusCode": { + "type": "number" + } + }, + "required": [ + "error", + "message", + "statusCode" + ], + "type": "object" + }, + "id": { + "type": "string" + }, + "managed": { + "type": "boolean" + }, + "namespaces": { + "items": { + "type": "string" + }, + "type": "array" + }, + "originId": { + "type": "string" + }, + "references": { + "items": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "name", + "type", + "id" + ], + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "updatedBy": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "required": [ + "id", + "type", + "attributes", + "references" + ], + "type": "object" + }, + "meta": { + "additionalProperties": false, + "properties": { + "aliasPurpose": { + "enum": [ + "savedObjectConversion", + "savedObjectImport" + ], + "type": "string" + }, + "aliasTargetId": { + "type": "string" + }, + "outcome": { + "enum": [ + "exactMatch", + "aliasMatch", + "conflict" + ], + "type": "string" + } + }, + "required": [ + "outcome" + ], + "type": "object" + } + }, + "required": [ + "item", + "meta" + ], + "type": "object" + } + } + } + } + }, + "summary": "Get a dashboard.", + "tags": [ + "Dashboards" + ] + }, + "post": { + "description": "This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.", + "operationId": "post-dashboards-dashboard-id", + "parameters": [ + { + "description": "The version of the API to use", + "in": "header", + "name": "elastic-api-version", + "schema": { + "default": "2023-10-31", + "enum": [ + "2023-10-31" + ], + "type": "string" + } + }, + { + "description": "A required header to protect against CSRF attacks", + "in": "header", + "name": "kbn-xsrf", + "required": true, + "schema": { + "example": "true", + "type": "string" + } + }, + { + "in": "path", + "name": "id", + "required": false, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json; Elastic-Api-Version=2023-10-31": { + "schema": { + "additionalProperties": false, + "properties": { + "attributes": { + "additionalProperties": false, + "properties": { + "controlGroupInput": { + "additionalProperties": false, + "properties": { + "autoApplySelections": { + "default": true, + "description": "Show apply selections button in controls.", + "type": "boolean" + }, + "chainingSystem": { + "default": "HIERARCHICAL", + "description": "The chaining strategy for multiple controls. For example, \"HIERARCHICAL\" or \"NONE\".", + "enum": [ + "NONE", + "HIERARCHICAL" + ], + "type": "string" + }, + "controls": { + "default": [], + "description": "An array of control panels and their state in the control group.", + "items": { + "additionalProperties": true, + "properties": { + "controlConfig": { + "additionalProperties": {}, + "type": "object" + }, + "grow": { + "default": true, + "description": "Expand width of the control panel to fit available space.", + "type": "boolean" + }, + "id": { + "default": "32b28ffe-4df3-4257-a976-71ff7ba811b2", + "description": "The unique ID of the control.", + "type": "string" + }, + "order": { + "description": "The order of the control panel in the control group.", + "type": "number" + }, + "type": { + "description": "The type of the control panel.", + "type": "string" + }, + "width": { + "default": "medium", + "description": "Minimum width of the control panel in the control group.", + "enum": [ + "small", + "medium", + "large" + ], + "type": "string" + } + }, + "required": [ + "type", + "order" + ], + "type": "object" + }, + "type": "array" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "ignoreParentSettings": { + "additionalProperties": false, + "properties": { + "ignoreFilters": { + "default": false, + "description": "Ignore global filters in controls.", + "type": "boolean" + }, + "ignoreQuery": { + "default": false, + "description": "Ignore the global query bar in controls.", + "type": "boolean" + }, + "ignoreTimerange": { + "default": false, + "description": "Ignore the global time range in controls.", + "type": "boolean" + }, + "ignoreValidations": { + "default": false, + "description": "Ignore validations in controls.", + "type": "boolean" + } + }, + "type": "object" + }, + "labelPosition": { + "default": "oneLine", + "description": "Position of the labels for controls. For example, \"oneLine\", \"twoLine\".", + "enum": [ + "oneLine", + "twoLine" + ], + "type": "string" + } + }, + "required": [ + "ignoreParentSettings" + ], + "type": "object" + }, + "description": { + "default": "", + "description": "A short description.", + "type": "string" + }, + "kibanaSavedObjectMeta": { + "additionalProperties": false, + "default": {}, + "description": "A container for various metadata", + "properties": { + "searchSource": { + "additionalProperties": true, + "properties": { + "filter": { + "items": { + "additionalProperties": false, + "description": "A filter for the search source.", + "properties": { + "$state": { + "additionalProperties": false, + "properties": { + "store": { + "description": "Denote whether a filter is specific to an application's context (e.g. 'appState') or whether it should be applied globally (e.g. 'globalState').", + "enum": [ + "appState", + "globalState" + ], + "type": "string" + } + }, + "required": [ + "store" + ], + "type": "object" + }, + "meta": { + "additionalProperties": true, + "properties": { + "alias": { + "nullable": true, + "type": "string" + }, + "controlledBy": { + "type": "string" + }, + "disabled": { + "type": "boolean" + }, + "field": { + "type": "string" + }, + "group": { + "type": "string" + }, + "index": { + "type": "string" + }, + "isMultiIndex": { + "type": "boolean" + }, + "key": { + "type": "string" + }, + "negate": { + "type": "boolean" + }, + "params": {}, + "type": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [ + "params" + ], + "type": "object" + }, + "query": { + "additionalProperties": {}, + "type": "object" + } + }, + "required": [ + "meta" + ], + "type": "object" + }, + "type": "array" + }, + "query": { + "additionalProperties": false, + "properties": { + "language": { + "description": "The query language such as KQL or Lucene.", + "type": "string" + }, + "query": { + "anyOf": [ + { + "description": "A text-based query such as Kibana Query Language (KQL) or Lucene query language.", + "type": "string" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + } + }, + "required": [ + "query", + "language" + ], + "type": "object" + }, + "sort": { + "items": { + "additionalProperties": { + "anyOf": [ + { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "format": { + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "numeric_type": { + "enum": [ + "double", + "long", + "date", + "date_nanos" + ], + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + } + ] + }, + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "options": { + "additionalProperties": false, + "properties": { + "hidePanelTitles": { + "default": false, + "description": "Hide the panel titles in the dashboard.", + "type": "boolean" + }, + "syncColors": { + "default": true, + "description": "Synchronize colors between related panels in the dashboard.", + "type": "boolean" + }, + "syncCursor": { + "default": true, + "description": "Synchronize cursor position between related panels in the dashboard.", + "type": "boolean" + }, + "syncTooltips": { + "default": true, + "description": "Synchronize tooltips between related panels in the dashboard.", + "type": "boolean" + }, + "useMargins": { + "default": true, + "description": "Show margins between panels in the dashboard layout.", + "type": "boolean" + } + }, + "type": "object" + }, + "panels": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "gridData": { + "additionalProperties": false, + "properties": { + "h": { + "default": 15, + "description": "The height of the panel in grid units", + "minimum": 1, + "type": "number" + }, + "i": { + "default": "199505bf-cee4-4ba4-bf12-8dfff6d57d2e", + "description": "The unique identifier of the panel", + "type": "string" + }, + "w": { + "default": 24, + "description": "The width of the panel in grid units", + "maximum": 48, + "minimum": 1, + "type": "number" + }, + "x": { + "description": "The x coordinate of the panel in grid units", + "type": "number" + }, + "y": { + "description": "The y coordinate of the panel in grid units", + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "id": { + "description": "The saved object id for by reference panels", + "type": "string" + }, + "panelConfig": { + "additionalProperties": true, + "properties": { + "description": { + "description": "The description of the panel", + "type": "string" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "hidePanelTitles": { + "description": "Set to true to hide the panel title in its container.", + "type": "boolean" + }, + "savedObjectId": { + "description": "The unique id of the library item to construct the embeddable.", + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "version": { + "description": "The version of the embeddable in the panel.", + "type": "string" + } + }, + "type": "object" + }, + "panelIndex": { + "default": { + "ref": { + "path": [ + "gridData", + "i" + ] + } + }, + "description": "The unique ID of the panel.", + "type": "string" + }, + "panelRefName": { + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "type": { + "description": "The embeddable type", + "type": "string" + }, + "version": { + "deprecated": true, + "description": "The version was used to store Kibana version information from versions 7.3.0 -> 8.11.0. As of version 8.11.0, the versioning information is now per-embeddable-type and is stored on the embeddable's input. (panelConfig in this type).", + "type": "string" + } + }, + "required": [ + "panelConfig", + "type", + "gridData" + ], + "type": "object" + }, + "type": "array" + }, + "refreshInterval": { + "additionalProperties": false, + "description": "A container for various refresh interval settings", + "properties": { + "display": { + "deprecated": true, + "description": "A human-readable string indicating the refresh frequency. No longer used.", + "type": "string" + }, + "pause": { + "description": "Whether the refresh interval is set to be paused while viewing the dashboard.", + "type": "boolean" + }, + "section": { + "deprecated": true, + "description": "No longer used.", + "type": "number" + }, + "value": { + "description": "A numeric value indicating refresh frequency in milliseconds.", + "type": "number" + } + }, + "required": [ + "pause", + "value" + ], + "type": "object" + }, + "timeFrom": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "timeRestore": { + "default": false, + "description": "Whether to restore time upon viewing this dashboard", + "type": "boolean" + }, + "timeTo": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "title": { + "description": "A human-readable title for the dashboard", + "type": "string" + }, + "version": { + "deprecated": true, + "type": "number" + } + }, + "required": [ + "title", + "options" + ], + "type": "object" + }, + "references": { + "items": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "name", + "type", + "id" + ], + "type": "object" + }, + "type": "array" + }, + "spaces": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "attributes" + ], + "type": "object" + } + } + } + }, + "responses": { + "200": { + "content": { + "application/json; Elastic-Api-Version=2023-10-31": { + "schema": { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": true, + "properties": { + "attributes": { + "additionalProperties": false, + "properties": { + "controlGroupInput": { + "additionalProperties": false, + "properties": { + "autoApplySelections": { + "default": true, + "description": "Show apply selections button in controls.", + "type": "boolean" + }, + "chainingSystem": { + "default": "HIERARCHICAL", + "description": "The chaining strategy for multiple controls. For example, \"HIERARCHICAL\" or \"NONE\".", + "enum": [ + "NONE", + "HIERARCHICAL" + ], + "type": "string" + }, + "controls": { + "default": [], + "description": "An array of control panels and their state in the control group.", + "items": { + "additionalProperties": true, + "properties": { + "controlConfig": { + "additionalProperties": {}, + "type": "object" + }, + "grow": { + "default": true, + "description": "Expand width of the control panel to fit available space.", + "type": "boolean" + }, + "id": { + "default": "32b28ffe-4df3-4257-a976-71ff7ba811b2", + "description": "The unique ID of the control.", + "type": "string" + }, + "order": { + "description": "The order of the control panel in the control group.", + "type": "number" + }, + "type": { + "description": "The type of the control panel.", + "type": "string" + }, + "width": { + "default": "medium", + "description": "Minimum width of the control panel in the control group.", + "enum": [ + "small", + "medium", + "large" + ], + "type": "string" + } + }, + "required": [ + "type", + "order" + ], + "type": "object" + }, + "type": "array" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "ignoreParentSettings": { + "additionalProperties": false, + "properties": { + "ignoreFilters": { + "default": false, + "description": "Ignore global filters in controls.", + "type": "boolean" + }, + "ignoreQuery": { + "default": false, + "description": "Ignore the global query bar in controls.", + "type": "boolean" + }, + "ignoreTimerange": { + "default": false, + "description": "Ignore the global time range in controls.", + "type": "boolean" + }, + "ignoreValidations": { + "default": false, + "description": "Ignore validations in controls.", + "type": "boolean" + } + }, + "type": "object" + }, + "labelPosition": { + "default": "oneLine", + "description": "Position of the labels for controls. For example, \"oneLine\", \"twoLine\".", + "enum": [ + "oneLine", + "twoLine" + ], + "type": "string" + } + }, + "required": [ + "ignoreParentSettings" + ], + "type": "object" + }, + "description": { + "default": "", + "description": "A short description.", + "type": "string" + }, + "kibanaSavedObjectMeta": { + "additionalProperties": false, + "default": {}, + "description": "A container for various metadata", + "properties": { + "searchSource": { + "additionalProperties": true, + "properties": { + "filter": { + "items": { + "additionalProperties": false, + "description": "A filter for the search source.", + "properties": { + "$state": { + "additionalProperties": false, + "properties": { + "store": { + "description": "Denote whether a filter is specific to an application's context (e.g. 'appState') or whether it should be applied globally (e.g. 'globalState').", + "enum": [ + "appState", + "globalState" + ], + "type": "string" + } + }, + "required": [ + "store" + ], + "type": "object" + }, + "meta": { + "additionalProperties": true, + "properties": { + "alias": { + "nullable": true, + "type": "string" + }, + "controlledBy": { + "type": "string" + }, + "disabled": { + "type": "boolean" + }, + "field": { + "type": "string" + }, + "group": { + "type": "string" + }, + "index": { + "type": "string" + }, + "isMultiIndex": { + "type": "boolean" + }, + "key": { + "type": "string" + }, + "negate": { + "type": "boolean" + }, + "params": {}, + "type": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [ + "params" + ], + "type": "object" + }, + "query": { + "additionalProperties": {}, + "type": "object" + } + }, + "required": [ + "meta" + ], + "type": "object" + }, + "type": "array" + }, + "query": { + "additionalProperties": false, + "properties": { + "language": { + "description": "The query language such as KQL or Lucene.", + "type": "string" + }, + "query": { + "anyOf": [ + { + "description": "A text-based query such as Kibana Query Language (KQL) or Lucene query language.", + "type": "string" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + } + }, + "required": [ + "query", + "language" + ], + "type": "object" + }, + "sort": { + "items": { + "additionalProperties": { + "anyOf": [ + { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "format": { + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "numeric_type": { + "enum": [ + "double", + "long", + "date", + "date_nanos" + ], + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + } + ] + }, + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "options": { + "additionalProperties": false, + "properties": { + "hidePanelTitles": { + "default": false, + "description": "Hide the panel titles in the dashboard.", + "type": "boolean" + }, + "syncColors": { + "default": true, + "description": "Synchronize colors between related panels in the dashboard.", + "type": "boolean" + }, + "syncCursor": { + "default": true, + "description": "Synchronize cursor position between related panels in the dashboard.", + "type": "boolean" + }, + "syncTooltips": { + "default": true, + "description": "Synchronize tooltips between related panels in the dashboard.", + "type": "boolean" + }, + "useMargins": { + "default": true, + "description": "Show margins between panels in the dashboard layout.", + "type": "boolean" + } + }, + "type": "object" + }, + "panels": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "gridData": { + "additionalProperties": false, + "properties": { + "h": { + "default": 15, + "description": "The height of the panel in grid units", + "minimum": 1, + "type": "number" + }, + "i": { + "default": "199505bf-cee4-4ba4-bf12-8dfff6d57d2e", + "description": "The unique identifier of the panel", + "type": "string" + }, + "w": { + "default": 24, + "description": "The width of the panel in grid units", + "maximum": 48, + "minimum": 1, + "type": "number" + }, + "x": { + "description": "The x coordinate of the panel in grid units", + "type": "number" + }, + "y": { + "description": "The y coordinate of the panel in grid units", + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "id": { + "description": "The saved object id for by reference panels", + "type": "string" + }, + "panelConfig": { + "additionalProperties": true, + "properties": { + "description": { + "description": "The description of the panel", + "type": "string" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "hidePanelTitles": { + "description": "Set to true to hide the panel title in its container.", + "type": "boolean" + }, + "savedObjectId": { + "description": "The unique id of the library item to construct the embeddable.", + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "version": { + "description": "The version of the embeddable in the panel.", + "type": "string" + } + }, + "type": "object" + }, + "panelIndex": { + "default": { + "ref": { + "path": [ + "gridData", + "i" + ] + } + }, + "description": "The unique ID of the panel.", + "type": "string" + }, + "panelRefName": { + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "type": { + "description": "The embeddable type", + "type": "string" + }, + "version": { + "deprecated": true, + "description": "The version was used to store Kibana version information from versions 7.3.0 -> 8.11.0. As of version 8.11.0, the versioning information is now per-embeddable-type and is stored on the embeddable's input. (panelConfig in this type).", + "type": "string" + } + }, + "required": [ + "panelConfig", + "type", + "gridData" + ], + "type": "object" + }, + "type": "array" + }, + "refreshInterval": { + "additionalProperties": false, + "description": "A container for various refresh interval settings", + "properties": { + "display": { + "deprecated": true, + "description": "A human-readable string indicating the refresh frequency. No longer used.", + "type": "string" + }, + "pause": { + "description": "Whether the refresh interval is set to be paused while viewing the dashboard.", + "type": "boolean" + }, + "section": { + "deprecated": true, + "description": "No longer used.", + "type": "number" + }, + "value": { + "description": "A numeric value indicating refresh frequency in milliseconds.", + "type": "number" + } + }, + "required": [ + "pause", + "value" + ], + "type": "object" + }, + "timeFrom": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "timeRestore": { + "default": false, + "description": "Whether to restore time upon viewing this dashboard", + "type": "boolean" + }, + "timeTo": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "title": { + "description": "A human-readable title for the dashboard", + "type": "string" + }, + "version": { + "deprecated": true, + "type": "number" + } + }, + "required": [ + "title", + "options" + ], + "type": "object" + }, + "createdAt": { + "type": "string" + }, + "createdBy": { + "type": "string" + }, + "error": { + "additionalProperties": false, + "properties": { + "error": { + "type": "string" + }, + "message": { + "type": "string" + }, + "metadata": { + "additionalProperties": true, + "properties": {}, + "type": "object" + }, + "statusCode": { + "type": "number" + } + }, + "required": [ + "error", + "message", + "statusCode" + ], + "type": "object" + }, + "id": { + "type": "string" + }, + "managed": { + "type": "boolean" + }, + "namespaces": { + "items": { + "type": "string" + }, + "type": "array" + }, + "originId": { + "type": "string" + }, + "references": { + "items": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "name", + "type", + "id" + ], + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "updatedBy": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "required": [ + "id", + "type", + "attributes", + "references" + ], + "type": "object" + } + }, + "required": [ + "item" + ], + "type": "object" + } + } + } + } + }, + "summary": "Create a dashboard", + "tags": [ + "Dashboards" + ] + }, + "put": { + "description": "This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.", + "operationId": "put-dashboards-dashboard-id", + "parameters": [ + { + "description": "The version of the API to use", + "in": "header", + "name": "elastic-api-version", + "schema": { + "default": "2023-10-31", + "enum": [ + "2023-10-31" + ], + "type": "string" + } + }, + { + "description": "A required header to protect against CSRF attacks", + "in": "header", + "name": "kbn-xsrf", + "required": true, + "schema": { + "example": "true", + "type": "string" + } + }, + { + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json; Elastic-Api-Version=2023-10-31": { + "schema": { + "additionalProperties": false, + "properties": { + "attributes": { + "additionalProperties": false, + "properties": { + "controlGroupInput": { + "additionalProperties": false, + "properties": { + "autoApplySelections": { + "default": true, + "description": "Show apply selections button in controls.", + "type": "boolean" + }, + "chainingSystem": { + "default": "HIERARCHICAL", + "description": "The chaining strategy for multiple controls. For example, \"HIERARCHICAL\" or \"NONE\".", + "enum": [ + "NONE", + "HIERARCHICAL" + ], + "type": "string" + }, + "controls": { + "default": [], + "description": "An array of control panels and their state in the control group.", + "items": { + "additionalProperties": true, + "properties": { + "controlConfig": { + "additionalProperties": {}, + "type": "object" + }, + "grow": { + "default": true, + "description": "Expand width of the control panel to fit available space.", + "type": "boolean" + }, + "id": { + "default": "32b28ffe-4df3-4257-a976-71ff7ba811b2", + "description": "The unique ID of the control.", + "type": "string" + }, + "order": { + "description": "The order of the control panel in the control group.", + "type": "number" + }, + "type": { + "description": "The type of the control panel.", + "type": "string" + }, + "width": { + "default": "medium", + "description": "Minimum width of the control panel in the control group.", + "enum": [ + "small", + "medium", + "large" + ], + "type": "string" + } + }, + "required": [ + "type", + "order" + ], + "type": "object" + }, + "type": "array" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "ignoreParentSettings": { + "additionalProperties": false, + "properties": { + "ignoreFilters": { + "default": false, + "description": "Ignore global filters in controls.", + "type": "boolean" + }, + "ignoreQuery": { + "default": false, + "description": "Ignore the global query bar in controls.", + "type": "boolean" + }, + "ignoreTimerange": { + "default": false, + "description": "Ignore the global time range in controls.", + "type": "boolean" + }, + "ignoreValidations": { + "default": false, + "description": "Ignore validations in controls.", + "type": "boolean" + } + }, + "type": "object" + }, + "labelPosition": { + "default": "oneLine", + "description": "Position of the labels for controls. For example, \"oneLine\", \"twoLine\".", + "enum": [ + "oneLine", + "twoLine" + ], + "type": "string" + } + }, + "required": [ + "ignoreParentSettings" + ], + "type": "object" + }, + "description": { + "default": "", + "description": "A short description.", + "type": "string" + }, + "kibanaSavedObjectMeta": { + "additionalProperties": false, + "default": {}, + "description": "A container for various metadata", + "properties": { + "searchSource": { + "additionalProperties": true, + "properties": { + "filter": { + "items": { + "additionalProperties": false, + "description": "A filter for the search source.", + "properties": { + "$state": { + "additionalProperties": false, + "properties": { + "store": { + "description": "Denote whether a filter is specific to an application's context (e.g. 'appState') or whether it should be applied globally (e.g. 'globalState').", + "enum": [ + "appState", + "globalState" + ], + "type": "string" + } + }, + "required": [ + "store" + ], + "type": "object" + }, + "meta": { + "additionalProperties": true, + "properties": { + "alias": { + "nullable": true, + "type": "string" + }, + "controlledBy": { + "type": "string" + }, + "disabled": { + "type": "boolean" + }, + "field": { + "type": "string" + }, + "group": { + "type": "string" + }, + "index": { + "type": "string" + }, + "isMultiIndex": { + "type": "boolean" + }, + "key": { + "type": "string" + }, + "negate": { + "type": "boolean" + }, + "params": {}, + "type": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [ + "params" + ], + "type": "object" + }, + "query": { + "additionalProperties": {}, + "type": "object" + } + }, + "required": [ + "meta" + ], + "type": "object" + }, + "type": "array" + }, + "query": { + "additionalProperties": false, + "properties": { + "language": { + "description": "The query language such as KQL or Lucene.", + "type": "string" + }, + "query": { + "anyOf": [ + { + "description": "A text-based query such as Kibana Query Language (KQL) or Lucene query language.", + "type": "string" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + } + }, + "required": [ + "query", + "language" + ], + "type": "object" + }, + "sort": { + "items": { + "additionalProperties": { + "anyOf": [ + { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "format": { + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "numeric_type": { + "enum": [ + "double", + "long", + "date", + "date_nanos" + ], + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + } + ] + }, + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "options": { + "additionalProperties": false, + "properties": { + "hidePanelTitles": { + "default": false, + "description": "Hide the panel titles in the dashboard.", + "type": "boolean" + }, + "syncColors": { + "default": true, + "description": "Synchronize colors between related panels in the dashboard.", + "type": "boolean" + }, + "syncCursor": { + "default": true, + "description": "Synchronize cursor position between related panels in the dashboard.", + "type": "boolean" + }, + "syncTooltips": { + "default": true, + "description": "Synchronize tooltips between related panels in the dashboard.", + "type": "boolean" + }, + "useMargins": { + "default": true, + "description": "Show margins between panels in the dashboard layout.", + "type": "boolean" + } + }, + "type": "object" + }, + "panels": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "gridData": { + "additionalProperties": false, + "properties": { + "h": { + "default": 15, + "description": "The height of the panel in grid units", + "minimum": 1, + "type": "number" + }, + "i": { + "default": "199505bf-cee4-4ba4-bf12-8dfff6d57d2e", + "description": "The unique identifier of the panel", + "type": "string" + }, + "w": { + "default": 24, + "description": "The width of the panel in grid units", + "maximum": 48, + "minimum": 1, + "type": "number" + }, + "x": { + "description": "The x coordinate of the panel in grid units", + "type": "number" + }, + "y": { + "description": "The y coordinate of the panel in grid units", + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "id": { + "description": "The saved object id for by reference panels", + "type": "string" + }, + "panelConfig": { + "additionalProperties": true, + "properties": { + "description": { + "description": "The description of the panel", + "type": "string" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "hidePanelTitles": { + "description": "Set to true to hide the panel title in its container.", + "type": "boolean" + }, + "savedObjectId": { + "description": "The unique id of the library item to construct the embeddable.", + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "version": { + "description": "The version of the embeddable in the panel.", + "type": "string" + } + }, + "type": "object" + }, + "panelIndex": { + "default": { + "ref": { + "path": [ + "gridData", + "i" + ] + } + }, + "description": "The unique ID of the panel.", + "type": "string" + }, + "panelRefName": { + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "type": { + "description": "The embeddable type", + "type": "string" + }, + "version": { + "deprecated": true, + "description": "The version was used to store Kibana version information from versions 7.3.0 -> 8.11.0. As of version 8.11.0, the versioning information is now per-embeddable-type and is stored on the embeddable's input. (panelConfig in this type).", + "type": "string" + } + }, + "required": [ + "panelConfig", + "type", + "gridData" + ], + "type": "object" + }, + "type": "array" + }, + "refreshInterval": { + "additionalProperties": false, + "description": "A container for various refresh interval settings", + "properties": { + "display": { + "deprecated": true, + "description": "A human-readable string indicating the refresh frequency. No longer used.", + "type": "string" + }, + "pause": { + "description": "Whether the refresh interval is set to be paused while viewing the dashboard.", + "type": "boolean" + }, + "section": { + "deprecated": true, + "description": "No longer used.", + "type": "number" + }, + "value": { + "description": "A numeric value indicating refresh frequency in milliseconds.", + "type": "number" + } + }, + "required": [ + "pause", + "value" + ], + "type": "object" + }, + "timeFrom": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "timeRestore": { + "default": false, + "description": "Whether to restore time upon viewing this dashboard", + "type": "boolean" + }, + "timeTo": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "title": { + "description": "A human-readable title for the dashboard", + "type": "string" + }, + "version": { + "deprecated": true, + "type": "number" + } + }, + "required": [ + "title", + "options" + ], + "type": "object" + }, + "references": { + "items": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "name", + "type", + "id" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "attributes" + ], + "type": "object" + } + } + } + }, + "responses": { + "200": { + "content": { + "application/json; Elastic-Api-Version=2023-10-31": { + "schema": { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": true, + "properties": { + "attributes": { + "additionalProperties": false, + "properties": { + "controlGroupInput": { + "additionalProperties": false, + "properties": { + "autoApplySelections": { + "default": true, + "description": "Show apply selections button in controls.", + "type": "boolean" + }, + "chainingSystem": { + "default": "HIERARCHICAL", + "description": "The chaining strategy for multiple controls. For example, \"HIERARCHICAL\" or \"NONE\".", + "enum": [ + "NONE", + "HIERARCHICAL" + ], + "type": "string" + }, + "controls": { + "default": [], + "description": "An array of control panels and their state in the control group.", + "items": { + "additionalProperties": true, + "properties": { + "controlConfig": { + "additionalProperties": {}, + "type": "object" + }, + "grow": { + "default": true, + "description": "Expand width of the control panel to fit available space.", + "type": "boolean" + }, + "id": { + "default": "32b28ffe-4df3-4257-a976-71ff7ba811b2", + "description": "The unique ID of the control.", + "type": "string" + }, + "order": { + "description": "The order of the control panel in the control group.", + "type": "number" + }, + "type": { + "description": "The type of the control panel.", + "type": "string" + }, + "width": { + "default": "medium", + "description": "Minimum width of the control panel in the control group.", + "enum": [ + "small", + "medium", + "large" + ], + "type": "string" + } + }, + "required": [ + "type", + "order" + ], + "type": "object" + }, + "type": "array" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "ignoreParentSettings": { + "additionalProperties": false, + "properties": { + "ignoreFilters": { + "default": false, + "description": "Ignore global filters in controls.", + "type": "boolean" + }, + "ignoreQuery": { + "default": false, + "description": "Ignore the global query bar in controls.", + "type": "boolean" + }, + "ignoreTimerange": { + "default": false, + "description": "Ignore the global time range in controls.", + "type": "boolean" + }, + "ignoreValidations": { + "default": false, + "description": "Ignore validations in controls.", + "type": "boolean" + } + }, + "type": "object" + }, + "labelPosition": { + "default": "oneLine", + "description": "Position of the labels for controls. For example, \"oneLine\", \"twoLine\".", + "enum": [ + "oneLine", + "twoLine" + ], + "type": "string" + } + }, + "required": [ + "ignoreParentSettings" + ], + "type": "object" + }, + "description": { + "default": "", + "description": "A short description.", + "type": "string" + }, + "kibanaSavedObjectMeta": { + "additionalProperties": false, + "default": {}, + "description": "A container for various metadata", + "properties": { + "searchSource": { + "additionalProperties": true, + "properties": { + "filter": { + "items": { + "additionalProperties": false, + "description": "A filter for the search source.", + "properties": { + "$state": { + "additionalProperties": false, + "properties": { + "store": { + "description": "Denote whether a filter is specific to an application's context (e.g. 'appState') or whether it should be applied globally (e.g. 'globalState').", + "enum": [ + "appState", + "globalState" + ], + "type": "string" + } + }, + "required": [ + "store" + ], + "type": "object" + }, + "meta": { + "additionalProperties": true, + "properties": { + "alias": { + "nullable": true, + "type": "string" + }, + "controlledBy": { + "type": "string" + }, + "disabled": { + "type": "boolean" + }, + "field": { + "type": "string" + }, + "group": { + "type": "string" + }, + "index": { + "type": "string" + }, + "isMultiIndex": { + "type": "boolean" + }, + "key": { + "type": "string" + }, + "negate": { + "type": "boolean" + }, + "params": {}, + "type": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [ + "params" + ], + "type": "object" + }, + "query": { + "additionalProperties": {}, + "type": "object" + } + }, + "required": [ + "meta" + ], + "type": "object" + }, + "type": "array" + }, + "query": { + "additionalProperties": false, + "properties": { + "language": { + "description": "The query language such as KQL or Lucene.", + "type": "string" + }, + "query": { + "anyOf": [ + { + "description": "A text-based query such as Kibana Query Language (KQL) or Lucene query language.", + "type": "string" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + } + }, + "required": [ + "query", + "language" + ], + "type": "object" + }, + "sort": { + "items": { + "additionalProperties": { + "anyOf": [ + { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "format": { + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "numeric_type": { + "enum": [ + "double", + "long", + "date", + "date_nanos" + ], + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + } + ] + }, + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "options": { + "additionalProperties": false, + "properties": { + "hidePanelTitles": { + "default": false, + "description": "Hide the panel titles in the dashboard.", + "type": "boolean" + }, + "syncColors": { + "default": true, + "description": "Synchronize colors between related panels in the dashboard.", + "type": "boolean" + }, + "syncCursor": { + "default": true, + "description": "Synchronize cursor position between related panels in the dashboard.", + "type": "boolean" + }, + "syncTooltips": { + "default": true, + "description": "Synchronize tooltips between related panels in the dashboard.", + "type": "boolean" + }, + "useMargins": { + "default": true, + "description": "Show margins between panels in the dashboard layout.", + "type": "boolean" + } + }, + "type": "object" + }, + "panels": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "gridData": { + "additionalProperties": false, + "properties": { + "h": { + "default": 15, + "description": "The height of the panel in grid units", + "minimum": 1, + "type": "number" + }, + "i": { + "default": "199505bf-cee4-4ba4-bf12-8dfff6d57d2e", + "description": "The unique identifier of the panel", + "type": "string" + }, + "w": { + "default": 24, + "description": "The width of the panel in grid units", + "maximum": 48, + "minimum": 1, + "type": "number" + }, + "x": { + "description": "The x coordinate of the panel in grid units", + "type": "number" + }, + "y": { + "description": "The y coordinate of the panel in grid units", + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "id": { + "description": "The saved object id for by reference panels", + "type": "string" + }, + "panelConfig": { + "additionalProperties": true, + "properties": { + "description": { + "description": "The description of the panel", + "type": "string" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "hidePanelTitles": { + "description": "Set to true to hide the panel title in its container.", + "type": "boolean" + }, + "savedObjectId": { + "description": "The unique id of the library item to construct the embeddable.", + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "version": { + "description": "The version of the embeddable in the panel.", + "type": "string" + } + }, + "type": "object" + }, + "panelIndex": { + "default": { + "ref": { + "path": [ + "gridData", + "i" + ] + } + }, + "description": "The unique ID of the panel.", + "type": "string" + }, + "panelRefName": { + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "type": { + "description": "The embeddable type", + "type": "string" + }, + "version": { + "deprecated": true, + "description": "The version was used to store Kibana version information from versions 7.3.0 -> 8.11.0. As of version 8.11.0, the versioning information is now per-embeddable-type and is stored on the embeddable's input. (panelConfig in this type).", + "type": "string" + } + }, + "required": [ + "panelConfig", + "type", + "gridData" + ], + "type": "object" + }, + "type": "array" + }, + "refreshInterval": { + "additionalProperties": false, + "description": "A container for various refresh interval settings", + "properties": { + "display": { + "deprecated": true, + "description": "A human-readable string indicating the refresh frequency. No longer used.", + "type": "string" + }, + "pause": { + "description": "Whether the refresh interval is set to be paused while viewing the dashboard.", + "type": "boolean" + }, + "section": { + "deprecated": true, + "description": "No longer used.", + "type": "number" + }, + "value": { + "description": "A numeric value indicating refresh frequency in milliseconds.", + "type": "number" + } + }, + "required": [ + "pause", + "value" + ], + "type": "object" + }, + "timeFrom": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "timeRestore": { + "default": false, + "description": "Whether to restore time upon viewing this dashboard", + "type": "boolean" + }, + "timeTo": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "title": { + "description": "A human-readable title for the dashboard", + "type": "string" + }, + "version": { + "deprecated": true, + "type": "number" + } + }, + "required": [ + "title", + "options" + ], + "type": "object" + }, + "createdAt": { + "type": "string" + }, + "createdBy": { + "type": "string" + }, + "error": { + "additionalProperties": false, + "properties": { + "error": { + "type": "string" + }, + "message": { + "type": "string" + }, + "metadata": { + "additionalProperties": true, + "properties": {}, + "type": "object" + }, + "statusCode": { + "type": "number" + } + }, + "required": [ + "error", + "message", + "statusCode" + ], + "type": "object" + }, + "id": { + "type": "string" + }, + "managed": { + "type": "boolean" + }, + "namespaces": { + "items": { + "type": "string" + }, + "type": "array" + }, + "originId": { + "type": "string" + }, + "references": { + "items": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "name", + "type", + "id" + ], + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "updatedBy": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "required": [ + "id", + "type", + "attributes", + "references" + ], + "type": "object" + } + }, + "required": [ + "item" + ], + "type": "object" + } + } + } + } + }, + "summary": "Update an existing dashboard.", + "tags": [ + "Dashboards" + ] + } + }, "/api/fleet/agent_download_sources": { "get": { "description": "List agent binary download sources", @@ -38853,6 +42127,9 @@ { "name": "connectors" }, + { + "name": "Dashboards" + }, { "name": "Data streams" }, diff --git a/oas_docs/bundle.serverless.json b/oas_docs/bundle.serverless.json index db6678511d529..68a2a0b65c716 100644 --- a/oas_docs/bundle.serverless.json +++ b/oas_docs/bundle.serverless.json @@ -5626,6 +5626,3280 @@ ] } }, + "/api/dashboards/dashboard": { + "get": { + "description": "This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.", + "operationId": "get-dashboards-dashboard", + "parameters": [ + { + "description": "The version of the API to use", + "in": "header", + "name": "elastic-api-version", + "schema": { + "default": "2023-10-31", + "enum": [ + "2023-10-31" + ], + "type": "string" + } + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "default": 1, + "type": "number" + } + }, + { + "in": "query", + "name": "perPage", + "required": false, + "schema": { + "type": "number" + } + } + ], + "responses": { + "200": { + "content": { + "application/json; Elastic-Api-Version=2023-10-31": { + "schema": { + "additionalProperties": false, + "properties": { + "items": { + "items": { + "additionalProperties": true, + "properties": { + "attributes": { + "additionalProperties": false, + "properties": { + "description": { + "default": "", + "description": "A short description.", + "type": "string" + }, + "timeRestore": { + "default": false, + "description": "Whether to restore time upon viewing this dashboard", + "type": "boolean" + }, + "title": { + "description": "A human-readable title for the dashboard", + "type": "string" + } + }, + "required": [ + "title" + ], + "type": "object" + }, + "createdAt": { + "type": "string" + }, + "createdBy": { + "type": "string" + }, + "error": { + "additionalProperties": false, + "properties": { + "error": { + "type": "string" + }, + "message": { + "type": "string" + }, + "metadata": { + "additionalProperties": true, + "properties": {}, + "type": "object" + }, + "statusCode": { + "type": "number" + } + }, + "required": [ + "error", + "message", + "statusCode" + ], + "type": "object" + }, + "id": { + "type": "string" + }, + "managed": { + "type": "boolean" + }, + "namespaces": { + "items": { + "type": "string" + }, + "type": "array" + }, + "originId": { + "type": "string" + }, + "references": { + "items": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "name", + "type", + "id" + ], + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "updatedBy": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "required": [ + "id", + "type", + "attributes", + "references" + ], + "type": "object" + }, + "type": "array" + }, + "total": { + "type": "number" + } + }, + "required": [ + "items", + "total" + ], + "type": "object" + } + } + } + } + }, + "summary": "Get a list of dashboards.", + "tags": [ + "Dashboards" + ] + } + }, + "/api/dashboards/dashboard/{id}": { + "delete": { + "description": "This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.", + "operationId": "delete-dashboards-dashboard-id", + "parameters": [ + { + "description": "The version of the API to use", + "in": "header", + "name": "elastic-api-version", + "schema": { + "default": "2023-10-31", + "enum": [ + "2023-10-31" + ], + "type": "string" + } + }, + { + "description": "A required header to protect against CSRF attacks", + "in": "header", + "name": "kbn-xsrf", + "required": true, + "schema": { + "example": "true", + "type": "string" + } + }, + { + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": {}, + "summary": "Delete a dashboard.", + "tags": [ + "Dashboards" + ] + }, + "get": { + "description": "This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.", + "operationId": "get-dashboards-dashboard-id", + "parameters": [ + { + "description": "The version of the API to use", + "in": "header", + "name": "elastic-api-version", + "schema": { + "default": "2023-10-31", + "enum": [ + "2023-10-31" + ], + "type": "string" + } + }, + { + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json; Elastic-Api-Version=2023-10-31": { + "schema": { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": true, + "properties": { + "attributes": { + "additionalProperties": false, + "properties": { + "controlGroupInput": { + "additionalProperties": false, + "properties": { + "autoApplySelections": { + "default": true, + "description": "Show apply selections button in controls.", + "type": "boolean" + }, + "chainingSystem": { + "default": "HIERARCHICAL", + "description": "The chaining strategy for multiple controls. For example, \"HIERARCHICAL\" or \"NONE\".", + "enum": [ + "NONE", + "HIERARCHICAL" + ], + "type": "string" + }, + "controls": { + "default": [], + "description": "An array of control panels and their state in the control group.", + "items": { + "additionalProperties": true, + "properties": { + "controlConfig": { + "additionalProperties": {}, + "type": "object" + }, + "grow": { + "default": true, + "description": "Expand width of the control panel to fit available space.", + "type": "boolean" + }, + "id": { + "default": "edc483da-2dcf-4469-8d36-c99ca8f699a7", + "description": "The unique ID of the control.", + "type": "string" + }, + "order": { + "description": "The order of the control panel in the control group.", + "type": "number" + }, + "type": { + "description": "The type of the control panel.", + "type": "string" + }, + "width": { + "default": "medium", + "description": "Minimum width of the control panel in the control group.", + "enum": [ + "small", + "medium", + "large" + ], + "type": "string" + } + }, + "required": [ + "type", + "order" + ], + "type": "object" + }, + "type": "array" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "ignoreParentSettings": { + "additionalProperties": false, + "properties": { + "ignoreFilters": { + "default": false, + "description": "Ignore global filters in controls.", + "type": "boolean" + }, + "ignoreQuery": { + "default": false, + "description": "Ignore the global query bar in controls.", + "type": "boolean" + }, + "ignoreTimerange": { + "default": false, + "description": "Ignore the global time range in controls.", + "type": "boolean" + }, + "ignoreValidations": { + "default": false, + "description": "Ignore validations in controls.", + "type": "boolean" + } + }, + "type": "object" + }, + "labelPosition": { + "default": "oneLine", + "description": "Position of the labels for controls. For example, \"oneLine\", \"twoLine\".", + "enum": [ + "oneLine", + "twoLine" + ], + "type": "string" + } + }, + "required": [ + "ignoreParentSettings" + ], + "type": "object" + }, + "description": { + "default": "", + "description": "A short description.", + "type": "string" + }, + "kibanaSavedObjectMeta": { + "additionalProperties": false, + "default": {}, + "description": "A container for various metadata", + "properties": { + "searchSource": { + "additionalProperties": true, + "properties": { + "filter": { + "items": { + "additionalProperties": false, + "description": "A filter for the search source.", + "properties": { + "$state": { + "additionalProperties": false, + "properties": { + "store": { + "description": "Denote whether a filter is specific to an application's context (e.g. 'appState') or whether it should be applied globally (e.g. 'globalState').", + "enum": [ + "appState", + "globalState" + ], + "type": "string" + } + }, + "required": [ + "store" + ], + "type": "object" + }, + "meta": { + "additionalProperties": true, + "properties": { + "alias": { + "nullable": true, + "type": "string" + }, + "controlledBy": { + "type": "string" + }, + "disabled": { + "type": "boolean" + }, + "field": { + "type": "string" + }, + "group": { + "type": "string" + }, + "index": { + "type": "string" + }, + "isMultiIndex": { + "type": "boolean" + }, + "key": { + "type": "string" + }, + "negate": { + "type": "boolean" + }, + "params": {}, + "type": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [ + "params" + ], + "type": "object" + }, + "query": { + "additionalProperties": {}, + "type": "object" + } + }, + "required": [ + "meta" + ], + "type": "object" + }, + "type": "array" + }, + "query": { + "additionalProperties": false, + "properties": { + "language": { + "description": "The query language such as KQL or Lucene.", + "type": "string" + }, + "query": { + "anyOf": [ + { + "description": "A text-based query such as Kibana Query Language (KQL) or Lucene query language.", + "type": "string" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + } + }, + "required": [ + "query", + "language" + ], + "type": "object" + }, + "sort": { + "items": { + "additionalProperties": { + "anyOf": [ + { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "format": { + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "numeric_type": { + "enum": [ + "double", + "long", + "date", + "date_nanos" + ], + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + } + ] + }, + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "options": { + "additionalProperties": false, + "properties": { + "hidePanelTitles": { + "default": false, + "description": "Hide the panel titles in the dashboard.", + "type": "boolean" + }, + "syncColors": { + "default": true, + "description": "Synchronize colors between related panels in the dashboard.", + "type": "boolean" + }, + "syncCursor": { + "default": true, + "description": "Synchronize cursor position between related panels in the dashboard.", + "type": "boolean" + }, + "syncTooltips": { + "default": true, + "description": "Synchronize tooltips between related panels in the dashboard.", + "type": "boolean" + }, + "useMargins": { + "default": true, + "description": "Show margins between panels in the dashboard layout.", + "type": "boolean" + } + }, + "type": "object" + }, + "panels": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "gridData": { + "additionalProperties": false, + "properties": { + "h": { + "default": 15, + "description": "The height of the panel in grid units", + "minimum": 1, + "type": "number" + }, + "i": { + "default": "49de787f-528f-47bd-a3f5-616351ccbc43", + "description": "The unique identifier of the panel", + "type": "string" + }, + "w": { + "default": 24, + "description": "The width of the panel in grid units", + "maximum": 48, + "minimum": 1, + "type": "number" + }, + "x": { + "description": "The x coordinate of the panel in grid units", + "type": "number" + }, + "y": { + "description": "The y coordinate of the panel in grid units", + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "id": { + "description": "The saved object id for by reference panels", + "type": "string" + }, + "panelConfig": { + "additionalProperties": true, + "properties": { + "description": { + "description": "The description of the panel", + "type": "string" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "hidePanelTitles": { + "description": "Set to true to hide the panel title in its container.", + "type": "boolean" + }, + "savedObjectId": { + "description": "The unique id of the library item to construct the embeddable.", + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "version": { + "description": "The version of the embeddable in the panel.", + "type": "string" + } + }, + "type": "object" + }, + "panelIndex": { + "default": { + "ref": { + "path": [ + "gridData", + "i" + ] + } + }, + "description": "The unique ID of the panel.", + "type": "string" + }, + "panelRefName": { + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "type": { + "description": "The embeddable type", + "type": "string" + }, + "version": { + "deprecated": true, + "description": "The version was used to store Kibana version information from versions 7.3.0 -> 8.11.0. As of version 8.11.0, the versioning information is now per-embeddable-type and is stored on the embeddable's input. (panelConfig in this type).", + "type": "string" + } + }, + "required": [ + "panelConfig", + "type", + "gridData" + ], + "type": "object" + }, + "type": "array" + }, + "refreshInterval": { + "additionalProperties": false, + "description": "A container for various refresh interval settings", + "properties": { + "display": { + "deprecated": true, + "description": "A human-readable string indicating the refresh frequency. No longer used.", + "type": "string" + }, + "pause": { + "description": "Whether the refresh interval is set to be paused while viewing the dashboard.", + "type": "boolean" + }, + "section": { + "deprecated": true, + "description": "No longer used.", + "type": "number" + }, + "value": { + "description": "A numeric value indicating refresh frequency in milliseconds.", + "type": "number" + } + }, + "required": [ + "pause", + "value" + ], + "type": "object" + }, + "timeFrom": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "timeRestore": { + "default": false, + "description": "Whether to restore time upon viewing this dashboard", + "type": "boolean" + }, + "timeTo": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "title": { + "description": "A human-readable title for the dashboard", + "type": "string" + }, + "version": { + "deprecated": true, + "type": "number" + } + }, + "required": [ + "title", + "options" + ], + "type": "object" + }, + "createdAt": { + "type": "string" + }, + "createdBy": { + "type": "string" + }, + "error": { + "additionalProperties": false, + "properties": { + "error": { + "type": "string" + }, + "message": { + "type": "string" + }, + "metadata": { + "additionalProperties": true, + "properties": {}, + "type": "object" + }, + "statusCode": { + "type": "number" + } + }, + "required": [ + "error", + "message", + "statusCode" + ], + "type": "object" + }, + "id": { + "type": "string" + }, + "managed": { + "type": "boolean" + }, + "namespaces": { + "items": { + "type": "string" + }, + "type": "array" + }, + "originId": { + "type": "string" + }, + "references": { + "items": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "name", + "type", + "id" + ], + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "updatedBy": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "required": [ + "id", + "type", + "attributes", + "references" + ], + "type": "object" + }, + "meta": { + "additionalProperties": false, + "properties": { + "aliasPurpose": { + "enum": [ + "savedObjectConversion", + "savedObjectImport" + ], + "type": "string" + }, + "aliasTargetId": { + "type": "string" + }, + "outcome": { + "enum": [ + "exactMatch", + "aliasMatch", + "conflict" + ], + "type": "string" + } + }, + "required": [ + "outcome" + ], + "type": "object" + } + }, + "required": [ + "item", + "meta" + ], + "type": "object" + } + } + } + } + }, + "summary": "Get a dashboard.", + "tags": [ + "Dashboards" + ] + }, + "post": { + "description": "This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.", + "operationId": "post-dashboards-dashboard-id", + "parameters": [ + { + "description": "The version of the API to use", + "in": "header", + "name": "elastic-api-version", + "schema": { + "default": "2023-10-31", + "enum": [ + "2023-10-31" + ], + "type": "string" + } + }, + { + "description": "A required header to protect against CSRF attacks", + "in": "header", + "name": "kbn-xsrf", + "required": true, + "schema": { + "example": "true", + "type": "string" + } + }, + { + "in": "path", + "name": "id", + "required": false, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json; Elastic-Api-Version=2023-10-31": { + "schema": { + "additionalProperties": false, + "properties": { + "attributes": { + "additionalProperties": false, + "properties": { + "controlGroupInput": { + "additionalProperties": false, + "properties": { + "autoApplySelections": { + "default": true, + "description": "Show apply selections button in controls.", + "type": "boolean" + }, + "chainingSystem": { + "default": "HIERARCHICAL", + "description": "The chaining strategy for multiple controls. For example, \"HIERARCHICAL\" or \"NONE\".", + "enum": [ + "NONE", + "HIERARCHICAL" + ], + "type": "string" + }, + "controls": { + "default": [], + "description": "An array of control panels and their state in the control group.", + "items": { + "additionalProperties": true, + "properties": { + "controlConfig": { + "additionalProperties": {}, + "type": "object" + }, + "grow": { + "default": true, + "description": "Expand width of the control panel to fit available space.", + "type": "boolean" + }, + "id": { + "default": "edc483da-2dcf-4469-8d36-c99ca8f699a7", + "description": "The unique ID of the control.", + "type": "string" + }, + "order": { + "description": "The order of the control panel in the control group.", + "type": "number" + }, + "type": { + "description": "The type of the control panel.", + "type": "string" + }, + "width": { + "default": "medium", + "description": "Minimum width of the control panel in the control group.", + "enum": [ + "small", + "medium", + "large" + ], + "type": "string" + } + }, + "required": [ + "type", + "order" + ], + "type": "object" + }, + "type": "array" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "ignoreParentSettings": { + "additionalProperties": false, + "properties": { + "ignoreFilters": { + "default": false, + "description": "Ignore global filters in controls.", + "type": "boolean" + }, + "ignoreQuery": { + "default": false, + "description": "Ignore the global query bar in controls.", + "type": "boolean" + }, + "ignoreTimerange": { + "default": false, + "description": "Ignore the global time range in controls.", + "type": "boolean" + }, + "ignoreValidations": { + "default": false, + "description": "Ignore validations in controls.", + "type": "boolean" + } + }, + "type": "object" + }, + "labelPosition": { + "default": "oneLine", + "description": "Position of the labels for controls. For example, \"oneLine\", \"twoLine\".", + "enum": [ + "oneLine", + "twoLine" + ], + "type": "string" + } + }, + "required": [ + "ignoreParentSettings" + ], + "type": "object" + }, + "description": { + "default": "", + "description": "A short description.", + "type": "string" + }, + "kibanaSavedObjectMeta": { + "additionalProperties": false, + "default": {}, + "description": "A container for various metadata", + "properties": { + "searchSource": { + "additionalProperties": true, + "properties": { + "filter": { + "items": { + "additionalProperties": false, + "description": "A filter for the search source.", + "properties": { + "$state": { + "additionalProperties": false, + "properties": { + "store": { + "description": "Denote whether a filter is specific to an application's context (e.g. 'appState') or whether it should be applied globally (e.g. 'globalState').", + "enum": [ + "appState", + "globalState" + ], + "type": "string" + } + }, + "required": [ + "store" + ], + "type": "object" + }, + "meta": { + "additionalProperties": true, + "properties": { + "alias": { + "nullable": true, + "type": "string" + }, + "controlledBy": { + "type": "string" + }, + "disabled": { + "type": "boolean" + }, + "field": { + "type": "string" + }, + "group": { + "type": "string" + }, + "index": { + "type": "string" + }, + "isMultiIndex": { + "type": "boolean" + }, + "key": { + "type": "string" + }, + "negate": { + "type": "boolean" + }, + "params": {}, + "type": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [ + "params" + ], + "type": "object" + }, + "query": { + "additionalProperties": {}, + "type": "object" + } + }, + "required": [ + "meta" + ], + "type": "object" + }, + "type": "array" + }, + "query": { + "additionalProperties": false, + "properties": { + "language": { + "description": "The query language such as KQL or Lucene.", + "type": "string" + }, + "query": { + "anyOf": [ + { + "description": "A text-based query such as Kibana Query Language (KQL) or Lucene query language.", + "type": "string" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + } + }, + "required": [ + "query", + "language" + ], + "type": "object" + }, + "sort": { + "items": { + "additionalProperties": { + "anyOf": [ + { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "format": { + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "numeric_type": { + "enum": [ + "double", + "long", + "date", + "date_nanos" + ], + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + } + ] + }, + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "options": { + "additionalProperties": false, + "properties": { + "hidePanelTitles": { + "default": false, + "description": "Hide the panel titles in the dashboard.", + "type": "boolean" + }, + "syncColors": { + "default": true, + "description": "Synchronize colors between related panels in the dashboard.", + "type": "boolean" + }, + "syncCursor": { + "default": true, + "description": "Synchronize cursor position between related panels in the dashboard.", + "type": "boolean" + }, + "syncTooltips": { + "default": true, + "description": "Synchronize tooltips between related panels in the dashboard.", + "type": "boolean" + }, + "useMargins": { + "default": true, + "description": "Show margins between panels in the dashboard layout.", + "type": "boolean" + } + }, + "type": "object" + }, + "panels": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "gridData": { + "additionalProperties": false, + "properties": { + "h": { + "default": 15, + "description": "The height of the panel in grid units", + "minimum": 1, + "type": "number" + }, + "i": { + "default": "49de787f-528f-47bd-a3f5-616351ccbc43", + "description": "The unique identifier of the panel", + "type": "string" + }, + "w": { + "default": 24, + "description": "The width of the panel in grid units", + "maximum": 48, + "minimum": 1, + "type": "number" + }, + "x": { + "description": "The x coordinate of the panel in grid units", + "type": "number" + }, + "y": { + "description": "The y coordinate of the panel in grid units", + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "id": { + "description": "The saved object id for by reference panels", + "type": "string" + }, + "panelConfig": { + "additionalProperties": true, + "properties": { + "description": { + "description": "The description of the panel", + "type": "string" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "hidePanelTitles": { + "description": "Set to true to hide the panel title in its container.", + "type": "boolean" + }, + "savedObjectId": { + "description": "The unique id of the library item to construct the embeddable.", + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "version": { + "description": "The version of the embeddable in the panel.", + "type": "string" + } + }, + "type": "object" + }, + "panelIndex": { + "default": { + "ref": { + "path": [ + "gridData", + "i" + ] + } + }, + "description": "The unique ID of the panel.", + "type": "string" + }, + "panelRefName": { + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "type": { + "description": "The embeddable type", + "type": "string" + }, + "version": { + "deprecated": true, + "description": "The version was used to store Kibana version information from versions 7.3.0 -> 8.11.0. As of version 8.11.0, the versioning information is now per-embeddable-type and is stored on the embeddable's input. (panelConfig in this type).", + "type": "string" + } + }, + "required": [ + "panelConfig", + "type", + "gridData" + ], + "type": "object" + }, + "type": "array" + }, + "refreshInterval": { + "additionalProperties": false, + "description": "A container for various refresh interval settings", + "properties": { + "display": { + "deprecated": true, + "description": "A human-readable string indicating the refresh frequency. No longer used.", + "type": "string" + }, + "pause": { + "description": "Whether the refresh interval is set to be paused while viewing the dashboard.", + "type": "boolean" + }, + "section": { + "deprecated": true, + "description": "No longer used.", + "type": "number" + }, + "value": { + "description": "A numeric value indicating refresh frequency in milliseconds.", + "type": "number" + } + }, + "required": [ + "pause", + "value" + ], + "type": "object" + }, + "timeFrom": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "timeRestore": { + "default": false, + "description": "Whether to restore time upon viewing this dashboard", + "type": "boolean" + }, + "timeTo": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "title": { + "description": "A human-readable title for the dashboard", + "type": "string" + }, + "version": { + "deprecated": true, + "type": "number" + } + }, + "required": [ + "title", + "options" + ], + "type": "object" + }, + "references": { + "items": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "name", + "type", + "id" + ], + "type": "object" + }, + "type": "array" + }, + "spaces": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "attributes" + ], + "type": "object" + } + } + } + }, + "responses": { + "200": { + "content": { + "application/json; Elastic-Api-Version=2023-10-31": { + "schema": { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": true, + "properties": { + "attributes": { + "additionalProperties": false, + "properties": { + "controlGroupInput": { + "additionalProperties": false, + "properties": { + "autoApplySelections": { + "default": true, + "description": "Show apply selections button in controls.", + "type": "boolean" + }, + "chainingSystem": { + "default": "HIERARCHICAL", + "description": "The chaining strategy for multiple controls. For example, \"HIERARCHICAL\" or \"NONE\".", + "enum": [ + "NONE", + "HIERARCHICAL" + ], + "type": "string" + }, + "controls": { + "default": [], + "description": "An array of control panels and their state in the control group.", + "items": { + "additionalProperties": true, + "properties": { + "controlConfig": { + "additionalProperties": {}, + "type": "object" + }, + "grow": { + "default": true, + "description": "Expand width of the control panel to fit available space.", + "type": "boolean" + }, + "id": { + "default": "edc483da-2dcf-4469-8d36-c99ca8f699a7", + "description": "The unique ID of the control.", + "type": "string" + }, + "order": { + "description": "The order of the control panel in the control group.", + "type": "number" + }, + "type": { + "description": "The type of the control panel.", + "type": "string" + }, + "width": { + "default": "medium", + "description": "Minimum width of the control panel in the control group.", + "enum": [ + "small", + "medium", + "large" + ], + "type": "string" + } + }, + "required": [ + "type", + "order" + ], + "type": "object" + }, + "type": "array" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "ignoreParentSettings": { + "additionalProperties": false, + "properties": { + "ignoreFilters": { + "default": false, + "description": "Ignore global filters in controls.", + "type": "boolean" + }, + "ignoreQuery": { + "default": false, + "description": "Ignore the global query bar in controls.", + "type": "boolean" + }, + "ignoreTimerange": { + "default": false, + "description": "Ignore the global time range in controls.", + "type": "boolean" + }, + "ignoreValidations": { + "default": false, + "description": "Ignore validations in controls.", + "type": "boolean" + } + }, + "type": "object" + }, + "labelPosition": { + "default": "oneLine", + "description": "Position of the labels for controls. For example, \"oneLine\", \"twoLine\".", + "enum": [ + "oneLine", + "twoLine" + ], + "type": "string" + } + }, + "required": [ + "ignoreParentSettings" + ], + "type": "object" + }, + "description": { + "default": "", + "description": "A short description.", + "type": "string" + }, + "kibanaSavedObjectMeta": { + "additionalProperties": false, + "default": {}, + "description": "A container for various metadata", + "properties": { + "searchSource": { + "additionalProperties": true, + "properties": { + "filter": { + "items": { + "additionalProperties": false, + "description": "A filter for the search source.", + "properties": { + "$state": { + "additionalProperties": false, + "properties": { + "store": { + "description": "Denote whether a filter is specific to an application's context (e.g. 'appState') or whether it should be applied globally (e.g. 'globalState').", + "enum": [ + "appState", + "globalState" + ], + "type": "string" + } + }, + "required": [ + "store" + ], + "type": "object" + }, + "meta": { + "additionalProperties": true, + "properties": { + "alias": { + "nullable": true, + "type": "string" + }, + "controlledBy": { + "type": "string" + }, + "disabled": { + "type": "boolean" + }, + "field": { + "type": "string" + }, + "group": { + "type": "string" + }, + "index": { + "type": "string" + }, + "isMultiIndex": { + "type": "boolean" + }, + "key": { + "type": "string" + }, + "negate": { + "type": "boolean" + }, + "params": {}, + "type": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [ + "params" + ], + "type": "object" + }, + "query": { + "additionalProperties": {}, + "type": "object" + } + }, + "required": [ + "meta" + ], + "type": "object" + }, + "type": "array" + }, + "query": { + "additionalProperties": false, + "properties": { + "language": { + "description": "The query language such as KQL or Lucene.", + "type": "string" + }, + "query": { + "anyOf": [ + { + "description": "A text-based query such as Kibana Query Language (KQL) or Lucene query language.", + "type": "string" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + } + }, + "required": [ + "query", + "language" + ], + "type": "object" + }, + "sort": { + "items": { + "additionalProperties": { + "anyOf": [ + { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "format": { + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "numeric_type": { + "enum": [ + "double", + "long", + "date", + "date_nanos" + ], + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + } + ] + }, + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "options": { + "additionalProperties": false, + "properties": { + "hidePanelTitles": { + "default": false, + "description": "Hide the panel titles in the dashboard.", + "type": "boolean" + }, + "syncColors": { + "default": true, + "description": "Synchronize colors between related panels in the dashboard.", + "type": "boolean" + }, + "syncCursor": { + "default": true, + "description": "Synchronize cursor position between related panels in the dashboard.", + "type": "boolean" + }, + "syncTooltips": { + "default": true, + "description": "Synchronize tooltips between related panels in the dashboard.", + "type": "boolean" + }, + "useMargins": { + "default": true, + "description": "Show margins between panels in the dashboard layout.", + "type": "boolean" + } + }, + "type": "object" + }, + "panels": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "gridData": { + "additionalProperties": false, + "properties": { + "h": { + "default": 15, + "description": "The height of the panel in grid units", + "minimum": 1, + "type": "number" + }, + "i": { + "default": "49de787f-528f-47bd-a3f5-616351ccbc43", + "description": "The unique identifier of the panel", + "type": "string" + }, + "w": { + "default": 24, + "description": "The width of the panel in grid units", + "maximum": 48, + "minimum": 1, + "type": "number" + }, + "x": { + "description": "The x coordinate of the panel in grid units", + "type": "number" + }, + "y": { + "description": "The y coordinate of the panel in grid units", + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "id": { + "description": "The saved object id for by reference panels", + "type": "string" + }, + "panelConfig": { + "additionalProperties": true, + "properties": { + "description": { + "description": "The description of the panel", + "type": "string" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "hidePanelTitles": { + "description": "Set to true to hide the panel title in its container.", + "type": "boolean" + }, + "savedObjectId": { + "description": "The unique id of the library item to construct the embeddable.", + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "version": { + "description": "The version of the embeddable in the panel.", + "type": "string" + } + }, + "type": "object" + }, + "panelIndex": { + "default": { + "ref": { + "path": [ + "gridData", + "i" + ] + } + }, + "description": "The unique ID of the panel.", + "type": "string" + }, + "panelRefName": { + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "type": { + "description": "The embeddable type", + "type": "string" + }, + "version": { + "deprecated": true, + "description": "The version was used to store Kibana version information from versions 7.3.0 -> 8.11.0. As of version 8.11.0, the versioning information is now per-embeddable-type and is stored on the embeddable's input. (panelConfig in this type).", + "type": "string" + } + }, + "required": [ + "panelConfig", + "type", + "gridData" + ], + "type": "object" + }, + "type": "array" + }, + "refreshInterval": { + "additionalProperties": false, + "description": "A container for various refresh interval settings", + "properties": { + "display": { + "deprecated": true, + "description": "A human-readable string indicating the refresh frequency. No longer used.", + "type": "string" + }, + "pause": { + "description": "Whether the refresh interval is set to be paused while viewing the dashboard.", + "type": "boolean" + }, + "section": { + "deprecated": true, + "description": "No longer used.", + "type": "number" + }, + "value": { + "description": "A numeric value indicating refresh frequency in milliseconds.", + "type": "number" + } + }, + "required": [ + "pause", + "value" + ], + "type": "object" + }, + "timeFrom": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "timeRestore": { + "default": false, + "description": "Whether to restore time upon viewing this dashboard", + "type": "boolean" + }, + "timeTo": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "title": { + "description": "A human-readable title for the dashboard", + "type": "string" + }, + "version": { + "deprecated": true, + "type": "number" + } + }, + "required": [ + "title", + "options" + ], + "type": "object" + }, + "createdAt": { + "type": "string" + }, + "createdBy": { + "type": "string" + }, + "error": { + "additionalProperties": false, + "properties": { + "error": { + "type": "string" + }, + "message": { + "type": "string" + }, + "metadata": { + "additionalProperties": true, + "properties": {}, + "type": "object" + }, + "statusCode": { + "type": "number" + } + }, + "required": [ + "error", + "message", + "statusCode" + ], + "type": "object" + }, + "id": { + "type": "string" + }, + "managed": { + "type": "boolean" + }, + "namespaces": { + "items": { + "type": "string" + }, + "type": "array" + }, + "originId": { + "type": "string" + }, + "references": { + "items": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "name", + "type", + "id" + ], + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "updatedBy": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "required": [ + "id", + "type", + "attributes", + "references" + ], + "type": "object" + } + }, + "required": [ + "item" + ], + "type": "object" + } + } + } + } + }, + "summary": "Create a dashboard", + "tags": [ + "Dashboards" + ] + }, + "put": { + "description": "This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.", + "operationId": "put-dashboards-dashboard-id", + "parameters": [ + { + "description": "The version of the API to use", + "in": "header", + "name": "elastic-api-version", + "schema": { + "default": "2023-10-31", + "enum": [ + "2023-10-31" + ], + "type": "string" + } + }, + { + "description": "A required header to protect against CSRF attacks", + "in": "header", + "name": "kbn-xsrf", + "required": true, + "schema": { + "example": "true", + "type": "string" + } + }, + { + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json; Elastic-Api-Version=2023-10-31": { + "schema": { + "additionalProperties": false, + "properties": { + "attributes": { + "additionalProperties": false, + "properties": { + "controlGroupInput": { + "additionalProperties": false, + "properties": { + "autoApplySelections": { + "default": true, + "description": "Show apply selections button in controls.", + "type": "boolean" + }, + "chainingSystem": { + "default": "HIERARCHICAL", + "description": "The chaining strategy for multiple controls. For example, \"HIERARCHICAL\" or \"NONE\".", + "enum": [ + "NONE", + "HIERARCHICAL" + ], + "type": "string" + }, + "controls": { + "default": [], + "description": "An array of control panels and their state in the control group.", + "items": { + "additionalProperties": true, + "properties": { + "controlConfig": { + "additionalProperties": {}, + "type": "object" + }, + "grow": { + "default": true, + "description": "Expand width of the control panel to fit available space.", + "type": "boolean" + }, + "id": { + "default": "edc483da-2dcf-4469-8d36-c99ca8f699a7", + "description": "The unique ID of the control.", + "type": "string" + }, + "order": { + "description": "The order of the control panel in the control group.", + "type": "number" + }, + "type": { + "description": "The type of the control panel.", + "type": "string" + }, + "width": { + "default": "medium", + "description": "Minimum width of the control panel in the control group.", + "enum": [ + "small", + "medium", + "large" + ], + "type": "string" + } + }, + "required": [ + "type", + "order" + ], + "type": "object" + }, + "type": "array" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "ignoreParentSettings": { + "additionalProperties": false, + "properties": { + "ignoreFilters": { + "default": false, + "description": "Ignore global filters in controls.", + "type": "boolean" + }, + "ignoreQuery": { + "default": false, + "description": "Ignore the global query bar in controls.", + "type": "boolean" + }, + "ignoreTimerange": { + "default": false, + "description": "Ignore the global time range in controls.", + "type": "boolean" + }, + "ignoreValidations": { + "default": false, + "description": "Ignore validations in controls.", + "type": "boolean" + } + }, + "type": "object" + }, + "labelPosition": { + "default": "oneLine", + "description": "Position of the labels for controls. For example, \"oneLine\", \"twoLine\".", + "enum": [ + "oneLine", + "twoLine" + ], + "type": "string" + } + }, + "required": [ + "ignoreParentSettings" + ], + "type": "object" + }, + "description": { + "default": "", + "description": "A short description.", + "type": "string" + }, + "kibanaSavedObjectMeta": { + "additionalProperties": false, + "default": {}, + "description": "A container for various metadata", + "properties": { + "searchSource": { + "additionalProperties": true, + "properties": { + "filter": { + "items": { + "additionalProperties": false, + "description": "A filter for the search source.", + "properties": { + "$state": { + "additionalProperties": false, + "properties": { + "store": { + "description": "Denote whether a filter is specific to an application's context (e.g. 'appState') or whether it should be applied globally (e.g. 'globalState').", + "enum": [ + "appState", + "globalState" + ], + "type": "string" + } + }, + "required": [ + "store" + ], + "type": "object" + }, + "meta": { + "additionalProperties": true, + "properties": { + "alias": { + "nullable": true, + "type": "string" + }, + "controlledBy": { + "type": "string" + }, + "disabled": { + "type": "boolean" + }, + "field": { + "type": "string" + }, + "group": { + "type": "string" + }, + "index": { + "type": "string" + }, + "isMultiIndex": { + "type": "boolean" + }, + "key": { + "type": "string" + }, + "negate": { + "type": "boolean" + }, + "params": {}, + "type": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [ + "params" + ], + "type": "object" + }, + "query": { + "additionalProperties": {}, + "type": "object" + } + }, + "required": [ + "meta" + ], + "type": "object" + }, + "type": "array" + }, + "query": { + "additionalProperties": false, + "properties": { + "language": { + "description": "The query language such as KQL or Lucene.", + "type": "string" + }, + "query": { + "anyOf": [ + { + "description": "A text-based query such as Kibana Query Language (KQL) or Lucene query language.", + "type": "string" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + } + }, + "required": [ + "query", + "language" + ], + "type": "object" + }, + "sort": { + "items": { + "additionalProperties": { + "anyOf": [ + { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "format": { + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "numeric_type": { + "enum": [ + "double", + "long", + "date", + "date_nanos" + ], + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + } + ] + }, + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "options": { + "additionalProperties": false, + "properties": { + "hidePanelTitles": { + "default": false, + "description": "Hide the panel titles in the dashboard.", + "type": "boolean" + }, + "syncColors": { + "default": true, + "description": "Synchronize colors between related panels in the dashboard.", + "type": "boolean" + }, + "syncCursor": { + "default": true, + "description": "Synchronize cursor position between related panels in the dashboard.", + "type": "boolean" + }, + "syncTooltips": { + "default": true, + "description": "Synchronize tooltips between related panels in the dashboard.", + "type": "boolean" + }, + "useMargins": { + "default": true, + "description": "Show margins between panels in the dashboard layout.", + "type": "boolean" + } + }, + "type": "object" + }, + "panels": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "gridData": { + "additionalProperties": false, + "properties": { + "h": { + "default": 15, + "description": "The height of the panel in grid units", + "minimum": 1, + "type": "number" + }, + "i": { + "default": "49de787f-528f-47bd-a3f5-616351ccbc43", + "description": "The unique identifier of the panel", + "type": "string" + }, + "w": { + "default": 24, + "description": "The width of the panel in grid units", + "maximum": 48, + "minimum": 1, + "type": "number" + }, + "x": { + "description": "The x coordinate of the panel in grid units", + "type": "number" + }, + "y": { + "description": "The y coordinate of the panel in grid units", + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "id": { + "description": "The saved object id for by reference panels", + "type": "string" + }, + "panelConfig": { + "additionalProperties": true, + "properties": { + "description": { + "description": "The description of the panel", + "type": "string" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "hidePanelTitles": { + "description": "Set to true to hide the panel title in its container.", + "type": "boolean" + }, + "savedObjectId": { + "description": "The unique id of the library item to construct the embeddable.", + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "version": { + "description": "The version of the embeddable in the panel.", + "type": "string" + } + }, + "type": "object" + }, + "panelIndex": { + "default": { + "ref": { + "path": [ + "gridData", + "i" + ] + } + }, + "description": "The unique ID of the panel.", + "type": "string" + }, + "panelRefName": { + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "type": { + "description": "The embeddable type", + "type": "string" + }, + "version": { + "deprecated": true, + "description": "The version was used to store Kibana version information from versions 7.3.0 -> 8.11.0. As of version 8.11.0, the versioning information is now per-embeddable-type and is stored on the embeddable's input. (panelConfig in this type).", + "type": "string" + } + }, + "required": [ + "panelConfig", + "type", + "gridData" + ], + "type": "object" + }, + "type": "array" + }, + "refreshInterval": { + "additionalProperties": false, + "description": "A container for various refresh interval settings", + "properties": { + "display": { + "deprecated": true, + "description": "A human-readable string indicating the refresh frequency. No longer used.", + "type": "string" + }, + "pause": { + "description": "Whether the refresh interval is set to be paused while viewing the dashboard.", + "type": "boolean" + }, + "section": { + "deprecated": true, + "description": "No longer used.", + "type": "number" + }, + "value": { + "description": "A numeric value indicating refresh frequency in milliseconds.", + "type": "number" + } + }, + "required": [ + "pause", + "value" + ], + "type": "object" + }, + "timeFrom": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "timeRestore": { + "default": false, + "description": "Whether to restore time upon viewing this dashboard", + "type": "boolean" + }, + "timeTo": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "title": { + "description": "A human-readable title for the dashboard", + "type": "string" + }, + "version": { + "deprecated": true, + "type": "number" + } + }, + "required": [ + "title", + "options" + ], + "type": "object" + }, + "references": { + "items": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "name", + "type", + "id" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "attributes" + ], + "type": "object" + } + } + } + }, + "responses": { + "200": { + "content": { + "application/json; Elastic-Api-Version=2023-10-31": { + "schema": { + "additionalProperties": false, + "properties": { + "item": { + "additionalProperties": true, + "properties": { + "attributes": { + "additionalProperties": false, + "properties": { + "controlGroupInput": { + "additionalProperties": false, + "properties": { + "autoApplySelections": { + "default": true, + "description": "Show apply selections button in controls.", + "type": "boolean" + }, + "chainingSystem": { + "default": "HIERARCHICAL", + "description": "The chaining strategy for multiple controls. For example, \"HIERARCHICAL\" or \"NONE\".", + "enum": [ + "NONE", + "HIERARCHICAL" + ], + "type": "string" + }, + "controls": { + "default": [], + "description": "An array of control panels and their state in the control group.", + "items": { + "additionalProperties": true, + "properties": { + "controlConfig": { + "additionalProperties": {}, + "type": "object" + }, + "grow": { + "default": true, + "description": "Expand width of the control panel to fit available space.", + "type": "boolean" + }, + "id": { + "default": "edc483da-2dcf-4469-8d36-c99ca8f699a7", + "description": "The unique ID of the control.", + "type": "string" + }, + "order": { + "description": "The order of the control panel in the control group.", + "type": "number" + }, + "type": { + "description": "The type of the control panel.", + "type": "string" + }, + "width": { + "default": "medium", + "description": "Minimum width of the control panel in the control group.", + "enum": [ + "small", + "medium", + "large" + ], + "type": "string" + } + }, + "required": [ + "type", + "order" + ], + "type": "object" + }, + "type": "array" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "ignoreParentSettings": { + "additionalProperties": false, + "properties": { + "ignoreFilters": { + "default": false, + "description": "Ignore global filters in controls.", + "type": "boolean" + }, + "ignoreQuery": { + "default": false, + "description": "Ignore the global query bar in controls.", + "type": "boolean" + }, + "ignoreTimerange": { + "default": false, + "description": "Ignore the global time range in controls.", + "type": "boolean" + }, + "ignoreValidations": { + "default": false, + "description": "Ignore validations in controls.", + "type": "boolean" + } + }, + "type": "object" + }, + "labelPosition": { + "default": "oneLine", + "description": "Position of the labels for controls. For example, \"oneLine\", \"twoLine\".", + "enum": [ + "oneLine", + "twoLine" + ], + "type": "string" + } + }, + "required": [ + "ignoreParentSettings" + ], + "type": "object" + }, + "description": { + "default": "", + "description": "A short description.", + "type": "string" + }, + "kibanaSavedObjectMeta": { + "additionalProperties": false, + "default": {}, + "description": "A container for various metadata", + "properties": { + "searchSource": { + "additionalProperties": true, + "properties": { + "filter": { + "items": { + "additionalProperties": false, + "description": "A filter for the search source.", + "properties": { + "$state": { + "additionalProperties": false, + "properties": { + "store": { + "description": "Denote whether a filter is specific to an application's context (e.g. 'appState') or whether it should be applied globally (e.g. 'globalState').", + "enum": [ + "appState", + "globalState" + ], + "type": "string" + } + }, + "required": [ + "store" + ], + "type": "object" + }, + "meta": { + "additionalProperties": true, + "properties": { + "alias": { + "nullable": true, + "type": "string" + }, + "controlledBy": { + "type": "string" + }, + "disabled": { + "type": "boolean" + }, + "field": { + "type": "string" + }, + "group": { + "type": "string" + }, + "index": { + "type": "string" + }, + "isMultiIndex": { + "type": "boolean" + }, + "key": { + "type": "string" + }, + "negate": { + "type": "boolean" + }, + "params": {}, + "type": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [ + "params" + ], + "type": "object" + }, + "query": { + "additionalProperties": {}, + "type": "object" + } + }, + "required": [ + "meta" + ], + "type": "object" + }, + "type": "array" + }, + "query": { + "additionalProperties": false, + "properties": { + "language": { + "description": "The query language such as KQL or Lucene.", + "type": "string" + }, + "query": { + "anyOf": [ + { + "description": "A text-based query such as Kibana Query Language (KQL) or Lucene query language.", + "type": "string" + }, + { + "additionalProperties": {}, + "type": "object" + } + ] + } + }, + "required": [ + "query", + "language" + ], + "type": "object" + }, + "sort": { + "items": { + "additionalProperties": { + "anyOf": [ + { + "enum": [ + "asc", + "desc" + ], + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "format": { + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "numeric_type": { + "enum": [ + "double", + "long", + "date", + "date_nanos" + ], + "type": "string" + }, + "order": { + "enum": [ + "asc", + "desc" + ], + "type": "string" + } + }, + "required": [ + "order" + ], + "type": "object" + } + ] + }, + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "options": { + "additionalProperties": false, + "properties": { + "hidePanelTitles": { + "default": false, + "description": "Hide the panel titles in the dashboard.", + "type": "boolean" + }, + "syncColors": { + "default": true, + "description": "Synchronize colors between related panels in the dashboard.", + "type": "boolean" + }, + "syncCursor": { + "default": true, + "description": "Synchronize cursor position between related panels in the dashboard.", + "type": "boolean" + }, + "syncTooltips": { + "default": true, + "description": "Synchronize tooltips between related panels in the dashboard.", + "type": "boolean" + }, + "useMargins": { + "default": true, + "description": "Show margins between panels in the dashboard layout.", + "type": "boolean" + } + }, + "type": "object" + }, + "panels": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "gridData": { + "additionalProperties": false, + "properties": { + "h": { + "default": 15, + "description": "The height of the panel in grid units", + "minimum": 1, + "type": "number" + }, + "i": { + "default": "49de787f-528f-47bd-a3f5-616351ccbc43", + "description": "The unique identifier of the panel", + "type": "string" + }, + "w": { + "default": 24, + "description": "The width of the panel in grid units", + "maximum": 48, + "minimum": 1, + "type": "number" + }, + "x": { + "description": "The x coordinate of the panel in grid units", + "type": "number" + }, + "y": { + "description": "The y coordinate of the panel in grid units", + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "id": { + "description": "The saved object id for by reference panels", + "type": "string" + }, + "panelConfig": { + "additionalProperties": true, + "properties": { + "description": { + "description": "The description of the panel", + "type": "string" + }, + "enhancements": { + "additionalProperties": {}, + "type": "object" + }, + "hidePanelTitles": { + "description": "Set to true to hide the panel title in its container.", + "type": "boolean" + }, + "savedObjectId": { + "description": "The unique id of the library item to construct the embeddable.", + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "version": { + "description": "The version of the embeddable in the panel.", + "type": "string" + } + }, + "type": "object" + }, + "panelIndex": { + "default": { + "ref": { + "path": [ + "gridData", + "i" + ] + } + }, + "description": "The unique ID of the panel.", + "type": "string" + }, + "panelRefName": { + "type": "string" + }, + "title": { + "description": "The title of the panel", + "type": "string" + }, + "type": { + "description": "The embeddable type", + "type": "string" + }, + "version": { + "deprecated": true, + "description": "The version was used to store Kibana version information from versions 7.3.0 -> 8.11.0. As of version 8.11.0, the versioning information is now per-embeddable-type and is stored on the embeddable's input. (panelConfig in this type).", + "type": "string" + } + }, + "required": [ + "panelConfig", + "type", + "gridData" + ], + "type": "object" + }, + "type": "array" + }, + "refreshInterval": { + "additionalProperties": false, + "description": "A container for various refresh interval settings", + "properties": { + "display": { + "deprecated": true, + "description": "A human-readable string indicating the refresh frequency. No longer used.", + "type": "string" + }, + "pause": { + "description": "Whether the refresh interval is set to be paused while viewing the dashboard.", + "type": "boolean" + }, + "section": { + "deprecated": true, + "description": "No longer used.", + "type": "number" + }, + "value": { + "description": "A numeric value indicating refresh frequency in milliseconds.", + "type": "number" + } + }, + "required": [ + "pause", + "value" + ], + "type": "object" + }, + "timeFrom": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "timeRestore": { + "default": false, + "description": "Whether to restore time upon viewing this dashboard", + "type": "boolean" + }, + "timeTo": { + "description": "An ISO string indicating when to restore time from", + "type": "string" + }, + "title": { + "description": "A human-readable title for the dashboard", + "type": "string" + }, + "version": { + "deprecated": true, + "type": "number" + } + }, + "required": [ + "title", + "options" + ], + "type": "object" + }, + "createdAt": { + "type": "string" + }, + "createdBy": { + "type": "string" + }, + "error": { + "additionalProperties": false, + "properties": { + "error": { + "type": "string" + }, + "message": { + "type": "string" + }, + "metadata": { + "additionalProperties": true, + "properties": {}, + "type": "object" + }, + "statusCode": { + "type": "number" + } + }, + "required": [ + "error", + "message", + "statusCode" + ], + "type": "object" + }, + "id": { + "type": "string" + }, + "managed": { + "type": "boolean" + }, + "namespaces": { + "items": { + "type": "string" + }, + "type": "array" + }, + "originId": { + "type": "string" + }, + "references": { + "items": { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "name", + "type", + "id" + ], + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + }, + "updatedAt": { + "type": "string" + }, + "updatedBy": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "required": [ + "id", + "type", + "attributes", + "references" + ], + "type": "object" + } + }, + "required": [ + "item" + ], + "type": "object" + } + } + } + } + }, + "summary": "Update an existing dashboard.", + "tags": [ + "Dashboards" + ] + } + }, "/api/fleet/agent_download_sources": { "get": { "description": "List agent binary download sources", @@ -38384,6 +41658,9 @@ { "name": "connectors" }, + { + "name": "Dashboards" + }, { "name": "Data streams" }, From 0f3bde4814f7e926f254a587db1aec0bfab34447 Mon Sep 17 00:00:00 2001 From: Nick Peihl Date: Wed, 13 Nov 2024 08:48:57 -0500 Subject: [PATCH 03/16] Do not generate random values from CM schema This leads to issues with Open API documentation where the uuidv4 function returns unwanted values in the spec. If not provided, the Storage implementation generates random values instead. --- oas_docs/bundle.json | 60 ++----------------- oas_docs/bundle.serverless.json | 60 ++----------------- .../content_management/v3/cm_services.ts | 28 +++++---- 3 files changed, 25 insertions(+), 123 deletions(-) diff --git a/oas_docs/bundle.json b/oas_docs/bundle.json index 4c37c5c467010..49068a590f14d 100644 --- a/oas_docs/bundle.json +++ b/oas_docs/bundle.json @@ -5915,12 +5915,11 @@ "type": "object" }, "grow": { - "default": true, + "default": false, "description": "Expand width of the control panel to fit available space.", "type": "boolean" }, "id": { - "default": "32b28ffe-4df3-4257-a976-71ff7ba811b2", "description": "The unique ID of the control.", "type": "string" }, @@ -6229,7 +6228,6 @@ "type": "number" }, "i": { - "default": "199505bf-cee4-4ba4-bf12-8dfff6d57d2e", "description": "The unique identifier of the panel", "type": "string" }, @@ -6290,14 +6288,6 @@ "type": "object" }, "panelIndex": { - "default": { - "ref": { - "path": [ - "gridData", - "i" - ] - } - }, "description": "The unique ID of the panel.", "type": "string" }, @@ -6589,12 +6579,11 @@ "type": "object" }, "grow": { - "default": true, + "default": false, "description": "Expand width of the control panel to fit available space.", "type": "boolean" }, "id": { - "default": "32b28ffe-4df3-4257-a976-71ff7ba811b2", "description": "The unique ID of the control.", "type": "string" }, @@ -6903,7 +6892,6 @@ "type": "number" }, "i": { - "default": "199505bf-cee4-4ba4-bf12-8dfff6d57d2e", "description": "The unique identifier of the panel", "type": "string" }, @@ -6964,14 +6952,6 @@ "type": "object" }, "panelIndex": { - "default": { - "ref": { - "path": [ - "gridData", - "i" - ] - } - }, "description": "The unique ID of the panel.", "type": "string" }, @@ -7137,12 +7117,11 @@ "type": "object" }, "grow": { - "default": true, + "default": false, "description": "Expand width of the control panel to fit available space.", "type": "boolean" }, "id": { - "default": "32b28ffe-4df3-4257-a976-71ff7ba811b2", "description": "The unique ID of the control.", "type": "string" }, @@ -7451,7 +7430,6 @@ "type": "number" }, "i": { - "default": "199505bf-cee4-4ba4-bf12-8dfff6d57d2e", "description": "The unique identifier of the panel", "type": "string" }, @@ -7512,14 +7490,6 @@ "type": "object" }, "panelIndex": { - "default": { - "ref": { - "path": [ - "gridData", - "i" - ] - } - }, "description": "The unique ID of the panel.", "type": "string" }, @@ -7783,12 +7753,11 @@ "type": "object" }, "grow": { - "default": true, + "default": false, "description": "Expand width of the control panel to fit available space.", "type": "boolean" }, "id": { - "default": "32b28ffe-4df3-4257-a976-71ff7ba811b2", "description": "The unique ID of the control.", "type": "string" }, @@ -8097,7 +8066,6 @@ "type": "number" }, "i": { - "default": "199505bf-cee4-4ba4-bf12-8dfff6d57d2e", "description": "The unique identifier of the panel", "type": "string" }, @@ -8158,14 +8126,6 @@ "type": "object" }, "panelIndex": { - "default": { - "ref": { - "path": [ - "gridData", - "i" - ] - } - }, "description": "The unique ID of the panel.", "type": "string" }, @@ -8325,12 +8285,11 @@ "type": "object" }, "grow": { - "default": true, + "default": false, "description": "Expand width of the control panel to fit available space.", "type": "boolean" }, "id": { - "default": "32b28ffe-4df3-4257-a976-71ff7ba811b2", "description": "The unique ID of the control.", "type": "string" }, @@ -8639,7 +8598,6 @@ "type": "number" }, "i": { - "default": "199505bf-cee4-4ba4-bf12-8dfff6d57d2e", "description": "The unique identifier of the panel", "type": "string" }, @@ -8700,14 +8658,6 @@ "type": "object" }, "panelIndex": { - "default": { - "ref": { - "path": [ - "gridData", - "i" - ] - } - }, "description": "The unique ID of the panel.", "type": "string" }, diff --git a/oas_docs/bundle.serverless.json b/oas_docs/bundle.serverless.json index 01e92675f82e8..51bd143ddb5c9 100644 --- a/oas_docs/bundle.serverless.json +++ b/oas_docs/bundle.serverless.json @@ -5915,12 +5915,11 @@ "type": "object" }, "grow": { - "default": true, + "default": false, "description": "Expand width of the control panel to fit available space.", "type": "boolean" }, "id": { - "default": "edc483da-2dcf-4469-8d36-c99ca8f699a7", "description": "The unique ID of the control.", "type": "string" }, @@ -6229,7 +6228,6 @@ "type": "number" }, "i": { - "default": "49de787f-528f-47bd-a3f5-616351ccbc43", "description": "The unique identifier of the panel", "type": "string" }, @@ -6290,14 +6288,6 @@ "type": "object" }, "panelIndex": { - "default": { - "ref": { - "path": [ - "gridData", - "i" - ] - } - }, "description": "The unique ID of the panel.", "type": "string" }, @@ -6589,12 +6579,11 @@ "type": "object" }, "grow": { - "default": true, + "default": false, "description": "Expand width of the control panel to fit available space.", "type": "boolean" }, "id": { - "default": "edc483da-2dcf-4469-8d36-c99ca8f699a7", "description": "The unique ID of the control.", "type": "string" }, @@ -6903,7 +6892,6 @@ "type": "number" }, "i": { - "default": "49de787f-528f-47bd-a3f5-616351ccbc43", "description": "The unique identifier of the panel", "type": "string" }, @@ -6964,14 +6952,6 @@ "type": "object" }, "panelIndex": { - "default": { - "ref": { - "path": [ - "gridData", - "i" - ] - } - }, "description": "The unique ID of the panel.", "type": "string" }, @@ -7137,12 +7117,11 @@ "type": "object" }, "grow": { - "default": true, + "default": false, "description": "Expand width of the control panel to fit available space.", "type": "boolean" }, "id": { - "default": "edc483da-2dcf-4469-8d36-c99ca8f699a7", "description": "The unique ID of the control.", "type": "string" }, @@ -7451,7 +7430,6 @@ "type": "number" }, "i": { - "default": "49de787f-528f-47bd-a3f5-616351ccbc43", "description": "The unique identifier of the panel", "type": "string" }, @@ -7512,14 +7490,6 @@ "type": "object" }, "panelIndex": { - "default": { - "ref": { - "path": [ - "gridData", - "i" - ] - } - }, "description": "The unique ID of the panel.", "type": "string" }, @@ -7783,12 +7753,11 @@ "type": "object" }, "grow": { - "default": true, + "default": false, "description": "Expand width of the control panel to fit available space.", "type": "boolean" }, "id": { - "default": "edc483da-2dcf-4469-8d36-c99ca8f699a7", "description": "The unique ID of the control.", "type": "string" }, @@ -8097,7 +8066,6 @@ "type": "number" }, "i": { - "default": "49de787f-528f-47bd-a3f5-616351ccbc43", "description": "The unique identifier of the panel", "type": "string" }, @@ -8158,14 +8126,6 @@ "type": "object" }, "panelIndex": { - "default": { - "ref": { - "path": [ - "gridData", - "i" - ] - } - }, "description": "The unique ID of the panel.", "type": "string" }, @@ -8325,12 +8285,11 @@ "type": "object" }, "grow": { - "default": true, + "default": false, "description": "Expand width of the control panel to fit available space.", "type": "boolean" }, "id": { - "default": "edc483da-2dcf-4469-8d36-c99ca8f699a7", "description": "The unique ID of the control.", "type": "string" }, @@ -8639,7 +8598,6 @@ "type": "number" }, "i": { - "default": "49de787f-528f-47bd-a3f5-616351ccbc43", "description": "The unique identifier of the panel", "type": "string" }, @@ -8700,14 +8658,6 @@ "type": "object" }, "panelIndex": { - "default": { - "ref": { - "path": [ - "gridData", - "i" - ] - } - }, "description": "The unique ID of the panel.", "type": "string" }, diff --git a/src/plugins/dashboard/server/content_management/v3/cm_services.ts b/src/plugins/dashboard/server/content_management/v3/cm_services.ts index e086d1cc1460a..f4a4d902355f5 100644 --- a/src/plugins/dashboard/server/content_management/v3/cm_services.ts +++ b/src/plugins/dashboard/server/content_management/v3/cm_services.ts @@ -7,7 +7,6 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { v4 as uuidv4 } from 'uuid'; import { schema, Type } from '@kbn/config-schema'; import { createOptionsSchemas, updateOptionsSchema } from '@kbn/content-management-utils'; import type { ContentManagementServicesDefinition as ServicesDefinition } from '@kbn/object-versioning'; @@ -50,10 +49,11 @@ export const controlGroupInputSchema = schema.object({ { type: schema.string({ meta: { description: 'The type of the control panel.' } }), controlConfig: schema.maybe(schema.recordOf(schema.string(), schema.any())), - id: schema.string({ - defaultValue: uuidv4(), - meta: { description: 'The unique ID of the control.' }, - }), + id: schema.maybe( + schema.string({ + meta: { description: 'The unique ID of the control.' }, + }) + ), order: schema.number({ meta: { description: 'The order of the control panel in the control group.', @@ -243,10 +243,11 @@ export const gridDataSchema = schema.object({ min: 1, meta: { description: 'The height of the panel in grid units' }, }), - i: schema.string({ - meta: { description: 'The unique identifier of the panel' }, - defaultValue: uuidv4(), - }), + i: schema.maybe( + schema.string({ + meta: { description: 'The unique identifier of the panel' }, + }) + ), }); export const panelSchema = schema.object({ @@ -284,10 +285,11 @@ export const panelSchema = schema.object({ type: schema.string({ meta: { description: 'The embeddable type' } }), panelRefName: schema.maybe(schema.string()), gridData: gridDataSchema, - panelIndex: schema.string({ - meta: { description: 'The unique ID of the panel.' }, - defaultValue: schema.siblingRef('gridData.i'), - }), + panelIndex: schema.maybe( + schema.string({ + meta: { description: 'The unique ID of the panel.' }, + }) + ), title: schema.maybe(schema.string({ meta: { description: 'The title of the panel' } })), version: schema.maybe( schema.string({ From f5b5a689f62788f409791eaf557a6aada3258a28 Mon Sep 17 00:00:00 2001 From: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Date: Wed, 13 Nov 2024 14:08:31 +0000 Subject: [PATCH 04/16] [CI] Auto-commit changed files from 'make api-docs' --- oas_docs/output/kibana.serverless.yaml | 2553 ++++++++++++++++++++++++ oas_docs/output/kibana.yaml | 2553 ++++++++++++++++++++++++ 2 files changed, 5106 insertions(+) diff --git a/oas_docs/output/kibana.serverless.yaml b/oas_docs/output/kibana.serverless.yaml index 2b64330a1937a..0cf39f8658824 100644 --- a/oas_docs/output/kibana.serverless.yaml +++ b/oas_docs/output/kibana.serverless.yaml @@ -5663,6 +5663,2558 @@ paths: summary: List asset criticality records tags: - Security Entity Analytics API + /api/dashboards/dashboard: + get: + description: >- + This functionality is in technical preview and may be changed or removed + in a future release. Elastic will work to fix any issues, but features + in technical preview are not subject to the support SLA of official GA + features. + operationId: get-dashboards-dashboard + parameters: + - description: The version of the API to use + in: header + name: elastic-api-version + schema: + default: '2023-10-31' + enum: + - '2023-10-31' + type: string + - in: query + name: page + required: false + schema: + default: 1 + type: number + - in: query + name: perPage + required: false + schema: + type: number + responses: + '200': + content: + application/json; Elastic-Api-Version=2023-10-31: + schema: + additionalProperties: false + type: object + properties: + items: + items: + additionalProperties: true + type: object + properties: + attributes: + additionalProperties: false + type: object + properties: + description: + default: '' + description: A short description. + type: string + timeRestore: + default: false + description: >- + Whether to restore time upon viewing this + dashboard + type: boolean + title: + description: A human-readable title for the dashboard + type: string + required: + - title + createdAt: + type: string + createdBy: + type: string + error: + additionalProperties: false + type: object + properties: + error: + type: string + message: + type: string + metadata: + additionalProperties: true + type: object + properties: {} + statusCode: + type: number + required: + - error + - message + - statusCode + id: + type: string + managed: + type: boolean + namespaces: + items: + type: string + type: array + originId: + type: string + references: + items: + additionalProperties: false + type: object + properties: + id: + type: string + name: + type: string + type: + type: string + required: + - name + - type + - id + type: array + type: + type: string + updatedAt: + type: string + updatedBy: + type: string + version: + type: string + required: + - id + - type + - attributes + - references + type: array + total: + type: number + required: + - items + - total + summary: Get a list of dashboards. + tags: + - Dashboards + /api/dashboards/dashboard/{id}: + delete: + description: >- + This functionality is in technical preview and may be changed or removed + in a future release. Elastic will work to fix any issues, but features + in technical preview are not subject to the support SLA of official GA + features. + operationId: delete-dashboards-dashboard-id + parameters: + - description: The version of the API to use + in: header + name: elastic-api-version + schema: + default: '2023-10-31' + enum: + - '2023-10-31' + type: string + - description: A required header to protect against CSRF attacks + in: header + name: kbn-xsrf + required: true + schema: + example: 'true' + type: string + - in: path + name: id + required: true + schema: + type: string + responses: {} + summary: Delete a dashboard. + tags: + - Dashboards + get: + description: >- + This functionality is in technical preview and may be changed or removed + in a future release. Elastic will work to fix any issues, but features + in technical preview are not subject to the support SLA of official GA + features. + operationId: get-dashboards-dashboard-id + parameters: + - description: The version of the API to use + in: header + name: elastic-api-version + schema: + default: '2023-10-31' + enum: + - '2023-10-31' + type: string + - in: path + name: id + required: true + schema: + type: string + responses: + '200': + content: + application/json; Elastic-Api-Version=2023-10-31: + schema: + additionalProperties: false + type: object + properties: + item: + additionalProperties: true + type: object + properties: + attributes: + additionalProperties: false + type: object + properties: + controlGroupInput: + additionalProperties: false + type: object + properties: + autoApplySelections: + default: true + description: Show apply selections button in controls. + type: boolean + chainingSystem: + default: HIERARCHICAL + description: >- + The chaining strategy for multiple controls. + For example, "HIERARCHICAL" or "NONE". + enum: + - NONE + - HIERARCHICAL + type: string + controls: + default: [] + description: >- + An array of control panels and their state in + the control group. + items: + additionalProperties: true + type: object + properties: + controlConfig: + additionalProperties: {} + type: object + grow: + default: false + description: >- + Expand width of the control panel to fit + available space. + type: boolean + id: + description: The unique ID of the control. + type: string + order: + description: >- + The order of the control panel in the + control group. + type: number + type: + description: The type of the control panel. + type: string + width: + default: medium + description: >- + Minimum width of the control panel in + the control group. + enum: + - small + - medium + - large + type: string + required: + - type + - order + type: array + enhancements: + additionalProperties: {} + type: object + ignoreParentSettings: + additionalProperties: false + type: object + properties: + ignoreFilters: + default: false + description: Ignore global filters in controls. + type: boolean + ignoreQuery: + default: false + description: Ignore the global query bar in controls. + type: boolean + ignoreTimerange: + default: false + description: Ignore the global time range in controls. + type: boolean + ignoreValidations: + default: false + description: Ignore validations in controls. + type: boolean + labelPosition: + default: oneLine + description: >- + Position of the labels for controls. For + example, "oneLine", "twoLine". + enum: + - oneLine + - twoLine + type: string + required: + - ignoreParentSettings + description: + default: '' + description: A short description. + type: string + kibanaSavedObjectMeta: + additionalProperties: false + default: {} + description: A container for various metadata + type: object + properties: + searchSource: + additionalProperties: true + type: object + properties: + filter: + items: + additionalProperties: false + description: A filter for the search source. + type: object + properties: + $state: + additionalProperties: false + type: object + properties: + store: + description: >- + Denote whether a filter is specific to + an application's context (e.g. + 'appState') or whether it should be + applied globally (e.g. 'globalState'). + enum: + - appState + - globalState + type: string + required: + - store + meta: + additionalProperties: true + type: object + properties: + alias: + nullable: true + type: string + controlledBy: + type: string + disabled: + type: boolean + field: + type: string + group: + type: string + index: + type: string + isMultiIndex: + type: boolean + key: + type: string + negate: + type: boolean + params: {} + type: + type: string + value: + type: string + required: + - params + query: + additionalProperties: {} + type: object + required: + - meta + type: array + query: + additionalProperties: false + type: object + properties: + language: + description: >- + The query language such as KQL or + Lucene. + type: string + query: + anyOf: + - description: >- + A text-based query such as Kibana Query + Language (KQL) or Lucene query language. + type: string + - additionalProperties: {} + type: object + required: + - query + - language + sort: + items: + additionalProperties: + anyOf: + - enum: + - asc + - desc + type: string + - additionalProperties: false + type: object + properties: + format: + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + - additionalProperties: false + type: object + properties: + numeric_type: + enum: + - double + - long + - date + - date_nanos + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + type: object + type: array + type: + type: string + options: + additionalProperties: false + type: object + properties: + hidePanelTitles: + default: false + description: Hide the panel titles in the dashboard. + type: boolean + syncColors: + default: true + description: >- + Synchronize colors between related panels in + the dashboard. + type: boolean + syncCursor: + default: true + description: >- + Synchronize cursor position between related + panels in the dashboard. + type: boolean + syncTooltips: + default: true + description: >- + Synchronize tooltips between related panels in + the dashboard. + type: boolean + useMargins: + default: true + description: >- + Show margins between panels in the dashboard + layout. + type: boolean + panels: + default: [] + items: + additionalProperties: false + type: object + properties: + gridData: + additionalProperties: false + type: object + properties: + h: + default: 15 + description: The height of the panel in grid units + minimum: 1 + type: number + i: + description: The unique identifier of the panel + type: string + w: + default: 24 + description: The width of the panel in grid units + maximum: 48 + minimum: 1 + type: number + x: + description: >- + The x coordinate of the panel in grid + units + type: number + 'y': + description: >- + The y coordinate of the panel in grid + units + type: number + required: + - x + - 'y' + id: + description: The saved object id for by reference panels + type: string + panelConfig: + additionalProperties: true + type: object + properties: + description: + description: The description of the panel + type: string + enhancements: + additionalProperties: {} + type: object + hidePanelTitles: + description: >- + Set to true to hide the panel title in + its container. + type: boolean + savedObjectId: + description: >- + The unique id of the library item to + construct the embeddable. + type: string + title: + description: The title of the panel + type: string + version: + description: >- + The version of the embeddable in the + panel. + type: string + panelIndex: + description: The unique ID of the panel. + type: string + panelRefName: + type: string + title: + description: The title of the panel + type: string + type: + description: The embeddable type + type: string + version: + deprecated: true + description: >- + The version was used to store Kibana version + information from versions 7.3.0 -> 8.11.0. + As of version 8.11.0, the versioning + information is now per-embeddable-type and + is stored on the embeddable's input. + (panelConfig in this type). + type: string + required: + - panelConfig + - type + - gridData + type: array + refreshInterval: + additionalProperties: false + description: A container for various refresh interval settings + type: object + properties: + display: + deprecated: true + description: >- + A human-readable string indicating the refresh + frequency. No longer used. + type: string + pause: + description: >- + Whether the refresh interval is set to be + paused while viewing the dashboard. + type: boolean + section: + deprecated: true + description: No longer used. + type: number + value: + description: >- + A numeric value indicating refresh frequency + in milliseconds. + type: number + required: + - pause + - value + timeFrom: + description: An ISO string indicating when to restore time from + type: string + timeRestore: + default: false + description: >- + Whether to restore time upon viewing this + dashboard + type: boolean + timeTo: + description: An ISO string indicating when to restore time from + type: string + title: + description: A human-readable title for the dashboard + type: string + version: + deprecated: true + type: number + required: + - title + - options + createdAt: + type: string + createdBy: + type: string + error: + additionalProperties: false + type: object + properties: + error: + type: string + message: + type: string + metadata: + additionalProperties: true + type: object + properties: {} + statusCode: + type: number + required: + - error + - message + - statusCode + id: + type: string + managed: + type: boolean + namespaces: + items: + type: string + type: array + originId: + type: string + references: + items: + additionalProperties: false + type: object + properties: + id: + type: string + name: + type: string + type: + type: string + required: + - name + - type + - id + type: array + type: + type: string + updatedAt: + type: string + updatedBy: + type: string + version: + type: string + required: + - id + - type + - attributes + - references + meta: + additionalProperties: false + type: object + properties: + aliasPurpose: + enum: + - savedObjectConversion + - savedObjectImport + type: string + aliasTargetId: + type: string + outcome: + enum: + - exactMatch + - aliasMatch + - conflict + type: string + required: + - outcome + required: + - item + - meta + summary: Get a dashboard. + tags: + - Dashboards + post: + description: >- + This functionality is in technical preview and may be changed or removed + in a future release. Elastic will work to fix any issues, but features + in technical preview are not subject to the support SLA of official GA + features. + operationId: post-dashboards-dashboard-id + parameters: + - description: The version of the API to use + in: header + name: elastic-api-version + schema: + default: '2023-10-31' + enum: + - '2023-10-31' + type: string + - description: A required header to protect against CSRF attacks + in: header + name: kbn-xsrf + required: true + schema: + example: 'true' + type: string + - in: path + name: id + required: false + schema: + type: string + requestBody: + content: + application/json; Elastic-Api-Version=2023-10-31: + schema: + additionalProperties: false + type: object + properties: + attributes: + additionalProperties: false + type: object + properties: + controlGroupInput: + additionalProperties: false + type: object + properties: + autoApplySelections: + default: true + description: Show apply selections button in controls. + type: boolean + chainingSystem: + default: HIERARCHICAL + description: >- + The chaining strategy for multiple controls. For + example, "HIERARCHICAL" or "NONE". + enum: + - NONE + - HIERARCHICAL + type: string + controls: + default: [] + description: >- + An array of control panels and their state in the + control group. + items: + additionalProperties: true + type: object + properties: + controlConfig: + additionalProperties: {} + type: object + grow: + default: false + description: >- + Expand width of the control panel to fit + available space. + type: boolean + id: + description: The unique ID of the control. + type: string + order: + description: >- + The order of the control panel in the control + group. + type: number + type: + description: The type of the control panel. + type: string + width: + default: medium + description: >- + Minimum width of the control panel in the + control group. + enum: + - small + - medium + - large + type: string + required: + - type + - order + type: array + enhancements: + additionalProperties: {} + type: object + ignoreParentSettings: + additionalProperties: false + type: object + properties: + ignoreFilters: + default: false + description: Ignore global filters in controls. + type: boolean + ignoreQuery: + default: false + description: Ignore the global query bar in controls. + type: boolean + ignoreTimerange: + default: false + description: Ignore the global time range in controls. + type: boolean + ignoreValidations: + default: false + description: Ignore validations in controls. + type: boolean + labelPosition: + default: oneLine + description: >- + Position of the labels for controls. For example, + "oneLine", "twoLine". + enum: + - oneLine + - twoLine + type: string + required: + - ignoreParentSettings + description: + default: '' + description: A short description. + type: string + kibanaSavedObjectMeta: + additionalProperties: false + default: {} + description: A container for various metadata + type: object + properties: + searchSource: + additionalProperties: true + type: object + properties: + filter: + items: + additionalProperties: false + description: A filter for the search source. + type: object + properties: + $state: + additionalProperties: false + type: object + properties: + store: + description: >- + Denote whether a filter is specific to + an application's context (e.g. + 'appState') or whether it should be + applied globally (e.g. 'globalState'). + enum: + - appState + - globalState + type: string + required: + - store + meta: + additionalProperties: true + type: object + properties: + alias: + nullable: true + type: string + controlledBy: + type: string + disabled: + type: boolean + field: + type: string + group: + type: string + index: + type: string + isMultiIndex: + type: boolean + key: + type: string + negate: + type: boolean + params: {} + type: + type: string + value: + type: string + required: + - params + query: + additionalProperties: {} + type: object + required: + - meta + type: array + query: + additionalProperties: false + type: object + properties: + language: + description: The query language such as KQL or Lucene. + type: string + query: + anyOf: + - description: >- + A text-based query such as Kibana Query + Language (KQL) or Lucene query language. + type: string + - additionalProperties: {} + type: object + required: + - query + - language + sort: + items: + additionalProperties: + anyOf: + - enum: + - asc + - desc + type: string + - additionalProperties: false + type: object + properties: + format: + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + - additionalProperties: false + type: object + properties: + numeric_type: + enum: + - double + - long + - date + - date_nanos + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + type: object + type: array + type: + type: string + options: + additionalProperties: false + type: object + properties: + hidePanelTitles: + default: false + description: Hide the panel titles in the dashboard. + type: boolean + syncColors: + default: true + description: >- + Synchronize colors between related panels in the + dashboard. + type: boolean + syncCursor: + default: true + description: >- + Synchronize cursor position between related panels + in the dashboard. + type: boolean + syncTooltips: + default: true + description: >- + Synchronize tooltips between related panels in the + dashboard. + type: boolean + useMargins: + default: true + description: Show margins between panels in the dashboard layout. + type: boolean + panels: + default: [] + items: + additionalProperties: false + type: object + properties: + gridData: + additionalProperties: false + type: object + properties: + h: + default: 15 + description: The height of the panel in grid units + minimum: 1 + type: number + i: + description: The unique identifier of the panel + type: string + w: + default: 24 + description: The width of the panel in grid units + maximum: 48 + minimum: 1 + type: number + x: + description: The x coordinate of the panel in grid units + type: number + 'y': + description: The y coordinate of the panel in grid units + type: number + required: + - x + - 'y' + id: + description: The saved object id for by reference panels + type: string + panelConfig: + additionalProperties: true + type: object + properties: + description: + description: The description of the panel + type: string + enhancements: + additionalProperties: {} + type: object + hidePanelTitles: + description: >- + Set to true to hide the panel title in its + container. + type: boolean + savedObjectId: + description: >- + The unique id of the library item to construct + the embeddable. + type: string + title: + description: The title of the panel + type: string + version: + description: The version of the embeddable in the panel. + type: string + panelIndex: + description: The unique ID of the panel. + type: string + panelRefName: + type: string + title: + description: The title of the panel + type: string + type: + description: The embeddable type + type: string + version: + deprecated: true + description: >- + The version was used to store Kibana version + information from versions 7.3.0 -> 8.11.0. As of + version 8.11.0, the versioning information is now + per-embeddable-type and is stored on the + embeddable's input. (panelConfig in this type). + type: string + required: + - panelConfig + - type + - gridData + type: array + refreshInterval: + additionalProperties: false + description: A container for various refresh interval settings + type: object + properties: + display: + deprecated: true + description: >- + A human-readable string indicating the refresh + frequency. No longer used. + type: string + pause: + description: >- + Whether the refresh interval is set to be paused + while viewing the dashboard. + type: boolean + section: + deprecated: true + description: No longer used. + type: number + value: + description: >- + A numeric value indicating refresh frequency in + milliseconds. + type: number + required: + - pause + - value + timeFrom: + description: An ISO string indicating when to restore time from + type: string + timeRestore: + default: false + description: Whether to restore time upon viewing this dashboard + type: boolean + timeTo: + description: An ISO string indicating when to restore time from + type: string + title: + description: A human-readable title for the dashboard + type: string + version: + deprecated: true + type: number + required: + - title + - options + references: + items: + additionalProperties: false + type: object + properties: + id: + type: string + name: + type: string + type: + type: string + required: + - name + - type + - id + type: array + spaces: + items: + type: string + type: array + required: + - attributes + responses: + '200': + content: + application/json; Elastic-Api-Version=2023-10-31: + schema: + additionalProperties: false + type: object + properties: + item: + additionalProperties: true + type: object + properties: + attributes: + additionalProperties: false + type: object + properties: + controlGroupInput: + additionalProperties: false + type: object + properties: + autoApplySelections: + default: true + description: Show apply selections button in controls. + type: boolean + chainingSystem: + default: HIERARCHICAL + description: >- + The chaining strategy for multiple controls. + For example, "HIERARCHICAL" or "NONE". + enum: + - NONE + - HIERARCHICAL + type: string + controls: + default: [] + description: >- + An array of control panels and their state in + the control group. + items: + additionalProperties: true + type: object + properties: + controlConfig: + additionalProperties: {} + type: object + grow: + default: false + description: >- + Expand width of the control panel to fit + available space. + type: boolean + id: + description: The unique ID of the control. + type: string + order: + description: >- + The order of the control panel in the + control group. + type: number + type: + description: The type of the control panel. + type: string + width: + default: medium + description: >- + Minimum width of the control panel in + the control group. + enum: + - small + - medium + - large + type: string + required: + - type + - order + type: array + enhancements: + additionalProperties: {} + type: object + ignoreParentSettings: + additionalProperties: false + type: object + properties: + ignoreFilters: + default: false + description: Ignore global filters in controls. + type: boolean + ignoreQuery: + default: false + description: Ignore the global query bar in controls. + type: boolean + ignoreTimerange: + default: false + description: Ignore the global time range in controls. + type: boolean + ignoreValidations: + default: false + description: Ignore validations in controls. + type: boolean + labelPosition: + default: oneLine + description: >- + Position of the labels for controls. For + example, "oneLine", "twoLine". + enum: + - oneLine + - twoLine + type: string + required: + - ignoreParentSettings + description: + default: '' + description: A short description. + type: string + kibanaSavedObjectMeta: + additionalProperties: false + default: {} + description: A container for various metadata + type: object + properties: + searchSource: + additionalProperties: true + type: object + properties: + filter: + items: + additionalProperties: false + description: A filter for the search source. + type: object + properties: + $state: + additionalProperties: false + type: object + properties: + store: + description: >- + Denote whether a filter is specific to + an application's context (e.g. + 'appState') or whether it should be + applied globally (e.g. 'globalState'). + enum: + - appState + - globalState + type: string + required: + - store + meta: + additionalProperties: true + type: object + properties: + alias: + nullable: true + type: string + controlledBy: + type: string + disabled: + type: boolean + field: + type: string + group: + type: string + index: + type: string + isMultiIndex: + type: boolean + key: + type: string + negate: + type: boolean + params: {} + type: + type: string + value: + type: string + required: + - params + query: + additionalProperties: {} + type: object + required: + - meta + type: array + query: + additionalProperties: false + type: object + properties: + language: + description: >- + The query language such as KQL or + Lucene. + type: string + query: + anyOf: + - description: >- + A text-based query such as Kibana Query + Language (KQL) or Lucene query language. + type: string + - additionalProperties: {} + type: object + required: + - query + - language + sort: + items: + additionalProperties: + anyOf: + - enum: + - asc + - desc + type: string + - additionalProperties: false + type: object + properties: + format: + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + - additionalProperties: false + type: object + properties: + numeric_type: + enum: + - double + - long + - date + - date_nanos + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + type: object + type: array + type: + type: string + options: + additionalProperties: false + type: object + properties: + hidePanelTitles: + default: false + description: Hide the panel titles in the dashboard. + type: boolean + syncColors: + default: true + description: >- + Synchronize colors between related panels in + the dashboard. + type: boolean + syncCursor: + default: true + description: >- + Synchronize cursor position between related + panels in the dashboard. + type: boolean + syncTooltips: + default: true + description: >- + Synchronize tooltips between related panels in + the dashboard. + type: boolean + useMargins: + default: true + description: >- + Show margins between panels in the dashboard + layout. + type: boolean + panels: + default: [] + items: + additionalProperties: false + type: object + properties: + gridData: + additionalProperties: false + type: object + properties: + h: + default: 15 + description: The height of the panel in grid units + minimum: 1 + type: number + i: + description: The unique identifier of the panel + type: string + w: + default: 24 + description: The width of the panel in grid units + maximum: 48 + minimum: 1 + type: number + x: + description: >- + The x coordinate of the panel in grid + units + type: number + 'y': + description: >- + The y coordinate of the panel in grid + units + type: number + required: + - x + - 'y' + id: + description: The saved object id for by reference panels + type: string + panelConfig: + additionalProperties: true + type: object + properties: + description: + description: The description of the panel + type: string + enhancements: + additionalProperties: {} + type: object + hidePanelTitles: + description: >- + Set to true to hide the panel title in + its container. + type: boolean + savedObjectId: + description: >- + The unique id of the library item to + construct the embeddable. + type: string + title: + description: The title of the panel + type: string + version: + description: >- + The version of the embeddable in the + panel. + type: string + panelIndex: + description: The unique ID of the panel. + type: string + panelRefName: + type: string + title: + description: The title of the panel + type: string + type: + description: The embeddable type + type: string + version: + deprecated: true + description: >- + The version was used to store Kibana version + information from versions 7.3.0 -> 8.11.0. + As of version 8.11.0, the versioning + information is now per-embeddable-type and + is stored on the embeddable's input. + (panelConfig in this type). + type: string + required: + - panelConfig + - type + - gridData + type: array + refreshInterval: + additionalProperties: false + description: A container for various refresh interval settings + type: object + properties: + display: + deprecated: true + description: >- + A human-readable string indicating the refresh + frequency. No longer used. + type: string + pause: + description: >- + Whether the refresh interval is set to be + paused while viewing the dashboard. + type: boolean + section: + deprecated: true + description: No longer used. + type: number + value: + description: >- + A numeric value indicating refresh frequency + in milliseconds. + type: number + required: + - pause + - value + timeFrom: + description: An ISO string indicating when to restore time from + type: string + timeRestore: + default: false + description: >- + Whether to restore time upon viewing this + dashboard + type: boolean + timeTo: + description: An ISO string indicating when to restore time from + type: string + title: + description: A human-readable title for the dashboard + type: string + version: + deprecated: true + type: number + required: + - title + - options + createdAt: + type: string + createdBy: + type: string + error: + additionalProperties: false + type: object + properties: + error: + type: string + message: + type: string + metadata: + additionalProperties: true + type: object + properties: {} + statusCode: + type: number + required: + - error + - message + - statusCode + id: + type: string + managed: + type: boolean + namespaces: + items: + type: string + type: array + originId: + type: string + references: + items: + additionalProperties: false + type: object + properties: + id: + type: string + name: + type: string + type: + type: string + required: + - name + - type + - id + type: array + type: + type: string + updatedAt: + type: string + updatedBy: + type: string + version: + type: string + required: + - id + - type + - attributes + - references + required: + - item + summary: Create a dashboard + tags: + - Dashboards + put: + description: >- + This functionality is in technical preview and may be changed or removed + in a future release. Elastic will work to fix any issues, but features + in technical preview are not subject to the support SLA of official GA + features. + operationId: put-dashboards-dashboard-id + parameters: + - description: The version of the API to use + in: header + name: elastic-api-version + schema: + default: '2023-10-31' + enum: + - '2023-10-31' + type: string + - description: A required header to protect against CSRF attacks + in: header + name: kbn-xsrf + required: true + schema: + example: 'true' + type: string + - in: path + name: id + required: true + schema: + type: string + requestBody: + content: + application/json; Elastic-Api-Version=2023-10-31: + schema: + additionalProperties: false + type: object + properties: + attributes: + additionalProperties: false + type: object + properties: + controlGroupInput: + additionalProperties: false + type: object + properties: + autoApplySelections: + default: true + description: Show apply selections button in controls. + type: boolean + chainingSystem: + default: HIERARCHICAL + description: >- + The chaining strategy for multiple controls. For + example, "HIERARCHICAL" or "NONE". + enum: + - NONE + - HIERARCHICAL + type: string + controls: + default: [] + description: >- + An array of control panels and their state in the + control group. + items: + additionalProperties: true + type: object + properties: + controlConfig: + additionalProperties: {} + type: object + grow: + default: false + description: >- + Expand width of the control panel to fit + available space. + type: boolean + id: + description: The unique ID of the control. + type: string + order: + description: >- + The order of the control panel in the control + group. + type: number + type: + description: The type of the control panel. + type: string + width: + default: medium + description: >- + Minimum width of the control panel in the + control group. + enum: + - small + - medium + - large + type: string + required: + - type + - order + type: array + enhancements: + additionalProperties: {} + type: object + ignoreParentSettings: + additionalProperties: false + type: object + properties: + ignoreFilters: + default: false + description: Ignore global filters in controls. + type: boolean + ignoreQuery: + default: false + description: Ignore the global query bar in controls. + type: boolean + ignoreTimerange: + default: false + description: Ignore the global time range in controls. + type: boolean + ignoreValidations: + default: false + description: Ignore validations in controls. + type: boolean + labelPosition: + default: oneLine + description: >- + Position of the labels for controls. For example, + "oneLine", "twoLine". + enum: + - oneLine + - twoLine + type: string + required: + - ignoreParentSettings + description: + default: '' + description: A short description. + type: string + kibanaSavedObjectMeta: + additionalProperties: false + default: {} + description: A container for various metadata + type: object + properties: + searchSource: + additionalProperties: true + type: object + properties: + filter: + items: + additionalProperties: false + description: A filter for the search source. + type: object + properties: + $state: + additionalProperties: false + type: object + properties: + store: + description: >- + Denote whether a filter is specific to + an application's context (e.g. + 'appState') or whether it should be + applied globally (e.g. 'globalState'). + enum: + - appState + - globalState + type: string + required: + - store + meta: + additionalProperties: true + type: object + properties: + alias: + nullable: true + type: string + controlledBy: + type: string + disabled: + type: boolean + field: + type: string + group: + type: string + index: + type: string + isMultiIndex: + type: boolean + key: + type: string + negate: + type: boolean + params: {} + type: + type: string + value: + type: string + required: + - params + query: + additionalProperties: {} + type: object + required: + - meta + type: array + query: + additionalProperties: false + type: object + properties: + language: + description: The query language such as KQL or Lucene. + type: string + query: + anyOf: + - description: >- + A text-based query such as Kibana Query + Language (KQL) or Lucene query language. + type: string + - additionalProperties: {} + type: object + required: + - query + - language + sort: + items: + additionalProperties: + anyOf: + - enum: + - asc + - desc + type: string + - additionalProperties: false + type: object + properties: + format: + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + - additionalProperties: false + type: object + properties: + numeric_type: + enum: + - double + - long + - date + - date_nanos + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + type: object + type: array + type: + type: string + options: + additionalProperties: false + type: object + properties: + hidePanelTitles: + default: false + description: Hide the panel titles in the dashboard. + type: boolean + syncColors: + default: true + description: >- + Synchronize colors between related panels in the + dashboard. + type: boolean + syncCursor: + default: true + description: >- + Synchronize cursor position between related panels + in the dashboard. + type: boolean + syncTooltips: + default: true + description: >- + Synchronize tooltips between related panels in the + dashboard. + type: boolean + useMargins: + default: true + description: Show margins between panels in the dashboard layout. + type: boolean + panels: + default: [] + items: + additionalProperties: false + type: object + properties: + gridData: + additionalProperties: false + type: object + properties: + h: + default: 15 + description: The height of the panel in grid units + minimum: 1 + type: number + i: + description: The unique identifier of the panel + type: string + w: + default: 24 + description: The width of the panel in grid units + maximum: 48 + minimum: 1 + type: number + x: + description: The x coordinate of the panel in grid units + type: number + 'y': + description: The y coordinate of the panel in grid units + type: number + required: + - x + - 'y' + id: + description: The saved object id for by reference panels + type: string + panelConfig: + additionalProperties: true + type: object + properties: + description: + description: The description of the panel + type: string + enhancements: + additionalProperties: {} + type: object + hidePanelTitles: + description: >- + Set to true to hide the panel title in its + container. + type: boolean + savedObjectId: + description: >- + The unique id of the library item to construct + the embeddable. + type: string + title: + description: The title of the panel + type: string + version: + description: The version of the embeddable in the panel. + type: string + panelIndex: + description: The unique ID of the panel. + type: string + panelRefName: + type: string + title: + description: The title of the panel + type: string + type: + description: The embeddable type + type: string + version: + deprecated: true + description: >- + The version was used to store Kibana version + information from versions 7.3.0 -> 8.11.0. As of + version 8.11.0, the versioning information is now + per-embeddable-type and is stored on the + embeddable's input. (panelConfig in this type). + type: string + required: + - panelConfig + - type + - gridData + type: array + refreshInterval: + additionalProperties: false + description: A container for various refresh interval settings + type: object + properties: + display: + deprecated: true + description: >- + A human-readable string indicating the refresh + frequency. No longer used. + type: string + pause: + description: >- + Whether the refresh interval is set to be paused + while viewing the dashboard. + type: boolean + section: + deprecated: true + description: No longer used. + type: number + value: + description: >- + A numeric value indicating refresh frequency in + milliseconds. + type: number + required: + - pause + - value + timeFrom: + description: An ISO string indicating when to restore time from + type: string + timeRestore: + default: false + description: Whether to restore time upon viewing this dashboard + type: boolean + timeTo: + description: An ISO string indicating when to restore time from + type: string + title: + description: A human-readable title for the dashboard + type: string + version: + deprecated: true + type: number + required: + - title + - options + references: + items: + additionalProperties: false + type: object + properties: + id: + type: string + name: + type: string + type: + type: string + required: + - name + - type + - id + type: array + required: + - attributes + responses: + '200': + content: + application/json; Elastic-Api-Version=2023-10-31: + schema: + additionalProperties: false + type: object + properties: + item: + additionalProperties: true + type: object + properties: + attributes: + additionalProperties: false + type: object + properties: + controlGroupInput: + additionalProperties: false + type: object + properties: + autoApplySelections: + default: true + description: Show apply selections button in controls. + type: boolean + chainingSystem: + default: HIERARCHICAL + description: >- + The chaining strategy for multiple controls. + For example, "HIERARCHICAL" or "NONE". + enum: + - NONE + - HIERARCHICAL + type: string + controls: + default: [] + description: >- + An array of control panels and their state in + the control group. + items: + additionalProperties: true + type: object + properties: + controlConfig: + additionalProperties: {} + type: object + grow: + default: false + description: >- + Expand width of the control panel to fit + available space. + type: boolean + id: + description: The unique ID of the control. + type: string + order: + description: >- + The order of the control panel in the + control group. + type: number + type: + description: The type of the control panel. + type: string + width: + default: medium + description: >- + Minimum width of the control panel in + the control group. + enum: + - small + - medium + - large + type: string + required: + - type + - order + type: array + enhancements: + additionalProperties: {} + type: object + ignoreParentSettings: + additionalProperties: false + type: object + properties: + ignoreFilters: + default: false + description: Ignore global filters in controls. + type: boolean + ignoreQuery: + default: false + description: Ignore the global query bar in controls. + type: boolean + ignoreTimerange: + default: false + description: Ignore the global time range in controls. + type: boolean + ignoreValidations: + default: false + description: Ignore validations in controls. + type: boolean + labelPosition: + default: oneLine + description: >- + Position of the labels for controls. For + example, "oneLine", "twoLine". + enum: + - oneLine + - twoLine + type: string + required: + - ignoreParentSettings + description: + default: '' + description: A short description. + type: string + kibanaSavedObjectMeta: + additionalProperties: false + default: {} + description: A container for various metadata + type: object + properties: + searchSource: + additionalProperties: true + type: object + properties: + filter: + items: + additionalProperties: false + description: A filter for the search source. + type: object + properties: + $state: + additionalProperties: false + type: object + properties: + store: + description: >- + Denote whether a filter is specific to + an application's context (e.g. + 'appState') or whether it should be + applied globally (e.g. 'globalState'). + enum: + - appState + - globalState + type: string + required: + - store + meta: + additionalProperties: true + type: object + properties: + alias: + nullable: true + type: string + controlledBy: + type: string + disabled: + type: boolean + field: + type: string + group: + type: string + index: + type: string + isMultiIndex: + type: boolean + key: + type: string + negate: + type: boolean + params: {} + type: + type: string + value: + type: string + required: + - params + query: + additionalProperties: {} + type: object + required: + - meta + type: array + query: + additionalProperties: false + type: object + properties: + language: + description: >- + The query language such as KQL or + Lucene. + type: string + query: + anyOf: + - description: >- + A text-based query such as Kibana Query + Language (KQL) or Lucene query language. + type: string + - additionalProperties: {} + type: object + required: + - query + - language + sort: + items: + additionalProperties: + anyOf: + - enum: + - asc + - desc + type: string + - additionalProperties: false + type: object + properties: + format: + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + - additionalProperties: false + type: object + properties: + numeric_type: + enum: + - double + - long + - date + - date_nanos + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + type: object + type: array + type: + type: string + options: + additionalProperties: false + type: object + properties: + hidePanelTitles: + default: false + description: Hide the panel titles in the dashboard. + type: boolean + syncColors: + default: true + description: >- + Synchronize colors between related panels in + the dashboard. + type: boolean + syncCursor: + default: true + description: >- + Synchronize cursor position between related + panels in the dashboard. + type: boolean + syncTooltips: + default: true + description: >- + Synchronize tooltips between related panels in + the dashboard. + type: boolean + useMargins: + default: true + description: >- + Show margins between panels in the dashboard + layout. + type: boolean + panels: + default: [] + items: + additionalProperties: false + type: object + properties: + gridData: + additionalProperties: false + type: object + properties: + h: + default: 15 + description: The height of the panel in grid units + minimum: 1 + type: number + i: + description: The unique identifier of the panel + type: string + w: + default: 24 + description: The width of the panel in grid units + maximum: 48 + minimum: 1 + type: number + x: + description: >- + The x coordinate of the panel in grid + units + type: number + 'y': + description: >- + The y coordinate of the panel in grid + units + type: number + required: + - x + - 'y' + id: + description: The saved object id for by reference panels + type: string + panelConfig: + additionalProperties: true + type: object + properties: + description: + description: The description of the panel + type: string + enhancements: + additionalProperties: {} + type: object + hidePanelTitles: + description: >- + Set to true to hide the panel title in + its container. + type: boolean + savedObjectId: + description: >- + The unique id of the library item to + construct the embeddable. + type: string + title: + description: The title of the panel + type: string + version: + description: >- + The version of the embeddable in the + panel. + type: string + panelIndex: + description: The unique ID of the panel. + type: string + panelRefName: + type: string + title: + description: The title of the panel + type: string + type: + description: The embeddable type + type: string + version: + deprecated: true + description: >- + The version was used to store Kibana version + information from versions 7.3.0 -> 8.11.0. + As of version 8.11.0, the versioning + information is now per-embeddable-type and + is stored on the embeddable's input. + (panelConfig in this type). + type: string + required: + - panelConfig + - type + - gridData + type: array + refreshInterval: + additionalProperties: false + description: A container for various refresh interval settings + type: object + properties: + display: + deprecated: true + description: >- + A human-readable string indicating the refresh + frequency. No longer used. + type: string + pause: + description: >- + Whether the refresh interval is set to be + paused while viewing the dashboard. + type: boolean + section: + deprecated: true + description: No longer used. + type: number + value: + description: >- + A numeric value indicating refresh frequency + in milliseconds. + type: number + required: + - pause + - value + timeFrom: + description: An ISO string indicating when to restore time from + type: string + timeRestore: + default: false + description: >- + Whether to restore time upon viewing this + dashboard + type: boolean + timeTo: + description: An ISO string indicating when to restore time from + type: string + title: + description: A human-readable title for the dashboard + type: string + version: + deprecated: true + type: number + required: + - title + - options + createdAt: + type: string + createdBy: + type: string + error: + additionalProperties: false + type: object + properties: + error: + type: string + message: + type: string + metadata: + additionalProperties: true + type: object + properties: {} + statusCode: + type: number + required: + - error + - message + - statusCode + id: + type: string + managed: + type: boolean + namespaces: + items: + type: string + type: array + originId: + type: string + references: + items: + additionalProperties: false + type: object + properties: + id: + type: string + name: + type: string + type: + type: string + required: + - name + - type + - id + type: array + type: + type: string + updatedAt: + type: string + updatedBy: + type: string + version: + type: string + required: + - id + - type + - attributes + - references + required: + - item + summary: Update an existing dashboard. + tags: + - Dashboards /api/data_views: get: operationId: getAllDataViewsDefault @@ -50172,6 +52724,7 @@ tags: - description: Configure APM source maps. name: APM sourcemaps - name: connectors + - name: Dashboards - name: Data streams - description: >- Data view APIs enable you to manage data views, formerly known as Kibana diff --git a/oas_docs/output/kibana.yaml b/oas_docs/output/kibana.yaml index db3282f2c7899..60b7b38074da6 100644 --- a/oas_docs/output/kibana.yaml +++ b/oas_docs/output/kibana.yaml @@ -8186,6 +8186,2558 @@ paths: summary: Get case tags tags: - cases + /api/dashboards/dashboard: + get: + description: >- + This functionality is in technical preview and may be changed or removed + in a future release. Elastic will work to fix any issues, but features + in technical preview are not subject to the support SLA of official GA + features. + operationId: get-dashboards-dashboard + parameters: + - description: The version of the API to use + in: header + name: elastic-api-version + schema: + default: '2023-10-31' + enum: + - '2023-10-31' + type: string + - in: query + name: page + required: false + schema: + default: 1 + type: number + - in: query + name: perPage + required: false + schema: + type: number + responses: + '200': + content: + application/json; Elastic-Api-Version=2023-10-31: + schema: + additionalProperties: false + type: object + properties: + items: + items: + additionalProperties: true + type: object + properties: + attributes: + additionalProperties: false + type: object + properties: + description: + default: '' + description: A short description. + type: string + timeRestore: + default: false + description: >- + Whether to restore time upon viewing this + dashboard + type: boolean + title: + description: A human-readable title for the dashboard + type: string + required: + - title + createdAt: + type: string + createdBy: + type: string + error: + additionalProperties: false + type: object + properties: + error: + type: string + message: + type: string + metadata: + additionalProperties: true + type: object + properties: {} + statusCode: + type: number + required: + - error + - message + - statusCode + id: + type: string + managed: + type: boolean + namespaces: + items: + type: string + type: array + originId: + type: string + references: + items: + additionalProperties: false + type: object + properties: + id: + type: string + name: + type: string + type: + type: string + required: + - name + - type + - id + type: array + type: + type: string + updatedAt: + type: string + updatedBy: + type: string + version: + type: string + required: + - id + - type + - attributes + - references + type: array + total: + type: number + required: + - items + - total + summary: Get a list of dashboards. + tags: + - Dashboards + /api/dashboards/dashboard/{id}: + delete: + description: >- + This functionality is in technical preview and may be changed or removed + in a future release. Elastic will work to fix any issues, but features + in technical preview are not subject to the support SLA of official GA + features. + operationId: delete-dashboards-dashboard-id + parameters: + - description: The version of the API to use + in: header + name: elastic-api-version + schema: + default: '2023-10-31' + enum: + - '2023-10-31' + type: string + - description: A required header to protect against CSRF attacks + in: header + name: kbn-xsrf + required: true + schema: + example: 'true' + type: string + - in: path + name: id + required: true + schema: + type: string + responses: {} + summary: Delete a dashboard. + tags: + - Dashboards + get: + description: >- + This functionality is in technical preview and may be changed or removed + in a future release. Elastic will work to fix any issues, but features + in technical preview are not subject to the support SLA of official GA + features. + operationId: get-dashboards-dashboard-id + parameters: + - description: The version of the API to use + in: header + name: elastic-api-version + schema: + default: '2023-10-31' + enum: + - '2023-10-31' + type: string + - in: path + name: id + required: true + schema: + type: string + responses: + '200': + content: + application/json; Elastic-Api-Version=2023-10-31: + schema: + additionalProperties: false + type: object + properties: + item: + additionalProperties: true + type: object + properties: + attributes: + additionalProperties: false + type: object + properties: + controlGroupInput: + additionalProperties: false + type: object + properties: + autoApplySelections: + default: true + description: Show apply selections button in controls. + type: boolean + chainingSystem: + default: HIERARCHICAL + description: >- + The chaining strategy for multiple controls. + For example, "HIERARCHICAL" or "NONE". + enum: + - NONE + - HIERARCHICAL + type: string + controls: + default: [] + description: >- + An array of control panels and their state in + the control group. + items: + additionalProperties: true + type: object + properties: + controlConfig: + additionalProperties: {} + type: object + grow: + default: false + description: >- + Expand width of the control panel to fit + available space. + type: boolean + id: + description: The unique ID of the control. + type: string + order: + description: >- + The order of the control panel in the + control group. + type: number + type: + description: The type of the control panel. + type: string + width: + default: medium + description: >- + Minimum width of the control panel in + the control group. + enum: + - small + - medium + - large + type: string + required: + - type + - order + type: array + enhancements: + additionalProperties: {} + type: object + ignoreParentSettings: + additionalProperties: false + type: object + properties: + ignoreFilters: + default: false + description: Ignore global filters in controls. + type: boolean + ignoreQuery: + default: false + description: Ignore the global query bar in controls. + type: boolean + ignoreTimerange: + default: false + description: Ignore the global time range in controls. + type: boolean + ignoreValidations: + default: false + description: Ignore validations in controls. + type: boolean + labelPosition: + default: oneLine + description: >- + Position of the labels for controls. For + example, "oneLine", "twoLine". + enum: + - oneLine + - twoLine + type: string + required: + - ignoreParentSettings + description: + default: '' + description: A short description. + type: string + kibanaSavedObjectMeta: + additionalProperties: false + default: {} + description: A container for various metadata + type: object + properties: + searchSource: + additionalProperties: true + type: object + properties: + filter: + items: + additionalProperties: false + description: A filter for the search source. + type: object + properties: + $state: + additionalProperties: false + type: object + properties: + store: + description: >- + Denote whether a filter is specific to + an application's context (e.g. + 'appState') or whether it should be + applied globally (e.g. 'globalState'). + enum: + - appState + - globalState + type: string + required: + - store + meta: + additionalProperties: true + type: object + properties: + alias: + nullable: true + type: string + controlledBy: + type: string + disabled: + type: boolean + field: + type: string + group: + type: string + index: + type: string + isMultiIndex: + type: boolean + key: + type: string + negate: + type: boolean + params: {} + type: + type: string + value: + type: string + required: + - params + query: + additionalProperties: {} + type: object + required: + - meta + type: array + query: + additionalProperties: false + type: object + properties: + language: + description: >- + The query language such as KQL or + Lucene. + type: string + query: + anyOf: + - description: >- + A text-based query such as Kibana Query + Language (KQL) or Lucene query language. + type: string + - additionalProperties: {} + type: object + required: + - query + - language + sort: + items: + additionalProperties: + anyOf: + - enum: + - asc + - desc + type: string + - additionalProperties: false + type: object + properties: + format: + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + - additionalProperties: false + type: object + properties: + numeric_type: + enum: + - double + - long + - date + - date_nanos + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + type: object + type: array + type: + type: string + options: + additionalProperties: false + type: object + properties: + hidePanelTitles: + default: false + description: Hide the panel titles in the dashboard. + type: boolean + syncColors: + default: true + description: >- + Synchronize colors between related panels in + the dashboard. + type: boolean + syncCursor: + default: true + description: >- + Synchronize cursor position between related + panels in the dashboard. + type: boolean + syncTooltips: + default: true + description: >- + Synchronize tooltips between related panels in + the dashboard. + type: boolean + useMargins: + default: true + description: >- + Show margins between panels in the dashboard + layout. + type: boolean + panels: + default: [] + items: + additionalProperties: false + type: object + properties: + gridData: + additionalProperties: false + type: object + properties: + h: + default: 15 + description: The height of the panel in grid units + minimum: 1 + type: number + i: + description: The unique identifier of the panel + type: string + w: + default: 24 + description: The width of the panel in grid units + maximum: 48 + minimum: 1 + type: number + x: + description: >- + The x coordinate of the panel in grid + units + type: number + 'y': + description: >- + The y coordinate of the panel in grid + units + type: number + required: + - x + - 'y' + id: + description: The saved object id for by reference panels + type: string + panelConfig: + additionalProperties: true + type: object + properties: + description: + description: The description of the panel + type: string + enhancements: + additionalProperties: {} + type: object + hidePanelTitles: + description: >- + Set to true to hide the panel title in + its container. + type: boolean + savedObjectId: + description: >- + The unique id of the library item to + construct the embeddable. + type: string + title: + description: The title of the panel + type: string + version: + description: >- + The version of the embeddable in the + panel. + type: string + panelIndex: + description: The unique ID of the panel. + type: string + panelRefName: + type: string + title: + description: The title of the panel + type: string + type: + description: The embeddable type + type: string + version: + deprecated: true + description: >- + The version was used to store Kibana version + information from versions 7.3.0 -> 8.11.0. + As of version 8.11.0, the versioning + information is now per-embeddable-type and + is stored on the embeddable's input. + (panelConfig in this type). + type: string + required: + - panelConfig + - type + - gridData + type: array + refreshInterval: + additionalProperties: false + description: A container for various refresh interval settings + type: object + properties: + display: + deprecated: true + description: >- + A human-readable string indicating the refresh + frequency. No longer used. + type: string + pause: + description: >- + Whether the refresh interval is set to be + paused while viewing the dashboard. + type: boolean + section: + deprecated: true + description: No longer used. + type: number + value: + description: >- + A numeric value indicating refresh frequency + in milliseconds. + type: number + required: + - pause + - value + timeFrom: + description: An ISO string indicating when to restore time from + type: string + timeRestore: + default: false + description: >- + Whether to restore time upon viewing this + dashboard + type: boolean + timeTo: + description: An ISO string indicating when to restore time from + type: string + title: + description: A human-readable title for the dashboard + type: string + version: + deprecated: true + type: number + required: + - title + - options + createdAt: + type: string + createdBy: + type: string + error: + additionalProperties: false + type: object + properties: + error: + type: string + message: + type: string + metadata: + additionalProperties: true + type: object + properties: {} + statusCode: + type: number + required: + - error + - message + - statusCode + id: + type: string + managed: + type: boolean + namespaces: + items: + type: string + type: array + originId: + type: string + references: + items: + additionalProperties: false + type: object + properties: + id: + type: string + name: + type: string + type: + type: string + required: + - name + - type + - id + type: array + type: + type: string + updatedAt: + type: string + updatedBy: + type: string + version: + type: string + required: + - id + - type + - attributes + - references + meta: + additionalProperties: false + type: object + properties: + aliasPurpose: + enum: + - savedObjectConversion + - savedObjectImport + type: string + aliasTargetId: + type: string + outcome: + enum: + - exactMatch + - aliasMatch + - conflict + type: string + required: + - outcome + required: + - item + - meta + summary: Get a dashboard. + tags: + - Dashboards + post: + description: >- + This functionality is in technical preview and may be changed or removed + in a future release. Elastic will work to fix any issues, but features + in technical preview are not subject to the support SLA of official GA + features. + operationId: post-dashboards-dashboard-id + parameters: + - description: The version of the API to use + in: header + name: elastic-api-version + schema: + default: '2023-10-31' + enum: + - '2023-10-31' + type: string + - description: A required header to protect against CSRF attacks + in: header + name: kbn-xsrf + required: true + schema: + example: 'true' + type: string + - in: path + name: id + required: false + schema: + type: string + requestBody: + content: + application/json; Elastic-Api-Version=2023-10-31: + schema: + additionalProperties: false + type: object + properties: + attributes: + additionalProperties: false + type: object + properties: + controlGroupInput: + additionalProperties: false + type: object + properties: + autoApplySelections: + default: true + description: Show apply selections button in controls. + type: boolean + chainingSystem: + default: HIERARCHICAL + description: >- + The chaining strategy for multiple controls. For + example, "HIERARCHICAL" or "NONE". + enum: + - NONE + - HIERARCHICAL + type: string + controls: + default: [] + description: >- + An array of control panels and their state in the + control group. + items: + additionalProperties: true + type: object + properties: + controlConfig: + additionalProperties: {} + type: object + grow: + default: false + description: >- + Expand width of the control panel to fit + available space. + type: boolean + id: + description: The unique ID of the control. + type: string + order: + description: >- + The order of the control panel in the control + group. + type: number + type: + description: The type of the control panel. + type: string + width: + default: medium + description: >- + Minimum width of the control panel in the + control group. + enum: + - small + - medium + - large + type: string + required: + - type + - order + type: array + enhancements: + additionalProperties: {} + type: object + ignoreParentSettings: + additionalProperties: false + type: object + properties: + ignoreFilters: + default: false + description: Ignore global filters in controls. + type: boolean + ignoreQuery: + default: false + description: Ignore the global query bar in controls. + type: boolean + ignoreTimerange: + default: false + description: Ignore the global time range in controls. + type: boolean + ignoreValidations: + default: false + description: Ignore validations in controls. + type: boolean + labelPosition: + default: oneLine + description: >- + Position of the labels for controls. For example, + "oneLine", "twoLine". + enum: + - oneLine + - twoLine + type: string + required: + - ignoreParentSettings + description: + default: '' + description: A short description. + type: string + kibanaSavedObjectMeta: + additionalProperties: false + default: {} + description: A container for various metadata + type: object + properties: + searchSource: + additionalProperties: true + type: object + properties: + filter: + items: + additionalProperties: false + description: A filter for the search source. + type: object + properties: + $state: + additionalProperties: false + type: object + properties: + store: + description: >- + Denote whether a filter is specific to + an application's context (e.g. + 'appState') or whether it should be + applied globally (e.g. 'globalState'). + enum: + - appState + - globalState + type: string + required: + - store + meta: + additionalProperties: true + type: object + properties: + alias: + nullable: true + type: string + controlledBy: + type: string + disabled: + type: boolean + field: + type: string + group: + type: string + index: + type: string + isMultiIndex: + type: boolean + key: + type: string + negate: + type: boolean + params: {} + type: + type: string + value: + type: string + required: + - params + query: + additionalProperties: {} + type: object + required: + - meta + type: array + query: + additionalProperties: false + type: object + properties: + language: + description: The query language such as KQL or Lucene. + type: string + query: + anyOf: + - description: >- + A text-based query such as Kibana Query + Language (KQL) or Lucene query language. + type: string + - additionalProperties: {} + type: object + required: + - query + - language + sort: + items: + additionalProperties: + anyOf: + - enum: + - asc + - desc + type: string + - additionalProperties: false + type: object + properties: + format: + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + - additionalProperties: false + type: object + properties: + numeric_type: + enum: + - double + - long + - date + - date_nanos + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + type: object + type: array + type: + type: string + options: + additionalProperties: false + type: object + properties: + hidePanelTitles: + default: false + description: Hide the panel titles in the dashboard. + type: boolean + syncColors: + default: true + description: >- + Synchronize colors between related panels in the + dashboard. + type: boolean + syncCursor: + default: true + description: >- + Synchronize cursor position between related panels + in the dashboard. + type: boolean + syncTooltips: + default: true + description: >- + Synchronize tooltips between related panels in the + dashboard. + type: boolean + useMargins: + default: true + description: Show margins between panels in the dashboard layout. + type: boolean + panels: + default: [] + items: + additionalProperties: false + type: object + properties: + gridData: + additionalProperties: false + type: object + properties: + h: + default: 15 + description: The height of the panel in grid units + minimum: 1 + type: number + i: + description: The unique identifier of the panel + type: string + w: + default: 24 + description: The width of the panel in grid units + maximum: 48 + minimum: 1 + type: number + x: + description: The x coordinate of the panel in grid units + type: number + 'y': + description: The y coordinate of the panel in grid units + type: number + required: + - x + - 'y' + id: + description: The saved object id for by reference panels + type: string + panelConfig: + additionalProperties: true + type: object + properties: + description: + description: The description of the panel + type: string + enhancements: + additionalProperties: {} + type: object + hidePanelTitles: + description: >- + Set to true to hide the panel title in its + container. + type: boolean + savedObjectId: + description: >- + The unique id of the library item to construct + the embeddable. + type: string + title: + description: The title of the panel + type: string + version: + description: The version of the embeddable in the panel. + type: string + panelIndex: + description: The unique ID of the panel. + type: string + panelRefName: + type: string + title: + description: The title of the panel + type: string + type: + description: The embeddable type + type: string + version: + deprecated: true + description: >- + The version was used to store Kibana version + information from versions 7.3.0 -> 8.11.0. As of + version 8.11.0, the versioning information is now + per-embeddable-type and is stored on the + embeddable's input. (panelConfig in this type). + type: string + required: + - panelConfig + - type + - gridData + type: array + refreshInterval: + additionalProperties: false + description: A container for various refresh interval settings + type: object + properties: + display: + deprecated: true + description: >- + A human-readable string indicating the refresh + frequency. No longer used. + type: string + pause: + description: >- + Whether the refresh interval is set to be paused + while viewing the dashboard. + type: boolean + section: + deprecated: true + description: No longer used. + type: number + value: + description: >- + A numeric value indicating refresh frequency in + milliseconds. + type: number + required: + - pause + - value + timeFrom: + description: An ISO string indicating when to restore time from + type: string + timeRestore: + default: false + description: Whether to restore time upon viewing this dashboard + type: boolean + timeTo: + description: An ISO string indicating when to restore time from + type: string + title: + description: A human-readable title for the dashboard + type: string + version: + deprecated: true + type: number + required: + - title + - options + references: + items: + additionalProperties: false + type: object + properties: + id: + type: string + name: + type: string + type: + type: string + required: + - name + - type + - id + type: array + spaces: + items: + type: string + type: array + required: + - attributes + responses: + '200': + content: + application/json; Elastic-Api-Version=2023-10-31: + schema: + additionalProperties: false + type: object + properties: + item: + additionalProperties: true + type: object + properties: + attributes: + additionalProperties: false + type: object + properties: + controlGroupInput: + additionalProperties: false + type: object + properties: + autoApplySelections: + default: true + description: Show apply selections button in controls. + type: boolean + chainingSystem: + default: HIERARCHICAL + description: >- + The chaining strategy for multiple controls. + For example, "HIERARCHICAL" or "NONE". + enum: + - NONE + - HIERARCHICAL + type: string + controls: + default: [] + description: >- + An array of control panels and their state in + the control group. + items: + additionalProperties: true + type: object + properties: + controlConfig: + additionalProperties: {} + type: object + grow: + default: false + description: >- + Expand width of the control panel to fit + available space. + type: boolean + id: + description: The unique ID of the control. + type: string + order: + description: >- + The order of the control panel in the + control group. + type: number + type: + description: The type of the control panel. + type: string + width: + default: medium + description: >- + Minimum width of the control panel in + the control group. + enum: + - small + - medium + - large + type: string + required: + - type + - order + type: array + enhancements: + additionalProperties: {} + type: object + ignoreParentSettings: + additionalProperties: false + type: object + properties: + ignoreFilters: + default: false + description: Ignore global filters in controls. + type: boolean + ignoreQuery: + default: false + description: Ignore the global query bar in controls. + type: boolean + ignoreTimerange: + default: false + description: Ignore the global time range in controls. + type: boolean + ignoreValidations: + default: false + description: Ignore validations in controls. + type: boolean + labelPosition: + default: oneLine + description: >- + Position of the labels for controls. For + example, "oneLine", "twoLine". + enum: + - oneLine + - twoLine + type: string + required: + - ignoreParentSettings + description: + default: '' + description: A short description. + type: string + kibanaSavedObjectMeta: + additionalProperties: false + default: {} + description: A container for various metadata + type: object + properties: + searchSource: + additionalProperties: true + type: object + properties: + filter: + items: + additionalProperties: false + description: A filter for the search source. + type: object + properties: + $state: + additionalProperties: false + type: object + properties: + store: + description: >- + Denote whether a filter is specific to + an application's context (e.g. + 'appState') or whether it should be + applied globally (e.g. 'globalState'). + enum: + - appState + - globalState + type: string + required: + - store + meta: + additionalProperties: true + type: object + properties: + alias: + nullable: true + type: string + controlledBy: + type: string + disabled: + type: boolean + field: + type: string + group: + type: string + index: + type: string + isMultiIndex: + type: boolean + key: + type: string + negate: + type: boolean + params: {} + type: + type: string + value: + type: string + required: + - params + query: + additionalProperties: {} + type: object + required: + - meta + type: array + query: + additionalProperties: false + type: object + properties: + language: + description: >- + The query language such as KQL or + Lucene. + type: string + query: + anyOf: + - description: >- + A text-based query such as Kibana Query + Language (KQL) or Lucene query language. + type: string + - additionalProperties: {} + type: object + required: + - query + - language + sort: + items: + additionalProperties: + anyOf: + - enum: + - asc + - desc + type: string + - additionalProperties: false + type: object + properties: + format: + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + - additionalProperties: false + type: object + properties: + numeric_type: + enum: + - double + - long + - date + - date_nanos + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + type: object + type: array + type: + type: string + options: + additionalProperties: false + type: object + properties: + hidePanelTitles: + default: false + description: Hide the panel titles in the dashboard. + type: boolean + syncColors: + default: true + description: >- + Synchronize colors between related panels in + the dashboard. + type: boolean + syncCursor: + default: true + description: >- + Synchronize cursor position between related + panels in the dashboard. + type: boolean + syncTooltips: + default: true + description: >- + Synchronize tooltips between related panels in + the dashboard. + type: boolean + useMargins: + default: true + description: >- + Show margins between panels in the dashboard + layout. + type: boolean + panels: + default: [] + items: + additionalProperties: false + type: object + properties: + gridData: + additionalProperties: false + type: object + properties: + h: + default: 15 + description: The height of the panel in grid units + minimum: 1 + type: number + i: + description: The unique identifier of the panel + type: string + w: + default: 24 + description: The width of the panel in grid units + maximum: 48 + minimum: 1 + type: number + x: + description: >- + The x coordinate of the panel in grid + units + type: number + 'y': + description: >- + The y coordinate of the panel in grid + units + type: number + required: + - x + - 'y' + id: + description: The saved object id for by reference panels + type: string + panelConfig: + additionalProperties: true + type: object + properties: + description: + description: The description of the panel + type: string + enhancements: + additionalProperties: {} + type: object + hidePanelTitles: + description: >- + Set to true to hide the panel title in + its container. + type: boolean + savedObjectId: + description: >- + The unique id of the library item to + construct the embeddable. + type: string + title: + description: The title of the panel + type: string + version: + description: >- + The version of the embeddable in the + panel. + type: string + panelIndex: + description: The unique ID of the panel. + type: string + panelRefName: + type: string + title: + description: The title of the panel + type: string + type: + description: The embeddable type + type: string + version: + deprecated: true + description: >- + The version was used to store Kibana version + information from versions 7.3.0 -> 8.11.0. + As of version 8.11.0, the versioning + information is now per-embeddable-type and + is stored on the embeddable's input. + (panelConfig in this type). + type: string + required: + - panelConfig + - type + - gridData + type: array + refreshInterval: + additionalProperties: false + description: A container for various refresh interval settings + type: object + properties: + display: + deprecated: true + description: >- + A human-readable string indicating the refresh + frequency. No longer used. + type: string + pause: + description: >- + Whether the refresh interval is set to be + paused while viewing the dashboard. + type: boolean + section: + deprecated: true + description: No longer used. + type: number + value: + description: >- + A numeric value indicating refresh frequency + in milliseconds. + type: number + required: + - pause + - value + timeFrom: + description: An ISO string indicating when to restore time from + type: string + timeRestore: + default: false + description: >- + Whether to restore time upon viewing this + dashboard + type: boolean + timeTo: + description: An ISO string indicating when to restore time from + type: string + title: + description: A human-readable title for the dashboard + type: string + version: + deprecated: true + type: number + required: + - title + - options + createdAt: + type: string + createdBy: + type: string + error: + additionalProperties: false + type: object + properties: + error: + type: string + message: + type: string + metadata: + additionalProperties: true + type: object + properties: {} + statusCode: + type: number + required: + - error + - message + - statusCode + id: + type: string + managed: + type: boolean + namespaces: + items: + type: string + type: array + originId: + type: string + references: + items: + additionalProperties: false + type: object + properties: + id: + type: string + name: + type: string + type: + type: string + required: + - name + - type + - id + type: array + type: + type: string + updatedAt: + type: string + updatedBy: + type: string + version: + type: string + required: + - id + - type + - attributes + - references + required: + - item + summary: Create a dashboard + tags: + - Dashboards + put: + description: >- + This functionality is in technical preview and may be changed or removed + in a future release. Elastic will work to fix any issues, but features + in technical preview are not subject to the support SLA of official GA + features. + operationId: put-dashboards-dashboard-id + parameters: + - description: The version of the API to use + in: header + name: elastic-api-version + schema: + default: '2023-10-31' + enum: + - '2023-10-31' + type: string + - description: A required header to protect against CSRF attacks + in: header + name: kbn-xsrf + required: true + schema: + example: 'true' + type: string + - in: path + name: id + required: true + schema: + type: string + requestBody: + content: + application/json; Elastic-Api-Version=2023-10-31: + schema: + additionalProperties: false + type: object + properties: + attributes: + additionalProperties: false + type: object + properties: + controlGroupInput: + additionalProperties: false + type: object + properties: + autoApplySelections: + default: true + description: Show apply selections button in controls. + type: boolean + chainingSystem: + default: HIERARCHICAL + description: >- + The chaining strategy for multiple controls. For + example, "HIERARCHICAL" or "NONE". + enum: + - NONE + - HIERARCHICAL + type: string + controls: + default: [] + description: >- + An array of control panels and their state in the + control group. + items: + additionalProperties: true + type: object + properties: + controlConfig: + additionalProperties: {} + type: object + grow: + default: false + description: >- + Expand width of the control panel to fit + available space. + type: boolean + id: + description: The unique ID of the control. + type: string + order: + description: >- + The order of the control panel in the control + group. + type: number + type: + description: The type of the control panel. + type: string + width: + default: medium + description: >- + Minimum width of the control panel in the + control group. + enum: + - small + - medium + - large + type: string + required: + - type + - order + type: array + enhancements: + additionalProperties: {} + type: object + ignoreParentSettings: + additionalProperties: false + type: object + properties: + ignoreFilters: + default: false + description: Ignore global filters in controls. + type: boolean + ignoreQuery: + default: false + description: Ignore the global query bar in controls. + type: boolean + ignoreTimerange: + default: false + description: Ignore the global time range in controls. + type: boolean + ignoreValidations: + default: false + description: Ignore validations in controls. + type: boolean + labelPosition: + default: oneLine + description: >- + Position of the labels for controls. For example, + "oneLine", "twoLine". + enum: + - oneLine + - twoLine + type: string + required: + - ignoreParentSettings + description: + default: '' + description: A short description. + type: string + kibanaSavedObjectMeta: + additionalProperties: false + default: {} + description: A container for various metadata + type: object + properties: + searchSource: + additionalProperties: true + type: object + properties: + filter: + items: + additionalProperties: false + description: A filter for the search source. + type: object + properties: + $state: + additionalProperties: false + type: object + properties: + store: + description: >- + Denote whether a filter is specific to + an application's context (e.g. + 'appState') or whether it should be + applied globally (e.g. 'globalState'). + enum: + - appState + - globalState + type: string + required: + - store + meta: + additionalProperties: true + type: object + properties: + alias: + nullable: true + type: string + controlledBy: + type: string + disabled: + type: boolean + field: + type: string + group: + type: string + index: + type: string + isMultiIndex: + type: boolean + key: + type: string + negate: + type: boolean + params: {} + type: + type: string + value: + type: string + required: + - params + query: + additionalProperties: {} + type: object + required: + - meta + type: array + query: + additionalProperties: false + type: object + properties: + language: + description: The query language such as KQL or Lucene. + type: string + query: + anyOf: + - description: >- + A text-based query such as Kibana Query + Language (KQL) or Lucene query language. + type: string + - additionalProperties: {} + type: object + required: + - query + - language + sort: + items: + additionalProperties: + anyOf: + - enum: + - asc + - desc + type: string + - additionalProperties: false + type: object + properties: + format: + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + - additionalProperties: false + type: object + properties: + numeric_type: + enum: + - double + - long + - date + - date_nanos + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + type: object + type: array + type: + type: string + options: + additionalProperties: false + type: object + properties: + hidePanelTitles: + default: false + description: Hide the panel titles in the dashboard. + type: boolean + syncColors: + default: true + description: >- + Synchronize colors between related panels in the + dashboard. + type: boolean + syncCursor: + default: true + description: >- + Synchronize cursor position between related panels + in the dashboard. + type: boolean + syncTooltips: + default: true + description: >- + Synchronize tooltips between related panels in the + dashboard. + type: boolean + useMargins: + default: true + description: Show margins between panels in the dashboard layout. + type: boolean + panels: + default: [] + items: + additionalProperties: false + type: object + properties: + gridData: + additionalProperties: false + type: object + properties: + h: + default: 15 + description: The height of the panel in grid units + minimum: 1 + type: number + i: + description: The unique identifier of the panel + type: string + w: + default: 24 + description: The width of the panel in grid units + maximum: 48 + minimum: 1 + type: number + x: + description: The x coordinate of the panel in grid units + type: number + 'y': + description: The y coordinate of the panel in grid units + type: number + required: + - x + - 'y' + id: + description: The saved object id for by reference panels + type: string + panelConfig: + additionalProperties: true + type: object + properties: + description: + description: The description of the panel + type: string + enhancements: + additionalProperties: {} + type: object + hidePanelTitles: + description: >- + Set to true to hide the panel title in its + container. + type: boolean + savedObjectId: + description: >- + The unique id of the library item to construct + the embeddable. + type: string + title: + description: The title of the panel + type: string + version: + description: The version of the embeddable in the panel. + type: string + panelIndex: + description: The unique ID of the panel. + type: string + panelRefName: + type: string + title: + description: The title of the panel + type: string + type: + description: The embeddable type + type: string + version: + deprecated: true + description: >- + The version was used to store Kibana version + information from versions 7.3.0 -> 8.11.0. As of + version 8.11.0, the versioning information is now + per-embeddable-type and is stored on the + embeddable's input. (panelConfig in this type). + type: string + required: + - panelConfig + - type + - gridData + type: array + refreshInterval: + additionalProperties: false + description: A container for various refresh interval settings + type: object + properties: + display: + deprecated: true + description: >- + A human-readable string indicating the refresh + frequency. No longer used. + type: string + pause: + description: >- + Whether the refresh interval is set to be paused + while viewing the dashboard. + type: boolean + section: + deprecated: true + description: No longer used. + type: number + value: + description: >- + A numeric value indicating refresh frequency in + milliseconds. + type: number + required: + - pause + - value + timeFrom: + description: An ISO string indicating when to restore time from + type: string + timeRestore: + default: false + description: Whether to restore time upon viewing this dashboard + type: boolean + timeTo: + description: An ISO string indicating when to restore time from + type: string + title: + description: A human-readable title for the dashboard + type: string + version: + deprecated: true + type: number + required: + - title + - options + references: + items: + additionalProperties: false + type: object + properties: + id: + type: string + name: + type: string + type: + type: string + required: + - name + - type + - id + type: array + required: + - attributes + responses: + '200': + content: + application/json; Elastic-Api-Version=2023-10-31: + schema: + additionalProperties: false + type: object + properties: + item: + additionalProperties: true + type: object + properties: + attributes: + additionalProperties: false + type: object + properties: + controlGroupInput: + additionalProperties: false + type: object + properties: + autoApplySelections: + default: true + description: Show apply selections button in controls. + type: boolean + chainingSystem: + default: HIERARCHICAL + description: >- + The chaining strategy for multiple controls. + For example, "HIERARCHICAL" or "NONE". + enum: + - NONE + - HIERARCHICAL + type: string + controls: + default: [] + description: >- + An array of control panels and their state in + the control group. + items: + additionalProperties: true + type: object + properties: + controlConfig: + additionalProperties: {} + type: object + grow: + default: false + description: >- + Expand width of the control panel to fit + available space. + type: boolean + id: + description: The unique ID of the control. + type: string + order: + description: >- + The order of the control panel in the + control group. + type: number + type: + description: The type of the control panel. + type: string + width: + default: medium + description: >- + Minimum width of the control panel in + the control group. + enum: + - small + - medium + - large + type: string + required: + - type + - order + type: array + enhancements: + additionalProperties: {} + type: object + ignoreParentSettings: + additionalProperties: false + type: object + properties: + ignoreFilters: + default: false + description: Ignore global filters in controls. + type: boolean + ignoreQuery: + default: false + description: Ignore the global query bar in controls. + type: boolean + ignoreTimerange: + default: false + description: Ignore the global time range in controls. + type: boolean + ignoreValidations: + default: false + description: Ignore validations in controls. + type: boolean + labelPosition: + default: oneLine + description: >- + Position of the labels for controls. For + example, "oneLine", "twoLine". + enum: + - oneLine + - twoLine + type: string + required: + - ignoreParentSettings + description: + default: '' + description: A short description. + type: string + kibanaSavedObjectMeta: + additionalProperties: false + default: {} + description: A container for various metadata + type: object + properties: + searchSource: + additionalProperties: true + type: object + properties: + filter: + items: + additionalProperties: false + description: A filter for the search source. + type: object + properties: + $state: + additionalProperties: false + type: object + properties: + store: + description: >- + Denote whether a filter is specific to + an application's context (e.g. + 'appState') or whether it should be + applied globally (e.g. 'globalState'). + enum: + - appState + - globalState + type: string + required: + - store + meta: + additionalProperties: true + type: object + properties: + alias: + nullable: true + type: string + controlledBy: + type: string + disabled: + type: boolean + field: + type: string + group: + type: string + index: + type: string + isMultiIndex: + type: boolean + key: + type: string + negate: + type: boolean + params: {} + type: + type: string + value: + type: string + required: + - params + query: + additionalProperties: {} + type: object + required: + - meta + type: array + query: + additionalProperties: false + type: object + properties: + language: + description: >- + The query language such as KQL or + Lucene. + type: string + query: + anyOf: + - description: >- + A text-based query such as Kibana Query + Language (KQL) or Lucene query language. + type: string + - additionalProperties: {} + type: object + required: + - query + - language + sort: + items: + additionalProperties: + anyOf: + - enum: + - asc + - desc + type: string + - additionalProperties: false + type: object + properties: + format: + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + - additionalProperties: false + type: object + properties: + numeric_type: + enum: + - double + - long + - date + - date_nanos + type: string + order: + enum: + - asc + - desc + type: string + required: + - order + type: object + type: array + type: + type: string + options: + additionalProperties: false + type: object + properties: + hidePanelTitles: + default: false + description: Hide the panel titles in the dashboard. + type: boolean + syncColors: + default: true + description: >- + Synchronize colors between related panels in + the dashboard. + type: boolean + syncCursor: + default: true + description: >- + Synchronize cursor position between related + panels in the dashboard. + type: boolean + syncTooltips: + default: true + description: >- + Synchronize tooltips between related panels in + the dashboard. + type: boolean + useMargins: + default: true + description: >- + Show margins between panels in the dashboard + layout. + type: boolean + panels: + default: [] + items: + additionalProperties: false + type: object + properties: + gridData: + additionalProperties: false + type: object + properties: + h: + default: 15 + description: The height of the panel in grid units + minimum: 1 + type: number + i: + description: The unique identifier of the panel + type: string + w: + default: 24 + description: The width of the panel in grid units + maximum: 48 + minimum: 1 + type: number + x: + description: >- + The x coordinate of the panel in grid + units + type: number + 'y': + description: >- + The y coordinate of the panel in grid + units + type: number + required: + - x + - 'y' + id: + description: The saved object id for by reference panels + type: string + panelConfig: + additionalProperties: true + type: object + properties: + description: + description: The description of the panel + type: string + enhancements: + additionalProperties: {} + type: object + hidePanelTitles: + description: >- + Set to true to hide the panel title in + its container. + type: boolean + savedObjectId: + description: >- + The unique id of the library item to + construct the embeddable. + type: string + title: + description: The title of the panel + type: string + version: + description: >- + The version of the embeddable in the + panel. + type: string + panelIndex: + description: The unique ID of the panel. + type: string + panelRefName: + type: string + title: + description: The title of the panel + type: string + type: + description: The embeddable type + type: string + version: + deprecated: true + description: >- + The version was used to store Kibana version + information from versions 7.3.0 -> 8.11.0. + As of version 8.11.0, the versioning + information is now per-embeddable-type and + is stored on the embeddable's input. + (panelConfig in this type). + type: string + required: + - panelConfig + - type + - gridData + type: array + refreshInterval: + additionalProperties: false + description: A container for various refresh interval settings + type: object + properties: + display: + deprecated: true + description: >- + A human-readable string indicating the refresh + frequency. No longer used. + type: string + pause: + description: >- + Whether the refresh interval is set to be + paused while viewing the dashboard. + type: boolean + section: + deprecated: true + description: No longer used. + type: number + value: + description: >- + A numeric value indicating refresh frequency + in milliseconds. + type: number + required: + - pause + - value + timeFrom: + description: An ISO string indicating when to restore time from + type: string + timeRestore: + default: false + description: >- + Whether to restore time upon viewing this + dashboard + type: boolean + timeTo: + description: An ISO string indicating when to restore time from + type: string + title: + description: A human-readable title for the dashboard + type: string + version: + deprecated: true + type: number + required: + - title + - options + createdAt: + type: string + createdBy: + type: string + error: + additionalProperties: false + type: object + properties: + error: + type: string + message: + type: string + metadata: + additionalProperties: true + type: object + properties: {} + statusCode: + type: number + required: + - error + - message + - statusCode + id: + type: string + managed: + type: boolean + namespaces: + items: + type: string + type: array + originId: + type: string + references: + items: + additionalProperties: false + type: object + properties: + id: + type: string + name: + type: string + type: + type: string + required: + - name + - type + - id + type: array + type: + type: string + updatedAt: + type: string + updatedBy: + type: string + version: + type: string + required: + - id + - type + - attributes + - references + required: + - item + summary: Update an existing dashboard. + tags: + - Dashboards /api/data_views: get: operationId: getAllDataViewsDefault @@ -58434,6 +60986,7 @@ tags: - description: Case APIs enable you to open and track issues. name: cases - name: connectors + - name: Dashboards - name: Data streams - description: >- Data view APIs enable you to manage data views, formerly known as Kibana From 3dff92f00a2ba9768408d103677a973ef48a4088 Mon Sep 17 00:00:00 2001 From: Nick Peihl Date: Wed, 13 Nov 2024 11:55:07 -0500 Subject: [PATCH 05/16] Revert "Do not generate random values from CM schema" This reverts commit 0f3bde4814f7e926f254a587db1aec0bfab34447. --- oas_docs/bundle.json | 60 +++++++++++++++++-- oas_docs/bundle.serverless.json | 60 +++++++++++++++++-- .../content_management/v3/cm_services.ts | 28 ++++----- 3 files changed, 123 insertions(+), 25 deletions(-) diff --git a/oas_docs/bundle.json b/oas_docs/bundle.json index 49068a590f14d..4c37c5c467010 100644 --- a/oas_docs/bundle.json +++ b/oas_docs/bundle.json @@ -5915,11 +5915,12 @@ "type": "object" }, "grow": { - "default": false, + "default": true, "description": "Expand width of the control panel to fit available space.", "type": "boolean" }, "id": { + "default": "32b28ffe-4df3-4257-a976-71ff7ba811b2", "description": "The unique ID of the control.", "type": "string" }, @@ -6228,6 +6229,7 @@ "type": "number" }, "i": { + "default": "199505bf-cee4-4ba4-bf12-8dfff6d57d2e", "description": "The unique identifier of the panel", "type": "string" }, @@ -6288,6 +6290,14 @@ "type": "object" }, "panelIndex": { + "default": { + "ref": { + "path": [ + "gridData", + "i" + ] + } + }, "description": "The unique ID of the panel.", "type": "string" }, @@ -6579,11 +6589,12 @@ "type": "object" }, "grow": { - "default": false, + "default": true, "description": "Expand width of the control panel to fit available space.", "type": "boolean" }, "id": { + "default": "32b28ffe-4df3-4257-a976-71ff7ba811b2", "description": "The unique ID of the control.", "type": "string" }, @@ -6892,6 +6903,7 @@ "type": "number" }, "i": { + "default": "199505bf-cee4-4ba4-bf12-8dfff6d57d2e", "description": "The unique identifier of the panel", "type": "string" }, @@ -6952,6 +6964,14 @@ "type": "object" }, "panelIndex": { + "default": { + "ref": { + "path": [ + "gridData", + "i" + ] + } + }, "description": "The unique ID of the panel.", "type": "string" }, @@ -7117,11 +7137,12 @@ "type": "object" }, "grow": { - "default": false, + "default": true, "description": "Expand width of the control panel to fit available space.", "type": "boolean" }, "id": { + "default": "32b28ffe-4df3-4257-a976-71ff7ba811b2", "description": "The unique ID of the control.", "type": "string" }, @@ -7430,6 +7451,7 @@ "type": "number" }, "i": { + "default": "199505bf-cee4-4ba4-bf12-8dfff6d57d2e", "description": "The unique identifier of the panel", "type": "string" }, @@ -7490,6 +7512,14 @@ "type": "object" }, "panelIndex": { + "default": { + "ref": { + "path": [ + "gridData", + "i" + ] + } + }, "description": "The unique ID of the panel.", "type": "string" }, @@ -7753,11 +7783,12 @@ "type": "object" }, "grow": { - "default": false, + "default": true, "description": "Expand width of the control panel to fit available space.", "type": "boolean" }, "id": { + "default": "32b28ffe-4df3-4257-a976-71ff7ba811b2", "description": "The unique ID of the control.", "type": "string" }, @@ -8066,6 +8097,7 @@ "type": "number" }, "i": { + "default": "199505bf-cee4-4ba4-bf12-8dfff6d57d2e", "description": "The unique identifier of the panel", "type": "string" }, @@ -8126,6 +8158,14 @@ "type": "object" }, "panelIndex": { + "default": { + "ref": { + "path": [ + "gridData", + "i" + ] + } + }, "description": "The unique ID of the panel.", "type": "string" }, @@ -8285,11 +8325,12 @@ "type": "object" }, "grow": { - "default": false, + "default": true, "description": "Expand width of the control panel to fit available space.", "type": "boolean" }, "id": { + "default": "32b28ffe-4df3-4257-a976-71ff7ba811b2", "description": "The unique ID of the control.", "type": "string" }, @@ -8598,6 +8639,7 @@ "type": "number" }, "i": { + "default": "199505bf-cee4-4ba4-bf12-8dfff6d57d2e", "description": "The unique identifier of the panel", "type": "string" }, @@ -8658,6 +8700,14 @@ "type": "object" }, "panelIndex": { + "default": { + "ref": { + "path": [ + "gridData", + "i" + ] + } + }, "description": "The unique ID of the panel.", "type": "string" }, diff --git a/oas_docs/bundle.serverless.json b/oas_docs/bundle.serverless.json index 51bd143ddb5c9..01e92675f82e8 100644 --- a/oas_docs/bundle.serverless.json +++ b/oas_docs/bundle.serverless.json @@ -5915,11 +5915,12 @@ "type": "object" }, "grow": { - "default": false, + "default": true, "description": "Expand width of the control panel to fit available space.", "type": "boolean" }, "id": { + "default": "edc483da-2dcf-4469-8d36-c99ca8f699a7", "description": "The unique ID of the control.", "type": "string" }, @@ -6228,6 +6229,7 @@ "type": "number" }, "i": { + "default": "49de787f-528f-47bd-a3f5-616351ccbc43", "description": "The unique identifier of the panel", "type": "string" }, @@ -6288,6 +6290,14 @@ "type": "object" }, "panelIndex": { + "default": { + "ref": { + "path": [ + "gridData", + "i" + ] + } + }, "description": "The unique ID of the panel.", "type": "string" }, @@ -6579,11 +6589,12 @@ "type": "object" }, "grow": { - "default": false, + "default": true, "description": "Expand width of the control panel to fit available space.", "type": "boolean" }, "id": { + "default": "edc483da-2dcf-4469-8d36-c99ca8f699a7", "description": "The unique ID of the control.", "type": "string" }, @@ -6892,6 +6903,7 @@ "type": "number" }, "i": { + "default": "49de787f-528f-47bd-a3f5-616351ccbc43", "description": "The unique identifier of the panel", "type": "string" }, @@ -6952,6 +6964,14 @@ "type": "object" }, "panelIndex": { + "default": { + "ref": { + "path": [ + "gridData", + "i" + ] + } + }, "description": "The unique ID of the panel.", "type": "string" }, @@ -7117,11 +7137,12 @@ "type": "object" }, "grow": { - "default": false, + "default": true, "description": "Expand width of the control panel to fit available space.", "type": "boolean" }, "id": { + "default": "edc483da-2dcf-4469-8d36-c99ca8f699a7", "description": "The unique ID of the control.", "type": "string" }, @@ -7430,6 +7451,7 @@ "type": "number" }, "i": { + "default": "49de787f-528f-47bd-a3f5-616351ccbc43", "description": "The unique identifier of the panel", "type": "string" }, @@ -7490,6 +7512,14 @@ "type": "object" }, "panelIndex": { + "default": { + "ref": { + "path": [ + "gridData", + "i" + ] + } + }, "description": "The unique ID of the panel.", "type": "string" }, @@ -7753,11 +7783,12 @@ "type": "object" }, "grow": { - "default": false, + "default": true, "description": "Expand width of the control panel to fit available space.", "type": "boolean" }, "id": { + "default": "edc483da-2dcf-4469-8d36-c99ca8f699a7", "description": "The unique ID of the control.", "type": "string" }, @@ -8066,6 +8097,7 @@ "type": "number" }, "i": { + "default": "49de787f-528f-47bd-a3f5-616351ccbc43", "description": "The unique identifier of the panel", "type": "string" }, @@ -8126,6 +8158,14 @@ "type": "object" }, "panelIndex": { + "default": { + "ref": { + "path": [ + "gridData", + "i" + ] + } + }, "description": "The unique ID of the panel.", "type": "string" }, @@ -8285,11 +8325,12 @@ "type": "object" }, "grow": { - "default": false, + "default": true, "description": "Expand width of the control panel to fit available space.", "type": "boolean" }, "id": { + "default": "edc483da-2dcf-4469-8d36-c99ca8f699a7", "description": "The unique ID of the control.", "type": "string" }, @@ -8598,6 +8639,7 @@ "type": "number" }, "i": { + "default": "49de787f-528f-47bd-a3f5-616351ccbc43", "description": "The unique identifier of the panel", "type": "string" }, @@ -8658,6 +8700,14 @@ "type": "object" }, "panelIndex": { + "default": { + "ref": { + "path": [ + "gridData", + "i" + ] + } + }, "description": "The unique ID of the panel.", "type": "string" }, diff --git a/src/plugins/dashboard/server/content_management/v3/cm_services.ts b/src/plugins/dashboard/server/content_management/v3/cm_services.ts index f4a4d902355f5..e086d1cc1460a 100644 --- a/src/plugins/dashboard/server/content_management/v3/cm_services.ts +++ b/src/plugins/dashboard/server/content_management/v3/cm_services.ts @@ -7,6 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ +import { v4 as uuidv4 } from 'uuid'; import { schema, Type } from '@kbn/config-schema'; import { createOptionsSchemas, updateOptionsSchema } from '@kbn/content-management-utils'; import type { ContentManagementServicesDefinition as ServicesDefinition } from '@kbn/object-versioning'; @@ -49,11 +50,10 @@ export const controlGroupInputSchema = schema.object({ { type: schema.string({ meta: { description: 'The type of the control panel.' } }), controlConfig: schema.maybe(schema.recordOf(schema.string(), schema.any())), - id: schema.maybe( - schema.string({ - meta: { description: 'The unique ID of the control.' }, - }) - ), + id: schema.string({ + defaultValue: uuidv4(), + meta: { description: 'The unique ID of the control.' }, + }), order: schema.number({ meta: { description: 'The order of the control panel in the control group.', @@ -243,11 +243,10 @@ export const gridDataSchema = schema.object({ min: 1, meta: { description: 'The height of the panel in grid units' }, }), - i: schema.maybe( - schema.string({ - meta: { description: 'The unique identifier of the panel' }, - }) - ), + i: schema.string({ + meta: { description: 'The unique identifier of the panel' }, + defaultValue: uuidv4(), + }), }); export const panelSchema = schema.object({ @@ -285,11 +284,10 @@ export const panelSchema = schema.object({ type: schema.string({ meta: { description: 'The embeddable type' } }), panelRefName: schema.maybe(schema.string()), gridData: gridDataSchema, - panelIndex: schema.maybe( - schema.string({ - meta: { description: 'The unique ID of the panel.' }, - }) - ), + panelIndex: schema.string({ + meta: { description: 'The unique ID of the panel.' }, + defaultValue: schema.siblingRef('gridData.i'), + }), title: schema.maybe(schema.string({ meta: { description: 'The title of the panel' } })), version: schema.maybe( schema.string({ From 94e7929949c3bcb0392e36c7c41a4adbc2131117 Mon Sep 17 00:00:00 2001 From: Nick Peihl Date: Wed, 13 Nov 2024 12:10:35 -0500 Subject: [PATCH 06/16] Reapply "Do not generate random values from CM schema" This reverts commit 3dff92f00a2ba9768408d103677a973ef48a4088. --- oas_docs/bundle.json | 60 ++----------------- oas_docs/bundle.serverless.json | 60 ++----------------- .../content_management/v3/cm_services.ts | 28 +++++---- 3 files changed, 25 insertions(+), 123 deletions(-) diff --git a/oas_docs/bundle.json b/oas_docs/bundle.json index 4c37c5c467010..49068a590f14d 100644 --- a/oas_docs/bundle.json +++ b/oas_docs/bundle.json @@ -5915,12 +5915,11 @@ "type": "object" }, "grow": { - "default": true, + "default": false, "description": "Expand width of the control panel to fit available space.", "type": "boolean" }, "id": { - "default": "32b28ffe-4df3-4257-a976-71ff7ba811b2", "description": "The unique ID of the control.", "type": "string" }, @@ -6229,7 +6228,6 @@ "type": "number" }, "i": { - "default": "199505bf-cee4-4ba4-bf12-8dfff6d57d2e", "description": "The unique identifier of the panel", "type": "string" }, @@ -6290,14 +6288,6 @@ "type": "object" }, "panelIndex": { - "default": { - "ref": { - "path": [ - "gridData", - "i" - ] - } - }, "description": "The unique ID of the panel.", "type": "string" }, @@ -6589,12 +6579,11 @@ "type": "object" }, "grow": { - "default": true, + "default": false, "description": "Expand width of the control panel to fit available space.", "type": "boolean" }, "id": { - "default": "32b28ffe-4df3-4257-a976-71ff7ba811b2", "description": "The unique ID of the control.", "type": "string" }, @@ -6903,7 +6892,6 @@ "type": "number" }, "i": { - "default": "199505bf-cee4-4ba4-bf12-8dfff6d57d2e", "description": "The unique identifier of the panel", "type": "string" }, @@ -6964,14 +6952,6 @@ "type": "object" }, "panelIndex": { - "default": { - "ref": { - "path": [ - "gridData", - "i" - ] - } - }, "description": "The unique ID of the panel.", "type": "string" }, @@ -7137,12 +7117,11 @@ "type": "object" }, "grow": { - "default": true, + "default": false, "description": "Expand width of the control panel to fit available space.", "type": "boolean" }, "id": { - "default": "32b28ffe-4df3-4257-a976-71ff7ba811b2", "description": "The unique ID of the control.", "type": "string" }, @@ -7451,7 +7430,6 @@ "type": "number" }, "i": { - "default": "199505bf-cee4-4ba4-bf12-8dfff6d57d2e", "description": "The unique identifier of the panel", "type": "string" }, @@ -7512,14 +7490,6 @@ "type": "object" }, "panelIndex": { - "default": { - "ref": { - "path": [ - "gridData", - "i" - ] - } - }, "description": "The unique ID of the panel.", "type": "string" }, @@ -7783,12 +7753,11 @@ "type": "object" }, "grow": { - "default": true, + "default": false, "description": "Expand width of the control panel to fit available space.", "type": "boolean" }, "id": { - "default": "32b28ffe-4df3-4257-a976-71ff7ba811b2", "description": "The unique ID of the control.", "type": "string" }, @@ -8097,7 +8066,6 @@ "type": "number" }, "i": { - "default": "199505bf-cee4-4ba4-bf12-8dfff6d57d2e", "description": "The unique identifier of the panel", "type": "string" }, @@ -8158,14 +8126,6 @@ "type": "object" }, "panelIndex": { - "default": { - "ref": { - "path": [ - "gridData", - "i" - ] - } - }, "description": "The unique ID of the panel.", "type": "string" }, @@ -8325,12 +8285,11 @@ "type": "object" }, "grow": { - "default": true, + "default": false, "description": "Expand width of the control panel to fit available space.", "type": "boolean" }, "id": { - "default": "32b28ffe-4df3-4257-a976-71ff7ba811b2", "description": "The unique ID of the control.", "type": "string" }, @@ -8639,7 +8598,6 @@ "type": "number" }, "i": { - "default": "199505bf-cee4-4ba4-bf12-8dfff6d57d2e", "description": "The unique identifier of the panel", "type": "string" }, @@ -8700,14 +8658,6 @@ "type": "object" }, "panelIndex": { - "default": { - "ref": { - "path": [ - "gridData", - "i" - ] - } - }, "description": "The unique ID of the panel.", "type": "string" }, diff --git a/oas_docs/bundle.serverless.json b/oas_docs/bundle.serverless.json index 01e92675f82e8..51bd143ddb5c9 100644 --- a/oas_docs/bundle.serverless.json +++ b/oas_docs/bundle.serverless.json @@ -5915,12 +5915,11 @@ "type": "object" }, "grow": { - "default": true, + "default": false, "description": "Expand width of the control panel to fit available space.", "type": "boolean" }, "id": { - "default": "edc483da-2dcf-4469-8d36-c99ca8f699a7", "description": "The unique ID of the control.", "type": "string" }, @@ -6229,7 +6228,6 @@ "type": "number" }, "i": { - "default": "49de787f-528f-47bd-a3f5-616351ccbc43", "description": "The unique identifier of the panel", "type": "string" }, @@ -6290,14 +6288,6 @@ "type": "object" }, "panelIndex": { - "default": { - "ref": { - "path": [ - "gridData", - "i" - ] - } - }, "description": "The unique ID of the panel.", "type": "string" }, @@ -6589,12 +6579,11 @@ "type": "object" }, "grow": { - "default": true, + "default": false, "description": "Expand width of the control panel to fit available space.", "type": "boolean" }, "id": { - "default": "edc483da-2dcf-4469-8d36-c99ca8f699a7", "description": "The unique ID of the control.", "type": "string" }, @@ -6903,7 +6892,6 @@ "type": "number" }, "i": { - "default": "49de787f-528f-47bd-a3f5-616351ccbc43", "description": "The unique identifier of the panel", "type": "string" }, @@ -6964,14 +6952,6 @@ "type": "object" }, "panelIndex": { - "default": { - "ref": { - "path": [ - "gridData", - "i" - ] - } - }, "description": "The unique ID of the panel.", "type": "string" }, @@ -7137,12 +7117,11 @@ "type": "object" }, "grow": { - "default": true, + "default": false, "description": "Expand width of the control panel to fit available space.", "type": "boolean" }, "id": { - "default": "edc483da-2dcf-4469-8d36-c99ca8f699a7", "description": "The unique ID of the control.", "type": "string" }, @@ -7451,7 +7430,6 @@ "type": "number" }, "i": { - "default": "49de787f-528f-47bd-a3f5-616351ccbc43", "description": "The unique identifier of the panel", "type": "string" }, @@ -7512,14 +7490,6 @@ "type": "object" }, "panelIndex": { - "default": { - "ref": { - "path": [ - "gridData", - "i" - ] - } - }, "description": "The unique ID of the panel.", "type": "string" }, @@ -7783,12 +7753,11 @@ "type": "object" }, "grow": { - "default": true, + "default": false, "description": "Expand width of the control panel to fit available space.", "type": "boolean" }, "id": { - "default": "edc483da-2dcf-4469-8d36-c99ca8f699a7", "description": "The unique ID of the control.", "type": "string" }, @@ -8097,7 +8066,6 @@ "type": "number" }, "i": { - "default": "49de787f-528f-47bd-a3f5-616351ccbc43", "description": "The unique identifier of the panel", "type": "string" }, @@ -8158,14 +8126,6 @@ "type": "object" }, "panelIndex": { - "default": { - "ref": { - "path": [ - "gridData", - "i" - ] - } - }, "description": "The unique ID of the panel.", "type": "string" }, @@ -8325,12 +8285,11 @@ "type": "object" }, "grow": { - "default": true, + "default": false, "description": "Expand width of the control panel to fit available space.", "type": "boolean" }, "id": { - "default": "edc483da-2dcf-4469-8d36-c99ca8f699a7", "description": "The unique ID of the control.", "type": "string" }, @@ -8639,7 +8598,6 @@ "type": "number" }, "i": { - "default": "49de787f-528f-47bd-a3f5-616351ccbc43", "description": "The unique identifier of the panel", "type": "string" }, @@ -8700,14 +8658,6 @@ "type": "object" }, "panelIndex": { - "default": { - "ref": { - "path": [ - "gridData", - "i" - ] - } - }, "description": "The unique ID of the panel.", "type": "string" }, diff --git a/src/plugins/dashboard/server/content_management/v3/cm_services.ts b/src/plugins/dashboard/server/content_management/v3/cm_services.ts index e086d1cc1460a..f4a4d902355f5 100644 --- a/src/plugins/dashboard/server/content_management/v3/cm_services.ts +++ b/src/plugins/dashboard/server/content_management/v3/cm_services.ts @@ -7,7 +7,6 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { v4 as uuidv4 } from 'uuid'; import { schema, Type } from '@kbn/config-schema'; import { createOptionsSchemas, updateOptionsSchema } from '@kbn/content-management-utils'; import type { ContentManagementServicesDefinition as ServicesDefinition } from '@kbn/object-versioning'; @@ -50,10 +49,11 @@ export const controlGroupInputSchema = schema.object({ { type: schema.string({ meta: { description: 'The type of the control panel.' } }), controlConfig: schema.maybe(schema.recordOf(schema.string(), schema.any())), - id: schema.string({ - defaultValue: uuidv4(), - meta: { description: 'The unique ID of the control.' }, - }), + id: schema.maybe( + schema.string({ + meta: { description: 'The unique ID of the control.' }, + }) + ), order: schema.number({ meta: { description: 'The order of the control panel in the control group.', @@ -243,10 +243,11 @@ export const gridDataSchema = schema.object({ min: 1, meta: { description: 'The height of the panel in grid units' }, }), - i: schema.string({ - meta: { description: 'The unique identifier of the panel' }, - defaultValue: uuidv4(), - }), + i: schema.maybe( + schema.string({ + meta: { description: 'The unique identifier of the panel' }, + }) + ), }); export const panelSchema = schema.object({ @@ -284,10 +285,11 @@ export const panelSchema = schema.object({ type: schema.string({ meta: { description: 'The embeddable type' } }), panelRefName: schema.maybe(schema.string()), gridData: gridDataSchema, - panelIndex: schema.string({ - meta: { description: 'The unique ID of the panel.' }, - defaultValue: schema.siblingRef('gridData.i'), - }), + panelIndex: schema.maybe( + schema.string({ + meta: { description: 'The unique ID of the panel.' }, + }) + ), title: schema.maybe(schema.string({ meta: { description: 'The title of the panel' } })), version: schema.maybe( schema.string({ From 76824f2cdd3a3919cb5d3cfb51de4bc777b75d26 Mon Sep 17 00:00:00 2001 From: Nick Peihl Date: Wed, 13 Nov 2024 15:20:03 -0500 Subject: [PATCH 07/16] Harden response types --- oas_docs/bundle.json | 24 +++++++++---------- .../content_management/v3/cm_services.ts | 15 +++++++++++- .../server/content_management/v3/types.ts | 4 +++- 3 files changed, 29 insertions(+), 14 deletions(-) diff --git a/oas_docs/bundle.json b/oas_docs/bundle.json index 49068a590f14d..1d687167d6c43 100644 --- a/oas_docs/bundle.json +++ b/oas_docs/bundle.json @@ -6228,7 +6228,6 @@ "type": "number" }, "i": { - "description": "The unique identifier of the panel", "type": "string" }, "w": { @@ -6249,7 +6248,8 @@ }, "required": [ "x", - "y" + "y", + "i" ], "type": "object" }, @@ -6288,7 +6288,6 @@ "type": "object" }, "panelIndex": { - "description": "The unique ID of the panel.", "type": "string" }, "panelRefName": { @@ -6311,7 +6310,8 @@ "required": [ "panelConfig", "type", - "gridData" + "gridData", + "panelIndex" ], "type": "object" }, @@ -7430,7 +7430,6 @@ "type": "number" }, "i": { - "description": "The unique identifier of the panel", "type": "string" }, "w": { @@ -7451,7 +7450,8 @@ }, "required": [ "x", - "y" + "y", + "i" ], "type": "object" }, @@ -7490,7 +7490,6 @@ "type": "object" }, "panelIndex": { - "description": "The unique ID of the panel.", "type": "string" }, "panelRefName": { @@ -7513,7 +7512,8 @@ "required": [ "panelConfig", "type", - "gridData" + "gridData", + "panelIndex" ], "type": "object" }, @@ -8598,7 +8598,6 @@ "type": "number" }, "i": { - "description": "The unique identifier of the panel", "type": "string" }, "w": { @@ -8619,7 +8618,8 @@ }, "required": [ "x", - "y" + "y", + "i" ], "type": "object" }, @@ -8658,7 +8658,6 @@ "type": "object" }, "panelIndex": { - "description": "The unique ID of the panel.", "type": "string" }, "panelRefName": { @@ -8681,7 +8680,8 @@ "required": [ "panelConfig", "type", - "gridData" + "gridData", + "panelIndex" ], "type": "object" }, diff --git a/src/plugins/dashboard/server/content_management/v3/cm_services.ts b/src/plugins/dashboard/server/content_management/v3/cm_services.ts index f4a4d902355f5..a6b8b38e1e546 100644 --- a/src/plugins/dashboard/server/content_management/v3/cm_services.ts +++ b/src/plugins/dashboard/server/content_management/v3/cm_services.ts @@ -411,6 +411,19 @@ export const referenceSchema = schema.object( { unknowns: 'forbid' } ); +const dashboardAttributesSchemaResponse = dashboardAttributesSchema.extends({ + panels: schema.arrayOf( + panelSchema.extends({ + // Responses always include the panel index and gridData.i + panelIndex: schema.string(), + gridData: gridDataSchema.extends({ + i: schema.string(), + }), + }), + { defaultValue: [] } + ), +}); + export const dashboardItemSchema = schema.object( { id: schema.string(), @@ -422,7 +435,7 @@ export const dashboardItemSchema = schema.object( updatedBy: schema.maybe(schema.string()), managed: schema.maybe(schema.boolean()), error: schema.maybe(apiError), - attributes: dashboardAttributesSchema, + attributes: dashboardAttributesSchemaResponse, references: schema.arrayOf(referenceSchema), namespaces: schema.maybe(schema.arrayOf(schema.string())), originId: schema.maybe(schema.string()), diff --git a/src/plugins/dashboard/server/content_management/v3/types.ts b/src/plugins/dashboard/server/content_management/v3/types.ts index 36f277ff3b268..0c7144569aba2 100644 --- a/src/plugins/dashboard/server/content_management/v3/types.ts +++ b/src/plugins/dashboard/server/content_management/v3/types.ts @@ -16,6 +16,7 @@ import { UpdateIn, } from '@kbn/content-management-plugin/common'; import { SavedObjectReference } from '@kbn/core-saved-objects-api-server'; +import { WithRequiredProperty } from '@kbn/utility-types'; import { dashboardItemSchema, controlGroupInputSchema, @@ -40,6 +41,7 @@ export type DashboardOptions = TypeOf; // recognize this, so we need to manually extend the type here. export type DashboardPanel = Omit, 'panelConfig'> & { panelConfig: TypeOf['panelConfig'] & { [key: string]: any }; + gridData: GridData; }; export type DashboardAttributes = Omit, 'panels'> & { panels: DashboardPanel[]; @@ -52,7 +54,7 @@ export type PartialDashboardItem = Omit; -export type GridData = TypeOf; +export type GridData = WithRequiredProperty, 'i'>; export type DashboardGetIn = GetIn; export type DashboardGetOut = TypeOf; From b4330298236e5e52cc8c1cf9966acbad5a697e1e Mon Sep 17 00:00:00 2001 From: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Date: Wed, 13 Nov 2024 20:57:08 +0000 Subject: [PATCH 08/16] [CI] Auto-commit changed files from 'node scripts/capture_oas_snapshot --include-path /api/status --include-path /api/alerting/rule/ --include-path /api/alerting/rules --include-path /api/actions --include-path /api/security/role --include-path /api/spaces --include-path /api/fleet --include-path /api/dashboards --update' --- oas_docs/bundle.serverless.json | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/oas_docs/bundle.serverless.json b/oas_docs/bundle.serverless.json index 51bd143ddb5c9..a2c7e24da72cb 100644 --- a/oas_docs/bundle.serverless.json +++ b/oas_docs/bundle.serverless.json @@ -6228,7 +6228,6 @@ "type": "number" }, "i": { - "description": "The unique identifier of the panel", "type": "string" }, "w": { @@ -6249,7 +6248,8 @@ }, "required": [ "x", - "y" + "y", + "i" ], "type": "object" }, @@ -6288,7 +6288,6 @@ "type": "object" }, "panelIndex": { - "description": "The unique ID of the panel.", "type": "string" }, "panelRefName": { @@ -6311,7 +6310,8 @@ "required": [ "panelConfig", "type", - "gridData" + "gridData", + "panelIndex" ], "type": "object" }, @@ -7430,7 +7430,6 @@ "type": "number" }, "i": { - "description": "The unique identifier of the panel", "type": "string" }, "w": { @@ -7451,7 +7450,8 @@ }, "required": [ "x", - "y" + "y", + "i" ], "type": "object" }, @@ -7490,7 +7490,6 @@ "type": "object" }, "panelIndex": { - "description": "The unique ID of the panel.", "type": "string" }, "panelRefName": { @@ -7513,7 +7512,8 @@ "required": [ "panelConfig", "type", - "gridData" + "gridData", + "panelIndex" ], "type": "object" }, @@ -8598,7 +8598,6 @@ "type": "number" }, "i": { - "description": "The unique identifier of the panel", "type": "string" }, "w": { @@ -8619,7 +8618,8 @@ }, "required": [ "x", - "y" + "y", + "i" ], "type": "object" }, @@ -8658,7 +8658,6 @@ "type": "object" }, "panelIndex": { - "description": "The unique ID of the panel.", "type": "string" }, "panelRefName": { @@ -8681,7 +8680,8 @@ "required": [ "panelConfig", "type", - "gridData" + "gridData", + "panelIndex" ], "type": "object" }, From 2f7fe15098a8b2ac16850cb10764d45f66d2d593 Mon Sep 17 00:00:00 2001 From: Nick Peihl Date: Wed, 13 Nov 2024 16:19:58 -0500 Subject: [PATCH 09/16] Update oas --- oas_docs/bundle.serverless.json | 24 ++++++++++++------------ oas_docs/output/kibana.yaml | 12 ++++++------ 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/oas_docs/bundle.serverless.json b/oas_docs/bundle.serverless.json index 51bd143ddb5c9..a2c7e24da72cb 100644 --- a/oas_docs/bundle.serverless.json +++ b/oas_docs/bundle.serverless.json @@ -6228,7 +6228,6 @@ "type": "number" }, "i": { - "description": "The unique identifier of the panel", "type": "string" }, "w": { @@ -6249,7 +6248,8 @@ }, "required": [ "x", - "y" + "y", + "i" ], "type": "object" }, @@ -6288,7 +6288,6 @@ "type": "object" }, "panelIndex": { - "description": "The unique ID of the panel.", "type": "string" }, "panelRefName": { @@ -6311,7 +6310,8 @@ "required": [ "panelConfig", "type", - "gridData" + "gridData", + "panelIndex" ], "type": "object" }, @@ -7430,7 +7430,6 @@ "type": "number" }, "i": { - "description": "The unique identifier of the panel", "type": "string" }, "w": { @@ -7451,7 +7450,8 @@ }, "required": [ "x", - "y" + "y", + "i" ], "type": "object" }, @@ -7490,7 +7490,6 @@ "type": "object" }, "panelIndex": { - "description": "The unique ID of the panel.", "type": "string" }, "panelRefName": { @@ -7513,7 +7512,8 @@ "required": [ "panelConfig", "type", - "gridData" + "gridData", + "panelIndex" ], "type": "object" }, @@ -8598,7 +8598,6 @@ "type": "number" }, "i": { - "description": "The unique identifier of the panel", "type": "string" }, "w": { @@ -8619,7 +8618,8 @@ }, "required": [ "x", - "y" + "y", + "i" ], "type": "object" }, @@ -8658,7 +8658,6 @@ "type": "object" }, "panelIndex": { - "description": "The unique ID of the panel.", "type": "string" }, "panelRefName": { @@ -8681,7 +8680,8 @@ "required": [ "panelConfig", "type", - "gridData" + "gridData", + "panelIndex" ], "type": "object" }, diff --git a/oas_docs/output/kibana.yaml b/oas_docs/output/kibana.yaml index 60b7b38074da6..87cf31f79295c 100644 --- a/oas_docs/output/kibana.yaml +++ b/oas_docs/output/kibana.yaml @@ -8661,7 +8661,6 @@ paths: minimum: 1 type: number i: - description: The unique identifier of the panel type: string w: default: 24 @@ -8682,6 +8681,7 @@ paths: required: - x - 'y' + - i id: description: The saved object id for by reference panels type: string @@ -8714,7 +8714,6 @@ paths: panel. type: string panelIndex: - description: The unique ID of the panel. type: string panelRefName: type: string @@ -8738,6 +8737,7 @@ paths: - panelConfig - type - gridData + - panelIndex type: array refreshInterval: additionalProperties: false @@ -9615,7 +9615,6 @@ paths: minimum: 1 type: number i: - description: The unique identifier of the panel type: string w: default: 24 @@ -9636,6 +9635,7 @@ paths: required: - x - 'y' + - i id: description: The saved object id for by reference panels type: string @@ -9668,7 +9668,6 @@ paths: panel. type: string panelIndex: - description: The unique ID of the panel. type: string panelRefName: type: string @@ -9692,6 +9691,7 @@ paths: - panelConfig - type - gridData + - panelIndex type: array refreshInterval: additionalProperties: false @@ -10545,7 +10545,6 @@ paths: minimum: 1 type: number i: - description: The unique identifier of the panel type: string w: default: 24 @@ -10566,6 +10565,7 @@ paths: required: - x - 'y' + - i id: description: The saved object id for by reference panels type: string @@ -10598,7 +10598,6 @@ paths: panel. type: string panelIndex: - description: The unique ID of the panel. type: string panelRefName: type: string @@ -10622,6 +10621,7 @@ paths: - panelConfig - type - gridData + - panelIndex type: array refreshInterval: additionalProperties: false From 524af8c3664b7e60c2bc7ba239e4452cc22208d3 Mon Sep 17 00:00:00 2001 From: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Date: Wed, 13 Nov 2024 21:50:18 +0000 Subject: [PATCH 10/16] [CI] Auto-commit changed files from 'make api-docs' --- oas_docs/output/kibana.serverless.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/oas_docs/output/kibana.serverless.yaml b/oas_docs/output/kibana.serverless.yaml index 0cf39f8658824..90115d84d5f34 100644 --- a/oas_docs/output/kibana.serverless.yaml +++ b/oas_docs/output/kibana.serverless.yaml @@ -6138,7 +6138,6 @@ paths: minimum: 1 type: number i: - description: The unique identifier of the panel type: string w: default: 24 @@ -6159,6 +6158,7 @@ paths: required: - x - 'y' + - i id: description: The saved object id for by reference panels type: string @@ -6191,7 +6191,6 @@ paths: panel. type: string panelIndex: - description: The unique ID of the panel. type: string panelRefName: type: string @@ -6215,6 +6214,7 @@ paths: - panelConfig - type - gridData + - panelIndex type: array refreshInterval: additionalProperties: false @@ -7092,7 +7092,6 @@ paths: minimum: 1 type: number i: - description: The unique identifier of the panel type: string w: default: 24 @@ -7113,6 +7112,7 @@ paths: required: - x - 'y' + - i id: description: The saved object id for by reference panels type: string @@ -7145,7 +7145,6 @@ paths: panel. type: string panelIndex: - description: The unique ID of the panel. type: string panelRefName: type: string @@ -7169,6 +7168,7 @@ paths: - panelConfig - type - gridData + - panelIndex type: array refreshInterval: additionalProperties: false @@ -8022,7 +8022,6 @@ paths: minimum: 1 type: number i: - description: The unique identifier of the panel type: string w: default: 24 @@ -8043,6 +8042,7 @@ paths: required: - x - 'y' + - i id: description: The saved object id for by reference panels type: string @@ -8075,7 +8075,6 @@ paths: panel. type: string panelIndex: - description: The unique ID of the panel. type: string panelRefName: type: string @@ -8099,6 +8098,7 @@ paths: - panelConfig - type - gridData + - panelIndex type: array refreshInterval: additionalProperties: false From dfe1981c7bcf9dbd2d58484963d4f5278c1a75b8 Mon Sep 17 00:00:00 2001 From: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Date: Thu, 14 Nov 2024 17:14:50 +0000 Subject: [PATCH 11/16] [CI] Auto-commit changed files from 'make api-docs' --- oas_docs/output/kibana.serverless.yaml | 78 ++++++-------------------- oas_docs/output/kibana.yaml | 78 ++++++-------------------- 2 files changed, 36 insertions(+), 120 deletions(-) diff --git a/oas_docs/output/kibana.serverless.yaml b/oas_docs/output/kibana.serverless.yaml index e67917c1eb1ec..b8b3f9394c186 100644 --- a/oas_docs/output/kibana.serverless.yaml +++ b/oas_docs/output/kibana.serverless.yaml @@ -1019,24 +1019,17 @@ paths: - last_execution_date flapping: additionalProperties: false - description: >- - When flapping detection is turned on, alerts that switch - quickly between active and recovered states are identified - as “flapping” and notifications are reduced. + description: When flapping detection is turned on, alerts that switch quickly between active and recovered states are identified as “flapping” and notifications are reduced. nullable: true type: object properties: look_back_window: - description: >- - The minimum number of runs in which the threshold must - be met. + description: The minimum number of runs in which the threshold must be met. maximum: 20 minimum: 2 type: number status_change_threshold: - description: >- - The minimum number of times an alert must switch - states in the look back window. + description: The minimum number of times an alert must switch states in the look back window. maximum: 20 minimum: 2 type: number @@ -1611,24 +1604,17 @@ paths: type: boolean flapping: additionalProperties: false - description: >- - When flapping detection is turned on, alerts that switch - quickly between active and recovered states are identified - as “flapping” and notifications are reduced. + description: When flapping detection is turned on, alerts that switch quickly between active and recovered states are identified as “flapping” and notifications are reduced. nullable: true type: object properties: look_back_window: - description: >- - The minimum number of runs in which the threshold must - be met. + description: The minimum number of runs in which the threshold must be met. maximum: 20 minimum: 2 type: number status_change_threshold: - description: >- - The minimum number of times an alert must switch states - in the look back window. + description: The minimum number of times an alert must switch states in the look back window. maximum: 20 minimum: 2 type: number @@ -1946,24 +1932,17 @@ paths: - last_execution_date flapping: additionalProperties: false - description: >- - When flapping detection is turned on, alerts that switch - quickly between active and recovered states are identified - as “flapping” and notifications are reduced. + description: When flapping detection is turned on, alerts that switch quickly between active and recovered states are identified as “flapping” and notifications are reduced. nullable: true type: object properties: look_back_window: - description: >- - The minimum number of runs in which the threshold must - be met. + description: The minimum number of runs in which the threshold must be met. maximum: 20 minimum: 2 type: number status_change_threshold: - description: >- - The minimum number of times an alert must switch - states in the look back window. + description: The minimum number of times an alert must switch states in the look back window. maximum: 20 minimum: 2 type: number @@ -2541,24 +2520,17 @@ paths: - active flapping: additionalProperties: false - description: >- - When flapping detection is turned on, alerts that switch - quickly between active and recovered states are identified - as “flapping” and notifications are reduced. + description: When flapping detection is turned on, alerts that switch quickly between active and recovered states are identified as “flapping” and notifications are reduced. nullable: true type: object properties: look_back_window: - description: >- - The minimum number of runs in which the threshold must - be met. + description: The minimum number of runs in which the threshold must be met. maximum: 20 minimum: 2 type: number status_change_threshold: - description: >- - The minimum number of times an alert must switch states - in the look back window. + description: The minimum number of times an alert must switch states in the look back window. maximum: 20 minimum: 2 type: number @@ -2848,24 +2820,17 @@ paths: - last_execution_date flapping: additionalProperties: false - description: >- - When flapping detection is turned on, alerts that switch - quickly between active and recovered states are identified - as “flapping” and notifications are reduced. + description: When flapping detection is turned on, alerts that switch quickly between active and recovered states are identified as “flapping” and notifications are reduced. nullable: true type: object properties: look_back_window: - description: >- - The minimum number of runs in which the threshold must - be met. + description: The minimum number of runs in which the threshold must be met. maximum: 20 minimum: 2 type: number status_change_threshold: - description: >- - The minimum number of times an alert must switch - states in the look back window. + description: The minimum number of times an alert must switch states in the look back window. maximum: 20 minimum: 2 type: number @@ -3903,24 +3868,17 @@ paths: - last_execution_date flapping: additionalProperties: false - description: >- - When flapping detection is turned on, alerts that switch - quickly between active and recovered states are identified - as “flapping” and notifications are reduced. + description: When flapping detection is turned on, alerts that switch quickly between active and recovered states are identified as “flapping” and notifications are reduced. nullable: true type: object properties: look_back_window: - description: >- - The minimum number of runs in which the threshold must - be met. + description: The minimum number of runs in which the threshold must be met. maximum: 20 minimum: 2 type: number status_change_threshold: - description: >- - The minimum number of times an alert must switch - states in the look back window. + description: The minimum number of times an alert must switch states in the look back window. maximum: 20 minimum: 2 type: number diff --git a/oas_docs/output/kibana.yaml b/oas_docs/output/kibana.yaml index bb8cb5ef33eb5..e4ee9ee8acaf3 100644 --- a/oas_docs/output/kibana.yaml +++ b/oas_docs/output/kibana.yaml @@ -1368,24 +1368,17 @@ paths: - last_execution_date flapping: additionalProperties: false - description: >- - When flapping detection is turned on, alerts that switch - quickly between active and recovered states are identified - as “flapping” and notifications are reduced. + description: When flapping detection is turned on, alerts that switch quickly between active and recovered states are identified as “flapping” and notifications are reduced. nullable: true type: object properties: look_back_window: - description: >- - The minimum number of runs in which the threshold must - be met. + description: The minimum number of runs in which the threshold must be met. maximum: 20 minimum: 2 type: number status_change_threshold: - description: >- - The minimum number of times an alert must switch - states in the look back window. + description: The minimum number of times an alert must switch states in the look back window. maximum: 20 minimum: 2 type: number @@ -1959,24 +1952,17 @@ paths: type: boolean flapping: additionalProperties: false - description: >- - When flapping detection is turned on, alerts that switch - quickly between active and recovered states are identified - as “flapping” and notifications are reduced. + description: When flapping detection is turned on, alerts that switch quickly between active and recovered states are identified as “flapping” and notifications are reduced. nullable: true type: object properties: look_back_window: - description: >- - The minimum number of runs in which the threshold must - be met. + description: The minimum number of runs in which the threshold must be met. maximum: 20 minimum: 2 type: number status_change_threshold: - description: >- - The minimum number of times an alert must switch states - in the look back window. + description: The minimum number of times an alert must switch states in the look back window. maximum: 20 minimum: 2 type: number @@ -2294,24 +2280,17 @@ paths: - last_execution_date flapping: additionalProperties: false - description: >- - When flapping detection is turned on, alerts that switch - quickly between active and recovered states are identified - as “flapping” and notifications are reduced. + description: When flapping detection is turned on, alerts that switch quickly between active and recovered states are identified as “flapping” and notifications are reduced. nullable: true type: object properties: look_back_window: - description: >- - The minimum number of runs in which the threshold must - be met. + description: The minimum number of runs in which the threshold must be met. maximum: 20 minimum: 2 type: number status_change_threshold: - description: >- - The minimum number of times an alert must switch - states in the look back window. + description: The minimum number of times an alert must switch states in the look back window. maximum: 20 minimum: 2 type: number @@ -2888,24 +2867,17 @@ paths: - active flapping: additionalProperties: false - description: >- - When flapping detection is turned on, alerts that switch - quickly between active and recovered states are identified - as “flapping” and notifications are reduced. + description: When flapping detection is turned on, alerts that switch quickly between active and recovered states are identified as “flapping” and notifications are reduced. nullable: true type: object properties: look_back_window: - description: >- - The minimum number of runs in which the threshold must - be met. + description: The minimum number of runs in which the threshold must be met. maximum: 20 minimum: 2 type: number status_change_threshold: - description: >- - The minimum number of times an alert must switch states - in the look back window. + description: The minimum number of times an alert must switch states in the look back window. maximum: 20 minimum: 2 type: number @@ -3195,24 +3167,17 @@ paths: - last_execution_date flapping: additionalProperties: false - description: >- - When flapping detection is turned on, alerts that switch - quickly between active and recovered states are identified - as “flapping” and notifications are reduced. + description: When flapping detection is turned on, alerts that switch quickly between active and recovered states are identified as “flapping” and notifications are reduced. nullable: true type: object properties: look_back_window: - description: >- - The minimum number of runs in which the threshold must - be met. + description: The minimum number of runs in which the threshold must be met. maximum: 20 minimum: 2 type: number status_change_threshold: - description: >- - The minimum number of times an alert must switch - states in the look back window. + description: The minimum number of times an alert must switch states in the look back window. maximum: 20 minimum: 2 type: number @@ -4242,24 +4207,17 @@ paths: - last_execution_date flapping: additionalProperties: false - description: >- - When flapping detection is turned on, alerts that switch - quickly between active and recovered states are identified - as “flapping” and notifications are reduced. + description: When flapping detection is turned on, alerts that switch quickly between active and recovered states are identified as “flapping” and notifications are reduced. nullable: true type: object properties: look_back_window: - description: >- - The minimum number of runs in which the threshold must - be met. + description: The minimum number of runs in which the threshold must be met. maximum: 20 minimum: 2 type: number status_change_threshold: - description: >- - The minimum number of times an alert must switch - states in the look back window. + description: The minimum number of times an alert must switch states in the look back window. maximum: 20 minimum: 2 type: number From b3a6fd71b9103ae75b58120a5ce720559b4754a9 Mon Sep 17 00:00:00 2001 From: lcawl Date: Thu, 14 Nov 2024 13:13:35 -0800 Subject: [PATCH 12/16] Add API descriptions and availability --- oas_docs/bundle.json | 29 +++++++--- oas_docs/bundle.serverless.json | 29 +++++++--- oas_docs/output/kibana.serverless.yaml | 31 ++++++---- oas_docs/output/kibana.yaml | 46 +++++++++++---- .../dashboard/server/api/register_routes.ts | 56 +++++++++++++++---- 5 files changed, 143 insertions(+), 48 deletions(-) diff --git a/oas_docs/bundle.json b/oas_docs/bundle.json index 9e0049d30a58c..cd8e567e1b3ca 100644 --- a/oas_docs/bundle.json +++ b/oas_docs/bundle.json @@ -5662,6 +5662,7 @@ } }, { + "description": "The page number to return.", "in": "query", "name": "page", "required": false, @@ -5671,6 +5672,7 @@ } }, { + "description": "The number of dashboards to display on each page.", "in": "query", "name": "perPage", "required": false, @@ -5819,10 +5821,11 @@ } } }, - "summary": "Get a list of dashboards.", + "summary": "Get a list of dashboards", "tags": [ "Dashboards" - ] + ], + "x-state": "Technical Preview" } }, "/api/dashboards/dashboard/{id}": { @@ -5853,6 +5856,7 @@ } }, { + "description": "A unique identifier for the dashboard.", "in": "path", "name": "id", "required": true, @@ -5862,10 +5866,11 @@ } ], "responses": {}, - "summary": "Delete a dashboard.", + "summary": "Delete a dashboard", "tags": [ "Dashboards" - ] + ], + "x-state": "Technical Preview" }, "get": { "description": "This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.", @@ -5884,6 +5889,7 @@ } }, { + "description": "A unique identifier for the dashboard.", "in": "path", "name": "id", "required": true, @@ -6520,10 +6526,11 @@ } } }, - "summary": "Get a dashboard.", + "summary": "Get a dashboard", "tags": [ "Dashboards" - ] + ], + "x-state": "Technical Preview" }, "post": { "description": "This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.", @@ -6552,6 +6559,7 @@ } }, { + "description": "A unique identifier for the dashboard.", "in": "path", "name": "id", "required": false, @@ -7697,7 +7705,8 @@ "summary": "Create a dashboard", "tags": [ "Dashboards" - ] + ], + "x-state": "Technical Preview" }, "put": { "description": "This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.", @@ -7726,6 +7735,7 @@ } }, { + "description": "A unique identifier for the dashboard.", "in": "path", "name": "id", "required": true, @@ -8862,10 +8872,11 @@ } } }, - "summary": "Update an existing dashboard.", + "summary": "Update an existing dashboard", "tags": [ "Dashboards" - ] + ], + "x-state": "Technical Preview" } }, "/api/fleet/agent_download_sources": { diff --git a/oas_docs/bundle.serverless.json b/oas_docs/bundle.serverless.json index d8283c1cd3516..4d7369a1129e2 100644 --- a/oas_docs/bundle.serverless.json +++ b/oas_docs/bundle.serverless.json @@ -5662,6 +5662,7 @@ } }, { + "description": "The page number to return.", "in": "query", "name": "page", "required": false, @@ -5671,6 +5672,7 @@ } }, { + "description": "The number of dashboards to display on each page.", "in": "query", "name": "perPage", "required": false, @@ -5819,10 +5821,11 @@ } } }, - "summary": "Get a list of dashboards.", + "summary": "Get a list of dashboards", "tags": [ "Dashboards" - ] + ], + "x-state": "Technical Preview" } }, "/api/dashboards/dashboard/{id}": { @@ -5853,6 +5856,7 @@ } }, { + "description": "A unique identifier for the dashboard.", "in": "path", "name": "id", "required": true, @@ -5862,10 +5866,11 @@ } ], "responses": {}, - "summary": "Delete a dashboard.", + "summary": "Delete a dashboard", "tags": [ "Dashboards" - ] + ], + "x-state": "Technical Preview" }, "get": { "description": "This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.", @@ -5884,6 +5889,7 @@ } }, { + "description": "A unique identifier for the dashboard.", "in": "path", "name": "id", "required": true, @@ -6520,10 +6526,11 @@ } } }, - "summary": "Get a dashboard.", + "summary": "Get a dashboard", "tags": [ "Dashboards" - ] + ], + "x-state": "Technical Preview" }, "post": { "description": "This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.", @@ -6552,6 +6559,7 @@ } }, { + "description": "A unique identifier for the dashboard.", "in": "path", "name": "id", "required": false, @@ -7697,7 +7705,8 @@ "summary": "Create a dashboard", "tags": [ "Dashboards" - ] + ], + "x-state": "Technical Preview" }, "put": { "description": "This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.", @@ -7726,6 +7735,7 @@ } }, { + "description": "A unique identifier for the dashboard.", "in": "path", "name": "id", "required": true, @@ -8862,10 +8872,11 @@ } } }, - "summary": "Update an existing dashboard.", + "summary": "Update an existing dashboard", "tags": [ "Dashboards" - ] + ], + "x-state": "Technical Preview" } }, "/api/fleet/agent_download_sources": { diff --git a/oas_docs/output/kibana.serverless.yaml b/oas_docs/output/kibana.serverless.yaml index b8b3f9394c186..fd7e5adf6440e 100644 --- a/oas_docs/output/kibana.serverless.yaml +++ b/oas_docs/output/kibana.serverless.yaml @@ -5213,13 +5213,15 @@ paths: enum: - '2023-10-31' type: string - - in: query + - description: The page number to return. + in: query name: page required: false schema: default: 1 type: number - - in: query + - description: The number of dashboards to display on each page. + in: query name: perPage required: false schema: @@ -5321,9 +5323,10 @@ paths: required: - items - total - summary: Get a list of dashboards. + summary: Get a list of dashboards tags: - Dashboards + x-state: Technical Preview x-beta: true /api/dashboards/dashboard/{id}: delete: @@ -5345,15 +5348,17 @@ paths: schema: example: 'true' type: string - - in: path + - description: A unique identifier for the dashboard. + in: path name: id required: true schema: type: string responses: {} - summary: Delete a dashboard. + summary: Delete a dashboard tags: - Dashboards + x-state: Technical Preview x-beta: true get: description: This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. @@ -5367,7 +5372,8 @@ paths: enum: - '2023-10-31' type: string - - in: path + - description: A unique identifier for the dashboard. + in: path name: id required: true schema: @@ -5821,9 +5827,10 @@ paths: required: - item - meta - summary: Get a dashboard. + summary: Get a dashboard tags: - Dashboards + x-state: Technical Preview x-beta: true post: description: This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. @@ -5844,7 +5851,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: A unique identifier for the dashboard. + in: path name: id required: false schema: @@ -6664,6 +6672,7 @@ paths: summary: Create a dashboard tags: - Dashboards + x-state: Technical Preview x-beta: true put: description: This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. @@ -6684,7 +6693,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: A unique identifier for the dashboard. + in: path name: id required: true schema: @@ -7497,9 +7507,10 @@ paths: - references required: - item - summary: Update an existing dashboard. + summary: Update an existing dashboard tags: - Dashboards + x-state: Technical Preview x-beta: true /api/data_views: get: diff --git a/oas_docs/output/kibana.yaml b/oas_docs/output/kibana.yaml index e4ee9ee8acaf3..e77776fc4e7ca 100644 --- a/oas_docs/output/kibana.yaml +++ b/oas_docs/output/kibana.yaml @@ -7444,13 +7444,15 @@ paths: enum: - '2023-10-31' type: string - - in: query + - description: The page number to return. + in: query name: page required: false schema: default: 1 type: number - - in: query + - description: The number of dashboards to display on each page. + in: query name: perPage required: false schema: @@ -7552,9 +7554,10 @@ paths: required: - items - total - summary: Get a list of dashboards. + summary: Get a list of dashboards tags: - Dashboards + x-state: Technical Preview /api/dashboards/dashboard/{id}: delete: description: This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. @@ -7575,15 +7578,17 @@ paths: schema: example: 'true' type: string - - in: path + - description: A unique identifier for the dashboard. + in: path name: id required: true schema: type: string responses: {} - summary: Delete a dashboard. + summary: Delete a dashboard tags: - Dashboards + x-state: Technical Preview get: description: This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. operationId: get-dashboards-dashboard-id @@ -7596,7 +7601,8 @@ paths: enum: - '2023-10-31' type: string - - in: path + - description: A unique identifier for the dashboard. + in: path name: id required: true schema: @@ -8050,9 +8056,10 @@ paths: required: - item - meta - summary: Get a dashboard. + summary: Get a dashboard tags: - Dashboards + x-state: Technical Preview post: description: This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. operationId: post-dashboards-dashboard-id @@ -8072,7 +8079,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: A unique identifier for the dashboard. + in: path name: id required: false schema: @@ -8892,6 +8900,7 @@ paths: summary: Create a dashboard tags: - Dashboards + x-state: Technical Preview put: description: This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. operationId: put-dashboards-dashboard-id @@ -8911,7 +8920,8 @@ paths: schema: example: 'true' type: string - - in: path + - description: A unique identifier for the dashboard. + in: path name: id required: true schema: @@ -9724,9 +9734,10 @@ paths: - references required: - item - summary: Update an existing dashboard. + summary: Update an existing dashboard tags: - Dashboards + x-state: Technical Preview /api/data_views: get: operationId: getAllDataViewsDefault @@ -61705,4 +61716,19 @@ x-topics: If you use the Kibana console to send API requests, it automatically adds the appropriate space identifier. + To learn more, check out [Spaces](https://www.elastic.co/guide/en/kibana/master/xpack-spaces.html). + - title: Kibana spaces + content: | + Spaces enable you to organize your dashboards and other saved objects into meaningful categories. + You can use the default space or create your own spaces. + + To run APIs in non-default spaces, you must add `s/{space_id}/` to the path. + For example: + + ``` + curl -X GET "http://localhost:5601/s/marketing/api/data_views" + ``` + + If you use the Kibana console to send API requests, it automatically adds the appropriate space identifier. + To learn more, check out [Spaces](https://www.elastic.co/guide/en/kibana/master/xpack-spaces.html). diff --git a/src/plugins/dashboard/server/api/register_routes.ts b/src/plugins/dashboard/server/api/register_routes.ts index 692942e1bd1bb..dbdfa5daabde5 100644 --- a/src/plugins/dashboard/server/api/register_routes.ts +++ b/src/plugins/dashboard/server/api/register_routes.ts @@ -53,6 +53,9 @@ export function registerAPIRoutes({ description: TECHNICAL_PREVIEW_WARNING, options: { tags: ['oas-tag:Dashboards'], + availability: { + stability: 'experimental', + }, }, }); @@ -62,7 +65,11 @@ export function registerAPIRoutes({ validate: { request: { params: schema.object({ - id: schema.maybe(schema.string()), + id: schema.maybe( + schema.string({ + meta: { description: 'A unique identifier for the dashboard.' }, + }) + ), }), body: schema.object({ attributes: dashboardAttributesSchema, @@ -115,10 +122,13 @@ export function registerAPIRoutes({ const updateRoute = versionedRouter.put({ path: `${PUBLIC_API_PATH}/{id}`, access: 'public', - summary: `Update an existing dashboard.`, + summary: `Update an existing dashboard`, description: TECHNICAL_PREVIEW_WARNING, options: { tags: ['oas-tag:Dashboards'], + availability: { + stability: 'experimental', + }, }, }); @@ -128,7 +138,9 @@ export function registerAPIRoutes({ validate: { request: { params: schema.object({ - id: schema.string(), + id: schema.string({ + meta: { description: 'A unique identifier for the dashboard.' }, + }), }), body: schema.object({ attributes: dashboardAttributesSchema, @@ -172,10 +184,13 @@ export function registerAPIRoutes({ const listRoute = versionedRouter.get({ path: `${PUBLIC_API_PATH}`, access: 'public', - summary: `Get a list of dashboards.`, + summary: `Get a list of dashboards`, description: TECHNICAL_PREVIEW_WARNING, options: { tags: ['oas-tag:Dashboards'], + availability: { + stability: 'experimental', + }, }, }); @@ -185,8 +200,15 @@ export function registerAPIRoutes({ validate: { request: { query: schema.object({ - page: schema.number({ defaultValue: 1 }), - perPage: schema.maybe(schema.number()), + page: schema.number({ + meta: { description: 'The page number to return.' }, + defaultValue: 1, + }), + perPage: schema.maybe( + schema.number({ + meta: { description: 'The number of dashboards to display on each page.' }, + }) + ), }), }, response: { @@ -229,10 +251,13 @@ export function registerAPIRoutes({ const getRoute = versionedRouter.get({ path: `${PUBLIC_API_PATH}/{id}`, access: 'public', - summary: `Get a dashboard.`, + summary: `Get a dashboard`, description: TECHNICAL_PREVIEW_WARNING, options: { tags: ['oas-tag:Dashboards'], + availability: { + stability: 'experimental', + }, }, }); @@ -242,7 +267,11 @@ export function registerAPIRoutes({ validate: { request: { params: schema.object({ - id: schema.string(), + id: schema.string({ + meta: { + description: 'A unique identifier for the dashboard.', + }, + }), }), }, response: { @@ -283,10 +312,13 @@ export function registerAPIRoutes({ const deleteRoute = versionedRouter.delete({ path: `${PUBLIC_API_PATH}/{id}`, access: 'public', - summary: `Delete a dashboard.`, + summary: `Delete a dashboard`, description: TECHNICAL_PREVIEW_WARNING, options: { tags: ['oas-tag:Dashboards'], + availability: { + stability: 'experimental', + }, }, }); @@ -296,7 +328,11 @@ export function registerAPIRoutes({ validate: { request: { params: schema.object({ - id: schema.string(), + id: schema.string({ + meta: { + description: 'A unique identifier for the dashboard.', + }, + }), }), }, }, From 94ec6f369c093e33d36975782ce3b83f10d9ca11 Mon Sep 17 00:00:00 2001 From: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Date: Thu, 14 Nov 2024 21:31:16 +0000 Subject: [PATCH 13/16] [CI] Auto-commit changed files from 'make api-docs' --- oas_docs/output/kibana.yaml | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/oas_docs/output/kibana.yaml b/oas_docs/output/kibana.yaml index e77776fc4e7ca..1a38aca37f070 100644 --- a/oas_docs/output/kibana.yaml +++ b/oas_docs/output/kibana.yaml @@ -61716,19 +61716,4 @@ x-topics: If you use the Kibana console to send API requests, it automatically adds the appropriate space identifier. - To learn more, check out [Spaces](https://www.elastic.co/guide/en/kibana/master/xpack-spaces.html). - - title: Kibana spaces - content: | - Spaces enable you to organize your dashboards and other saved objects into meaningful categories. - You can use the default space or create your own spaces. - - To run APIs in non-default spaces, you must add `s/{space_id}/` to the path. - For example: - - ``` - curl -X GET "http://localhost:5601/s/marketing/api/data_views" - ``` - - If you use the Kibana console to send API requests, it automatically adds the appropriate space identifier. - To learn more, check out [Spaces](https://www.elastic.co/guide/en/kibana/master/xpack-spaces.html). From abfffa8cbfdb394d31ae85ae5b4bae90e662eee1 Mon Sep 17 00:00:00 2001 From: Nick Peihl Date: Wed, 27 Nov 2024 14:53:40 -0500 Subject: [PATCH 14/16] Review feedback --- src/plugins/dashboard/server/api/register_routes.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/plugins/dashboard/server/api/register_routes.ts b/src/plugins/dashboard/server/api/register_routes.ts index dbdfa5daabde5..6cdd8704cf46e 100644 --- a/src/plugins/dashboard/server/api/register_routes.ts +++ b/src/plugins/dashboard/server/api/register_routes.ts @@ -201,12 +201,19 @@ export function registerAPIRoutes({ request: { query: schema.object({ page: schema.number({ - meta: { description: 'The page number to return.' }, + meta: { description: 'The page number to return. Default is "1".' }, + min: 1, defaultValue: 1, }), perPage: schema.maybe( schema.number({ - meta: { description: 'The number of dashboards to display on each page.' }, + meta: { + description: + 'The number of dashboards to display on each page (max 1000). Default is "20".', + }, + defaultValue: 20, + min: 1, + max: 1000, }) ), }), From dc450df8a013818cbd4024af8a318d98b8469af3 Mon Sep 17 00:00:00 2001 From: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Date: Wed, 27 Nov 2024 20:11:25 +0000 Subject: [PATCH 15/16] [CI] Auto-commit changed files from 'node scripts/capture_oas_snapshot --include-path /api/status --include-path /api/alerting/rule/ --include-path /api/alerting/rules --include-path /api/actions --include-path /api/security/role --include-path /api/spaces --include-path /api/fleet --include-path /api/dashboards --update' --- oas_docs/bundle.json | 7 +++++-- oas_docs/bundle.serverless.json | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/oas_docs/bundle.json b/oas_docs/bundle.json index 7048728d037fa..d72ff083306f5 100644 --- a/oas_docs/bundle.json +++ b/oas_docs/bundle.json @@ -5662,21 +5662,24 @@ } }, { - "description": "The page number to return.", + "description": "The page number to return. Default is \"1\".", "in": "query", "name": "page", "required": false, "schema": { "default": 1, + "minimum": 1, "type": "number" } }, { - "description": "The number of dashboards to display on each page.", + "description": "The number of dashboards to display on each page (max 1000). Default is \"20\".", "in": "query", "name": "perPage", "required": false, "schema": { + "maximum": 1000, + "minimum": 1, "type": "number" } } diff --git a/oas_docs/bundle.serverless.json b/oas_docs/bundle.serverless.json index 3cd6df5cdc27d..e0cdb58278955 100644 --- a/oas_docs/bundle.serverless.json +++ b/oas_docs/bundle.serverless.json @@ -5662,21 +5662,24 @@ } }, { - "description": "The page number to return.", + "description": "The page number to return. Default is \"1\".", "in": "query", "name": "page", "required": false, "schema": { "default": 1, + "minimum": 1, "type": "number" } }, { - "description": "The number of dashboards to display on each page.", + "description": "The number of dashboards to display on each page (max 1000). Default is \"20\".", "in": "query", "name": "perPage", "required": false, "schema": { + "maximum": 1000, + "minimum": 1, "type": "number" } } From 0b115ed532c77450164d87b8d1cb0418ec2c475a Mon Sep 17 00:00:00 2001 From: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Date: Wed, 27 Nov 2024 20:31:28 +0000 Subject: [PATCH 16/16] [CI] Auto-commit changed files from 'make api-docs' --- oas_docs/output/kibana.serverless.yaml | 7 +++++-- oas_docs/output/kibana.yaml | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/oas_docs/output/kibana.serverless.yaml b/oas_docs/output/kibana.serverless.yaml index 9c60f9c941014..6a48a150a8fc1 100644 --- a/oas_docs/output/kibana.serverless.yaml +++ b/oas_docs/output/kibana.serverless.yaml @@ -5209,18 +5209,21 @@ paths: enum: - '2023-10-31' type: string - - description: The page number to return. + - description: The page number to return. Default is "1". in: query name: page required: false schema: default: 1 + minimum: 1 type: number - - description: The number of dashboards to display on each page. + - description: The number of dashboards to display on each page (max 1000). Default is "20". in: query name: perPage required: false schema: + maximum: 1000 + minimum: 1 type: number responses: '200': diff --git a/oas_docs/output/kibana.yaml b/oas_docs/output/kibana.yaml index 1e181529550bd..19839e0948bdd 100644 --- a/oas_docs/output/kibana.yaml +++ b/oas_docs/output/kibana.yaml @@ -7479,18 +7479,21 @@ paths: enum: - '2023-10-31' type: string - - description: The page number to return. + - description: The page number to return. Default is "1". in: query name: page required: false schema: default: 1 + minimum: 1 type: number - - description: The number of dashboards to display on each page. + - description: The number of dashboards to display on each page (max 1000). Default is "20". in: query name: perPage required: false schema: + maximum: 1000 + minimum: 1 type: number responses: '200':