From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <pdm-devel-bounces@lists.proxmox.com> Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 862AB1FF164 for <inbox@lore.proxmox.com>; Fri, 28 Feb 2025 16:18:42 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 0B8D311EDA; Fri, 28 Feb 2025 16:18:38 +0100 (CET) From: Stefan Hanreich <s.hanreich@proxmox.com> To: pdm-devel@lists.proxmox.com Date: Fri, 28 Feb 2025 16:17:49 +0100 Message-Id: <20250228151803.158984-13-s.hanreich@proxmox.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250228151803.158984-1-s.hanreich@proxmox.com> References: <20250228151803.158984-1-s.hanreich@proxmox.com> MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.231 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 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 Subject: [pdm-devel] [PATCH proxmox-api-types 12/12] 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 <pdm-devel.lists.proxmox.com> List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pdm-devel>, <mailto:pdm-devel-request@lists.proxmox.com?subject=unsubscribe> List-Archive: <http://lists.proxmox.com/pipermail/pdm-devel/> List-Post: <mailto:pdm-devel@lists.proxmox.com> List-Help: <mailto:pdm-devel-request@lists.proxmox.com?subject=help> List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel>, <mailto:pdm-devel-request@lists.proxmox.com?subject=subscribe> Reply-To: Proxmox Datacenter Manager development discussion <pdm-devel@lists.proxmox.com> Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pdm-devel-bounces@lists.proxmox.com Sender: "pdm-devel" <pdm-devel-bounces@lists.proxmox.com> 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 <s.hanreich@proxmox.com> --- 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<u32> { + 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<u32> { + self.pending + .as_ref() + .and_then(|pending| pending.asn) + .or(self.asn) + } +} -- 2.39.5 _______________________________________________ pdm-devel mailing list pdm-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel