Skip to content

Commit 3421a0f

Browse files
committed
Merge branch 'master' into alerts/custom-recovery-action-group
* master: (63 commits) Revert the Revert of "[Alerting] renames Resolved action group to Recovered (elastic#84123)" (elastic#84662) declare kbn/monaco dependency on kbn/i18n explicitly (elastic#84660) Remove unscripted fields from sample data index-pattern saved objects (elastic#84659) [ML] Fix unnecessary trigger of wildcard field type search for ML plugin routes. (elastic#84605) Update create.asciidoc (elastic#84046) [Security Solution][Detections] Fix labels and issue with mandatory fields (elastic#84525) Fix flaky test suite (elastic#84602) [Security Solution] [Detections] Create a 'partial failure' status for rules (elastic#84293) Revert "[Alerting] renames Resolved action group to Recovered (elastic#84123)" Update code-comments describing babel plugins (elastic#84622) [Security Solution] [Cases] Cypress for case connector selector options (elastic#80745) [Discover] Unskip doc table tests (elastic#84564) [Lens] (Accessibility) Improve landmarks in Lens (elastic#84511) [Lens] (Accessibility) Focus mistakenly stops on righthand form (elastic#84519) Return early when parallel install process detected (elastic#84190) [Security Solution][Detections] Support arrays in event fields for Severity/Risk overrides (elastic#83723) [Security Solution][Detections] Fix grammatical error in validation message for threshold field in "Create new rule" -> "Define rule" (elastic#84490) [Fleet] Update agent details page (elastic#84434) adding documentation of use of NODE_EXTRA_CA_CERTS env var (elastic#84578) [Search] Integrate "Send to background" UI with session service (elastic#83073) ...
2 parents a4f8a9c + 6da6db2 commit 3421a0f

File tree

574 files changed

+442684
-4984
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

574 files changed

+442684
-4984
lines changed

.github/CODEOWNERS

+3
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,9 @@
187187
/x-pack/test/saved_object_tagging/ @elastic/kibana-core
188188
/packages/kbn-config-schema/ @elastic/kibana-core
189189
/packages/kbn-std/ @elastic/kibana-core
190+
/packages/kbn-config/ @elastic/kibana-core
191+
/packages/kbn-logging/ @elastic/kibana-core
192+
/packages/kbn-legacy-logging/ @elastic/kibana-core
190193
/src/legacy/server/config/ @elastic/kibana-core
191194
/src/legacy/server/http/ @elastic/kibana-core
192195
/src/legacy/server/logging/ @elastic/kibana-core

.i18nrc.json

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
"src/plugins/management"
2828
],
2929
"maps_legacy": "src/plugins/maps_legacy",
30+
"monaco": "packages/kbn-monaco/src",
3031
"indexPatternManagement": "src/plugins/index_pattern_management",
3132
"advancedSettings": "src/plugins/advanced_settings",
3233
"kibana_legacy": "src/plugins/kibana_legacy",

STYLEGUIDE.md

+18
Original file line numberDiff line numberDiff line change
@@ -589,6 +589,24 @@ Do not use setters, they cause more problems than they can solve.
589589
590590
[sideeffect]: http://en.wikipedia.org/wiki/Side_effect_(computer_science)
591591
592+
### Avoid circular dependencies
593+
594+
As part of a future effort to use correct and idempotent build tools we need our code to be
595+
able to be represented as a directed acyclic graph. We must avoid having circular dependencies
596+
both on code and type imports to achieve that. One of the most critical parts is the plugins
597+
code. We've developed a tool to identify plugins with circular dependencies which
598+
has allowed us to build a list of plugins who have circular dependencies
599+
between each other.
600+
601+
When building plugins we should avoid importing from plugins
602+
who are known to have circular dependencies at the moment as well as introducing
603+
new circular dependencies. You can run the same tool we use on our CI locally by
604+
typing `node scripts/find_plugins_with_circular_deps --debug`. It will error out in
605+
case new circular dependencies has been added with your changes
606+
(which will also happen in the CI) as well as print out the current list of
607+
the known circular dependencies which, as mentioned before, should not be imported
608+
by your code until the circular dependencies on these have been solved.
609+
592610
## SASS files
593611
594612
When writing a new component, create a sibling SASS file of the same name and import directly into the **top** of the JS/TS component file. Doing so ensures the styles are never separated or lost on import and allows for better modularization (smaller individual plugin asset footprint).

docs/api/saved-objects/create.asciidoc

+4-2
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,13 @@ experimental[] Create {kib} saved objects.
99
[[saved-objects-api-create-request]]
1010
==== Request
1111

12-
`POST <kibana host>:<port>/api/saved_objects/<type>` +
12+
`POST <kibana host>:<port>/api/saved_objects/<type>`
1313

1414
`POST <kibana host>:<port>/api/saved_objects/<type>/<id>`
1515

16-
`POST <kibana host>:<port>/s/<space_id>/saved_objects/<type>`
16+
`POST <kibana host>:<port>/s/<space_id>/api/saved_objects/<type>`
17+
18+
`POST <kibana host>:<port>/s/<space_id>/api/saved_objects/<type>/<id>`
1719

1820
[[saved-objects-api-create-path-params]]
1921
==== Path parameters

docs/apm/apm-alerts.asciidoc

-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
<titleabbrev>Create an alert</titleabbrev>
77
++++
88

9-
beta::[]
109

1110
The APM app integrates with Kibana's {kibana-ref}/alerting-getting-started.html[alerting and actions] feature.
1211
It provides a set of built-in **actions** and APM specific threshold **alerts** for you to use

docs/developer/best-practices/typescript.asciidoc

+3-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ More details are available in the https://www.typescriptlang.org/docs/handbook/p
1919
==== Caveats
2020
This architecture imposes several limitations to which we must comply:
2121

22-
- Projects cannot have circular dependencies. Even though the Kibana platform doesn't support circular dependencies between Kibana plugins, TypeScript (and ES6 modules) does allow circular imports between files. So in theory, you may face a problem when migrating to the TS project references and you will have to resolve this circular dependency. https://github.com/elastic/kibana/issues/78162 is going to provide a tool to find such problem places.
22+
- Projects cannot have circular dependencies. Even though the Kibana platform doesn't support circular dependencies between Kibana plugins, TypeScript (and ES6 modules) does allow circular imports between files. So in theory, you may face a problem when migrating to the TS project references and you will have to resolve this circular dependency. We've built a tool that can be used to find such problems. Please read the prerequisites section below to know how to use it.
2323
- A project must emit its type declaration. It's not always possible to generate a type declaration if the compiler cannot infer a type. There are two basic cases:
2424

2525
1. Your plugin exports a type inferring an internal type declared in Kibana codebase. In this case, you'll have to either export an internal type or to declare an exported type explicitly.
@@ -30,6 +30,8 @@ This architecture imposes several limitations to which we must comply:
3030
Since project refs rely on generated `d.ts` files, the migration order does matter. You can migrate your plugin only when all the plugin dependencies already have migrated. It creates a situation where commonly used plugins (such as `data` or `kibana_react`) have to migrate first.
3131
Run `node scripts/find_plugins_without_ts_refs.js --id your_plugin_id` to get a list of plugins that should be switched to TS project refs to unblock your plugin migration.
3232

33+
Additionally, in order to migrate into project refs, you also need to make sure your plugin doesn't have circular dependencies with other plugins both on code and type imports. We run a job in the CI for each PR trying to find if new circular dependencies are being added which runs our tool with `node scripts/find_plugins_with_circular_deps`. However there are also a couple of circular dependencies already identified and that are in an allowed list to be solved. You also need to make sure your plugin don't rely in any other plugin into that allowed list. For a complete overview of the circular dependencies both found and in the allowed list as well as the complete circular dependencies path please run the following script locally with the debug flag `node scripts/find_plugins_with_circular_deps --debug` .
34+
3335
[discrete]
3436
==== Implementation
3537
- Make sure all the plugins listed as dependencies in *requiredPlugins*, *optionalPlugins* & *requiredBundles* properties of `kibana.json` manifest file have migrated to TS project references.

docs/developer/plugin/migrating-legacy-plugins-examples.asciidoc

+71
Original file line numberDiff line numberDiff line change
@@ -1143,6 +1143,77 @@ router.get(
11431143
);
11441144
----
11451145

1146+
==== Accessing the client from a collector's `fetch` method
1147+
1148+
At the moment, the `fetch` method's context receives preconfigured
1149+
<<scoped-services, scoped clients>> for Elasticsearch and SavedObjects.
1150+
To help in the transition, both, the legacy (`callCluster`) and new clients are provided,
1151+
but we strongly discourage using the deprecated legacy ones for any new implementation.
1152+
1153+
[source,typescript]
1154+
----
1155+
usageCollection.makeUsageCollector<MyUsage>({
1156+
type: 'my-collector',
1157+
isReady: async () => true, // Logic to confirm the `fetch` method is ready to be called
1158+
schema: {...},
1159+
async fetch(context) {
1160+
const { callCluster, esClient, soClient } = context;
1161+
1162+
// Before:
1163+
const result = callCluster('search', options)
1164+
1165+
// After:
1166+
const { body: result } = esClient.search(options);
1167+
1168+
return result;
1169+
}
1170+
});
1171+
----
1172+
1173+
Regarding the `soClient`, it is encouraged to use it instead of the plugin's owned SavedObject's repository
1174+
as we used to do in the past.
1175+
1176+
Before:
1177+
1178+
[source,typescript]
1179+
----
1180+
function getUsageCollector(
1181+
usageCollection: UsageCollectionSetup,
1182+
getSavedObjectsRepository: () => ISavedObjectsRepository | undefined
1183+
) {
1184+
usageCollection.makeUsageCollector<MyUsage>({
1185+
type: 'my-collector',
1186+
isReady: () => typeof getSavedObjectsRepository() !== 'undefined',
1187+
schema: {...},
1188+
async fetch() {
1189+
const savedObjectsRepository = getSavedObjectsRepository();
1190+
1191+
const { attributes: result } = await savedObjectsRepository.get('my-so-type', 'my-so-id');
1192+
1193+
return result;
1194+
}
1195+
});
1196+
}
1197+
----
1198+
1199+
After:
1200+
1201+
[source,typescript]
1202+
----
1203+
function getUsageCollector(usageCollection: UsageCollectionSetup) {
1204+
usageCollection.makeUsageCollector<MyUsage>({
1205+
type: 'my-collector',
1206+
isReady: () => true,
1207+
schema: {...},
1208+
async fetch({ soClient }) {
1209+
const { attributes: result } = await soClient.get('my-so-type', 'my-so-id');
1210+
1211+
return result;
1212+
}
1213+
});
1214+
}
1215+
----
1216+
11461217
==== Creating a custom client
11471218

11481219
Note that the `plugins` option is no longer available on the new

docs/development/core/public/kibana-plugin-core-public.app.exactroute.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ exactRoute?: boolean;
1818
```ts
1919
core.application.register({
2020
id: 'my_app',
21-
title: 'My App'
21+
title: 'My App',
2222
exactRoute: true,
2323
mount: () => { ... },
2424
})

docs/development/core/public/kibana-plugin-core-public.app.md

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ export interface App<HistoryLocationState = unknown>
2727
| [mount](./kibana-plugin-core-public.app.mount.md) | <code>AppMount&lt;HistoryLocationState&gt; &#124; AppMountDeprecated&lt;HistoryLocationState&gt;</code> | A mount function called when the user navigates to this app's route. May have signature of [AppMount](./kibana-plugin-core-public.appmount.md) or [AppMountDeprecated](./kibana-plugin-core-public.appmountdeprecated.md)<!-- -->. |
2828
| [navLinkStatus](./kibana-plugin-core-public.app.navlinkstatus.md) | <code>AppNavLinkStatus</code> | The initial status of the application's navLink. Defaulting to <code>visible</code> if <code>status</code> is <code>accessible</code> and <code>hidden</code> if status is <code>inaccessible</code> See [AppNavLinkStatus](./kibana-plugin-core-public.appnavlinkstatus.md) |
2929
| [order](./kibana-plugin-core-public.app.order.md) | <code>number</code> | An ordinal used to sort nav links relative to one another for display. |
30+
| [searchDeepLinks](./kibana-plugin-core-public.app.searchdeeplinks.md) | <code>AppSearchDeepLink[]</code> | Array of links that represent secondary in-app locations for the app. |
3031
| [status](./kibana-plugin-core-public.app.status.md) | <code>AppStatus</code> | The initial status of the application. Defaulting to <code>accessible</code> |
3132
| [title](./kibana-plugin-core-public.app.title.md) | <code>string</code> | The title of the application. |
3233
| [tooltip](./kibana-plugin-core-public.app.tooltip.md) | <code>string</code> | A tooltip shown when hovering over app link. |
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-core-public](./kibana-plugin-core-public.md) &gt; [App](./kibana-plugin-core-public.app.md) &gt; [searchDeepLinks](./kibana-plugin-core-public.app.searchdeeplinks.md)
4+
5+
## App.searchDeepLinks property
6+
7+
Array of links that represent secondary in-app locations for the app.
8+
9+
<b>Signature:</b>
10+
11+
```typescript
12+
searchDeepLinks?: AppSearchDeepLink[];
13+
```
14+
15+
## Remarks
16+
17+
Used to populate navigational search results (where available). Can be updated using the [App.updater$](./kibana-plugin-core-public.app.updater_.md) observable. See for more details.
18+
19+
## Example
20+
21+
The `path` property on deep links should not include the application's `appRoute`<!-- -->:
22+
23+
```ts
24+
core.application.register({
25+
id: 'my_app',
26+
title: 'My App',
27+
searchDeepLinks: [
28+
{ id: 'sub1', title: 'Sub1', path: '/sub1' },
29+
{
30+
id: 'sub2',
31+
title: 'Sub2',
32+
searchDeepLinks: [
33+
{ id: 'subsub', title: 'SubSub', path: '/sub2/sub' }
34+
]
35+
}
36+
],
37+
mount: () => { ... },
38+
})
39+
40+
```
41+
Will produce deep links on these paths: - `/app/my_app/sub1` - `/app/my_app/sub2/sub`
42+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-core-public](./kibana-plugin-core-public.md) &gt; [AppSearchDeepLink](./kibana-plugin-core-public.appsearchdeeplink.md)
4+
5+
## AppSearchDeepLink type
6+
7+
Input type for registering secondary in-app locations for an application.
8+
9+
Deep links must include at least one of `path` or `searchDeepLinks`<!-- -->. A deep link that does not have a `path` represents a topological level in the application's hierarchy, but does not have a destination URL that is user-accessible.
10+
11+
<b>Signature:</b>
12+
13+
```typescript
14+
export declare type AppSearchDeepLink = {
15+
id: string;
16+
title: string;
17+
} & ({
18+
path: string;
19+
searchDeepLinks?: AppSearchDeepLink[];
20+
} | {
21+
path?: string;
22+
searchDeepLinks: AppSearchDeepLink[];
23+
});
24+
```

docs/development/core/public/kibana-plugin-core-public.appupdatablefields.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@ Defines the list of fields that can be updated via an [AppUpdater](./kibana-plug
99
<b>Signature:</b>
1010

1111
```typescript
12-
export declare type AppUpdatableFields = Pick<App, 'status' | 'navLinkStatus' | 'tooltip' | 'defaultPath'>;
12+
export declare type AppUpdatableFields = Pick<App, 'status' | 'navLinkStatus' | 'tooltip' | 'defaultPath' | 'searchDeepLinks'>;
1313
```

docs/development/core/public/kibana-plugin-core-public.md

+2
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@ The plugin integrates with the core system via lifecycle events: `setup`<!-- -->
138138
| [AppLeaveHandler](./kibana-plugin-core-public.appleavehandler.md) | A handler that will be executed before leaving the application, either when going to another application or when closing the browser tab or manually changing the url. Should return <code>confirm</code> to to prompt a message to the user before leaving the page, or <code>default</code> to keep the default behavior (doing nothing).<!-- -->See [AppMountParameters](./kibana-plugin-core-public.appmountparameters.md) for detailed usage examples. |
139139
| [AppMount](./kibana-plugin-core-public.appmount.md) | A mount function called when the user navigates to this app's route. |
140140
| [AppMountDeprecated](./kibana-plugin-core-public.appmountdeprecated.md) | A mount function called when the user navigates to this app's route. |
141+
| [AppSearchDeepLink](./kibana-plugin-core-public.appsearchdeeplink.md) | Input type for registering secondary in-app locations for an application.<!-- -->Deep links must include at least one of <code>path</code> or <code>searchDeepLinks</code>. A deep link that does not have a <code>path</code> represents a topological level in the application's hierarchy, but does not have a destination URL that is user-accessible. |
141142
| [AppUnmount](./kibana-plugin-core-public.appunmount.md) | A function called when an application should be unmounted from the page. This function should be synchronous. |
142143
| [AppUpdatableFields](./kibana-plugin-core-public.appupdatablefields.md) | Defines the list of fields that can be updated via an [AppUpdater](./kibana-plugin-core-public.appupdater.md)<!-- -->. |
143144
| [AppUpdater](./kibana-plugin-core-public.appupdater.md) | Updater for applications. see [ApplicationSetup](./kibana-plugin-core-public.applicationsetup.md) |
@@ -160,6 +161,7 @@ The plugin integrates with the core system via lifecycle events: `setup`<!-- -->
160161
| [PluginInitializer](./kibana-plugin-core-public.plugininitializer.md) | The <code>plugin</code> export at the root of a plugin's <code>public</code> directory should conform to this interface. |
161162
| [PluginOpaqueId](./kibana-plugin-core-public.pluginopaqueid.md) | |
162163
| [PublicAppInfo](./kibana-plugin-core-public.publicappinfo.md) | Public information about a registered [application](./kibana-plugin-core-public.app.md) |
164+
| [PublicAppSearchDeepLinkInfo](./kibana-plugin-core-public.publicappsearchdeeplinkinfo.md) | Public information about a registered app's [searchDeepLinks](./kibana-plugin-core-public.appsearchdeeplink.md) |
163165
| [PublicUiSettingsParams](./kibana-plugin-core-public.publicuisettingsparams.md) | A sub-set of [UiSettingsParams](./kibana-plugin-core-public.uisettingsparams.md) exposed to the client-side. |
164166
| [SavedObjectAttribute](./kibana-plugin-core-public.savedobjectattribute.md) | Type definition for a Saved Object attribute value |
165167
| [SavedObjectAttributeSingle](./kibana-plugin-core-public.savedobjectattributesingle.md) | Don't use this type, it's simply a helper type for [SavedObjectAttribute](./kibana-plugin-core-public.savedobjectattribute.md) |

docs/development/core/public/kibana-plugin-core-public.publicappinfo.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,10 @@ Public information about a registered [application](./kibana-plugin-core-public.
99
<b>Signature:</b>
1010

1111
```typescript
12-
export declare type PublicAppInfo = Omit<App, 'mount' | 'updater$'> & {
12+
export declare type PublicAppInfo = Omit<App, 'mount' | 'updater$' | 'searchDeepLinks'> & {
1313
status: AppStatus;
1414
navLinkStatus: AppNavLinkStatus;
1515
appRoute: string;
16+
searchDeepLinks: PublicAppSearchDeepLinkInfo[];
1617
};
1718
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-core-public](./kibana-plugin-core-public.md) &gt; [PublicAppSearchDeepLinkInfo](./kibana-plugin-core-public.publicappsearchdeeplinkinfo.md)
4+
5+
## PublicAppSearchDeepLinkInfo type
6+
7+
Public information about a registered app's [searchDeepLinks](./kibana-plugin-core-public.appsearchdeeplink.md)
8+
9+
<b>Signature:</b>
10+
11+
```typescript
12+
export declare type PublicAppSearchDeepLinkInfo = Omit<AppSearchDeepLink, 'searchDeepLinks'> & {
13+
searchDeepLinks: PublicAppSearchDeepLinkInfo[];
14+
};
15+
```

docs/development/core/server/kibana-plugin-core-server.legacyclusterclient.callasinternaluser.md

+5
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@
44

55
## LegacyClusterClient.callAsInternalUser property
66

7+
> Warning: This API is now obsolete.
8+
>
9+
> Use [IClusterClient.asInternalUser](./kibana-plugin-core-server.iclusterclient.asinternaluser.md)<!-- -->.
10+
>
11+
712
Calls specified endpoint with provided clientParams on behalf of the Kibana internal user. See [LegacyAPICaller](./kibana-plugin-core-server.legacyapicaller.md)<!-- -->.
813

914
<b>Signature:</b>

docs/development/core/server/kibana-plugin-core-server.legacyscopedclusterclient.callascurrentuser.md

+5
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@
44

55
## LegacyScopedClusterClient.callAsCurrentUser() method
66

7+
> Warning: This API is now obsolete.
8+
>
9+
> Use [IScopedClusterClient.asCurrentUser](./kibana-plugin-core-server.iscopedclusterclient.ascurrentuser.md)<!-- -->.
10+
>
11+
712
Calls specified `endpoint` with provided `clientParams` on behalf of the user initiated request to the Kibana server (via HTTP request headers). See [LegacyAPICaller](./kibana-plugin-core-server.legacyapicaller.md)<!-- -->.
813

914
<b>Signature:</b>

docs/development/core/server/kibana-plugin-core-server.legacyscopedclusterclient.callasinternaluser.md

+5
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@
44

55
## LegacyScopedClusterClient.callAsInternalUser() method
66

7+
> Warning: This API is now obsolete.
8+
>
9+
> Use [IScopedClusterClient.asInternalUser](./kibana-plugin-core-server.iscopedclusterclient.asinternaluser.md)<!-- -->.
10+
>
11+
712
Calls specified `endpoint` with provided `clientParams` on behalf of the Kibana internal user. See [LegacyAPICaller](./kibana-plugin-core-server.legacyapicaller.md)<!-- -->.
813

914
<b>Signature:</b>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-core-server](./kibana-plugin-core-server.md) &gt; [SavedObjectsIncrementCounterOptions](./kibana-plugin-core-server.savedobjectsincrementcounteroptions.md) &gt; [initialize](./kibana-plugin-core-server.savedobjectsincrementcounteroptions.initialize.md)
4+
5+
## SavedObjectsIncrementCounterOptions.initialize property
6+
7+
(default=false) If true, sets all the counter fields to 0 if they don't already exist. Existing fields will be left as-is and won't be incremented.
8+
9+
<b>Signature:</b>
10+
11+
```typescript
12+
initialize?: boolean;
13+
```

docs/development/core/server/kibana-plugin-core-server.savedobjectsincrementcounteroptions.md

+3-2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ export interface SavedObjectsIncrementCounterOptions extends SavedObjectsBaseOpt
1515
1616
| Property | Type | Description |
1717
| --- | --- | --- |
18-
| [migrationVersion](./kibana-plugin-core-server.savedobjectsincrementcounteroptions.migrationversion.md) | <code>SavedObjectsMigrationVersion</code> | |
19-
| [refresh](./kibana-plugin-core-server.savedobjectsincrementcounteroptions.refresh.md) | <code>MutatingOperationRefreshSetting</code> | The Elasticsearch Refresh setting for this operation |
18+
| [initialize](./kibana-plugin-core-server.savedobjectsincrementcounteroptions.initialize.md) | <code>boolean</code> | (default=false) If true, sets all the counter fields to 0 if they don't already exist. Existing fields will be left as-is and won't be incremented. |
19+
| [migrationVersion](./kibana-plugin-core-server.savedobjectsincrementcounteroptions.migrationversion.md) | <code>SavedObjectsMigrationVersion</code> | [SavedObjectsMigrationVersion](./kibana-plugin-core-server.savedobjectsmigrationversion.md) |
20+
| [refresh](./kibana-plugin-core-server.savedobjectsincrementcounteroptions.refresh.md) | <code>MutatingOperationRefreshSetting</code> | (default='wait\_for') The Elasticsearch refresh setting for this operation. See [MutatingOperationRefreshSetting](./kibana-plugin-core-server.mutatingoperationrefreshsetting.md) |
2021

0 commit comments

Comments
 (0)