Skip to main content

trs_mlflow/
registered.rs

1//! Contains structures which are used in manage registered models.
2use crate::{experiment::KeyValue, modelversion::ModelVersion};
3use builder_pattern::Builder;
4use serde::{Deserialize, Serialize};
5
6#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Builder)]
7pub struct RegisterModel {
8    #[into]
9    pub name: String,
10    #[default(vec![])]
11    pub tags: Vec<KeyValue>,
12    #[into]
13    pub description: String,
14}
15
16#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Builder)]
17pub struct RegisteredModel {
18    pub name: String,
19    pub creation_timestamp: u64,
20    pub last_updated_timestamp: u64,
21    #[serde(default)]
22    pub description: String,
23    #[serde(default)]
24    pub latest_versions: Vec<ModelVersion>,
25    #[serde(default)]
26    pub tags: Vec<KeyValue>,
27    #[serde(default)]
28    pub aliases: Vec<RegisteredModelAlias>,
29}
30
31#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Builder)]
32pub struct RegisteredModelAlias {
33    pub alias: String,
34    pub version: String,
35}