mirror of
https://git.proxmox.com/git/pve-docs
synced 2025-06-14 19:48:03 +00:00
use new helper PVE::RESTHandler::api_dump_remove_refs()
This commit is contained in:
parent
edd8c4854d
commit
04222b448b
@ -1,43 +1,14 @@
|
|||||||
#!/usr/bin/perl -w
|
#!/usr/bin/perl
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
|
||||||
use PVE::RESTHandler;
|
use PVE::RESTHandler;
|
||||||
use PVE::API2;
|
use PVE::API2;
|
||||||
use JSON;
|
use JSON;
|
||||||
|
|
||||||
sub cleanup_tree {
|
|
||||||
my ($h) = @_;
|
|
||||||
|
|
||||||
my $class = ref($h);
|
my $tree = PVE::RESTHandler::api_dump_remove_refs(PVE::RESTHandler::api_dump('PVE::API2'));
|
||||||
return $h if !$class;
|
|
||||||
|
|
||||||
if ($class eq 'ARRAY') {
|
|
||||||
my $res = [];
|
|
||||||
foreach my $el (@$h) {
|
|
||||||
push @$res, cleanup_tree($el);
|
|
||||||
}
|
|
||||||
return $res;
|
|
||||||
} elsif ($class eq 'HASH') {
|
|
||||||
my $res = {};
|
|
||||||
foreach my $k (keys %$h) {
|
|
||||||
if (my $class = ref($h->{$k})) {
|
|
||||||
if ($class eq 'CODE') {
|
|
||||||
next if $k eq 'completion';
|
|
||||||
}
|
|
||||||
$res->{$k} = cleanup_tree($h->{$k});
|
|
||||||
} else {
|
|
||||||
$res->{$k} = $h->{$k};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return $res;
|
|
||||||
} elsif ($class eq 'Regexp') {
|
|
||||||
return "$h"; # return string representation
|
|
||||||
} else {
|
|
||||||
die "unknown class '$class'\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
my $tree = cleanup_tree(PVE::RESTHandler::api_dump('PVE::API2'));
|
|
||||||
|
|
||||||
print "var pveapi = " . to_json($tree, {pretty => 1, canonical => 1}) . ";\n\n";
|
print "var pveapi = " . to_json($tree, {pretty => 1, canonical => 1}) . ";\n\n";
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user