]> git.proxmox.com Git - pve-client.git/blobdiff - PVE/APIClient/Commands/config.pm
use new features from pve-common
[pve-client.git] / PVE / APIClient / Commands / config.pm
index 3b208a0e2311b163ad41e4134a522e9de7643e83..b4316d80550ecce889504b0b2ee5bf2a26f11c38 100644 (file)
@@ -9,10 +9,14 @@ use PVE::APIClient::JSONSchema qw(get_standard_option);
 use PVE::APIClient::Tools qw(extract_param);
 use PVE::APIClient::Config;
 
+use PVE::APIClient::CLIFormatter;
 use PVE::APIClient::CLIHandler;
 
 use base qw(PVE::APIClient::CLIHandler);
 
+my $list_return_props = { %{PVE::APIClient::DefaultsConfig->updateSchema(1)->{properties}} };
+delete $list_return_props->{delete};
+
 __PACKAGE__->register_method ({
     name => 'list',
     path => 'list',
@@ -20,18 +24,21 @@ __PACKAGE__->register_method ({
     description => "Dump default configuration.",
     parameters => {
        additionalProperties => 0,
+       properties => {},
+    },
+    returns => {
+       type => 'object',
+       properties => $list_return_props,
     },
-    returns => { type => 'null' },
     code => sub {
 
        my $config = PVE::APIClient::Config->load();
 
        my $defaults = PVE::APIClient::Config->get_defaults($config);
 
+       $defaults->{digest} = $config->{digest};
 
-       print Dumper($config);
-
-       return undef;
+       return $defaults;
     }});
 
 __PACKAGE__->register_method ({
@@ -49,6 +56,9 @@ __PACKAGE__->register_method ({
 
        my $code = sub {
            my $config = PVE::APIClient::Config->load();
+
+           PVE::APIClient::Tools::assert_if_modified($config->{digest}, $digest);
+
            my $defaults = PVE::APIClient::Config->get_defaults($config);
 
            my $plugin = PVE::APIClient::Config->lookup('defaults');
@@ -82,7 +92,13 @@ __PACKAGE__->register_method ({
 
 our $cmddef = {
     set => [ __PACKAGE__, 'set',],
-    list => [__PACKAGE__, 'list'],
+    list => [__PACKAGE__, 'list', undef, undef,
+            sub {
+                my ($data, $schema, $options) = @_;
+
+                PVE::APIClient::CLIFormatter::print_api_result($data, $schema, undef, $options);
+            }
+       ],
 };
 
 1;