diff --git a/bin/core/src/cloud/hetzner/client.rs b/bin/core/src/cloud/hetzner/client.rs index 247739473..1cb5ef7ce 100644 --- a/bin/core/src/cloud/hetzner/client.rs +++ b/bin/core/src/cloud/hetzner/client.rs @@ -139,13 +139,18 @@ async fn handle_req( let status = res.status(); - if status == StatusCode::OK { + if status.is_success() { res.json().await.context("failed to parse response to json") } else { let text = res .text() .await .context("failed to get response body as text")?; + if let Ok(json_error) = + serde_json::from_str::(&text) + { + return Err(anyhow!("{status} | {json_error:?}")); + } Err(anyhow!("{status} | {text}")) } } diff --git a/client/core/rs/src/entities/server_template/hetzner.rs b/client/core/rs/src/entities/server_template/hetzner.rs index c5d7b95f5..8d363de11 100644 --- a/client/core/rs/src/entities/server_template/hetzner.rs +++ b/client/core/rs/src/entities/server_template/hetzner.rs @@ -150,8 +150,9 @@ pub enum HetznerVolumeFormat { )] #[allow(clippy::enum_variant_names)] pub enum HetznerServerType { - #[default] SharedIntel1Core2Ram20Disk, + // The lowest tier available at all locations + #[default] SharedAmd2Core2Ram40Disk, SharedArm2Core4Ram40Disk, SharedIntel2Core4Ram40Disk,