From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id 0DD751FF17C for ; Wed, 3 Sep 2025 15:15:37 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 2D79CDA8D; Wed, 3 Sep 2025 15:15:52 +0200 (CEST) Date: Wed, 3 Sep 2025 15:15:17 +0200 From: Wolfgang Bumiller To: Shannon Sterz Message-ID: References: <20250902140956.228031-1-s.hanreich@proxmox.com> <20250902140956.228031-11-s.hanreich@proxmox.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1756905302297 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.074 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 RCVD_IN_MSPIKE_H2 0.001 Average reputation (+2) 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. SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches 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. [generate.pl] Subject: Re: [pdm-devel] [PATCH proxmox-api-types v3 1/6] sdn: add list/create zone endpoints 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 Cc: Proxmox Datacenter Manager development discussion , pdm-devel Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pdm-devel-bounces@lists.proxmox.com Sender: "pdm-devel" On Wed, Sep 03, 2025 at 11:36:59AM +0200, Shannon Sterz wrote: > On Tue Sep 2, 2025 at 4:09 PM CEST, Stefan Hanreich wrote: > > Signed-off-by: Stefan Hanreich > > --- > > pve-api-types/generate.pl | 18 ++++++++++++++++++ > > 1 file changed, 18 insertions(+) > > > > diff --git a/pve-api-types/generate.pl b/pve-api-types/generate.pl > > index 910782f..6f55fb9 100644 > > --- a/pve-api-types/generate.pl > > +++ b/pve-api-types/generate.pl > > @@ -79,6 +79,8 @@ Schema2Rust::register_format('bridge-pair' => { code => 'verifiers::verify_bridg > > > > Schema2Rust::register_format('pve-task-status-type' => { regex => '^(?i:ok|error|warning|unknown)$' }); > > > > +Schema2Rust::register_format('pve-sdn-zone-id' => { regex => '^[a-z][a-z0-9]*[a-z0-9]$' }); > > nit: can't this just be `^[a-z][a-z0-9]+$`? Yes, but also, in PVE the verifierh as an `/i` suffix on the regex. > > > + > > Schema2Rust::register_enum_variant('PveVmCpuConfReportedModel::486' => 'I486'); > > Schema2Rust::register_enum_variant('QemuConfigEfidisk0Efitype::2m' => 'Mb2'); > > Schema2Rust::register_enum_variant('QemuConfigEfidisk0Efitype::4m' => 'Mb4'); > > @@ -104,6 +106,10 @@ Schema2Rust::register_format('pve-iface' => { regex => '^[a-zA-Z][a-zA-Z0-9_]{1, > > > > Schema2Rust::register_format('pve-vlan-id-or-range' => { code => 'verifiers::verify_vlan_id_or_range' }); > > > > +Schema2Rust::register_format('pve-sdn-bgp-rt' => { regex => '^(\d+):(\d+)$' }); > > +Schema2Rust::register_format('pve-sdn-controller-id' => { regex => '^[a-z][a-z0-9_-]*[a-z0-9]$' }); ^ Same here. FYI to keep the comparison between products easy you can use `(?i)` instead of manually adding the capital letters to the matching groups. > > +Schema2Rust::register_format('pve-sdn-isis-net' => { regex => '^[a-fA-F0-9]{2}(\.[a-fA-F0-9]{4}){3,9}\.[a-fA-F0-9]{2}$' }); > > + > > # This is used as both a task status and guest status. > > Schema2Rust::generate_enum('IsRunning', { > > type => 'string', > > @@ -324,6 +330,18 @@ Schema2Rust::derive('ListRealm' => 'Clone', 'PartialEq'); > > api(POST => '/access/users/{userid}/token/{tokenid}', 'create_token', 'param-name' => 'CreateToken'); > > Schema2Rust::derive('CreateToken' => 'Default'); > > > > +Schema2Rust::generate_enum('SdnObjectState', { > > + type => 'string', > > + description => "The state of an SDN object.", > > + enum => ['new', 'deleted', 'changed'], > > +}); > > + > > +api(GET => '/cluster/sdn/zones', 'list_zones', 'return-name' => 'SdnZone'); > > +Schema2Rust::derive('SdnZone' => 'Clone', 'PartialEq'); > > +Schema2Rust::derive('SdnZonePending' => 'Clone', 'PartialEq'); > > +api(POST => '/cluster/sdn/zones', 'create_zone', 'param-name' => 'CreateZone'); > > +Schema2Rust::derive('CreateZone' => 'Clone', 'PartialEq'); > > + > > # NOW DUMP THE CODE: > > # > > # We generate one file for API types, and one for API method calls. _______________________________________________ pdm-devel mailing list pdm-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pdm-devel