Skip to content

[ML] META Versioned APIs tasks #152125

@jgowdyelastic

Description

@jgowdyelastic

Step 1 - Remove dependency on public saved objects HTTP APIs

  • Remove client side use of SavedObjectsClientContract.
    • Update useResolver
      This is already planned with the follow work from 149459 where we will use the saved search plugin's shared functions.
    • Update useDashboardService, does dashboard plugin share something we can use?
    • Remove from the dependency cache, and update all places where it is being used.
      • Custom URL builder, specifically links to dashboards.
      • Data recogniser UI (checkForSavedObjects)
      • Index utils, used to load saved searches.

Step 2 - HTTP API interfaces must not implicitly include your SO-attribs

  • The ML saved object attributes are described by these types.
    These defined and used only on the server side.

Step 3 - HTTP APIs have strict input validation
We have 19 routes which have validation disabled validate: false.

Step 4 - Keep HTTP APIs interfaces as “narrow” as possible
I can't see us updating any existing endpoints to narrow down interfaces. Our endpoints are pretty specific as it is, so I don't think this will cause us any problems.

Step 5 - Every saved object type must use the new registerType API which will have a modelVersion and up/down transforms**

  • Update all uses of registerType to include model version and up/down transforms. (this may get done for us)

Step 6 - Adopt the Elastic serverless HTTP API specification
Version APIs for each of the plugins owned by the ml team:

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions