-sub remove_vmid_from_jobs {
- my ($jobs, $exclude_vmid) = @_;
-
- my $updated_jobs = [];
- foreach my $job (@$jobs) {
- if (defined $job->{vmid}) {
- my $list = remove_vmid_from_list($job->{vmid}, $exclude_vmid);
- if ($list) {
- $job->{vmid} = $list;
- push @$updated_jobs, $job;
- }
- } elsif (defined $job->{exclude}) {
- my $list = remove_vmid_from_list($job->{exclude}, $exclude_vmid);
- if ($list) {
- $job->{exclude} = $list;
- } else {
- delete $job->{exclude};
- }
- push @$updated_jobs, $job;
+sub remove_vmid_from_job {
+ my ($job, $exclude_vmid) = @_;
+
+ if (defined $job->{vmid}) {
+ if (my $list = remove_vmid_from_list($job->{vmid}, $exclude_vmid)) {
+ $job->{vmid} = $list;
+ } else {
+ return undef;
+ }
+ } elsif (defined $job->{exclude}) {
+ my $list = remove_vmid_from_list($job->{exclude}, $exclude_vmid);
+ if ($list) {
+ $job->{exclude} = $list;