]> git.proxmox.com Git - pmg-api.git/blob - PMG/CLI/pmgcm.pm
renamed: PMG/API2/ClusterConfig.pm -> PMG/API2/Cluster.pm, add join API
[pmg-api.git] / PMG / CLI / pmgcm.pm
1 package PMG::CLI::pmgcm;
2
3 use strict;
4 use warnings;
5 use Data::Dumper;
6
7 use PVE::SafeSyslog;
8 use PVE::Tools qw(extract_param);
9 use PVE::INotify;
10 use PVE::CLIHandler;
11
12 use PMG::DBTools;
13 use PMG::Cluster;
14 use PMG::ClusterConfig;
15 use PMG::API2::Cluster;
16
17 use base qw(PVE::CLIHandler);
18
19 my $format_nodelist = sub {
20 my $res = shift;
21
22 print "NAME(CID)--------------IPADDRESS----ROLE-STATE---------UPTIME---LOAD----MEM---DISK\n";
23 foreach my $ni (@$res) {
24 my $state = '?';
25
26 printf "%-20s %-15s %-6s %1s %15s %6s %5s%% %5s%%\n",
27 "$ni->{name}($ni->{cid})", $ni->{ip}, $ni->{type},
28 $state, '-', '-', '-', '-';
29 }
30 };
31
32 our $cmddef = {
33 nodes => [ 'PMG::API2::Cluster', 'nodes', [], {}, $format_nodelist],
34 create => [ 'PMG::API2::Cluster', 'create', []],
35 join => [ 'PMG::API2::Cluster', 'join', ['master_ip', 'fingerprint']],
36 };
37
38 1;