<paraxml:id="ref-build-report"><command>build-report</command> - Returns a list of compilation options that this particular binary was built with</para>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of config-get -->
<!-- start of config-reload -->
<sectionxml:id="reference-config-reload">
<title>config-reload reference</title>
<paraxml:id="ref-config-reload"><command>config-reload</command> - The config-reload command instructs Kea to load again the configuration file that was used previously.</para>
<para>Description and examples: See <xreflinkend="command-config-reload"/></para>
<para>Command syntax:
<screen>{
"command": "config-reload"
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": <integer>,
"text": <string>
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of config-reload -->
<!-- start of config-set -->
<sectionxml:id="reference-config-set">
<title>config-set reference</title>
<paraxml:id="ref-config-set"><command>config-set</command> - The config-set command instructs the server to replace its current configuration with the new configuration supplied in the command's arguments.</para>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of config-set -->
<!-- start of config-test -->
<sectionxml:id="reference-config-test">
<title>config-test reference</title>
<paraxml:id="ref-config-test"><command>config-test</command> - The config-test command instructs the server to check whether the new configuration supplied in the command's arguments can be loaded.</para>
The response to this command is different from the typical command response. The response will include server state (see <xreflinkend="ha-server-states"/> plus the current clock value.</para>
<paraxml:id="ref-ha-scopes"><command>ha-scopes</command> - This command modifies the scope that the server is responsible for serving when operating in High Availability (HA) mode.</para>
Note that Kea 1.4 requires an additional argument, subnet-ID, which is optional as of Kea 1.5. A number of other more detailed optional arguments are also supported.</para>
Specify the lease to be deleted either by IP address, or by identifier-type and identifier value. Currently supported identifiers are "hw-address" and "client-id".</para>
<para>Description and examples: See <xreflinkend="command-lease4-get"/></para>
<para>Command syntax:
<screen>{
"command": "lease4-get",
"arguments": {
"ip-address": "192.0.2.1"
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"arguments": {
"client-id": "42:42:42:42:42:42:42:42",
"cltt": 12345678,
"fqdn-fwd": false,
"fqdn-rev": true,
"hostname": "myhost.example.com.",
"hw-address": "08:08:08:08:08:08",
"ip-address": "192.0.2.1",
"state": 0,
"subnet-id": 44,
"valid-lft": 3600
},
"result": 0,
"text": "IPv4 lease found."
}</screen>
lease4-get returns a result that indicates a result of the operation and lease details, if found. It has one of the following values: 0 (success), 1 (error) or 2 (empty).</para>
</section>
<!-- end of lease4-get -->
<!-- start of lease4-get-all -->
<sectionxml:id="reference-lease4-get-all">
<title>lease4-get-all reference</title>
<paraxml:id="ref-lease4-get-all"><command>lease4-get-all</command> - lease4-get-all is used to retrieve all IPv4 leases or all leases for the specified set of subnets.</para>
<paraxml:id="ref-lease6-bulk-apply"><command>lease6-bulk-apply</command> - The lease6-bulk-apply command can be used to create, update and delete multiple IPv6 leases in a single transaction. This is used to communicate lease changes between the HA peers but may be used in all cases when it is desired to apply multiple lease updates in a single transaction.</para>
<para>Description and examples: See <xreflinkend="command-lease6-bulk-apply"/></para>
<para>Command syntax:
<screen>{
"command": "lease6-bulk-apply",
"arguments": {
"deleted-leases": [
{
"ip-address": "2001:db8:abcd::",
"type": "IA_PD",
...
},
{
"ip-address": "2001:db8:abcd::234",
"type": "IA_NA",
...
}
],
"leases": [
{
"subnet-id": 66,
"ip-address": "2001:db8:cafe::",
"type": "IA_PD",
...
},
{
"subnet-id": 66,
"ip-address": "2001:db8:abcd::333",
"type": "IA_NA",
...
}
]
}
}</screen>
If any of the leases is malformed, all changes are rolled back. If the leases are well formed but the operation fails for one or more leases, the these leases are listed in the response but the changes are preserved for all leases for which the operation was successful. The "deleted-leases" and "leases" are optional parameters but one of them must be specified.</para>
The "failed-deleted-leases" holds the list of leases which failed to delete. This includes leases which were not found in the database. The "failed-leases" includes the list of leases which failed to create or update. For each lease for which there was an error while processing the lease, inserting it into the database etc. the result is set to 1. For each lease which was not deleted because the server didn't find it in the database the result of 3 is returned.</para>
lease6-get returns a result that indicates a result of the operation and lease details, if found. It has one of the following values: 0 (success), 1 (error) or 2 (empty).</para>
<para>Response syntax:
<screen>{
"result": <integer>,
"text": <string>
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of lease6-get -->
<!-- start of lease6-get-all -->
<sectionxml:id="reference-lease6-get-all">
<title>lease6-get-all reference</title>
<paraxml:id="ref-lease6-get-all"><command>lease6-get-all</command> - lease6-get-all is used to retrieve all IPv6 leases or all leases for the specified set of subnets.</para>
Note: not all backends support this command.</para>
<para>Response syntax:
<screen>{
"result": <integer>,
"text": <string>
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of lease6-wipe -->
<!-- start of leases-reclaim -->
<sectionxml:id="reference-leases-reclaim">
<title>leases-reclaim reference</title>
<paraxml:id="ref-leases-reclaim"><command>leases-reclaim</command> - The leases-reclaim command instructs the server to reclaim all expired leases immediately.</para>
<para>Description and examples: See <xreflinkend="command-leases-reclaim"/></para>
<para>Command syntax:
<screen>{
"command": "leases-reclaim",
"arguments": {
"remove": true
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": <integer>,
"text": <string>
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of leases-reclaim -->
<!-- start of libreload -->
<sectionxml:id="reference-libreload">
<title>libreload reference</title>
<paraxml:id="ref-libreload"><command>libreload</command> - The libreload command will first unload and then load all currently loaded hook libraries.</para>
<para>Description and examples: See <xreflinkend="command-libreload"/></para>
<para>Command syntax:
<screen>{
"command": "libreload",
"arguments": { }
}</screen>
The server will respond with a result of 0 indicating success, or 1 indicating a failure.</para>
<para>Response syntax:
<screen>{
"result": <integer>,
"text": <string>
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of libreload -->
<!-- start of list-commands -->
<sectionxml:id="reference-list-commands">
<title>list-commands reference</title>
<paraxml:id="ref-list-commands"><command>list-commands</command> - The list-commands command retrieves a list of all commands supported by the server.</para>
<para>Description and examples: See <xreflinkend="command-network4-del"/></para>
<para>Command syntax:
<screen>{
"command": "network4-del",
"arguments": {
"name": "floor13"
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"arguments": {
"shared-networks": [
{
"name": "floor13"
}
]
},
"result": 0,
"text": "IPv4 shared network 'floor13' deleted"
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of network4-del -->
<!-- start of network4-get -->
<sectionxml:id="reference-network4-get">
<title>network4-get reference</title>
<paraxml:id="ref-network4-get"><command>network4-get</command> - The network4-get command is used to retrieve detailed information about shared networks, including subnets currently being part of a given network.</para>
<para>Description and examples: See <xreflinkend="command-network4-get"/></para>
<para>Command syntax:
<screen>{
"command": "network4-get",
"arguments": {
"name": "floor13"
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "Info about IPv4 shared network 'floor13' returned",
"arguments": {
"shared-networks": [
{
"match-client-id": true,
"name": "floor13",
"option-data": [ ],
"rebind-timer": 90,
"relay": {
"ip-address": "0.0.0.0"
},
"renew-timer": 60,
"reservation-mode": "all",
"subnet4": [
{
"subnet": "192.0.2.0/24",
"id": 5,
// many other subnet specific details here
},
{
"id": 6,
"subnet": "192.0.3.0/31",
// many other subnet specific details here
}
],
"valid-lifetime": 120
}
]
}
}</screen>
Note that the actual response contains many additional fields that are omitted here for clarity.</para>
</section>
<!-- end of network4-get -->
<!-- start of network4-list -->
<sectionxml:id="reference-network4-list">
<title>network4-list reference</title>
<paraxml:id="ref-network4-list"><command>network4-list</command> - The network4-list command is used to retrieve full list of currently configured shared networks.</para>
<para>Description and examples: See <xreflinkend="command-network4-list"/></para>
<para>Command syntax:
<screen>{
"command": "network4-list"
}</screen>
</para>
<para>Response syntax:
<screen>{
"arguments": {
"shared-networks": [
{ "name": "floor1" },
{ "name": "office" }
]
},
"result": 0,
"text": "2 IPv4 network(s) found"
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of network4-list -->
<!-- start of network4-subnet-add -->
<sectionxml:id="reference-network4-subnet-add">
<title>network4-subnet-add reference</title>
<paraxml:id="ref-network4-subnet-add"><command>network4-subnet-add</command> - The network4-subnet-add command is used to add existing subnets to existing shared networks.</para>
<para>Description and examples: See <xreflinkend="command-network4-subnet-add"/></para>
<para>Command syntax:
<screen>{
"command": "network4-subnet-add",
"arguments": {
"name": "floor13",
"id": 5
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "IPv4 subnet 10.0.0.0/8 (id 5) is now part of shared network 'floor1'"
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of network4-subnet-add -->
<!-- start of network4-subnet-del -->
<sectionxml:id="reference-network4-subnet-del">
<title>network4-subnet-del reference</title>
<paraxml:id="ref-network4-subnet-del"><command>network4-subnet-del</command> - The network4-subnet-del command is used to remove a subnet that is part of an existing shared network and demote it to a plain, stand-alone subnet.</para>
The network6-add uses the same syntax for both the query and the response. However, there are some parameters that are IPv4-only (e.g. match-client-id) and some are IPv6-only (e.g. interface-id).</para>
<para>Response syntax:
<screen>{
"arguments": {
"shared-networks": [ { "name": "floor13" } ]
},
"result": 0,
"text": "A new IPv4 shared network 'floor13' added"
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of network6-add -->
<!-- start of network6-del -->
<sectionxml:id="reference-network6-del">
<title>network6-del reference</title>
<paraxml:id="ref-network6-del"><command>network6-del</command> - The network6-del command is used to delete existing shared networks.</para>
The network6-del command uses exactly the same syntax for
both the command and the response.</para>
<para>Response syntax:
<screen>{
"command": "network4-del",
"arguments": {
"name": "floor13",
"subnets-action": "delete"
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of network6-del -->
<!-- start of network6-get -->
<sectionxml:id="reference-network6-get">
<title>network6-get reference</title>
<paraxml:id="ref-network6-get"><command>network6-get</command> - The network6-get command is used to retrieve detailed information about shared networks, including subnets currently being part of a given network.</para>
"text": "Info about IPv4 shared network 'floor13' returned",
"arguments": {
"shared-networks": [
{
"match-client-id": true,
"name": "floor13",
"option-data": [ ],
"rebind-timer": 90,
"relay": {
"ip-address": "0.0.0.0"
},
"renew-timer": 60,
"reservation-mode": "all",
"subnet4": [
{
"subnet": "192.0.2.0/24",
"id": 5,
// many other subnet specific details here
},
{
"id": 6,
"subnet": "192.0.3.0/31",
// many other subnet specific details here
}
],
"valid-lifetime": 120
}
]
}
}</screen>
Note that the actual response contains many additional fields that are omitted here for clarity.</para>
</section>
<!-- end of network6-get -->
<!-- start of network6-list -->
<sectionxml:id="reference-network6-list">
<title>network6-list reference</title>
<paraxml:id="ref-network6-list"><command>network6-list</command> - The network6-list command is used to retrieve full list of currently configured shared networks.</para>
network6-list follows exactly the same syntax for both the query and the response.</para>
<para>Response syntax:
<screen>{
"arguments": {
"shared-networks": [
{ "name": "floor1" },
{ "name": "office" }
]
},
"result": 0,
"text": "2 IPv4 network(s) found"
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of network6-list -->
<!-- start of network6-subnet-add -->
<sectionxml:id="reference-network6-subnet-add">
<title>network6-subnet-add reference</title>
<paraxml:id="ref-network6-subnet-add"><command>network6-subnet-add</command> - The network6-subnet-add command is used to add existing subnets to existing shared networks.</para>
The network6-subnet-add command uses exactly the same syntax for both the command and the response.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "IPv4 subnet 10.0.0.0/8 (id 5) is now part of shared network 'floor1'"
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of network6-subnet-add -->
<!-- start of network6-subnet-del -->
<sectionxml:id="reference-network6-subnet-del">
<title>network6-subnet-del reference</title>
<paraxml:id="ref-network6-subnet-del"><command>network6-subnet-del</command> - The network6-subnet-del command is used to remove a subnet that is part of existing shared network and demote it to a plain, stand-alone subnet.</para>
<paraxml:id="ref-remote-global-parameter4-del"><command>remote-global-parameter4-del</command> - This command is used to delete a global DHCPv4 parameter from the configuration database. The server will use the value specified in the configuration file or a default value (if the parameter is not specified in the configuration file) after deleting the parameter from the database.</para>
This command carries the list including exactly one name of the parameter to be deleted. The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error.</para>
<paraxml:id="ref-remote-global-parameter4-get"><command>remote-global-parameter4-get</command> - This command is used to fetch selected global parameter for the server from the specified database.</para>
This command carries a list including exactly one name of the parameter to be fetched. The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error. The server tag "all" is allowed to fetch the global parameter value shared by all servers.</para>
The returned response contains a map with a global parameter name/value pair. The value may be a JSON string, integer, real or boolean. The metadata is included and it provides database specific information associated with the returned object. If the "all" server tag was specified, the command attempts to fetch the global parameter value associated with all servers. If the explicit server tag is specified, the command will fetch the value associated with the given server. If the server specific value doesn't exist, it will try to fetch the value associated with all servers.</para>
<paraxml:id="ref-remote-global-parameter4-get-all"><command>remote-global-parameter4-get-all</command> - This command is used to fetch all global parameters for the server from the specified database.</para>
The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error. The special server tag "all" is allowed to fetch the global parameters shared by all servers.</para>
The returned response contains a list of maps. Each map contains a global parameter name/value pair. The value may be a JSON string, integer, real or boolean. The metadata is appended to each parameter and it provides database specific information associated with the returned objects. If the server tag "all" is included in the command, the response contains the global parameters shared between all servers. It excludes server specific global parameters. If an explicit server tag is included in the command, the response contains all global parameters directly associated with the given server and the global parameters associated with all servers when server specific values are not present.</para>
<paraxml:id="ref-remote-global-parameter4-set"><command>remote-global-parameter4-set</command> - This command is used to create or update one more global parameters in the configuration database.</para>
This command carries multiple global parameters with their values. Care should be taken when specifying more than one parameter because in some cases only a subset of the parameters may be successfully stored in the database and other parameters may fail to be stored. In such cases the <command>remote-global-parameter4-get-all</command> may be useful to verify the contents of the database after the update. The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error. The server tag "all" is allowed and it associates the specified parameters with all servers.</para>
<paraxml:id="ref-remote-global-parameter6-del"><command>remote-global-parameter6-del</command> - This command is used to delete a global DHCPv6 parameter from the configuration database. The server will use the value specified in the configuration file or a default value (if the parameter is not specified in the configuration file) after deleting the parameter from the database.</para>
This command carries the list including exactly one name of the parameter to be deleted. The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error.</para>
<paraxml:id="ref-remote-global-parameter6-get"><command>remote-global-parameter6-get</command> - This command is used to fetch selected global parameter for the server from the specified database.</para>
This command carries a list including exactly one name of the parameter to be fetched. The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error. The server tag "all" is allowed to fetch the global parameter value shared by all servers.</para>
The returned response contains a map with a global parameter name/value pair. The value may be a JSON string, integer, real or boolean. The metadata is included and it provides database specific information associated with the returned object. If the "all" server tag was specified, the command attempts to fetch the global parameter value associated with all servers. If the explicit server tag is specified, the command will fetch the value associated with the given server. If the server specific value doesn't exist, it will try to fetch the value associated with all servers.</para>
<paraxml:id="ref-remote-global-parameter6-get-all"><command>remote-global-parameter6-get-all</command> - This command is used to fetch all global parameters for the server from the specified database.</para>
The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error. The special server tag "all" is allowed to fetch the global parameters shared by all servers.</para>
The returned response contains a list of maps. Each map contains a global parameter name/value pair. The value may be a JSON string, integer, real or boolean. The metadata is appended to each parameter and it provides database specific information associated with the returned objects. If the server tag "all" is included in the command, the response contains the global parameters shared between all servers. It excludes server specific global parameters. If an explicit server tag is included in the command, the response contains all global parameters directly associated with the given server and the global parameters associated with all servers when server specific values are not present.</para>
<paraxml:id="ref-remote-global-parameter6-set"><command>remote-global-parameter6-set</command> - This command is used to create or update one more global parameters in the configuration database.</para>
This command carries multiple global parameters with their values. Care should be taken when specifying more than one parameter because in some cases only a subset of the parameters may be successfully stored in the database and other parameters may fail to be stored. In such cases the <command>remote-global-parameter6-get-all</command> may be useful to verify the contents of the database after the update. The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error. The server tag "all" is allowed and it associates the specified parameters with all servers.</para>
<paraxml:id="ref-remote-network4-del"><command>remote-network4-del</command> - This command is used to delete an IPv4 shared network from the configuration database.</para>
This command includes a list with exactly one name of the shared network to be deleted. The <command>subnets-action</command> denotes whether the subnets in this shared network should be deleted or not. The <command>server-tags</command> parameter must not be specified for this command.</para>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of remote-network4-del -->
<!-- start of remote-network4-get -->
<sectionxml:id="reference-remote-network4-get">
<title>remote-network4-get reference</title>
<paraxml:id="ref-remote-network4-get"><command>remote-network4-get</command> - This command is used to fetch selected IPv4 shared network for the server from the specified database.</para>
This command includes a list with exactly one name of the shared network to be returned. The <command>subnets-include</command> optional parameter allows for specifying whether the subnets belonging to the shared network should also be returned. The <command>server-tags</command> parameter must not be specified for this command.</para>
If the subnets are returned with the shared network they are carried in the <command>subnet4</command> list within the shared network definition. The metadata is included in the returned shared network definition and it provides the database specific information associated with the returned object.</para>
<paraxml:id="ref-remote-network4-list"><command>remote-network4-list</command> - This command is used to fetch a list of all IPv4 shared networks from the configuration database.</para>
The <command>server-tags</command> list is required for this command. This list must not be empty. It may either contain one or multiple server tags as strings or a single <command>null</command> value.</para>
The returned response contains the list of maps. Each map contains the shared network name and the metadata which provides database specific information associated with the shared network. The returned list does not contain full definitions of the shared networks. Use <command>remote-network4-get</command> to fetch the full information about the selected shared networks. If the command includes explicit server tags as strings (including the special server tag "all"), the list contains all shared networks which are associated with any of the specified tags. A network is returned even if it is associated with multiple servers and only one of the specified tags matches. If the command includes the <command>null</command> value in the <command>server-tags</command> list, the response contains all shared networks which are assigned to no servers (unassigned).</para>
<paraxml:id="ref-remote-network4-set"><command>remote-network4-set</command> - This command is used to create or replace an IPv4 shared network in the configuration database.</para>
The provided list must contain exactly one shared network specification. It must not contain subnets ("subnet4" parameter). The subnets are added to the shared network using <command>remote-subnet4-set</command> command. The <command>server-tags</command> list is mandatory and it must contain one or more server tags as strings to explicitly associate the shared network with one or more user defined servers. It may include the special server tag "all" to associate the network with all servers.</para>
<paraxml:id="ref-remote-network6-del"><command>remote-network6-del</command> - This command is used to delete an IPv6 shared network from the configuration database.</para>
This command includes a list with exactly one name of the shared network to be deleted. The <command>subnets-action</command> denotes whether the subnets in this shared network should be deleted or not. The <command>server-tags</command> parameter must not be specified for this command.</para>
<paraxml:id="ref-remote-network6-get"><command>remote-network6-get</command> - This command is used to fetch selected IPv6 shared network for the server from the specified database.</para>
This command includes a list with exactly one name of the shared network to be returned. The <command>subnets-include</command> optional parameter allows for specifying whether the subnets belonging to the shared network should also be returned. The <command>server-tags</command> parameter must not be specified for this command.</para>
<the rest of the shared network information, potentially including subnets>
}
],
"count": 1
}
}</screen>
If the subnets are returned with the shared network they are carried in the <command>subnet6</command> list within the shared network definition. The metadata is included in the returned shared network definition and it provides the database specific information associated with the returned object.</para>
<paraxml:id="ref-remote-network6-list"><command>remote-network6-list</command> - This command is used to fetch a list of all IPv6 shared networks from the configuration database.</para>
The <command>server-tags</command> list is required for this command. This list must not be empty. It may either contain one or multiple server tags as strings or a single <command>null</command> value.</para>
The returned response contains the list of maps. Each map contains the shared network name and the metadata which provides database specific information associated with the shared network. The returned list does not contain full definitions of the shared networks. Use <command>remote-network6-get</command> to fetch the full information about the selected shared networks. If the command includes explicit server tags as strings (including the special server tag "all"), the list contains all shared networks which are associated with any of the specified tags. A network is returned even if it is associated with multiple servers and only one of the specified tags matches. If the command includes the <command>null</command> value in the <command>server-tags</command> list, the response contains all shared networks which are assigned to no servers (unassigned).</para>
<paraxml:id="ref-remote-network6-set"><command>remote-network6-set</command> - This command is used to create or replace an IPv6 shared network in the configuration database.</para>
The provided list must contain exactly one shared network specification. It must not contain subnets ("subnet6" parameter). The subnets are added to the shared network using <command>remote-subnet6-set</command> command. The <command>server-tags</command> list is mandatory and it must contain one or more server tags as strings to explicitly associate the shared network with one or more user defined servers. It may include the special server tag "all" to associate the network with all servers.</para>
<paraxml:id="ref-remote-option-def4-del"><command>remote-option-def4-del</command> - This command is used to delete a DHCPv4 option definition from the configuration database.</para>
This command includes a list with exactly one option definition specification comprising an option name and code. The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error.</para>
<paraxml:id="ref-remote-option-def4-get"><command>remote-option-def4-get</command> - This command is used to fetch a DHCPv4 option definition from the configuration database.</para>
The desired option definition is identified by the pair of the option code/space values. The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error. The server tag "all" is allowed to fetch the option definition instance shared by all servers.</para>
The metadata is included and it provides database specific information associated with the returned object. If the "all" server tag was specified, the command attempts to fetch the option definition associated with all servers. If the explicit server tag is specified, the command will fetch the option definition associated with the given server. If the server specific option definition doesn't exist, it will try to fetch the option definition associated with all servers.</para>
<paraxml:id="ref-remote-option-def4-get-all"><command>remote-option-def4-get-all</command> - This command is used to fetch all DHCPv4 option definitions from the configuration database.</para>
The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error. The special server tag "all" is allowed to fetch the option definitions shared by all servers.</para>
The returned response contains a list of maps. Each map contains an option definition specification and the metadata including database specific information associated with the returned objects. If the server tag "all" is included in the command, the response contains the option definitions shared between all servers. It excludes server specific option definitions. If an explicit server tag is included in the command, the response contains all option definitions directly associated with the given server and the option definitions associated with all servers when server specific option definitions are not present.</para>
<paraxml:id="ref-remote-option-def4-set"><command>remote-option-def4-set</command> - This command is used to create or replace DHCPv4 option definition in the configuration database.</para>
The provided list must contain exactly one option definition specification. The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error. The server tag "all" is allowed and it associates the specified option definition with all servers.</para>
<paraxml:id="ref-remote-option-def6-del"><command>remote-option-def6-del</command> - This command is used to delete a DHCPv6 option definition from the configuration database.</para>
This command includes a list with exactly one option definition specification comprising an option name and code. The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error.</para>
<paraxml:id="ref-remote-option-def6-get"><command>remote-option-def6-get</command> - This command is used to fetch a DHCPv6 option definition from the configuration database.</para>
The desired option definition is identified by the pair of the option code/space values. The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error. The server tag "all" is allowed to fetch the option definition instance shared by all servers.</para>
The metadata is included and it provides database specific information associated with the returned object. If the "all" server tag was specified, the command attempts to fetch the option definition associated with all servers. If the explicit server tag is specified, the command will fetch the option definition associated with the given server. If the server specific option definition doesn't exist, it will try to fetch the option definition associated with all servers.</para>
<paraxml:id="ref-remote-option-def6-get-all"><command>remote-option-def6-get-all</command> - This command is used to fetch all DHCPv6 option definitions from the configuration database.</para>
The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error. The special server tag "all" is allowed to fetch the option definitions shared by all servers.</para>
The returned response contains a list of maps. Each map contains an option definition specification and the metadata including database specific information associated with the returned objects. If the server tag "all" is included in the command, the response contains the option definitions shared between all servers. It excludes server specific option definitions. If an explicit server tag is included in the command, the response contains all option definitions directly associated with the given server and the option definitions associated with all servers when server specific option definitions are not present.</para>
<paraxml:id="ref-remote-option-def6-set"><command>remote-option-def6-set</command> - This command is used to create or replace DHCPv6 option definition in the configuration database.</para>
The provided list must contain exactly one option definition specification. The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error. The server tag "all" is allowed and it associates the specified option definition with all servers.</para>
<paraxml:id="ref-remote-option4-global-del"><command>remote-option4-global-del</command> - This command is used to delete a DHCPv4 global option from the configuration database.</para>
This command includes a list with exactly one option specification comprising an option name and code. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error.</para>
<paraxml:id="ref-remote-option4-global-get"><command>remote-option4-global-get</command> - This command is used to fetch a global DHCPv4 option for the server from the specified database.</para>
The option is identified by the pair of option code/space values. The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error. The server tag "all" is allowed to fetch the global option instance shared by all servers.</para>
The metadata is included and it provides database specific information associated with the returned object. If the "all" server tag was specified, the command attempts to fetch the global option associated with all servers. If the explicit server tag is specified, the command will fetch the global option associated with the given server. If the server specific option doesn't exist, it will try to fetch the option associated with all servers.</para>
<paraxml:id="ref-remote-option4-global-get-all"><command>remote-option4-global-get-all</command> - This command is used to fetch all DHCPv4 global options for the server from the configuration database.</para>
The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error. The special server tag "all" is allowed to fetch the global options shared by all servers.</para>
The returned response contains a list of maps. Each map contains a global option specification and the metadata including database specific information associated with the returned object. If the server tag "all" is included in the command, the response contains the global options shared between all servers. It excludes server specific global options. If an explicit server tag is included in the command, the response contains all global options directly associated with the given server and the options associated with all servers when server specific options are not present.</para>
<paraxml:id="ref-remote-option4-global-set"><command>remote-option4-global-set</command> - This command is used to create or replace a DHCPv4 global option in the configuration database.</para>
The provided list must cotain exactly one option specification. The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error. The server tag "all" is allowed and it associates the specified option with all servers.</para>
<paraxml:id="ref-remote-option6-global-del"><command>remote-option6-global-del</command> - This command is used to delete a DHCPv6 global option from the configuration database.</para>
This command includes a list with exactly one option specification comprising an option name and code. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error.</para>
<paraxml:id="ref-remote-option6-global-get"><command>remote-option6-global-get</command> - This command is used to fetch a global DHCPv6 option for the server from the specified database.</para>
The option is identified by the pair of option code/space values. The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error. The server tag "all" is allowed to fetch the global option instance shared by all servers.</para>
The metadata is included and it provides database specific information associated with the returned object. If the "all" server tag was specified, the command attempts to fetch the global option associated with all servers. If the explicit server tag is specified, the command will fetch the global option associated with the given server. If the server specific option doesn't exist, it will try to fetch the option associated with all servers.</para>
<paraxml:id="ref-remote-option6-global-get-all"><command>remote-option6-global-get-all</command> - This command is used to fetch all DHCPv6 global options for the server from the configuration database.</para>
The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error. The special server tag "all" is allowed to fetch the global options shared by all servers.</para>
The returned response contains a list of maps. Each map contains a global option specification and the metadata including database specific information associated with the returned object. If the server tag "all" is included in the command, the response contains the global options shared between all servers. It excludes server specific global options. If an explicit server tag is included in the command, the response contains all global options directly associated with the given server and the options associated with all servers when server specific options are not present.</para>
<paraxml:id="ref-remote-option6-global-set"><command>remote-option6-global-set</command> - This command is used to create or replace a DHCPv6 global option in the configuration database.</para>
The provided list must cotain exactly one option specification. The <command>server-tags</command> list is mandatory and it must contain exactly one server tag. Specifying an empty list, a value of <command>null</command> or multiple server tags will result in an error. The server tag "all" is allowed and it associates the specified option with all servers.</para>
<paraxml:id="ref-remote-server4-del"><command>remote-server4-del</command> - This command is used to delete information about a DHCPv4 server from the configuration database. Any configuration explicitly associated with the deleted server is automatically disassociated. In addition, configuration elements not shareable with other servers (e.g. global DHCP parameters) are deleted. The shareable configuration (e.g. subnets, shared networks) is not deleted as it may be used by other servers.</para>
<para>Description and examples: See <xreflinkend="command-remote-server4-del"/></para>
<para>Command syntax:
<screen>{
"command": "remote-server4-del",
"arguments": {
"servers": [
{
"server-tag": <server name>
}
],
"remote": {
<specification of the database to connect to>
}
}
}</screen>
This command carries the list including exactly one map with the tag of the server to be deleted.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "1 DHCPv4 server(s) deleted."
"arguments": {
"count": 1
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of remote-server4-del -->
<!-- start of remote-server4-get -->
<sectionxml:id="reference-remote-server4-get">
<title>remote-server4-get reference</title>
<paraxml:id="ref-remote-server4-get"><command>remote-server4-get</command> - This command is used to fetch the information about the DHCPv4 server, such as server tag and description.</para>
<para>Description and examples: See <xreflinkend="command-remote-server4-get"/></para>
<para>Command syntax:
<screen>{
"command": "remote-server4-get",
"arguments": {
"servers": [
{
"server-tag": <server tag>
}
],
"remote": {
<specification of the database to connect to>
}
}
}</screen>
This command carries the list including exactly one map with the tag of the server to be fetched.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "DHCP server <server tag> found.",
"arguments": {
"servers": [
{
"server-tag": <server tag>,
"description": <server description>
}
],
"count": 1
}
}</screen>
The server tag is the unique identifier of the server, used to associate the configuration elements in the database with the particular server instance. The returned server description is specified by the user when setting the server information.</para>
<paraxml:id="ref-remote-server4-get-all"><command>remote-server4-get-all</command> - This command is used to fetch information about all DHCPv4 servers specified by the user.</para>
The returned response contain a list of maps. Each map contains a server tag uniquely identifying a server and the user defined description of the server. The Kea Configuration Backend uses the keyword <command>all</command> to associate parts of the configuration with all servers. Internally, it creates the logical server <command>all</command> for this purpose. However, this logical server is not returned as a result of the <command>remote-server4-get-all</command>. Only the user defined servers are returned.</para>
</section>
<!-- end of remote-server4-get-all -->
<!-- start of remote-server4-set -->
<sectionxml:id="reference-remote-server4-set">
<title>remote-server4-set reference</title>
<paraxml:id="ref-remote-server4-set"><command>remote-server4-set</command> - This command is used to create or replace information about the DHCPv4 server in the database.</para>
<para>Description and examples: See <xreflinkend="command-remote-server4-set"/></para>
<para>Command syntax:
<screen>{
"command": "remote-server4-set",
"arguments": {
"servers": [
{
"server-tag": <server tag>,
"description": <server description>
}
],
"remote": {
<specification of the database to connect to>
}
}
}</screen>
The provided list must contain exactly one server specification. The <command>server-tag</command> must be unique accross all servers within the configuration database. The <command>description</command> is the arbitrary text describing the server, its location within the network etc.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "DHCPv4 server successfully set.",
"arguments": {
"servers": [
{
"server-tag": <server tag>,
"description": <server description>
}
]
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of remote-server4-set -->
<!-- start of remote-server6-del -->
<sectionxml:id="reference-remote-server6-del">
<title>remote-server6-del reference</title>
<paraxml:id="ref-remote-server6-del"><command>remote-server6-del</command> - This command is used to delete information about a DHCPv6 server from the configuration database. Any configuration explicitly associated with the deleted server is automatically disassociated. In addition, configuration elements not shareable with other servers (e.g. global DHCP parameters) are deleted. The shareable configuration (e.g. subnets, shared networks) is not deleted as it may be used by other servers.</para>
<para>Description and examples: See <xreflinkend="command-remote-server6-del"/></para>
<para>Command syntax:
<screen>{
"command": "remote-server6-del",
"arguments": {
"servers": [
{
"server-tag": <server name>
}
],
"remote": {
<specification of the database to connect to>
}
}
}</screen>
This command carries the list including exactly one map with the tag of the server to be deleted.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "1 DHCPv6 server(s) deleted."
"arguments": {
"count": 1
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of remote-server6-del -->
<!-- start of remote-server6-get -->
<sectionxml:id="reference-remote-server6-get">
<title>remote-server6-get reference</title>
<paraxml:id="ref-remote-server6-get"><command>remote-server6-get</command> - This command is used to fetch the information about the DHCPv6 server, such as server tag and description.</para>
<para>Description and examples: See <xreflinkend="command-remote-server6-get"/></para>
<para>Command syntax:
<screen>{
"command": "remote-server6-get",
"arguments": {
"servers": [
{
"server-tag": <server tag>
}
],
"remote": {
<specification of the database to connect to>
}
}
}</screen>
This command carries the list including exactly one map with the tag of the server to be fetched.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "DHCP server <server tag> found.",
"arguments": {
"servers": [
{
"server-tag": <server tag>,
"description": <server description>
}
],
"count": 1
}
}</screen>
The server tag is the unique identifier of the server, used to associate the configuration elements in the database with the particular server instance. The returned server description is specified by the user when setting the server information.</para>
<paraxml:id="ref-remote-server6-get-all"><command>remote-server6-get-all</command> - This command is used to fetch information about all DHCPv6 servers specified by the user.</para>
The returned response contain a list of maps. Each map contains a server tag uniquely identifying a server and the user defined description of the server. The Kea Configuration Backend uses the keyword <command>all</command> to associate parts of the configuration with all servers. Internally, it creates the logical server <command>all</command> for this purpose. However, this logical server is not returned as a result of the <command>remote-server6-get-all</command>. Only the user defined servers are returned.</para>
</section>
<!-- end of remote-server6-get-all -->
<!-- start of remote-server6-set -->
<sectionxml:id="reference-remote-server6-set">
<title>remote-server6-set reference</title>
<paraxml:id="ref-remote-server6-set"><command>remote-server6-set</command> - This command is used to create or replace information about the DHCPv6 server in the database.</para>
<para>Description and examples: See <xreflinkend="command-remote-server6-set"/></para>
<para>Command syntax:
<screen>{
"command": "remote-server6-set",
"arguments": {
"servers": [
{
"server-tag": <server tag>,
"description": <server description>
}
],
"remote": {
<specification of the database to connect to>
}
}
}</screen>
The provided list must contain exactly one server specification. The <command>server-tag</command> must be unique accross all servers within the configuration database. The <command>description</command> is the arbitrary text describing the server, its location within the network etc.</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "DHCPv6 server successfully set.",
"arguments": {
"servers": [
{
"server-tag": <server tag>,
"description": <server description>
}
]
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
<paraxml:id="ref-remote-subnet4-del-by-id"><command>remote-subnet4-del-by-id</command> - This command is used to delete an IPv4 subnet by ID from the configuration database.</para>
This command includes a list with exactly one id of the subnet to be deleted. The <command>server-tags</command> parameter must not be specified for this command.</para>
<paraxml:id="ref-remote-subnet4-del-by-prefix"><command>remote-subnet4-del-by-prefix</command> - This command is used to delete an IPv4 subnet by prefix from the configuration database.</para>
This command includes a list with exactly one prefix of the subnet to be deleted. The <command>server-tags</command> parameter must not be specified for this command.</para>
<paraxml:id="ref-remote-subnet4-get-by-id"><command>remote-subnet4-get-by-id</command> - This command is used to fetch selected IPv4 subnet by ID for the server from the configuration database.</para>
This command includes a list with exactly one id of the subnet to be returned. The <command>server-tags</command> parameter must not be specified for this command.</para>
If the shared network name is null, it means that the returned subnet does not belong to any shared network (global subnet). The metadata is included in the returned subnet definition and it provides database specific information associated with the returned object.</para>
<paraxml:id="ref-remote-subnet4-get-by-prefix"><command>remote-subnet4-get-by-prefix</command> - This command is used to fetch selected IPv4 subnet by prefix from the configuration database.</para>
This command includes a list with exactly one prefix of the subnet to be returned. The <command>server-tags</command> parameter must not be specified for this command.</para>
If the shared network name is null, it means that the returned subnet does not belong to any shared network (global subnet). The metadata is included in the returned subnet definition and it provides database specific information associated with the returned object.</para>
<paraxml:id="ref-remote-subnet4-list"><command>remote-subnet4-list</command> - This command is used to fetch a list of all IPv4 subnets from the configuration database.</para>
The <command>server-tags</command> list is required for this command. This list must not be empty. It may either contain one or multiple server tags as strings or a single <command>null</command> value.</para>
The returned response contains a list of maps. Each map contains a subnet identifier, prefix and shared network name to which the subnet belongs. If the subnet does not belong to a shared netork the name is null. The metadata includes database specific information associated with the subnets. The returned list does not contain full subnet definitions. Use <command>remote-subnet4-get</command> to fetch the full information about the selected subnets. If the command includes explicit server tags as strings (including the special server tag "all"), the list contains all subnets which are associated with any of the specified tags. A subnet is returned even if it is associated with multiple servers and only one of the specified tags matches. If the command includes the <command>null</command> value in the <command>server-tags</command> list, the response contains all subnets which are assigned to no servers (unassigned).</para>
<paraxml:id="ref-remote-subnet4-set"><command>remote-subnet4-set</command> - This command is used to create or replace an IPv4 subnet the configuration database.</para>
The provided list must contain exactly one subnet specification. The <command>shared-network-name</command> parameter is required for these commands. It associates the subnet with the shared network by its name. If the subnet must not belong to any shared network (global subnet), the <command>null</command> value must be specified for the shared network name. The <command>server-tags</command> list is mandatory and it must contain one or more server tags as strings to explicitly associate the subnet with one or more user defined servers. It may include the special server tag "all" to associate the subnet with all servers.</para>
<paraxml:id="ref-remote-subnet6-del-by-id"><command>remote-subnet6-del-by-id</command> - This command is used to delete an IPv6 subnet by ID from the configuration database.</para>
This command includes a list with exactly one id of the subnet to be deleted. The <command>server-tags</command> parameter must not be specified for this command.</para>
<paraxml:id="ref-remote-subnet6-del-by-prefix"><command>remote-subnet6-del-by-prefix</command> - This command is used to delete an IPv6 subnet by prefix from the configuration database.</para>
This command includes a list with exactly one prefix of the subnet to be deleted. The <command>server-tags</command> parameter must not be specified for this command.</para>
<paraxml:id="ref-remote-subnet6-get-by-id"><command>remote-subnet6-get-by-id</command> - This command is used to fetch selected IPv6 subnet by ID for the server from the configuration database.</para>
This command includes a list with exactly one id of the subnet to be returned. The <command>server-tags</command> parameter must not be specified for this command.</para>
If the shared network name is null, it means that the returned subnet does not belong to any shared network (global subnet). The metadata is included in the returned subnet definition and it provides database specific information associated with the returned object.</para>
<paraxml:id="ref-remote-subnet6-get-by-prefix"><command>remote-subnet6-get-by-prefix</command> - This command is used to fetch selected IPv6 subnet by prefix from the configuration database.</para>
This command includes a list with exactly one prefix of the subnet to be returned. The <command>server-tags</command> parameter must not be specified for this command.</para>
If the shared network name is null, it means that the returned subnet does not belong to any shared network (global subnet). The metadata is included in the returned subnet definition and it provides database specific information associated with the returned object.</para>
<paraxml:id="ref-remote-subnet6-list"><command>remote-subnet6-list</command> - This command is used to fetch a list of all IPv6 subnets from the configuration database.</para>
The <command>server-tags</command> list is required for this command. This list must not be empty. It may either contain one or multiple server tags as strings or a single <command>null</command> value.</para>
The returned response contains a list of maps. Each map contains a subnet identifier, prefix and shared network name to which the subnet belongs. If the subnet does not belong to a shared netork the name is null. The metadata includes database specific information associated with the subnets. The returned list does not contain full subnet definitions. Use <command>remote-subnet6-get</command> to fetch the full information about the selected subnets. If the command includes explicit server tags as strings (including the special server tag "all"), the list contains all subnets which are associated with any of the specified tags. A subnet is returned even if it is associated with multiple servers and only one of the specified tags matches. If the command includes the <command>null</command> value in the <command>server-tags</command> list, the response contains all subnets which are assigned to no servers (unassigned).</para>
<paraxml:id="ref-remote-subnet6-set"><command>remote-subnet6-set</command> - This command is used to create or replace an IPv6 subnet the configuration database.</para>
The provided list must contain exactly one subnet specification. The <command>shared-network-name</command> parameter is required for these commands. It associates the subnet with the shared network by its name. If the subnet must not belong to any shared network (global subnet), the <command>null</command> value must be specified for the shared network name. The <command>server-tags</command> list is mandatory and it must contain one or more server tags as strings to explicitly associate the subnet with one or more user defined servers. It may include the special server tag "all" to associate the subnet with all servers.</para>
<para>Description and examples: See <xreflinkend="command-reservation-get-page"/></para>
<para>Command syntax:
<screen>{
"command": "reservation-get-page",
"arguments": {
"subnet-id": <integer>,
"limit": <integer>,
"source-index": <integer>,
"from": <integer>
}
}</screen>
the subnet id and the page size limit are mandatory. The source index and from host id are optional and default to 0. Values to use to next the next page are returned in responses in a next map.</para>
<para>Response syntax:
<screen>{
"result": <integer>,
"text": <string>
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of stat-lease6-get -->
<!-- start of statistic-get -->
<sectionxml:id="reference-statistic-get">
<title>statistic-get reference</title>
<paraxml:id="ref-statistic-get"><command>statistic-get</command> - The statistic-get command retrieves a single statistic. It takes a single string parameter called name that specifies the statistic name.</para>
<para>Description and examples: See <xreflinkend="command-statistic-get"/></para>
<para>Command syntax:
<screen>{
"command": "statistic-get",
"arguments": {
"name": "pkt4-received"
}
}</screen>
The server will respond with details of the requested statistic, with a result set to 0 indicating success and the specified statistic as the value of the "arguments" parameter.</para>
<para>Response syntax:
<screen>{
"result": <integer>,
"text": <string>
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of statistic-get -->
<!-- start of statistic-get-all -->
<sectionxml:id="reference-statistic-get-all">
<title>statistic-get-all reference</title>
<paraxml:id="ref-statistic-get-all"><command>statistic-get-all</command> - The statistic-get-all command retrieves all statistics recorded.</para>
<para>Description and examples: See <xreflinkend="command-statistic-get-all"/></para>
<para>Command syntax:
<screen>{
"command": "statistic-get-all",
"arguments": { }
}</screen>
The server will respond with details of all recorded statistics, with result set to 0 indicating that it iterated over all statistics (even when the total number of statistics is zero).</para>
<para>Response syntax:
<screen>{
"result": <integer>,
"text": <string>
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of statistic-get-all -->
<!-- start of statistic-remove -->
<sectionxml:id="reference-statistic-remove">
<title>statistic-remove reference</title>
<paraxml:id="ref-statistic-remove"><command>statistic-remove</command> - The statistic-remove command attempts to delete a single statistic. It takes a single string parameter called name that specifies the statistic name.</para>
<para>Description and examples: See <xreflinkend="command-statistic-remove"/></para>
<para>Command syntax:
<screen>{
"command": "statistic-remove",
"arguments": {
"name": "pkt4-received"
}
}</screen>
If the specific statistic is found and its removal was successful, the server will respond with a status of 0, indicating success and an empty parameters field. If an error is encountered (e.g. requested statistic was not found), the server will return a status code of 1 (error) and the text field will contain the error description.</para>
<para>Response syntax:
<screen>{
"result": <integer>,
"text": <string>
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of statistic-remove -->
<!-- start of statistic-remove-all -->
<sectionxml:id="reference-statistic-remove-all">
<title>statistic-remove-all reference</title>
<paraxml:id="ref-statistic-remove-all"><command>statistic-remove-all</command> - The statistic-remove-all command attempts to delete all statistics.</para>
<para>Description and examples: See <xreflinkend="command-statistic-remove-all"/></para>
<para>Command syntax:
<screen>{
"command": "statistic-remove-all",
"arguments": { }
}</screen>
If the removal of all statistics was successful, the server will respond with a status of 0, indicating success and an empty parameters field. If an error is encountered, the server will return a status code of 1 (error) and the text field will contain the error description.</para>
<para>Response syntax:
<screen>{
"result": <integer>,
"text": <string>
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of statistic-remove-all -->
<!-- start of statistic-reset -->
<sectionxml:id="reference-statistic-reset">
<title>statistic-reset reference</title>
<paraxml:id="ref-statistic-reset"><command>statistic-reset</command> - The statistic-reset command sets the specified statistic to its neutral value: 0 for integer, 0.0 for float, 0h0m0s0us for time duration and "" for string type. It takes a single string parameter called name that specifies the statistic name.</para>
<para>Description and examples: See <xreflinkend="command-statistic-reset"/></para>
<para>Command syntax:
<screen>{
"command": "statistic-reset",
"arguments": {
"name": "pkt4-received"
}
}</screen>
If the specific statistic is found and reset was successful, the server will respond with a status of 0, indicating success and an empty parameters field. If an error is encountered (e.g. requested statistic was not found), the server will return a status code of 1 (error) and the text field will contain the error description.</para>
<para>Response syntax:
<screen>{
"result": <integer>,
"text": <string>
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of statistic-reset -->
<!-- start of statistic-reset-all -->
<sectionxml:id="reference-statistic-reset-all">
<title>statistic-reset-all reference</title>
<paraxml:id="ref-statistic-reset-all"><command>statistic-reset-all</command> - The statistic-reset command sets all statistics to their neutral values: 0 for integer, 0.0 for float, 0h0m0s0us for time duration and "" for string type.</para>
<para>Description and examples: See <xreflinkend="command-statistic-reset-all"/></para>
<para>Command syntax:
<screen>{
"command": "statistic-reset-all",
"arguments": { }
}</screen>
If the operation is successful, the server will respond with a status of 0, indicating success and an empty parameters field. If an error is encountered, the server will return a status code of 1 (error) and the text field will contain the error description.</para>
<para>Response syntax:
<screen>{
"result": <integer>,
"text": <string>
}
</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of statistic-reset-all -->
<!-- start of subnet4-add -->
<sectionxml:id="reference-subnet4-add">
<title>subnet4-add reference</title>
<paraxml:id="ref-subnet4-add"><command>subnet4-add</command> - This command is used to create and add a new subnet to the existing server configuration.</para>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of subnet4-add -->
<!-- start of subnet4-del -->
<sectionxml:id="reference-subnet4-del">
<title>subnet4-del reference</title>
<paraxml:id="ref-subnet4-del"><command>subnet4-del</command> - This command is used to remove a subnet from the server's configuration. This command has no effect on other configured subnets but removing a subnet has certain implications which the server's administrator should be aware of.</para>
<para>Description and examples: See <xreflinkend="command-subnet4-del"/></para>
<para>Command syntax:
<screen>{
"command": "subnet4-del",
"arguments": {
"id": 123
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "IPv4 subnet 192.0.2.0/24 (id 123) deleted",
"arguments": {
"subnets": [
{
"id": 123,
"subnet": "192.0.2.0/24"
}
]
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of subnet4-del -->
<!-- start of subnet4-get -->
<sectionxml:id="reference-subnet4-get">
<title>subnet4-get reference</title>
<paraxml:id="ref-subnet4-get"><command>subnet4-get</command> - This command is used to retrieve detailed information about the specified subnet. This command usually follows the subnet4-list, which is used to discover available subnets with their respective subnet identifiers and prefixes.</para>
<para>Description and examples: See <xreflinkend="command-subnet4-get"/></para>
<para>Command syntax:
<screen>{
"command": "subnet4-get",
"arguments": {
"id": 10
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "Info about IPv4 subnet 10.0.0.0/8 (id 10) returned",
"arguments": {
"subnets": [
{
"subnet": "10.0.0.0/8",
"id": 1,
"option-data": [
....
]
...
}
]
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of subnet4-get -->
<!-- start of subnet4-list -->
<sectionxml:id="reference-subnet4-list">
<title>subnet4-list reference</title>
<paraxml:id="ref-subnet4-list"><command>subnet4-list</command> - This command is used to list all currently configured subnets. The subnets are returned in a brief form, i.e. a subnet identifier and subnet prefix is included for each subnet.</para>
<paraxml:id="ref-subnet4-update"><command>subnet4-update</command> - This command is used to update a subnet in the existing server configuration.</para>
<paraxml:id="ref-subnet6-add"><command>subnet6-add</command> - This command is used to create and add new subnet to the existing server configuration. This operation has no impact on other subnets.</para>
<para>Description and examples: See <xreflinkend="command-subnet6-add"/></para>
<para>Command syntax:
<screen>{
"command": "subnet6-add",
"arguments": {
"subnet6": [ {
"id": 234,
"subnet": "2001:db8:1::/64",
...
} ]
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "IPv6 subnet added",
"arguments": {
"subnet6": [
{
"id": 234,
"subnet": "2001:db8:1::/64"
}
]
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of subnet6-add -->
<!-- start of subnet6-del -->
<sectionxml:id="reference-subnet6-del">
<title>subnet6-del reference</title>
<paraxml:id="ref-subnet6-del"><command>subnet6-del</command> - This command is used to remove a subnet from the server's configuration. This command has no effect on other configured subnets but removing a subnet has certain implications which the server's administrator should be aware of.</para>
<para>Description and examples: See <xreflinkend="command-subnet6-del"/></para>
<para>Command syntax:
<screen>{
"command": "subnet6-del",
"arguments": {
"id": 234
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "IPv6 subnet 2001:db8:1::/64 (id 234) deleted",
"subnets": [
{
"id": 234,
"subnet": "2001:db8:1::/64"
}
]
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of subnet6-del -->
<!-- start of subnet6-get -->
<sectionxml:id="reference-subnet6-get">
<title>subnet6-get reference</title>
<paraxml:id="ref-subnet6-get"><command>subnet6-get</command> - This command is used to retrieve detailed information about the specified subnet. This command usually follows the subnet6-list, which is used to discover available subnets with their respective subnet identifiers and prefixes.</para>
<para>Description and examples: See <xreflinkend="command-subnet6-get"/></para>
<para>Command syntax:
<screen>{
"command": "subnet6-get",
"arguments": {
"id": 11
}
}</screen>
</para>
<para>Response syntax:
<screen>{
"result": 0,
"text": "Info about IPv6 subnet 2001:db8:1::/64 (id 11) returned",
"arguments": {
"subnets": [
{
"subnet": "2001:db8:1::/64",
"id": 1,
"option-data": [
...
]
....
}
]
}
}</screen>
Result is an integer representation of the status. Currently supported statuses are:
<itemizedlist>
<listitem><para>0 - success</para></listitem>
<listitem><para>1 - error</para></listitem>
<listitem><para>2 - unsupported</para></listitem>
<listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
</itemizedlist>
</para>
</section>
<!-- end of subnet6-get -->
<!-- start of subnet6-list -->
<sectionxml:id="reference-subnet6-list">
<title>subnet6-list reference</title>
<paraxml:id="ref-subnet6-list"><command>subnet6-list</command> - This command is used to list all currently configured subnets. The subnets are returned in a brief form, i.e. a subnet identifier and subnet prefix is included for each subnet.</para>
<paraxml:id="ref-subnet6-update"><command>subnet6-update</command> - This command is used to update a subnet in the existing server configuration. This operation has no impact on other subnets.</para>