* adds created_at and updated_at timestamps to rules
* fix missing update to tests
* save created_at and updated_at in rule in signals index
* requires created_at and updated_at in rule
Display a link to platinum license upgrade on the service map.
Also add `useKibanaUrl` and `useLicense` hooks.
Make the `LicenseContext` (which is used in a couple class components and on page load) use the license observable from the NP plugin.
Add missing export of `useObservable` to kibana_react.
This moves the interval field under a generic schedule object field in preparation for the introduction of richer scheduling options (such as cron).
It includes a migration for existing tasks, and we've ensured no existing Task Type Definitions exist in Kibana that rely on Interval.
This includes support for the deprecated interval field (which gets mapped to schedule) but that support will be removed in 8.0.0, as it's a breaking change.
* move and migrate uuid code to new platform
* create and wire uuid service
* handle legacy compatibility
* update generated docs
* add `set` to LegacyConfig interface
* Fix types
* fix config access
* respect naming conventions for uuid
* remove hardcoded config paths
* rename manageInstanceUuid to resolveInstanceUuid
* moves legacy config uuid set from uuid to legacy service
* log specific message depending on how uuid was resolved
* resolve merge conflicts
* use fs.promises
* add forgotten @public in uuid contract
* add explicit errors and tests
* ensure uuid is valid in configuration
* fix read/write tests
* [APM] optimize trace errors terms agg with execution hint
* Use execution_hint: map for transaction group fetcher
* Split up local filter aggregations
* Add a new platform embeddable example plugin
* Remove extra hello world test impl.
* cleanup
* code review updates
* Change example to highlight and have parent filter out children
* Fix deep comparison of embeddable prop
* adjust help text
resolves https://github.com/elastic/kibana/issues/52597
The previous default was `[]`, which meant no hosts were whitelisted,
which would require a Kibana admin to set this value for any actions
that accessed 3rd party services (currently email and webhook, longer
term slack and pagerduty).
* Add inventory metadata api with regions and accounts
* Comment magic number
* Refactor to be compat with new platform
* Fix types
* Use RequiredDataset to get account details. Fix hook decodes
* Remove unused import
* Update x-pack/legacy/plugins/infra/server/routes/inventory_metadata/lib/get_aws_metadata.ts
Co-Authored-By: Chris Cowan <chris@chriscowan.us>
* Rename some things again
* Fix type
* [DOCS] Updates for API usage
* Changes from Larry
* Update docs/api/using-api.asciidoc
Co-Authored-By: Larry Gregory <lgregorydev@gmail.com>
* Comments from Larry
* Comment from Larry
The Slack and Pagerduty actions currently do not do whitelist validation, this PR adds the requirement for the PD and Slack action's respective target URLs to also be whitelisted.
* Use `getTraceURL` for APM trace links
* Fix tests
* Check for the presence of APM links
Since now we use a helper provided by APM it no longer makes sense to
test for the actual URL (because that only tests the function). Instead
just test that the link exists and that it has an `href`.
Adds a `runNow` api to Task Manager, allowing us to force the refresh of a recurring task.
This PR includes a couple of sustainability changes as well as the feature itself.
1. **Declarative query composition.** At the moment the queries in the TaskStore are huge JSON objects that are hard to maintain and understand. This PR introduces a pattern where the different parts of the query are composed out of type-checked functions, making it easier to maintain and to construct dynamically as needs change. _This was included in this PR as the **markAvailableTasksAsClaimed** query needs different query clauses depending on whether there are specific Tasks we wish to claim first.
2. **Refactoring of the Task Poller** As the `runNow` api is introduced we find Task Manager's lifecycle in a weird state where it has both a _pull_ model, where timeouts & callbacks interact without having to responsd to any external requests, and a _push_ model where requests are made to the new `runNow` api. Balancing these two proved error prone, hard to maintain and had the potential of _lossy_ behaviour where requests are dropped accidentally. To address this TaskPoller has been refactored using Rxjs observables, remodelling the existing _pull_ mechanism as a _push_ mechanism so Task Manager can _respond_ to both _polling_ calls and _runNow_ in a similar fashion.
And ofcourse the main feature of this PR:
3. **runNow api** An api on TaskManager that takes a _task ID_ and attempts to run the task. The call returns a promise which resolves with a result which notifies the caller when the task has either completed successfully, or result in an error.