From e2ca543cee2c735ede0ee4e4dd541c4831df1d82 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ren=C3=A9=20Jochum?= Date: Mon, 4 Jun 2018 16:49:04 +0200 Subject: [PATCH] Add a basic implementation of remote list MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: René Jochum --- PVE/APIClient/Commands/remote.pm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/PVE/APIClient/Commands/remote.pm b/PVE/APIClient/Commands/remote.pm index b8b1465..080934f 100644 --- a/PVE/APIClient/Commands/remote.pm +++ b/PVE/APIClient/Commands/remote.pm @@ -30,6 +30,29 @@ sub read_password { return PVE::PTY::read_password("Remote password: ") } +__PACKAGE__->register_method ({ + name => 'list', + path => 'list', + method => 'GET', + description => "List remotes from your config file.", + parameters => { + additionalProperties => 0, + }, + returns => { type => 'null' }, + code => sub { + my $config = PVE::APIClient::Config->new(); + my $known_remotes = $config->remote_names; + + printf("%10s %10s %10s %10s %100s\n", "Name", "Host", "Port", "Username", "Fingerprint"); + for my $name (@$known_remotes) { + my $remote = $config->lookup_remote($name); + printf("%10s %10s %10s %10s %100s\n", $name, $remote->{'host'}, + $remote->{'port'}, $remote->{'username'}, $remote->{'fingerprint'}); + } + + return undef; + }}); + __PACKAGE__->register_method ({ name => 'add', path => 'add', @@ -114,6 +137,7 @@ __PACKAGE__->register_method ({ our $cmddef = { add => [ __PACKAGE__, 'add', ['name', 'host', 'username']], remove => [ __PACKAGE__, 'remove', ['name']], + list => [__PACKAGE__, 'list'], }; 1; -- 2.39.2