use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct AutoscalePolicyWire {
pub worker_group: String,
pub target_pending_per_worker: u64,
pub min_workers: usize,
pub max_workers: usize,
pub cooldown_ms: u64,
pub poll_interval_ms: u64,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct MembershipAutoscalePolicyWire {
pub pending_per_node_threshold: u64,
pub max_nodes: usize,
pub cooldown_ms: u64,
pub poll_interval_ms: u64,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct QueueAutoscalePolicyCommand {
pub stream: String,
pub worker: Option<AutoscalePolicyWire>,
pub membership: Option<MembershipAutoscalePolicyWire>,
}