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 644751FF183 for ; Wed, 27 Aug 2025 13:40:15 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id D45F71829A; Wed, 27 Aug 2025 13:40:15 +0200 (CEST) From: Stefan Hanreich To: pdm-devel@lists.proxmox.com Date: Wed, 27 Aug 2025 13:33:49 +0200 Message-ID: <20250827113427.199253-17-s.hanreich@proxmox.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250827113427.199253-1-s.hanreich@proxmox.com> References: <20250827113427.199253-1-s.hanreich@proxmox.com> MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.191 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 KAM_LAZY_DOMAIN_SECURITY 1 Sending domain does not have any anti-forgery methods RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RDNS_NONE 0.793 Delivered to internal network by a host with no rDNS SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_NONE 0.001 SPF: sender does not publish an SPF Record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [self.zone, sdn.rs, lib.rs] Subject: [pdm-devel] [PATCH proxmox-api-types 7/7] sdn: add helpers for pending values X-BeenThere: pdm-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Datacenter Manager development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox Datacenter Manager development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pdm-devel-bounces@lists.proxmox.com Sender: "pdm-devel" The SDN API returns pending values in the pending field of the entity. Add helpers that return the pending value if it exists, or the actual value if there is no pending value for that field. Signed-off-by: Stefan Hanreich --- pve-api-types/src/lib.rs | 1 + pve-api-types/src/sdn.rs | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 pve-api-types/src/sdn.rs diff --git a/pve-api-types/src/lib.rs b/pve-api-types/src/lib.rs index 709192d..b42a0c7 100644 --- a/pve-api-types/src/lib.rs +++ b/pve-api-types/src/lib.rs @@ -7,4 +7,5 @@ pub use types::*; #[cfg(feature = "client-util")] pub mod client; +mod sdn; mod tags; diff --git a/pve-api-types/src/sdn.rs b/pve-api-types/src/sdn.rs new file mode 100644 index 0000000..000da6f --- /dev/null +++ b/pve-api-types/src/sdn.rs @@ -0,0 +1,33 @@ +use crate::{SdnController, SdnVnet, SdnZone}; + +impl SdnVnet { + /// returns the tag from the pending property if it has a value, otherwise it returns self.tag + pub fn tag_pending(&self) -> Option { + self.pending + .as_ref() + .and_then(|pending| pending.tag) + .or(self.tag) + } + + /// returns the zone from the pending property if it has a value, otherwise it returns + /// self.zone + pub fn zone_pending(&self) -> String { + self.pending + .as_ref() + .and_then(|pending| pending.zone.clone()) + .or_else(|| self.zone.clone()) + .expect("zone must be set in either pending or root") + } +} + +impl SdnZone {} + +impl SdnController { + /// returns the ASN from the pending property if it has a value, otherwise it returns self.asn + pub fn asn_pending(&self) -> Option { + self.pending + .as_ref() + .and_then(|pending| pending.asn) + .or(self.asn) + } +} -- 2.47.2 _______________________________________________ pdm-devel mailing list pdm-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel