updatehub_sdk/api/info/
runtime_settings.rs1use chrono::{DateTime, Utc};
6use serde::{Deserialize, Serialize};
7use std::path::PathBuf;
8
9#[derive(Clone, Debug, Deserialize, PartialEq, Eq, Serialize)]
10#[serde(deny_unknown_fields)]
11pub struct RuntimeSettings {
12 pub polling: RuntimePolling,
13 pub update: RuntimeUpdate,
14 pub path: PathBuf,
15 pub persistent: bool,
16}
17
18#[derive(Clone, Debug, Deserialize, PartialEq, Eq, Serialize)]
19#[serde(deny_unknown_fields)]
20pub struct RuntimePolling {
21 pub last: DateTime<Utc>,
22 pub retries: usize,
23 pub now: bool,
24 pub server_address: ServerAddress,
25}
26
27#[derive(Clone, Debug, Deserialize, PartialEq, Eq, Serialize)]
28#[serde(rename_all = "lowercase")]
29pub enum ServerAddress {
30 Default,
31 Custom(String),
32}
33
34#[derive(Clone, Debug, Deserialize, PartialEq, Eq, Serialize)]
35#[serde(deny_unknown_fields)]
36pub struct RuntimeUpdate {
37 #[serde(skip_serializing_if = "Option::is_none")]
38 pub upgrade_to_installation: Option<InstallationSet>,
39 #[serde(skip_serializing_if = "Option::is_none")]
40 pub applied_package_uid: Option<String>,
41}
42
43#[derive(Clone, Copy, Debug, Deserialize, PartialEq, Eq, Serialize)]
44#[serde(rename_all = "lowercase")]
45pub enum InstallationSet {
46 A,
47 B,
48}