vici: Add option to query a specific pool

This commit is contained in:
Tobias Brunner
2017-02-16 19:21:12 +01:00
parent c2129d1cbe
commit 71fa1224ec
2 changed files with 10 additions and 3 deletions
+1
View File
@@ -569,6 +569,7 @@ List the currently loaded pools.
{ {
leases = <set to yes to include leases> leases = <set to yes to include leases>
name = <optional name of the pool to query>
} => { } => {
<pool name>* = { <pool name>* = {
base = <virtual IP pool base address> base = <virtual IP pool base address>
+9 -3
View File
@@ -1,6 +1,6 @@
/* /*
* Copyright (C) 2014-2015 Tobias Brunner * Copyright (C) 2014-2016 Tobias Brunner
* Hochschule fuer Technik Rapperswil * HSR Hochschule fuer Technik Rapperswil
* *
* Copyright (C) 2014 Martin Willi * Copyright (C) 2014 Martin Willi
* Copyright (C) 2014 revosec AG * Copyright (C) 2014 revosec AG
@@ -668,10 +668,11 @@ CALLBACK(get_pools, vici_message_t*,
identification_t *uid; identification_t *uid;
host_t *lease; host_t *lease;
bool list_leases, on; bool list_leases, on;
char buf[32]; char buf[32], *filter;
int i; int i;
list_leases = message->get_bool(message, FALSE, "leases"); list_leases = message->get_bool(message, FALSE, "leases");
filter = message->get_str(message, NULL, "name");
builder = vici_builder_create(); builder = vici_builder_create();
@@ -679,6 +680,11 @@ CALLBACK(get_pools, vici_message_t*,
enumerator = this->pools->create_enumerator(this->pools); enumerator = this->pools->create_enumerator(this->pools);
while (enumerator->enumerate(enumerator, &name, &pool)) while (enumerator->enumerate(enumerator, &name, &pool))
{ {
if (filter && !streq(name, filter))
{
continue;
}
vips = pool->vips; vips = pool->vips;
builder->begin_section(builder, name); builder->begin_section(builder, name);