}
}
+ # auto generate a new uuid
+ my ($uuid, $uuid_str);
+ UUID::generate($uuid);
+ UUID::unparse($uuid, $uuid_str);
+ my $smbios1 = PVE::QemuServer::parse_smbios1($newconf->{smbios1} || '');
+ $smbios1->{uuid} = $uuid_str;
+ $newconf->{smbios1} = PVE::QemuServer::print_smbios1($smbios1);
+
delete $newconf->{template};
if ($param->{name}) {
return $res;
}
+sub print_smbios1 {
+ my ($smbios1) = @_;
+
+ my $data = '';
+ foreach my $k (keys %$smbios1) {
+ next if !defined($smbios1->{$k});
+ next if !$valid_smbios1_options->{$k};
+ $data .= ',' if $data;
+ $data .= "$k=$smbios1->{$k}";
+ }
+ return $data;
+}
+
PVE::JSONSchema::register_format('pve-qm-smbios1', \&verify_smbios1);
sub verify_smbios1 {
my ($value, $noerr) = @_;