File tree 1 file changed +16
-1
lines changed
1 file changed +16
-1
lines changed Original file line number Diff line number Diff line change @@ -146,7 +146,7 @@ sub _run_remote
146
146
{
147
147
push @path , ' server' ;
148
148
push @query , (server => $server , action => $action , param => $param );
149
- if ($action =~ / ^(summary|domain|is_production|sshkeys|sudo|metadata)$ / )
149
+ if ($action =~ / ^(summary|domain|is_production|sshkeys|sudo|metadata|metasearch )$ / )
150
150
{
151
151
}
152
152
elsif ($action eq ' update' )
@@ -376,6 +376,21 @@ sub run_server
376
376
}
377
377
return encode_json(\%return );
378
378
}
379
+ elsif ($action eq ' metasearch' )
380
+ {
381
+ $param =~ / ^.+=.*$ /
382
+ or error " Supply search with --param=key=value" ;
383
+ my ($key , $value ) = split /=/, $param ;
384
+ my @servers ;
385
+ foreach my $server ($schema -> resultset(' Server' )-> all)
386
+ {
387
+ $server -> metadata or next ;
388
+ my $meta = decode_json $server -> metadata;
389
+ push @servers , $server -> name
390
+ if $meta -> {$key } && $meta -> {$key } eq $value ;
391
+ }
392
+ return encode_json(\@servers );
393
+ }
379
394
elsif ($action eq ' domain' )
380
395
{
381
396
$server or error __" Please specify server" ;
You can’t perform that action at this time.
0 commit comments