fluvio_controlplane_metadata/topic/
update.rs

1use fluvio_protocol::{Decoder, Encoder};
2
3#[derive(Debug, Default, Encoder, Decoder, Clone)]
4pub struct AddPartition {
5    pub count: u32,
6}
7
8#[derive(Debug, Default, Encoder, Decoder, Clone)]
9pub struct AddMirror {
10    pub remote_cluster: String,
11    // if set, this is mirror home
12    pub home_to_mirror: bool,
13}
14
15#[derive(Debug, Encoder, Decoder, Clone)]
16pub enum UpdateTopicAction {
17    #[fluvio(tag = 0)]
18    AddPartition(AddPartition),
19    #[fluvio(tag = 1)]
20    AddMirror(AddMirror),
21}
22
23impl Default for UpdateTopicAction {
24    fn default() -> Self {
25        Self::AddPartition(AddPartition::default())
26    }
27}