diff --git a/src/network.rs b/src/network.rs index 8f4faad6..9a181476 100644 --- a/src/network.rs +++ b/src/network.rs @@ -13,14 +13,24 @@ pub struct RemoteConfig { pub write_api_key: Option, } +#[derive(Clone, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct ShardsConfig { + pub remotes: Vec, + pub add_remotes: Vec, + pub remove_remotes: Vec, +} pub type RemotesMap = HashMap; +pub type ShardsMap = HashMap>; pub type RemotesUpdateMap = HashMap>; +pub type ShardsUpdateMap = HashMap>; /// Full network state returned by GET /network #[derive(Clone, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] pub struct NetworkState { pub remotes: Option, + pub shards: Option, #[serde(rename = "self")] pub self_name: Option, pub leader: Option, @@ -33,6 +43,8 @@ pub struct NetworkState { pub struct NetworkUpdate { #[serde(skip_serializing_if = "Option::is_none")] pub remotes: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub shards: Option, #[serde(rename = "self", skip_serializing_if = "Option::is_none")] pub self_name: Option, #[serde(skip_serializing_if = "Option::is_none")]