mirror of
https://git.proxmox.com/git/pve-common
synced 2025-07-27 20:39:03 +00:00
schema: add pve-bridge-id option/format/pair
for re-use in qemu-server/pve-container, which already have this option duplicated. the '-pair' is needed for remote migration, but can also be a nice addition to regular intra-cluster migration to lift the restriction of having identically named bridges. Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com> Reviewed-by: Fabian Ebner <f.ebner@proxmox.com>
This commit is contained in:
parent
da9f41f5ce
commit
6e55ce7d0f
@ -82,6 +82,12 @@ register_standard_option('pve-storage-id', {
|
|||||||
type => 'string', format => 'pve-storage-id',
|
type => 'string', format => 'pve-storage-id',
|
||||||
});
|
});
|
||||||
|
|
||||||
|
register_standard_option('pve-bridge-id', {
|
||||||
|
description => "Bridge to attach guest network devices to.",
|
||||||
|
type => 'string', format => 'pve-bridge-id',
|
||||||
|
format_description => 'bridge',
|
||||||
|
});
|
||||||
|
|
||||||
register_standard_option('pve-config-digest', {
|
register_standard_option('pve-config-digest', {
|
||||||
description => 'Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.',
|
description => 'Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.',
|
||||||
type => 'string',
|
type => 'string',
|
||||||
@ -193,6 +199,17 @@ sub parse_storage_id {
|
|||||||
return parse_id($storeid, 'storage', $noerr);
|
return parse_id($storeid, 'storage', $noerr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PVE::JSONSchema::register_format('pve-bridge-id', \&parse_bridge_id);
|
||||||
|
sub parse_bridge_id {
|
||||||
|
my ($id, $noerr) = @_;
|
||||||
|
|
||||||
|
if ($id !~ m/^[-_.\w\d]+$/) {
|
||||||
|
return undef if $noerr;
|
||||||
|
die "invalid bridge ID '$id'\n";
|
||||||
|
}
|
||||||
|
return $id;
|
||||||
|
}
|
||||||
|
|
||||||
PVE::JSONSchema::register_format('acme-plugin-id', \&parse_acme_plugin_id);
|
PVE::JSONSchema::register_format('acme-plugin-id', \&parse_acme_plugin_id);
|
||||||
sub parse_acme_plugin_id {
|
sub parse_acme_plugin_id {
|
||||||
my ($pluginid, $noerr) = @_;
|
my ($pluginid, $noerr) = @_;
|
||||||
@ -294,6 +311,15 @@ sub verify_storagepair {
|
|||||||
return $verify_idpair->($storagepair, $noerr, 'pve-storage-id');
|
return $verify_idpair->($storagepair, $noerr, 'pve-storage-id');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# note: this only checks a single list entry
|
||||||
|
# when using a bridge-pair-list map, you need to pass the full parameter to
|
||||||
|
# parse_idmap
|
||||||
|
register_format('bridge-pair', \&verify_bridgepair);
|
||||||
|
sub verify_bridgepair {
|
||||||
|
my ($bridgepair, $noerr) = @_;
|
||||||
|
return $verify_idpair->($bridgepair, $noerr, 'pve-bridge-id');
|
||||||
|
}
|
||||||
|
|
||||||
register_format('mac-addr', \&pve_verify_mac_addr);
|
register_format('mac-addr', \&pve_verify_mac_addr);
|
||||||
sub pve_verify_mac_addr {
|
sub pve_verify_mac_addr {
|
||||||
my ($mac_addr, $noerr) = @_;
|
my ($mac_addr, $noerr) = @_;
|
||||||
|
Loading…
Reference in New Issue
Block a user