diff --git a/compute_tools/src/http/api.rs b/compute_tools/src/http/api.rs
index af35f71bf2..0b43d42a8d 100644
--- a/compute_tools/src/http/api.rs
+++ b/compute_tools/src/http/api.rs
@@ -84,8 +84,9 @@ async fn routes(req: Request
, compute: &Arc) -> Response, compute: &Arc) -> Response, compute: &Arc) -> Response, compute: &Arc) -> Response) -> Result<(), (Str
if state.status == ComputeStatus::Terminated {
return Ok(());
}
- if state.status != ComputeStatus::Empty && state.status != ComputeStatus::Running {
+ if !matches!(state.status, ComputeStatus::Empty | ComputeStatus::Running) {
let msg = format!(
- "invalid compute status for termination request: {}",
- state.status
+ "invalid compute status for termination request: {}, cannot be {} or {}",
+ state.status,
+ ComputeStatus::Empty,
+ ComputeStatus::Running,
);
return Err((msg, StatusCode::PRECONDITION_FAILED));
}
diff --git a/libs/compute_api/src/responses.rs b/libs/compute_api/src/responses.rs
index 79234be720..1eba8cab6e 100644
--- a/libs/compute_api/src/responses.rs
+++ b/libs/compute_api/src/responses.rs
@@ -66,14 +66,15 @@ pub enum ComputeStatus {
impl Display for ComputeStatus {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ // snake_case matches the serde implementation
match self {
ComputeStatus::Empty => f.write_str("empty"),
- ComputeStatus::ConfigurationPending => f.write_str("configuration-pending"),
+ ComputeStatus::ConfigurationPending => f.write_str("configuration_pending"),
ComputeStatus::Init => f.write_str("init"),
ComputeStatus::Running => f.write_str("running"),
ComputeStatus::Configuration => f.write_str("configuration"),
ComputeStatus::Failed => f.write_str("failed"),
- ComputeStatus::TerminationPending => f.write_str("termination-pending"),
+ ComputeStatus::TerminationPending => f.write_str("termination_pending"),
ComputeStatus::Terminated => f.write_str("terminated"),
}
}