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 73DF41FF17C for ; Wed, 3 Sep 2025 11:36:48 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id BAF132F86C; Wed, 3 Sep 2025 11:37:02 +0200 (CEST) Mime-Version: 1.0 Date: Wed, 03 Sep 2025 11:36:59 +0200 To: "Proxmox Datacenter Manager development discussion" , "Stefan Hanreich" Message-Id: X-Mailer: aerc 0.20.0 References: <20250902140956.228031-1-s.hanreich@proxmox.com> <20250902140956.228031-11-s.hanreich@proxmox.com> In-Reply-To: <20250902140956.228031-11-s.hanreich@proxmox.com> From: "Shannon Sterz" X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1756892204409 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.025 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) SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record 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: 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 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]+$`? > + > 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]$' }); > +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