api: apt: repos: fix interfacing with perlmod

Using
    pvesh create /nodes/pve701/apt/repositories --path
    "/etc/apt/sources.list" --index 0 --enabled 1
reliably leads to
    error: invalid type: string "0", expected usize

Coerce to int to avoid this. I was not able to trigger the issue with
the "enabled" option being a string here (in PMG I was), but be on the
safe side and coerce there too. Otherwise it might get triggered by a
future, completely unrelated change further up in the API call
handling.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
This commit is contained in:
Fabian Ebner 2021-07-16 15:27:53 +02:00 committed by Thomas Lamprecht
parent 0b1d64764f
commit d3cd3c9ca3

View File

@ -757,13 +757,14 @@ __PACKAGE__->register_method({
code => sub {
my ($param) = @_;
my $options = {
enabled => $param->{enabled},
};
my $options = {};
my $enabled = $param->{enabled};
$options->{enabled} = int($enabled) if defined($enabled);
PVE::RS::APT::Repositories::change_repository(
$param->{path},
$param->{index},
int($param->{index}),
$options,
$param->{digest}
);