use strict;
use warnings;
-use PVE::SafeSyslog;
-use PVE::Tools qw(extract_param);
-use PVE::INotify;
-use PVE::RPCEnvironment;
-use PVE::CLIHandler;
-use PVE::JSONSchema qw(get_standard_option);
-use PVE::API2::Qemu;
-use Data::Dumper; # fixme: remove
+use PVE::CLI::qmrestore;
-use base qw(PVE::CLIHandler);
-
-$ENV{'PATH'} = '/sbin:/bin:/usr/sbin:/usr/bin';
-
-initlog('qmrestore');
-
-die "please run as root\n" if $> != 0;
-
-PVE::INotify::inotify_init();
-
-my $rpcenv = PVE::RPCEnvironment->init('cli');
-
-$rpcenv->init_request();
-$rpcenv->set_language($ENV{LANG});
-$rpcenv->set_user('root@pam');
-
-__PACKAGE__->register_method({
- name => 'qmrestore',
- path => 'qmrestore',
- method => 'POST',
- description => "Restore QemuServer vzdump backups.",
- parameters => {
- additionalProperties => 0,
- properties => {
- vmid => get_standard_option('pve-vmid'),
- archive => {
- description => "The backup file. You can pass '-' to read from standard input.",
- type => 'string',
- maxLength => 255,
- },
- storage => get_standard_option('pve-storage-id', {
- description => "Default storage.",
- optional => 1,
- }),
- force => {
- optional => 1,
- type => 'boolean',
- description => "Allow to overwrite existing VM.",
- },
- unique => {
- optional => 1,
- type => 'boolean',
- description => "Assign a unique random ethernet address.",
- },
- pool => {
- optional => 1,
- type => 'string', format => 'pve-poolid',
- description => "Add the VM to the specified pool.",
- },
- },
- },
- returns => {
- type => 'string',
- },
- code => sub {
- my ($param) = @_;
-
- $param->{node} = PVE::INotify::nodename();
-
- return PVE::API2::Qemu->create_vm($param);
- }});
-
-my $cmddef = [ __PACKAGE__, 'qmrestore', ['archive', 'vmid'], undef,
- sub {
- my $upid = shift;
- my $status = PVE::Tools::upid_read_status($upid);
- exit($status eq 'OK' ? 0 : -1);
- }];
-
-push @ARGV, 'help' if !scalar(@ARGV);
-
-PVE::CLIHandler::handle_simple_cmd($cmddef, \@ARGV, undef, $0);
-
-exit 0;
-
-__END__
-
-=head1 NAME
-
-qmrestore - restore QemuServer vzdump backups
-
-=head1 SYNOPSIS
-
-=include synopsis
-
-=head1 DESCRIPTION
-
-Restore the QemuServer vzdump backup C<archive> to virtual machine
-C<vmid>. Volumes are allocated on the original storage if there is no
-C<storage> specified.
-
-=head1 SEE ALSO
-
-vzdump(1) vzrestore(1)
-
-=include pve_copyright
+PVE::CLI::qmrestore->run_cli_handler();