[pbs-devel] [PATCH proxmox-backup 2/4] api: config: update s3 endpoint rate limits in config

Christian Ebner c.ebner at proxmox.com
Thu Aug 28 12:26:02 CEST 2025


Set the rate/burst limits in the s3 endpoint configuration whenever
the limits changed.

Signed-off-by: Christian Ebner <c.ebner at proxmox.com>
---
 src/api2/config/s3.rs | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/src/api2/config/s3.rs b/src/api2/config/s3.rs
index 8270e8d52..1e421114c 100644
--- a/src/api2/config/s3.rs
+++ b/src/api2/config/s3.rs
@@ -139,6 +139,14 @@ pub enum DeletableProperty {
     Fingerprint,
     /// Delete the path-style property.
     PathStyle,
+    /// Delete the rate-in property.
+    RateIn,
+    /// Delete the burst-in property.
+    BurstIn,
+    /// Delete the rate-out property.
+    RateOut,
+    /// Delete the burst-out property.
+    BurstOut,
     /// Delete the provider quirks property.
     ProviderQuirks,
 }
@@ -213,6 +221,18 @@ pub fn update_s3_client_config(
                 DeletableProperty::PathStyle => {
                     data.config.path_style = None;
                 }
+                DeletableProperty::RateIn => {
+                    data.config.rate_in = None;
+                }
+                DeletableProperty::BurstIn => {
+                    data.config.burst_in = None;
+                }
+                DeletableProperty::RateOut => {
+                    data.config.rate_out = None;
+                }
+                DeletableProperty::BurstOut => {
+                    data.config.burst_out = None;
+                }
                 DeletableProperty::ProviderQuirks => {
                     data.config.provider_quirks = None;
                 }
@@ -238,6 +258,18 @@ pub fn update_s3_client_config(
     if let Some(path_style) = update.path_style {
         data.config.path_style = Some(path_style);
     }
+    if let Some(rate_in) = update.rate_in {
+        data.config.rate_in = Some(rate_in);
+    }
+    if let Some(burst_in) = update.burst_in {
+        data.config.burst_in = Some(burst_in);
+    }
+    if let Some(rate_out) = update.rate_out {
+        data.config.rate_out = Some(rate_out);
+    }
+    if let Some(burst_out) = update.burst_out {
+        data.config.burst_out = Some(burst_out);
+    }
     if let Some(provider_quirks) = update.provider_quirks {
         data.config.provider_quirks = Some(provider_quirks);
     }
-- 
2.47.2





More information about the pbs-devel mailing list