From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id BE0DB1FF187 for ; Mon, 28 Jul 2025 08:45:51 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 9AD781A27D; Mon, 28 Jul 2025 08:47:07 +0200 (CEST) From: Christian Ebner To: pbs-devel@lists.proxmox.com Date: Mon, 28 Jul 2025 08:46:42 +0200 Message-ID: <20250728064645.158414-8-c.ebner@proxmox.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250728064645.158414-1-c.ebner@proxmox.com> References: <20250728064645.158414-1-c.ebner@proxmox.com> MIME-Version: 1.0 X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1753685214217 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.045 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pbs-devel] [PATCH proxmox-backup 3/6] api: admin s3: make store prefix for check command optional X-BeenThere: pbs-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Backup Server development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox Backup Server development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pbs-devel-bounces@lists.proxmox.com Sender: "pbs-devel" The store prefix is not really required for basic checks and was non optional since the s3 clients relies on it for object key expansion, so it should not be forgotten on regular datastore operations. So make it optional instead. Since this relaxes the api constraints, it is not a breaking api change. Signed-off-by: Christian Ebner --- src/api2/admin/s3.rs | 4 +++- src/bin/proxmox_backup_manager/s3.rs | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/api2/admin/s3.rs b/src/api2/admin/s3.rs index 90cc41ea6..209feaebc 100644 --- a/src/api2/admin/s3.rs +++ b/src/api2/admin/s3.rs @@ -28,6 +28,7 @@ use pbs_config::s3::S3_CFG_TYPE_ID; "store-prefix": { type: String, description: "Store prefix within bucket for S3 object keys (commonly datastore name)", + optional: true, }, }, }, @@ -39,7 +40,7 @@ use pbs_config::s3::S3_CFG_TYPE_ID; pub async fn check( s3_client_id: String, bucket: String, - store_prefix: String, + store_prefix: Option, _rpcenv: &mut dyn RpcEnvironment, ) -> Result { let (config, _digest) = pbs_config::s3::config()?; @@ -47,6 +48,7 @@ pub async fn check( .lookup(S3_CFG_TYPE_ID, &s3_client_id) .context("config lookup failed")?; + let store_prefix = store_prefix.unwrap_or_default(); let options = S3ClientOptions::from_config(config.config, config.secret_key, Some(bucket), store_prefix); diff --git a/src/bin/proxmox_backup_manager/s3.rs b/src/bin/proxmox_backup_manager/s3.rs index 867bc8e6b..f660baf4a 100644 --- a/src/bin/proxmox_backup_manager/s3.rs +++ b/src/bin/proxmox_backup_manager/s3.rs @@ -19,6 +19,7 @@ use serde_json::Value; "store-prefix": { type: String, description: "Store prefix within bucket for S3 object keys (commonly datastore name)", + optional: true, }, }, }, @@ -27,7 +28,7 @@ use serde_json::Value; async fn check( s3_endpoint_id: String, bucket: String, - store_prefix: String, + store_prefix: Option, rpcenv: &mut dyn RpcEnvironment, ) -> Result { api2::admin::s3::check(s3_endpoint_id, bucket, store_prefix, rpcenv).await?; -- 2.47.2 _______________________________________________ pbs-devel mailing list pbs-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel