Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Ingest Manager] Wording & linking improvements #75891

Closed
wants to merge 57 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
1d45162
Improve wording on add agent flyout.
skh Aug 25, 2020
c634208
[ILM] TS conversion of Edit policy page (#75148)
yuliacech Aug 25, 2020
e9446b2
[Resolver] restore function to the resolverTest plugin. (#75799)
Aug 25, 2020
e236bdf
[Maps] add message to empty add tooltip card (#75809)
nreese Aug 25, 2020
f2fef70
Migrate legacy map UI settings (#75887)
nreese Aug 25, 2020
c3e226c
[Maps] Originating App Breadcrumb (#75692)
nreese Aug 25, 2020
9511285
[src/dev/build] report file count of archives when building (#75900)
Aug 25, 2020
947a939
[Maps] fix IVectorLayer.getStyle typing (#75829)
nreese Aug 25, 2020
fef8933
[Enterprise Search] Move views into separate folder from components (…
scottybollinger Aug 25, 2020
1fee8f1
[Lens] fix dimension popover design on mobile (#75866)
mbondyra Aug 25, 2020
5f89e00
[Security Solution][Detections] Disables add exception for ML and thr…
dplumlee Aug 25, 2020
ba9a607
Optimizes the index queries to not block the NodeJS event loop (#75716)
FrankHassanabad Aug 26, 2020
eecf4aa
[Detection Rules] Add 7.9.1 rules (#75939)
brokensound77 Aug 26, 2020
ddf99b6
[Lens] Fix rollup related bugs (#75314)
flash1293 Aug 26, 2020
686cde8
[Logs UI] View log details for anomaly log examples (#75425)
Aug 26, 2020
4efaba3
Reset chrome fields while switching an app (#73064)
sulemanof Aug 26, 2020
789b67f
[APM] Improvements for breakdown data gaps (#75534)
dgieselaar Aug 26, 2020
86d7050
[Telemetry] Add Application Usage Schema (#75283)
afharo Aug 26, 2020
63265b6
Compute AAD to encrypty/decrypt SO only if needed (#75818)
nchaulet Aug 26, 2020
4042f82
[Security Solution][Resolver] Support kuery filter (#74695)
jonathan-buttner Aug 26, 2020
3541edb
Minor developer guide doc changes (#75763)
smith Aug 26, 2020
4f2d4f8
adding test user to pew pew maps test + adding a role for connections…
bhavyarm Aug 26, 2020
4e1b1b5
adding test user to auto fit to bounds test (#75914)
bhavyarm Aug 26, 2020
b9c8201
[Security Solution][Exceptions] - Improve UX for missing exception li…
yctercero Aug 26, 2020
d6c45a2
Fixes runtime error with meta when it is missing (#75844)
FrankHassanabad Aug 26, 2020
e773f22
Revert "[Security Solution][Exceptions] - Improve UX for missing exce…
Aug 26, 2020
5a9d227
Downloads Chrome 84 and adds to PATH
Aug 26, 2020
1ca7651
Revert "Downloads Chrome 84 and adds to PATH"
spalger Aug 26, 2020
5447565
[Ingest Manager] Return ID when default output is found (#75930)
jen-huang Aug 26, 2020
61550b7
[ML] Adding authorization header to DFA job update request (#75899)
jgowdyelastic Aug 26, 2020
eee1392
Migrate data folder creation from legacy to KP (#75527)
pgayvallet Aug 26, 2020
2946e68
[Ingest Manager] Remove useless saved object update in agent checkin …
nchaulet Aug 26, 2020
638df58
[Security Solution][Detections] Fixes Alerts Table 'Select all [x] al…
spong Aug 26, 2020
532f2d7
[Home] Elastic home page redesign (#70571)
cqliu1 Aug 26, 2020
9873df8
[SECURITY_SOLUTION][ENDPOINT] Trusted Apps List API (#75476)
paul-tavares Aug 26, 2020
6627d7d
Sharing saved-objects phase 1.5 (#75444)
jportner Aug 26, 2020
deb71ec
[Security Solution][Exceptions Modal] Switches modal header (#76016)
dplumlee Aug 26, 2020
fd39f09
Duplicate title warning wording (#75908)
ThomThomson Aug 26, 2020
35b8d50
[Enterprise Search] Adds app logic file to Workplace Search (#76009)
scottybollinger Aug 26, 2020
d2d7b0d
Legacy ES plugin pre-removal cleanup (#75779)
pgayvallet Aug 26, 2020
595dfdb
Disables Chromedriver version detection (#75984)
Aug 26, 2020
979d1db
[Security Solution] [Detections] Updates rules routes to validate "fr…
dhurley14 Aug 26, 2020
8364d8d
[Lens] Decouple visualizations from specific operations (#75703)
Aug 26, 2020
043382d
[Security Solution][Exceptions] - Improve UX for missing exception li…
yctercero Aug 26, 2020
4289f9d
skip all tests that rely on es authentication type
spalger Aug 26, 2020
c08bf7f
using test_user with minimum privileges for canvas functional ui test…
rashmivkulkarni Aug 27, 2020
4294232
[Security Solution][Resolver] Word-break long titles in related event…
bkimmel Aug 27, 2020
a358c57
[Uptime] One click simple monitor down alert (#73835)
shahzad31 Aug 27, 2020
e488c08
[ML] fix tooltip content for scheduled events (#75973)
darnautov Aug 27, 2020
37ec1e1
Update to TS v4 (#73924)
mshustov Aug 27, 2020
8e2cb56
KQL support in filter ratio in TSVB (#75033)
DianaDerevyankina Aug 27, 2020
ec15160
[Form lib] Correctly add field to form on component mount (#75796)
sebelga Aug 27, 2020
b802af8
[ILM] Fix json in request flyout (#75971)
yuliacech Aug 27, 2020
f065191
[Enterprise Search] Added an App Search route for listing Credentials…
JasonStoltz Aug 27, 2020
d457d53
[Uptime] Translate bare strings (#75918)
justinkambic Aug 27, 2020
070d423
Improve wording on add agent flyout.
skh Aug 25, 2020
f62961e
Merge branch '75807-text-links-improvements' of github.com:skh/kibana…
skh Aug 27, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 0 additions & 1 deletion .telemetryrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
"src/plugins/testbed/",
"src/plugins/kibana_utils/",
"src/plugins/kibana_usage_collection/server/collectors/kibana/kibana_usage_collector.ts",
"src/plugins/kibana_usage_collection/server/collectors/application_usage/telemetry_application_usage_collector.ts",
"src/plugins/kibana_usage_collection/server/collectors/management/telemetry_management_collector.ts",
"src/plugins/kibana_usage_collection/server/collectors/ui_metric/telemetry_ui_metric_collector.ts",
"src/plugins/telemetry/server/collectors/usage/telemetry_usage_collector.ts"
Expand Down
5 changes: 4 additions & 1 deletion docs/api/saved-objects/find.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,10 @@ experimental[] Retrieve a paginated set of {kib} saved objects by various condit
(Optional, array|string) The fields to return in the `attributes` key of the response.

`sort_field`::
(Optional, string) The field that sorts the response.
(Optional, string) Sorts the response. Includes "root" and "type" fields. "root" fields exist for all saved objects, such as "updated_at".
"type" fields are specific to an object type, such as fields returned in the `attributes` key of the response. When a single type is
defined in the `type` parameter, the "root" and "type" fields are allowed, and validity checks are made in that order. When multiple types
are defined in the `type` parameter, only "root" fields are allowed.

`has_reference`::
(Optional, object) Filters to objects that have a relationship with the type and ID combination.
Expand Down
238 changes: 222 additions & 16 deletions docs/api/saved-objects/import.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,22 @@ experimental[] Create sets of {kib} saved objects from a file created by the exp
==== Path parameters

`space_id`::
(Optional, string) An identifier for the space. If `space_id` is not provided in the URL, the default space is used.
(Optional, string) An identifier for the <<xpack-spaces,space>>. If `space_id` is not provided in the URL, the default space is used.

[[saved-objects-api-import-query-params]]
==== Query parameters

`createNewCopies`::
(Optional, boolean) Creates copies of saved objects, regenerates each object ID, and resets the origin. When used, potential conflict
errors are avoided.
+
NOTE: This cannot be used with the `overwrite` option.

`overwrite`::
(Optional, boolean) Overwrites saved objects.
(Optional, boolean) Overwrites saved objects when they already exist. When used, potential conflict errors are automatically resolved by
overwriting the destination object.
+
NOTE: This cannot be used with the `createNewCopies` option.

[[saved-objects-api-import-request-body]]
==== Request body
Expand All @@ -37,22 +46,88 @@ The request body must include the multipart/form-data type.
==== Response body

`success`::
Top-level property that indicates if the import was successful.
(boolean) Indicates when the import was successfully completed. When set to `false`, some objects may not have been created. For
additional information, refer to the `errors` and `successResults` properties.

`successCount`::
Indicates the number of successfully imported records.
(number) Indicates the number of successfully imported records.

`errors`::
(array) Indicates the import was unsuccessful and specifies the objects that failed to import.
(Optional, array) Indicates the import was unsuccessful and specifies the objects that failed to import.
+
NOTE: One object may result in multiple errors, which requires separate steps to resolve. For instance, a `missing_references` error and
`conflict` error).

`successResults`::
(Optional, array) Indicates the objects that are successfully imported, with any metadata if applicable.
+
NOTE: Objects are only created when all resolvable errors are addressed, including conflicts and missing references. For information on how
to resolve errors, refer to the <<saved-objects-api-import-example,examples>>.

[[saved-objects-api-import-codes]]
==== Response code

`200`::
Indicates a successful call.

[[saved-objects-api-import-example]]
==== Examples

[[saved-objects-api-import-example-1]]
===== Successful import with `createNewCopies` enabled

Import an index pattern and dashboard:

[source,sh]
--------------------------------------------------
$ curl -X POST api/saved_objects/_import?createNewCopies=true -H "kbn-xsrf: true" --form file=@file.ndjson
--------------------------------------------------
// KIBANA

The `file.ndjson` file contains the following:

[source,sh]
--------------------------------------------------
{"type":"index-pattern","id":"my-pattern","attributes":{"title":"my-pattern-*"}}
{"type":"dashboard","id":"my-dashboard","attributes":{"title":"Look at my dashboard"}}
--------------------------------------------------

The API returns the following:

[source,sh]
--------------------------------------------------
{
"success": true,
"successCount": 2,
"successResults": [
{
"id": "my-pattern",
"type": "index-pattern",
"destinationId": "4aba3770-0d04-45e1-9e34-4cf0fd2165ae",
"meta": {
"icon": "indexPatternApp",
"title": "my-pattern-*"
}
},
{
"id": "my-dashboard",
"type": "dashboard",
"destinationId": "c31d1eca-9bc0-4a81-b5f9-30c442824c48",
"meta": {
"icon": "dashboardApp",
"title": "Look at my dashboard"
}
}
]
}
--------------------------------------------------

The result indicates a successful import, and both objects are created. Since these objects are created as new copies, each entry in the
`successResults` array includes a `destinationId` attribute.

[[saved-objects-api-import-example-2]]
===== Successful import with `createNewCopies` disabled

Import an index pattern and dashboard:

[source,sh]
Expand All @@ -75,11 +150,34 @@ The API returns the following:
--------------------------------------------------
{
"success": true,
"successCount": 2
"successCount": 2,
"successResults": [
{
"id": "my-pattern",
"type": "index-pattern",
"meta": {
"icon": "indexPatternApp",
"title": "my-pattern-*"
}
},
{
"id": "my-dashboard",
"type": "dashboard",
"meta": {
"icon": "dashboardApp",
"title": "Look at my dashboard"
}
}
]
}
--------------------------------------------------

Import an index pattern and dashboard that includes a conflict on the index pattern:
The result indicates a successful import, and both objects are created.

[[saved-objects-api-import-example-3]]
===== Failed import with conflict errors

Import an index pattern, visualization, *Canvas* workpad, and dashboard that include saved objects:

[source,sh]
--------------------------------------------------
Expand All @@ -92,6 +190,8 @@ The `file.ndjson` file contains the following:
[source,sh]
--------------------------------------------------
{"type":"index-pattern","id":"my-pattern","attributes":{"title":"my-pattern-*"}}
{"type":"visualization","id":"my-vis","attributes":{"title":"Look at my visualization"}}
{"type":"canvas-workpad","id":"my-canvas","attributes":{"name":"Look at my canvas"}}
{"type":"dashboard","id":"my-dashboard","attributes":{"title":"Look at my dashboard"}}
--------------------------------------------------

Expand All @@ -110,12 +210,85 @@ The API returns the following:
"error": {
"type": "conflict"
},
"meta": {
"icon": "indexPatternApp",
"title": "my-pattern-*"
}
},
{
"id": "my-visualization",
"type": "my-vis",
"title": "Look at my visualization",
"error": {
"type": "conflict",
"destinationId": "another-vis"
},
"meta": {
"icon": "visualizeApp",
"title": "Look at my visualization"
}
},
{
"id": "my-canvas",
"type": "canvas-workpad",
"title": "Look at my canvas",
"error": {
"type": "ambiguous_conflict",
"destinations": [
{
"id": "another-canvas",
"title": "Look at another canvas",
"updatedAt": "2020-07-08T16:36:32.377Z"
},
{
"id": "yet-another-canvas",
"title": "Look at yet another canvas",
"updatedAt": "2020-07-05T12:29:54.849Z"
}
]
},
"meta": {
"icon": "canvasApp",
"title": "Look at my canvas"
}
}
],
"successResults": [
{
"id": "my-dashboard",
"type": "dashboard",
"meta": {
"icon": "dashboardApp",
"title": "Look at my dashboard"
}
}
]
}
--------------------------------------------------

Import a visualization and dashboard with an index pattern for the visualization reference that doesn't exist:
The result indicates an unsuccessful import because the index pattern, visualization, *Canvas* workpad, and dashboard resulted in a conflict
error:

* An index pattern with the same ID already exists, which resulted in a conflict error. To resolve the error, overwrite the existing object,
or skip the object.

* A visualization with a different ID, but the same origin already exists, which resulted in a conflict error. The `destinationId` field
contains the `id` of the other visualization, which caused the conflict. The behavior is added to make sure that new objects that can be
shared between <<xpack-spaces,spaces>> behave in a similar way as legacy non-shareable objects. When a shareable object is exported and then
imported into a new space, it retains its origin so that the conflicts are encountered as expected. To resolve, overwrite the specified
destination object, or skip the object.

* Two *Canvas* workpads with different IDs, but the same origin, already exist, which resulted in a conflict error. The `destinations` array
describes the other workpads which caused the conflict. When a shareable object is exported, imported into a new space, then shared to
another space where an object of the same origin exists, the conflict error occurs. To resolve, pick a destination object to overwrite, or
skip the object.

Objects are created when the error is resolved using the <<saved-objects-api-resolve-import-errors-example-1,Resolve import errors API>>.

[[saved-objects-api-import-example-4]]
===== Failed import with missing reference errors

Import a visualization and dashboard when the index pattern for the visualization doesn't exist:

[source,sh]
--------------------------------------------------
Expand All @@ -127,36 +300,69 @@ The `file.ndjson` file contains the following:

[source,sh]
--------------------------------------------------
{"type":"visualization","id":"my-vis","attributes":{"title":"my-vis"},"references":[{"name":"ref_0","type":"index-pattern","id":"my-pattern-*"}]}
{"type":"dashboard","id":"my-dashboard","attributes":{"title":"Look at my dashboard"},"references":[{"name":"ref_0","type":"visualization","id":"my-vis"}]}
{"type":"visualization","id":"my-vis","attributes":{"title":"Look at my visualization"},"references":[{"name":"ref_0","type":"index-pattern","id":"my-pattern-*"}]}
{"type":"search","id":"my-search","attributes":{"title":"Look at my search"},"references":[{"name":"ref_0","type":"index-pattern","id":"another-pattern-*"}]}
{"type":"dashboard","id":"my-dashboard","attributes":{"title":"Look at my dashboard"},"references":[{"name":"ref_0","type":"visualization","id":"my-vis"},{"name":"ref_1","type":"search","id":"my-search"}]}
--------------------------------------------------

The API returns the following:

[source,sh]
--------------------------------------------------
{
"success": false,
"successCount": 0,
"successCount": 1,
"errors": [
{
"id": "my-vis",
"type": "visualization",
"title": "my-vis",
"title": "Look at my visualization",
"error": {
"type": "missing_references",
"references": [
{
"type": "index-pattern",
"id": "my-pattern-*"
}
],
"blocking": [
]
},
"meta": {
"icon": "visualizeApp",
"title": "Look at my visualization"
}
},
{
"id": "my-search",
"type": "search",
"title": "Look at my search",
"error": {
"type": "missing_references",
"references": [
{
"type": "dashboard",
"id": "my-dashboard"
"type": "index-pattern",
"id": "another-pattern-*"
}
]
},
"meta": {
"icon": "searchApp",
"title": "Look at my search"
}
}
],
"successResults": [
{
"id": "my-dashboard",
"type": "dashboard",
"meta": {
"icon": "dashboardApp",
"title": "Look at my dashboard"
}
}
]
}
--------------------------------------------------

The result indicates an unsuccessful import because the visualization and search resulted in a missing references error.

Objects are created when the errors are resolved using the <<saved-objects-api-resolve-import-errors-example-2,Resolve import errors API>>.
Loading