2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-30 13:37:55 +00:00

[#71,!314] Updated hooks-cb-cmds with more examples.

This commit is contained in:
Marcin Siodelski
2019-05-16 20:01:38 +02:00
parent 206fa34ba9
commit 2c7f3338c7
46 changed files with 2036 additions and 905 deletions

View File

@@ -1,7 +1,6 @@
{
"name": "remote-global-parameter4-del",
"brief": "This command is used to delete a global DHCPv4 parameter from a 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.",
"description": "See <xref linkend=\"cmd-remote-global-parameter4-del\"/>",
"brief": "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.",
"support": [ "kea-dhcp4" ],
"avail": "1.6.0",
"hook": "cb_cmds",
@@ -14,10 +13,10 @@
}
}
}",
"cmd-comment": "This command includes a list with exactly one name of the parameter to be deleted. The <command>remote</command> map contains specification of the backend from which the global parameter should be deleted. Typically it contains \"type\": \"mysql\".",
"cmd-comment": "This command carries the list including exactly one name of the parameter to be deleted.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"DHCPv4 global parameter successfully deleted.\",
\"text\": \"DHCPv4 global parameter(s) deleted.\",
\"arguments\": {
\"count\": 1
}

View File

@@ -1,7 +1,6 @@
{
"name": "remote-global-parameter4-get-all",
"brief": "This command is used to fetch all global parameters for the server from the specified database.",
"description": "See <xref linkend=\"cmd-remote-global-parameter4-get-all\"/>",
"support": [ "kea-dhcp4" ],
"avail": "1.6.0",
"hook": "cb_cmds",
@@ -13,7 +12,7 @@
}
}
}",
"cmd-comment": "The <command>remote</command> map contains specification of the backend from which the global parameters should be fetched. Typically it contains \"type\": \"mysql\".",
"cmd-comment": "This command contains no arguments besides the optional <command>remote</command>.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"DHCPv4 global parameters found.\",

View File

@@ -1,7 +1,6 @@
{
"name": "remote-global-parameter4-get",
"brief": "This command is used to fetch selected global parameter for the server from the specified database.",
"description": "See <xref linkend=\"cmd-remote-global-parameter4-get\"/>",
"support": [ "kea-dhcp4" ],
"avail": "1.6.0",
"hook": "cb_cmds",
@@ -13,10 +12,8 @@
<specification of the database to connect to>
}
}
}
",
"cmd-comment": "The <command>remote</command> map contains specification of the backend from which the global parameters should be fetched. Typically it contains \"type\": \"mysql\".",
}",
"cmd-comment": "This command carries a list including exactly one name of the parameter to be fetched.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"DHCPv4 global parameter found.\",

View File

@@ -1,7 +1,6 @@
{
"name": "remote-global-parameter4-set",
"brief": "This command is used to create or update one more global parameters for a server.",
"description": "See <xref linkend=\"cmd-remote-global-parameter4-set\"/>",
"brief": "This command is used to create or update one more global parameters in the configuration database.",
"support": [ "kea-dhcp4" ],
"avail": "1.6.0",
"hook": "cb_cmds",
@@ -17,7 +16,7 @@
}
}
}",
"cmd-comment": "The <command>remote</command> map contains specification of the backend where global parameter should be set. Typically it contains \"type\": \"mysql\".",
"cmd-comment": "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.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"DHCPv4 global parameter(s) successfully set.\"

View File

@@ -1,12 +1,23 @@
{
"name": "remote-global-parameter6-del",
"brief": "a sentence or two explaining what this command does",
"description": "See <xref linkend=\"cmd-\"/>",
"support": [ "undocumented" ],
"avail": "0.0.0",
"hook": "undocumented",
"cmd-syntax": "Syntax of the command",
"cmd-comment": "Possibly some extra comments after the syntax.",
"resp-syntax": "Syntax of the response",
"resp-comment": "Optional extra comments after the resposne syntax."
"brief": "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.",
"support": [ "kea-dhcp6" ],
"avail": "1.6.0",
"hook": "cb_cmds",
"cmd-syntax": "{
\"command\": \"remote-global-parameter6-del\",
\"arguments\": {
\"parameters\": [ <parameter name> ],
\"remote\": {
<specification of the database to connect to>
}
}
}",
"cmd-comment": "This command carries the list including exactly one name of the parameter to be deleted.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"DHCPv6 global parameter(s) deleted.\",
\"arguments\": {
\"count\": 1
}"
}

View File

@@ -1,12 +1,38 @@
{
"name": "remote-global-parameter6-get-all",
"brief": "a sentence or two explaining what this command does",
"description": "See <xref linkend=\"cmd-\"/>",
"support": [ "undocumented" ],
"avail": "0.0.0",
"hook": "undocumented",
"cmd-syntax": "Syntax of the command",
"cmd-comment": "Possibly some extra comments after the syntax.",
"resp-syntax": "Syntax of the response",
"resp-comment": "Optional extra comments after the resposne syntax."
"brief": "This command is used to fetch all global parameters for the server from the specified database.",
"support": [ "kea-dhcp6" ],
"avail": "1.6.0",
"hook": "cb_cmds",
"cmd-syntax": "{
\"command\": \"remote-global-parameter6-get-all\"
\"arguments\": {
\"remote\": {
<specification of the database to connect to>
}
}
}",
"cmd-comment": "This command contains no arguments besides the optional <command>remote</command>.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"DHCPv6 global parameters found.\",
\"arguments\": {
\"parameters\": [
{
<first parameter name>: <first parameter value>,
\"metadata\": {
\"server-tag\": <server tag>
}
},
{
<second parameter name>: <second parameter value>,
\"metadata\": {
\"server-tag\": <server tag>
}
}
],
\"count\": 2
}
}",
"resp-comment": "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."
}

View File

@@ -1,12 +1,31 @@
{
"name": "remote-global-parameter6-get",
"brief": "a sentence or two explaining what this command does",
"description": "See <xref linkend=\"cmd-\"/>",
"support": [ "undocumented" ],
"avail": "0.0.0",
"hook": "undocumented",
"cmd-syntax": "Syntax of the command",
"cmd-comment": "Possibly some extra comments after the syntax.",
"resp-syntax": "Syntax of the response",
"resp-comment": "Optional extra comments after the resposne syntax."
"brief": "This command is used to fetch selected global parameter for the server from the specified database.",
"support": [ "kea-dhcp6" ],
"avail": "1.6.0",
"hook": "cb_cmds",
"cmd-syntax": "{
\"command\": \"remote-global-parameter6-get\"
\"arguments\": {
\"parameters\": [ <parameter name> ],
\"remote\": {
<specification of the database to connect to>
}
}
}",
"cmd-comment": "This command carries a list including exactly one name of the parameter to be fetched.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"DHCPv6 global parameter found.\",
\"arguments\": {
\"parameters\": {
<parameter name>: <parameter value>,
\"metadata\": {
\"server-tag\": <server tag>
}
},
\"count\": 1
}
}",
"resp-comment": "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."
}

View File

@@ -1,12 +1,24 @@
{
"name": "remote-global-parameter6-set",
"brief": "a sentence or two explaining what this command does",
"description": "See <xref linkend=\"cmd-\"/>",
"support": [ "undocumented" ],
"avail": "0.0.0",
"hook": "undocumented",
"cmd-syntax": "Syntax of the command",
"cmd-comment": "Possibly some extra comments after the syntax.",
"resp-syntax": "Syntax of the response",
"resp-comment": "Optional extra comments after the resposne syntax."
"brief": "This command is used to create or update one more global DHCP parameters in the configuration database.",
"support": [ "kea-dhcp6" ],
"avail": "1.6.0",
"hook": "cb_cmds",
"cmd-syntax": "{
\"command\": \"remote-global-parameter6-set\"
\"arguments\": {
\"parameters\": {
<first parameter name>: <first parameter value>,
<second parameter name>: <second parameter value>
},
\"remote\": {
<specification of the database to connect to>
}
}
}",
"cmd-comment": "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.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"DHCPv6 global parameter(s) successfully set.\"
}"
}

View File

@@ -1,23 +1,24 @@
{
"name": "remote-network4-del",
"brief": "This command is used to delete an IPv4 shared network from the configuration database.",
"description": "See <xref linkend=\"cmd-remote-network4-del\"/>",
"support": [ "kea-dhcp4" ],
"avail": "1.6.0",
"hook": "cb_cmds",
"cmd-syntax": "{
\"command\": \"remote-network4-del\",
\"arguments\": {
\"shared-networks\": [ {
\"shared-networks\": [
{
\"name\": <shared network name>
} ],
}
],
\"subnets-action\": \"keep\" | \"delete\",
\"remote\": {
<specification of the database to connect to>
}
}
}",
"cmd-comment": "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>remote</command> map contains specification of the backend from which the shared network should be deleted. Typically it contains \"type\": \"mysql\".",
"cmd-comment": "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.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"1 IPv4 shared network(s) deleted.\",

View File

@@ -1,36 +1,39 @@
{
"name": "remote-network4-get",
"brief": "This command is used to fetch selected IPv4 shared network for the server from the specified database.",
"description": "See <xref linkend=\"cmd-remote-network4-get\"/>",
"support": [ "kea-dhcp4" ],
"avail": "1.6.0",
"hook": "cb_cmds",
"cmd-syntax": "{
\"command\": \"remote-network4-get\"
\"arguments\": {
\"shared-networks\": [ {
\"shared-networks\": [
{
\"name\": <shared network name>
} ],
}
],
\"subnets-include\": \"full\" | \"no\",
\"remote\": {
<specification of the database to connect to>
}
}
}",
"cmd-comment": "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 subnets belonging to the shared network should also be returned. The <command>remote</command> map contains specification of the backend from which the shared network should be fetched. Typically it contains \"type\": \"mysql\".",
"cmd-comment": "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.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"IPv4 shared network 'floor1' found.\",
\"text\": \"IPv4 shared network found.\",
\"arguments\": {
\"shared-networks\": [ {
\"shared-networks\": [
{
\"name\": <shared network name>,
\"metadata\": {
\"server-tag\": <server tag>
},
<the rest of the shared network information, potentially including subnets>
} ],
}
],
\"count\": 1
}
}",
"resp-comment": "The metadata is included in the returned shared network definition and it provides database specific information associated with the returned object."
"resp-comment": "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."
}

View File

@@ -1,7 +1,6 @@
{
"name": "remote-network4-list",
"brief": "This command is used to fetch a list of all subnets for the particular server from the specified database.",
"description": "See <xref linkend=\"cmd-remote-network4-list\"/>",
"brief": "This command is used to fetch a list of all IPv4 shared networks from the configuration database.",
"support": [ "kea-dhcp4" ],
"avail": "1.6.0",
"hook": "cb_cmds",
@@ -13,7 +12,7 @@
}
}
}",
"cmd-comment": "The <command>remote</command> map contains specification of the backend from which the shared networks should be fetched. Typically it contains \"type\": \"mysql\".",
"cmd-comment": "This command contains no arguments besides the optional <command>remote</command>.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"2 IPv4 shared network(s) found.\",
@@ -35,5 +34,5 @@
\"count\": 2
}
}",
"resp-comment": "The returned response contains a list of maps. Each map contains a shared network name and the metadata which provides database specific information associated with the shared networks. 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."
"resp-comment": "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."
}

View File

@@ -1,22 +1,23 @@
{
"name": "remote-network4-set",
"brief": "This command is used to create or update IPv4 shared network for a server in the specified database.",
"description": "See <xref linkend=\"cmd-remote-network4-set\"/>",
"brief": "This command is used to create or replace an IPv4 shared network in the configuration database.",
"support": [ "kea-dhcp4" ],
"avail": "1.6.0",
"hook": "cb_cmds",
"cmd-syntax": "{
\"command\": \"remote-network4-set\",
\"arguments\": {
\"shared-networks\": [ {
\"shared-networks\": [
{
<shared network specification excluding subnets list>
} ],
}
],
\"remote\": {
<specification of the database to connect to>
}
}
}",
"cmd-comment": "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>remote</command> map contains specification of the backend where shared network should be set. Typically it contains \"type\": \"mysql\".",
"cmd-comment": "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.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"IPv4 shared network successfully set.\"

View File

@@ -1,12 +1,29 @@
{
"name": "remote-network6-del",
"brief": "a sentence or two explaining what this command does",
"description": "See <xref linkend=\"cmd-\"/>",
"support": [ "undocumented" ],
"avail": "0.0.0",
"hook": "undocumented",
"cmd-syntax": "Syntax of the command",
"cmd-comment": "Possibly some extra comments after the syntax.",
"resp-syntax": "Syntax of the response",
"resp-comment": "Optional extra comments after the resposne syntax."
"brief": "This command is used to delete an IPv6 shared network from the configuration database.",
"support": [ "kea-dhcp6" ],
"avail": "1.6.0",
"hook": "cb_cmds",
"cmd-syntax": "{
\"command\": \"remote-network6-del\",
\"arguments\": {
\"shared-networks\": [
{
\"name\": <shared network name>
}
],
\"subnets-action\": \"keep\" | \"delete\",
\"remote\": {
<specification of the database to connect to>
}
}
}",
"cmd-comment": "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.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"1 IPv6 shared network(s) deleted.\",
\"arguments\": {
\"count\": 1
}
}"
}

View File

@@ -1,12 +1,39 @@
{
"name": "remote-network6-get",
"brief": "a sentence or two explaining what this command does",
"description": "See <xref linkend=\"cmd-\"/>",
"support": [ "undocumented" ],
"avail": "0.0.0",
"hook": "undocumented",
"cmd-syntax": "Syntax of the command",
"cmd-comment": "Possibly some extra comments after the syntax.",
"resp-syntax": "Syntax of the response",
"resp-comment": "Optional extra comments after the resposne syntax."
"brief": "This command is used to fetch selected IPv6 shared network for the server from the specified database.",
"support": [ "kea-dhcp6" ],
"avail": "1.6.0",
"hook": "cb_cmds",
"cmd-syntax": "{
\"command\": \"remote-network6-get\"
\"arguments\": {
\"shared-networks\": [
{
\"name\": <shared network name>
}
],
\"subnets-include\": \"full\" | \"no\",
\"remote\": {
<specification of the database to connect to>
}
}
}",
"cmd-comment": "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.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"IPv6 shared network found.\",
\"arguments\": {
\"shared-networks\": [
{
\"name\": <shared network name>,
\"metadata\": {
\"server-tag\": <server tag>
},
<the rest of the shared network information, potentially including subnets>
}
],
\"count\": 1
}
}",
"resp-comment": "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."
}

View File

@@ -1,12 +1,38 @@
{
"name": "remote-network6-list",
"brief": "a sentence or two explaining what this command does",
"description": "See <xref linkend=\"cmd-\"/>",
"support": [ "undocumented" ],
"avail": "0.0.0",
"hook": "undocumented",
"cmd-syntax": "Syntax of the command",
"cmd-comment": "Possibly some extra comments after the syntax.",
"resp-syntax": "Syntax of the response",
"resp-comment": "Optional extra comments after the resposne syntax."
"brief": "This command is used to fetch a list of all IPv6 shared networks from the configuration database.",
"support": [ "kea-dhcp6" ],
"avail": "1.6.0",
"hook": "cb_cmds",
"cmd-syntax": "{
\"command\": \"remote-network6-list\"
\"arguments\": {
\"remote\": {
<specification of the database to connect to>
}
}
}",
"cmd-comment": "This command contains no arguments besides the optional <command>remote</command>.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"2 IPv6 shared network(s) found.\",
\"arguments\": {
\"shared-networks\": [
{
\"name\": <first shared network name>,
\"metadata\": {
\"server-tag\": <server tag>
}
},
{
\"name\": <second shared network name>,
\"metadata\": {
\"server-tag\": <server tag>
}
}
],
\"count\": 2
}
}",
"resp-comment": "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."
}

View File

@@ -1,12 +1,25 @@
{
"name": "remote-network6-set",
"brief": "a sentence or two explaining what this command does",
"description": "See <xref linkend=\"cmd-\"/>",
"support": [ "undocumented" ],
"avail": "0.0.0",
"hook": "undocumented",
"cmd-syntax": "Syntax of the command",
"cmd-comment": "Possibly some extra comments after the syntax.",
"resp-syntax": "Syntax of the response",
"resp-comment": "Optional extra comments after the resposne syntax."
"brief": "This command is used to create or replace an IPv6 shared network in the configuration database.",
"support": [ "kea-dhcp6" ],
"avail": "1.6.0",
"hook": "cb_cmds",
"cmd-syntax": "{
\"command\": \"remote-network6-set\",
\"arguments\": {
\"shared-networks\": [
{
<shared network specification excluding subnets list>
}
],
\"remote\": {
<specification of the database to connect to>
}
}
}",
"cmd-comment": "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.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"IPv6 shared network successfully set.\"
}"
}

View File

@@ -1,7 +1,6 @@
{
"name": "remote-option-def4-del",
"brief": "This command is used to delete a DHCPv4 option definition from the configuration database.",
"description": "See <xref linkend=\"cmd-remote-option-def4-del\"/>",
"support": [ "kea-dhcp4" ],
"avail": "1.6.0",
"hook": "cb_cmds",
@@ -17,7 +16,7 @@
}
}
}",
"cmd-comment": "This command includes a list with exactly one option definition specification comprising an option name and code. The <command>remote</command> map contains specification of the backend from which the shared network should be deleted. Typically it contains \"type\": \"mysql\".",
"cmd-comment": "This command includes a list with exactly one option definition specification comprising an option name and code.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"1 DHCPv4 option definition(s) deleted.\",

View File

@@ -1,7 +1,6 @@
{
"name": "remote-option-def4-get-all",
"brief": "This command is used to fetch all option definitions for the server from the specified database.",
"description": "See <xref linkend=\"cmd-remote-option-def4-get-all\"/>",
"brief": "This command is used to fetch all DHCPv4 option definitions from the configuration database.",
"support": [ "kea-dhcp4" ],
"avail": "1.6.0",
"hook": "cb_cmds",
@@ -13,7 +12,7 @@
}
}
}",
"cmd-comment": "The <command>remote</command> map contains specification of the backend from which the global parameters should be fetched. Typically it contains \"type\": \"mysql\".",
"cmd-comment": "This command contains no arguments besides the optional <command>remote</command>.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"2 DHCPv4 option definition(s) found.\",
@@ -32,7 +31,7 @@
}
}
],
\"count\": <count of the objects returned>
\"count\": 2
}
}",
"resp-comment": "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."

View File

@@ -1,33 +1,36 @@
{
"name": "remote-option-def4-get",
"brief": "This command is used to fetch DHCPv4 option definition for the server from the specified database.",
"description": "See <xref linkend=\"cmd-remote-option-def4-get\"/>",
"brief": "This command is used to fetch a DHCPv4 option definition from the configuration database.",
"support": [ "kea-dhcp4" ],
"avail": "1.6.0",
"hook": "cb_cmds",
"cmd-syntax": "{
\"command\": \"remote-option-def4-get\",
\"arguments\": {
\"option-defs\": [ {
\"option-defs\": [
{
\"code\": <option code>,
\"space\": <option space>
} ],
}
],
\"remote\": {
<specification of the database to connect to>
}
}
}",
"cmd-comment": "The desired option definition is identified by the pair of option code/space values. The <command>remote</command> map contains specification of the backend from which the global parameters should be fetched. Typically it contains \"type\": \"mysql\".",
"cmd-comment": "The desired option definition is identified by the pair of the option code/space values.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"DHCPv4 option definition 222 in 'dhcp4' found.\",
\"text\": \"DHCPv4 option definition found.\",
\"arguments\": {
\"option-defs\": [ {
\"option-defs\": [
{
<option definition>,
\"metadata\": {
\"server-tag\": <server tag>
}
} ],
}
],
\"count\": 1
}
}",

View File

@@ -1,23 +1,23 @@
{
"name": "remote-option-def4-set",
"brief": "This command is used to create or update DHCPv4 option definition for the server in the specified database.",
"description": "See <xref linkend=\"cmd-remote-option-def4-set\"/>",
"brief": "This command is used to create or replace DHCPv4 option definition in the configuration database.",
"support": [ "kea-dhcp4" ],
"avail": "1.6.0",
"hook": "cb_cmds",
"cmd-syntax": "{
\"command\": \"remote-option-def4-set\",
\"service\": [ \"dhcp4\" ],
\"arguments\": {
\"option-defs\": [ {
\"option-defs\": [
{
<option definition specification>
} ],
}
],
\"remote\": {
<specification of the database to connect to>
}
}
}",
"cmd-comment": "The provided list must contain exactly one option definition specification. The <command>remote</command> map contains specification of the backend where shared network should be set. Typically it contains \"type\": \"mysql\".",
"cmd-comment": "The provided list must contain exactly one option definition specification.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"DHCPv4 option definition set.\"

View File

@@ -1,12 +1,29 @@
{
"name": "remote-option-def6-del",
"brief": "a sentence or two explaining what this command does",
"description": "See <xref linkend=\"cmd-\"/>",
"support": [ "undocumented" ],
"avail": "0.0.0",
"hook": "undocumented",
"cmd-syntax": "Syntax of the command",
"cmd-comment": "Possibly some extra comments after the syntax.",
"resp-syntax": "Syntax of the response",
"resp-comment": "Optional extra comments after the resposne syntax."
"brief": "This command is used to delete a DHCPv6 option definition from the configuration database.",
"support": [ "kea-dhcp6" ],
"avail": "1.6.0",
"hook": "cb_cmds",
"cmd-syntax": "{
\"command\": \"remote-option-def6-del\",
\"arguments\": {
\"option-defs\": [
{
\"code\": <option code>,
\"space\": <option space
}
],
\"remote\": {
<specification of the database to connect to>
}
}
}",
"cmd-comment": "This command includes a list with exactly one option definition specification comprising an option name and code.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"1 DHCPv6 option definition(s) deleted.\",
\"arguments\": {
\"count\": 1
}
}"
}

View File

@@ -1,12 +1,38 @@
{
"name": "remote-option-def6-get-all",
"brief": "a sentence or two explaining what this command does",
"description": "See <xref linkend=\"cmd-\"/>",
"support": [ "undocumented" ],
"avail": "0.0.0",
"hook": "undocumented",
"cmd-syntax": "Syntax of the command",
"cmd-comment": "Possibly some extra comments after the syntax.",
"resp-syntax": "Syntax of the response",
"resp-comment": "Optional extra comments after the resposne syntax."
"brief": "This command is used to fetch all DHCPv6 option definitions from the configuration database.",
"support": [ "kea-dhcp6" ],
"avail": "1.6.0",
"hook": "cb_cmds",
"cmd-syntax": "{
\"command\": \"remote-option-def6-get-all\"
\"arguments\": {
\"remote\": {
<specification of the database to connect to>
}
}
}",
"cmd-comment": "This command contains no arguments besides the optional <command>remote</command>.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"2 DHCPv6 option definition(s) found.\",
\"arguments\": {
\"option-defs\": [
{
<first option definition>,
\"metadata\": {
\"server-tag\": <server tag>
}
},
{
<second option definition>,
\"metadata\": {
\"server-tag\": <server tag>
}
}
],
\"count\": 2
}
}",
"resp-comment": "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."
}

View File

@@ -1,12 +1,38 @@
{
"name": "remote-option-def6-get",
"brief": "a sentence or two explaining what this command does",
"description": "See <xref linkend=\"cmd-\"/>",
"support": [ "undocumented" ],
"avail": "0.0.0",
"hook": "undocumented",
"cmd-syntax": "Syntax of the command",
"cmd-comment": "Possibly some extra comments after the syntax.",
"resp-syntax": "Syntax of the response",
"resp-comment": "Optional extra comments after the resposne syntax."
"brief": "This command is used to fetch a DHCPv6 option definition from the configuration database.",
"support": [ "kea-dhcp6" ],
"avail": "1.6.0",
"hook": "cb_cmds",
"cmd-syntax": "{
\"command\": \"remote-option-def6-get\",
\"arguments\": {
\"option-defs\": [
{
\"code\": <option code>,
\"space\": <option space>
}
],
\"remote\": {
<specification of the database to connect to>
}
}
}",
"cmd-comment": "The desired option definition is identified by the pair of the option code/space values.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"DHCPv6 option definition found.\",
\"arguments\": {
\"option-defs\": [
{
<option definition>,
\"metadata\": {
\"server-tag\": <server tag>
}
}
],
\"count\": 1
}
}",
"resp-comment": "The metadata is included and it provides database specific information associated with the returned object."
}

View File

@@ -1,12 +1,25 @@
{
"name": "remote-option-def6-set",
"brief": "a sentence or two explaining what this command does",
"description": "See <xref linkend=\"cmd-\"/>",
"support": [ "undocumented" ],
"avail": "0.0.0",
"hook": "undocumented",
"cmd-syntax": "Syntax of the command",
"cmd-comment": "Possibly some extra comments after the syntax.",
"resp-syntax": "Syntax of the response",
"resp-comment": "Optional extra comments after the resposne syntax."
"brief": "This command is used to create or replace DHCPv6 option definition in the configuration database.",
"support": [ "kea-dhcp6" ],
"avail": "1.6.0",
"hook": "cb_cmds",
"cmd-syntax": "{
\"command\": \"remote-option-def6-set\",
\"arguments\": {
\"option-defs\": [
{
<option definition specification>
}
],
\"remote\": {
<specification of the database to connect to>
}
}
}",
"cmd-comment": "The provided list must contain exactly one option definition specification.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"DHCPv6 option definition set.\"
}"
}

View File

@@ -1,27 +1,29 @@
{
"name": "remote-option4-global-del",
"brief": "This command is used to delete a DHCPv4 global option from the configuration database.",
"description": "See <xref linkend=\"cmd-remote-option4-global-del\"/>",
"support": [ "kea-dhcp4" ],
"avail": "1.6.0",
"hook": "cb_cmds",
"cmd-syntax": "{
\"command\": \"remote-option4-global-del\",
\"arguments\": {
\"options\": [ {
\"options\": [
{
\"code\": <option code>
\"space\": <option space>
} ],
}
],
\"remote\": {
<specification of the database to connect to>
}
}
}",
"cmd-comment": "This command includes a list with exactly one option specification comprising an option name and code. The <command>remote</command> map contains specification of the backend from which the shared network should be deleted. Typically it contains \"type\": \"mysql\".",
"resp-syntax": "
"cmd-comment": "This command includes a list with exactly one option specification comprising an option name and code.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"1 DHCPv4 option(s) deleted.\",
\"arguments\": {
\"count\": 1
}"
}
}"
}

View File

@@ -1,19 +1,18 @@
{
"name": "remote-option4-global-get-all",
"brief": "This command is used to fetch all DHCPv4 global options for the server from the specified database.",
"description": "See <xref linkend=\"cmd-remote-option4-global-get-all\"/>",
"brief": "This command is used to fetch all DHCPv4 global options for the server from the configuration database.",
"support": [ "kea-dhcp4" ],
"avail": "1.6.0",
"hook": "cb_cmds",
"cmd-syntax": "{
\"command\": \"remote-option4-global-get-all\"
\"command\": \"remote-option4-global-get-all\",
\"arguments\": {
\"remote\": {
<specification of the database to connect to>
}
}
}",
"cmd-comment": "The <command>remote</command> map contains specification of the backend from which the global parameters should be fetched. Typically it contains \"type\": \"mysql\".",
"cmd-comment": "This command takes no arguments besides the optional <command>remote</command> map.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"2 DHCPv4 option(s) found.\",
@@ -32,7 +31,7 @@
}
}
],
\"count\": <count of the objects returned>
\"count\": 2
}
}",
"resp-comment": "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."

View File

@@ -1,7 +1,6 @@
{
"name": "remote-option4-global-get",
"brief": "This command is used to fetch a global DHCPv4 option for the server from the specified database.",
"description": "See <xref linkend=\"cmd-remote-option4-global-get\"/>",
"support": [ "kea-dhcp4" ],
"avail": "1.6.0",
"hook": "cb_cmds",
@@ -18,10 +17,10 @@
<specification of the database to connect to>
}
}",
"cmd-comment": "The option is identified by the pair of option code/space values. The <command>remote</command> map contains specification of the backend from which the option should be fetched. Typically it contains \"type\": \"mysql\".",
"cmd-comment": "The option is identified by the pair of option code/space values.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"DHCPv4 option <option code> in <option space> found.\",
\"text\": \"DHCPv4 option in found.\",
\"arguments\": {
\"options\": [
{

View File

@@ -1,23 +1,23 @@
{
"name": "remote-option4-global-set",
"brief": "This command is used to create or update DHCPv4 global option for the server in the specified database.",
"description": "See <xref linkend=\"cmd-remote-option4-global-set\"/>",
"brief": "This command is used to create or replace a DHCPv4 global option in the configuration database.",
"support": [ "kea-dhcp4" ],
"avail": "1.6.0",
"hook": "cb_cmds",
"cmd-syntax": "{
\"command\": \"remote-option4-global-set\",
\"service\": [ \"dhcp4\" ],
\"arguments\": {
\"options\": [ {
\"options\": [
{
<global option specification>
} ],
}
],
\"remote\": {
<specification of the database to connect to>
}
}
}",
"cmd-comment": "The provided list must cotain exactly one option specification. The <command>remote</command> map contains specification of the backend where shared network should be set. Typically it contains \"type\": \"mysql\".",
"cmd-comment": "The provided list must cotain exactly one option specification.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"DHCPv4 option set.\"

View File

@@ -1,12 +1,29 @@
{
"name": "remote-option6-global-del",
"brief": "a sentence or two explaining what this command does",
"description": "See <xref linkend=\"cmd-\"/>",
"support": [ "undocumented" ],
"avail": "0.0.0",
"hook": "undocumented",
"cmd-syntax": "Syntax of the command",
"cmd-comment": "Possibly some extra comments after the syntax.",
"resp-syntax": "Syntax of the response",
"resp-comment": "Optional extra comments after the resposne syntax."
"brief": "This command is used to delete a DHCPv6 global option from the configuration database.",
"support": [ "kea-dhcp6" ],
"avail": "1.6.0",
"hook": "cb_cmds",
"cmd-syntax": "{
\"command\": \"remote-option6-global-del\",
\"arguments\": {
\"options\": [
{
\"code\": <option code>
\"space\": <option space>
}
],
\"remote\": {
<specification of the database to connect to>
}
}
}",
"cmd-comment": "This command includes a list with exactly one option specification comprising an option name and code.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"1 DHCPv6 option(s) deleted.\",
\"arguments\": {
\"count\": 1
}
}"
}

View File

@@ -1,12 +1,38 @@
{
"name": "remote-option6-global-get-all",
"brief": "a sentence or two explaining what this command does",
"description": "See <xref linkend=\"cmd-\"/>",
"support": [ "undocumented" ],
"avail": "0.0.0",
"hook": "undocumented",
"cmd-syntax": "Syntax of the command",
"cmd-comment": "Possibly some extra comments after the syntax.",
"resp-syntax": "Syntax of the response",
"resp-comment": "Optional extra comments after the resposne syntax."
"brief": "This command is used to fetch all DHCPv6 global options for the server from the configuration database.",
"support": [ "kea-dhcp6" ],
"avail": "1.6.0",
"hook": "cb_cmds",
"cmd-syntax": "{
\"command\": \"remote-option6-global-get-all\",
\"arguments\": {
\"remote\": {
<specification of the database to connect to>
}
}
}",
"cmd-comment": "This command takes no arguments besides the optional <command>remote</command> map.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"2 DHCPv6 option(s) found.\",
\"arguments\": {
\"options\": [
{
<first option specification>,
\"metadata\": {
\"server-tag\": <server tag>
}
},
{
<second option specification>,
\"metadata\": {
\"server-tag\": <server tag>
}
}
],
\"count\": 2
}
}",
"resp-comment": "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."
}

View File

@@ -1,12 +1,36 @@
{
"name": "remote-option6-global-get",
"brief": "a sentence or two explaining what this command does",
"description": "See <xref linkend=\"cmd-\"/>",
"support": [ "undocumented" ],
"avail": "0.0.0",
"hook": "undocumented",
"cmd-syntax": "Syntax of the command",
"cmd-comment": "Possibly some extra comments after the syntax.",
"resp-syntax": "Syntax of the response",
"resp-comment": "Optional extra comments after the resposne syntax."
"brief": "This command is used to delete a DHCPv6 global option from the configuration database.",
"support": [ "kea-dhcp6" ],
"avail": "1.6.0",
"hook": "cb_cmds",
"cmd-syntax": "{
\"command\": \"remote-option6-global-get\",
\"arguments\": {
\"options\": [
{
\"code\": <option code>,
\"space\": <option space>
}
],
\"remote\": {
<specification of the database to connect to>
}
}",
"cmd-comment": "The option is identified by the pair of option code/space values.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"DHCPv6 option found.\",
\"arguments\": {
\"options\": [
{
<option information>,
\"metadata\": {
\"server-tag\": <server tag>
}
}
]
}
}",
"resp-comment": "The metadata is included and it provides database specific information associated with the returned object."
}

View File

@@ -1,12 +1,25 @@
{
"name": "remote-option6-global-set",
"brief": "a sentence or two explaining what this command does",
"description": "See <xref linkend=\"cmd-\"/>",
"support": [ "undocumented" ],
"avail": "0.0.0",
"hook": "undocumented",
"cmd-syntax": "Syntax of the command",
"cmd-comment": "Possibly some extra comments after the syntax.",
"resp-syntax": "Syntax of the response",
"resp-comment": "Optional extra comments after the resposne syntax."
"brief": "This command is used to create or replace a DHCPv6 global option in the configuration database.",
"support": [ "kea-dhcp6" ],
"avail": "1.6.0",
"hook": "cb_cmds",
"cmd-syntax": "{
\"command\": \"remote-option6-global-set\",
\"arguments\": {
\"options\": [
{
<global option specification>
}
],
\"remote\": {
<specification of the database to connect to>
}
}
}",
"cmd-comment": "The provided list must cotain exactly one option specification.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"DHCPv6 option set.\"
}"
}

View File

@@ -1,23 +1,23 @@
{
"name": "remote-subnet4-del-by-id",
"brief": "This command is used to delete an IPv4 subnet by ID from the configuration database.",
"description": "See <xref linkend=\"cmd-remote-subnet4-del-by-id\"/>",
"support": [ "kea-dhcp4" ],
"avail": "1.6.0",
"hook": "cb_cmds",
"cmd-syntax": "{
\"command\": \"remote-subnet4-del-by-id\",
\"service\": [ \"dhcp4\" ],
\"arguments\": {
\"subnets\": [ {
\"subnets\": [
{
\"id\": <subnet identifier>
} ],
}
],
\"remote\": {
<specification of the database to connect to>
}
}
}",
"cmd-comment": "This command includes a list with exactly one id of the subnet to be deleted. The <command>remote</command> map contains specification of the backend from which the subnet should be deleted. Typically it contains \"type\": \"mysql\".",
"cmd-comment": "This command includes a list with exactly one id of the subnet to be deleted.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"1 IPv4 subnet(s) deleted.\",

View File

@@ -1,23 +1,23 @@
{
"name": "remote-subnet4-del-by-prefix",
"brief": "This command is used to delete an IPv4 subnet by prefix from the configuration database.",
"description": "See <xref linkend=\"cmd-remote-subnet4-del-by-id\"/>",
"support": [ "kea-dhcp4" ],
"avail": "1.6.0",
"hook": "cb_cmds",
"cmd-syntax": "{
\"command\": \"remote-subnet4-del-by-prefix\",
\"service\": [ \"dhcp4\" ],
\"arguments\": {
\"subnets\": [ {
\"subnets\": [
{
\"subnet\": <subnet prefix>
} ],
}
],
\"remote\": {
<specification of the database to connect to>
}
}
}",
"cmd-comment": "This command includes a list with exactly one prefix of the subnet to be deleted. The <command>remote</command> map contains specification of the backend from which the subnet should be deleted. Typically it contains \"type\": \"mysql\".",
"cmd-comment": "This command includes a list with exactly one prefix of the subnet to be deleted.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"1 IPv4 subnet(s) deleted.\",

View File

@@ -1,7 +1,6 @@
{
"name": "remote-subnet4-get-by-id",
"brief": "This command is used to fetch selected IPv4 subnet by ID for the server from the specified database.",
"description": "See <xref linkend=\"cmd-remote-subnet4-get-by-id\"/>",
"brief": "This command is used to fetch selected IPv4 subnet by ID for the server from the configuration database.",
"support": [ "kea-dhcp4" ],
"avail": "1.6.0",
"hook": "cb_cmds",
@@ -16,10 +15,10 @@
}
}
}",
"cmd-comment": "This command includes a list with exactly one id of the subnet to be returned. The <command>remote</command> map contains specification of the backend from which the subnet should be fetched. Typically it contains \"type\": \"mysql\".",
"cmd-comment": "This command includes a list with exactly one id of the subnet to be returned.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"IPv4 subnet 123 found.\",
\"text\": \"IPv4 subnet found.\",
\"arguments\": {
\"subnets\": [ {
\"id\": <subnet identifier>
@@ -33,5 +32,5 @@
\"count\": 1
}
}",
"resp-comment": "The metadata is included in the returned subnet definition and it provides database specific information associated with the returned object."
"resp-comment": "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."
}

View File

@@ -1,7 +1,6 @@
{
"name": "remote-subnet4-get-by-prefix",
"brief": "This command is used to fetch selected IPv4 subnet by prefix for the server from the specified database.",
"description": "See <xref linkend=\"cmd-remote-subnet4-get-by-prefix\"/>",
"brief": "This command is used to fetch selected IPv4 subnet by prefix from the configuration database.",
"support": [ "kea-dhcp4" ],
"avail": "1.6.0",
"hook": "cb_cmds",
@@ -16,12 +15,13 @@
}
}
}",
"cmd-comment": "This command includes a list with exactly one prefix of the subnet to be returned. The <command>remote</command> map contains specification of the backend from which the subnet should be fetched. Typically it contains \"type\": \"mysql\".",
"cmd-comment": "This command includes a list with exactly one prefix of the subnet to be returned.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"IPv4 subnet 123 found.\",
\"text\": \"IPv4 subnet found.\",
\"arguments\": {
\"subnets\": [ {
\"subnets\": [
{
\"id\": <subnet identifier>
\"subnet\": <subnet prefix>,
\"shared-network-name\": <shared network name> | null,
@@ -29,9 +29,10 @@
\"server-tag\": <server tag>
},
<the rest of the subnet specification here>
} ],
}
],
\"count\": 1
}
}",
"resp-comment": "The metadata is included in the returned subnet definition and it provides database specific information associated with the returned object."
"resp-comment": "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."
}

View File

@@ -1,7 +1,6 @@
{
"name": "remote-subnet4-list",
"brief": "This command is used to fetch a list of all IPv4 shared networks for the particular server from the specified database.",
"description": "See <xref linkend=\"cmd-remote-subnet4-list\"/>",
"brief": "This command is used to fetch a list of all IPv4 subnets from the configuration database.",
"support": [ "kea-dhcp4" ],
"avail": "1.6.0",
"hook": "cb_cmds",
@@ -13,7 +12,7 @@
}
}
}",
"cmd-comment": "The <command>remote</command> map contains specification of the backend from which the subnets should be fetched. Typically it contains \"type\": \"mysql\".",
"cmd-comment": "This command includes no arguments besides the optional <command>remote</command> map.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"2 IPv4 subnets found.\",

View File

@@ -1,25 +1,26 @@
{
"name": "remote-subnet4-set",
"brief": "This command is used to create or update IPv4 subnet for a server in the specified database.",
"description": "See <xref linkend=\"cmd-remote-subnet4-set\"/>",
"brief": "This command is used to create or replace an IPv4 subnet the configuration database.",
"support": [ "kea-dhcp4" ],
"avail": "1.6.0",
"hook": "cb_cmds",
"cmd-syntax": "{
\"command\": \"remote-subnet4-set\",
\"arguments\": {
\"subnets\": [ {
\"subnets\": [
{
\"id\": <subnet identifier>,
\"subnet\": <subnet prefix>,
\"shared-network-name\": <shared network name>
\"shared-network-name\": <shared network name> | null
<the rest of the subnet specification here>
} ],
}
],
\"remote\": {
<specification of the database to connect to>
}
}
}",
"cmd-comment": "The provided list must contain exactly one subnet specification. The <command>remote</command> map contains specification of the backend where shared network should be set. Typically it contains \"type\": \"mysql\".",
"cmd-comment": "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.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"IPv4 subnet successfully set.\",

View File

@@ -1,12 +1,28 @@
{
"name": "remote-subnet6-del-by-id",
"brief": "a sentence or two explaining what this command does",
"description": "See <xref linkend=\"cmd-\"/>",
"support": [ "undocumented" ],
"avail": "0.0.0",
"hook": "undocumented",
"cmd-syntax": "Syntax of the command",
"cmd-comment": "Possibly some extra comments after the syntax.",
"resp-syntax": "Syntax of the response",
"resp-comment": "Optional extra comments after the resposne syntax."
"brief": "This command is used to delete an IPv6 subnet by ID from the configuration database.",
"support": [ "kea-dhcp6" ],
"avail": "1.6.0",
"hook": "cb_cmds",
"cmd-syntax": "{
\"command\": \"remote-subnet6-del-by-id\",
\"arguments\": {
\"subnets\": [
{
\"id\": <subnet identifier>
}
],
\"remote\": {
<specification of the database to connect to>
}
}
}",
"cmd-comment": "This command includes a list with exactly one id of the subnet to be deleted.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"1 IPv6 subnet(s) deleted.\",
\"arguments\": {
\"count\": 1
}
}"
}

View File

@@ -1,12 +1,28 @@
{
"name": "remote-subnet6-del-by-prefix",
"brief": "a sentence or two explaining what this command does",
"description": "See <xref linkend=\"cmd-\"/>",
"support": [ "undocumented" ],
"avail": "0.0.0",
"hook": "undocumented",
"cmd-syntax": "Syntax of the command",
"cmd-comment": "Possibly some extra comments after the syntax.",
"resp-syntax": "Syntax of the response",
"resp-comment": "Optional extra comments after the resposne syntax."
"brief": "This command is used to delete an IPv6 subnet by prefix from the configuration database.",
"support": [ "kea-dhcp6" ],
"avail": "1.6.0",
"hook": "cb_cmds",
"cmd-syntax": "{
\"command\": \"remote-subnet6-del-by-prefix\",
\"arguments\": {
\"subnets\": [
{
\"subnet\": <subnet prefix>
}
],
\"remote\": {
<specification of the database to connect to>
}
}
}",
"cmd-comment": "This command includes a list with exactly one prefix of the subnet to be deleted.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"1 IPv6 subnet(s) deleted.\",
\"arguments\": {
\"count\": 1
}
}"
}

View File

@@ -1,12 +1,40 @@
{
"name": "remote-subnet6-get-by-id",
"brief": "a sentence or two explaining what this command does",
"description": "See <xref linkend=\"cmd-\"/>",
"support": [ "undocumented" ],
"avail": "0.0.0",
"hook": "undocumented",
"cmd-syntax": "Syntax of the command",
"cmd-comment": "Possibly some extra comments after the syntax.",
"resp-syntax": "Syntax of the response",
"resp-comment": "Optional extra comments after the resposne syntax."
"brief": "This command is used to fetch selected IPv6 subnet by ID for the server from the configuration database.",
"support": [ "kea-dhcp6" ],
"avail": "1.6.0",
"hook": "cb_cmds",
"cmd-syntax": "{
\"command\": \"remote-subnet6-get-by-id\"
\"arguments\": {
\"subnets\": [
{
\"id\": <subnet identifier>
}
],
\"remote\": {
<specification of the database to connect to>
}
}
}",
"cmd-comment": "This command includes a list with exactly one id of the subnet to be returned.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"IPv6 subnet found.\",
\"arguments\": {
\"subnets\": [
{
\"id\": <subnet identifier>
\"subnet\": <subnet prefix>,
\"shared-network-name\": <shared network name> | null,
\"metadata\": {
\"server-tag\": <server tag>
},
<the rest of the subnet specification here>
}
],
\"count\": 1
}
}",
"resp-comment": "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."
}

View File

@@ -1,12 +1,38 @@
{
"name": "remote-subnet6-get-by-prefix",
"brief": "a sentence or two explaining what this command does",
"description": "See <xref linkend=\"cmd-\"/>",
"support": [ "undocumented" ],
"avail": "0.0.0",
"hook": "undocumented",
"cmd-syntax": "Syntax of the command",
"cmd-comment": "Possibly some extra comments after the syntax.",
"resp-syntax": "Syntax of the response",
"resp-comment": "Optional extra comments after the resposne syntax."
"brief": "This command is used to fetch selected IPv6 subnet by prefix from the configuration database.",
"support": [ "kea-dhcp6" ],
"avail": "1.6.0",
"hook": "cb_cmds",
"cmd-syntax": "{
\"command\": \"remote-subnet4-get-by-prefix\"
\"arguments\": {
\"subnets\": [
{
\"subnet\": <subnet prefix>
}
],
\"remote\": {
<specification of the database to connect to>
}
}
}",
"cmd-comment": "This command includes a list with exactly one prefix of the subnet to be returned.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"IPv6 subnet found.\",
\"arguments\": {
\"subnets\": [ {
\"id\": <subnet identifier>
\"subnet\": <subnet prefix>,
\"shared-network-name\": <shared network name> | null,
\"metadata\": {
\"server-tag\": <server tag>
},
<the rest of the subnet specification here>
} ],
\"count\": 1
}
}",
"resp-comment": "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."
}

View File

@@ -1,12 +1,42 @@
{
"name": "remote-subnet6-list",
"brief": "a sentence or two explaining what this command does",
"description": "See <xref linkend=\"cmd-\"/>",
"support": [ "undocumented" ],
"avail": "0.0.0",
"hook": "undocumented",
"cmd-syntax": "Syntax of the command",
"cmd-comment": "Possibly some extra comments after the syntax.",
"resp-syntax": "Syntax of the response",
"resp-comment": "Optional extra comments after the resposne syntax."
"brief": "This command is used to fetch a list of all IPv6 subnets from the configuration database.",
"support": [ "kea-dhcp6" ],
"avail": "1.6.0",
"hook": "cb_cmds",
"cmd-syntax": "{
\"command\": \"remote-subnet6-list\"
\"arguments\": {
\"remote\": {
<specification of the database to connect to>
}
}
}",
"cmd-comment": "This command includes no arguments besides the optional <command>remote</command> map.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"2 IPv6 subnets found.\",
\"arguments\": {
\"subnets\": [
{
\"id\": <first subnet identifier>,
\"subnet\": <first subnet prefix>,
\"shared-network-name\": <shared network name> | null,
\"metadata\": {
\"server-tag\": <server tag>
}
},
{
\"id\": <second subnet identifier>,
\"subnet\": <second subnet prefix>,
\"shared-network-name\": <shared network name> | null,
\"metadata\": {
\"server-tag\": <server tag>
}
}
],
\"count\": 2
}
}",
"resp-comment": "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."
}

View File

@@ -1,12 +1,28 @@
{
"name": "remote-subnet6-set",
"brief": "a sentence or two explaining what this command does",
"description": "See <xref linkend=\"cmd-\"/>",
"support": [ "undocumented" ],
"avail": "0.0.0",
"hook": "undocumented",
"cmd-syntax": "Syntax of the command",
"cmd-comment": "Possibly some extra comments after the syntax.",
"resp-syntax": "Syntax of the response",
"resp-comment": "Optional extra comments after the resposne syntax."
"brief": "This command is used to create or replace an IPv4 subnet the configuration database.",
"support": [ "kea-dhcp6" ],
"avail": "1.6.0",
"hook": "cb_cmds",
"cmd-syntax": "{
\"command\": \"remote-subnet6-set\",
\"arguments\": {
\"subnets\": [
{
\"id\": <subnet identifier>,
\"subnet\": <subnet prefix>,
\"shared-network-name\": <shared network name> | null
<the rest of the subnet specification here>
}
],
\"remote\": {
<specification of the database to connect to>
}
}
}",
"cmd-comment": "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.",
"resp-syntax": "{
\"result\": 0,
\"text\": \"IPv6 subnet successfully set.\",
}"
}

File diff suppressed because it is too large Load Diff

View File

@@ -6,18 +6,23 @@
- file, you can obtain one at http://mozilla.org/MPL/2.0/.
-->
<section xml:id="cb-cmds-library">
<section id="cb-cmds-library">
<title>cb_cmds: Configuration Backend Commands</title>
<para>
This section describes the <command>cb_cmds</command> hooks library
which is used to manage Kea servers' configurations in the Configuration
Backends. The hooks library uses available CB implementations to
perform CRUD operations on the data held in the respective Configuration
Backends.
which is used to manage Kea servers' configurations with the Configuration
Backends. This library must be used in conjuction with available CB
implementations, which provide the common APIs to create, read, update
and delete (CRUD) the configuration information in the respective
databases. For example: the <command>mysql_cb</command> hooks library
released in Kea 1.6.0 implements this API for MySQL. In order to manage
the configuration information in the MySQL database both
<command>mysql_cb</command> and <command>cb_cmds</command> libraries
must be loaded by the server used for the configuration management.
</para>
<para>This library is only available to ISC customers with a
support contract.
<para>The <command>cb_cmds</command> library is only available to ISC
customers with a support contract.
<note>
<para>This library may only be loaded by the <command>kea-dhcp4</command>
@@ -31,21 +36,25 @@
<para>There are 5 types of commands supported by this library:</para>
<itemizedlist>
<listitem><simpara><command>del</command> - delete selected object from the
database,</simpara></listitem>
database, e.g. <command>remote-global-parameter4-del</command>
</simpara></listitem>
<listitem><simpara><command>get</command> - fetch selected object from the
database,</simpara></listitem>
database, e.g. <command>remote-subnet4-get</command>,</simpara></listitem>
<listitem><simpara><command>get-all</command> - fetch all objects of the
particular type from the database,</simpara></listitem>
particular type from the database, e.g.
<command>remote-option-def4-get-all</command>,</simpara></listitem>
<listitem><simpara><command>list</command> - list all objects of the particular
type from the database; brief information about the listed objects is
returned, comparing to the output of <command>get-all</command>,</simpara>
type in the database, e.g. <command>remote-network4-list</command>; this class
of commands returns brief information about each object comparing to the output
of <command>get-all</command>,</simpara>
</listitem>
<listitem><simpara><command>set</command> - creates or updates an object
of the given type in the database.</simpara></listitem>
<listitem><simpara><command>set</command> - creates or replaces an object
of the given type in the database, e.g. <command>remote-option4-global-set</command>
.</simpara></listitem>
</itemizedlist>
<para>All commands accept optional <command>remote</command> map which selects
the database instance to which the command refers. For example:
<para>All types commands accept optional <command>remote</command> map which
selects the database instance to which the command refers. For example:
<screen>
{
"command": "remote-subnet4-list",
@@ -73,29 +82,94 @@
<note>
<para>
In Kea 1.6.0 beta release it is possible to configure Kea instance to
use only one configuration backend with the <command>config-control</command>
parameter. Therefore, in this release the <command>remote</command>
parameter is redundant in the commands supported by this library.
In the Kea 1.6.0 release, it is possible to configure Kea server to
use only one configuration backend. Strictly speaking it is possible
to point Kea server to at most one MySQL database using the
<command>config-control</command> parameter. That's why in this
release the <command>remote</command> parameter may be omitted in
the commands because the cb_cmds hooks library will by default use
the sole backend.
</para>
</note>
</section>
<section xml:id="cb-cmds4">
<title>Control Commands for DHCPv4 Servers</title>
<para>The following commands are supported by the <command>cb_cmds</command>
hooks library to manage the configuration information in the configuration
backends.</para>
<section id="cb-cmds-dhcp">
<title>Control Commands for DHCP Servers</title>
<para>This section describes and gives some examples of the control
commands provided by the <command>cb_cmds</command> hooks library to manage
the configuration information for the DHCPv4 and DHCPv6 server. Many of the
commands are almost identical between DHCPv4 and DHCPv6, i.e. only differ by
command name. Other commands slightly differ by the structure of the inserted
data, e.g. structure of the IPv4 subnet information is different than the
structure of the IPv6 subnet. Nevertheless, they still share the structure of
the command arguments and thus it makes sense to describe them together.</para>
<section xml:id="command-remote-global-parameter4-del">
<title>remote-global-parameter4-del</title>
<para>This command is used to delete a global DHCPv4 parameter from the
configuration database. When the parameter is deleted from the 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.</para>
<para>The following command attempts to delete the
<para>In the following sections various commands are described and the
usage examples are provided. In the sections jointly describing the DHCPv4 and
DHCPv6 variants of the particular command we sometimes use the following
notation - the <command>remote-subnet[46]-set</command> is the wildcard
name for the two commands: <command>remote-subnet4-set</command> and
<command>remote-subnet6-set</command>.</para>
<para>In addition, whenever the text in the subsequent sections refers to a
DHCP command or DHCP parameter, it refers to both DHCPv4 and DHCPv6
case. The text specific to the particular server type refers to them as:
DHCPv4 command, DHCPv4 parameter, DHCPv6 command, DHCPv6 parameter etc.
</para>
<section id="cb-cmds-metadata">
<title>Metadata</title>
<para>A typical response to the <command>get</command> or <command>list</command>
command includes a list of returned objects (e.g. subnets) and each such
object contains the <command>metadata</command> map including some
database specific information for this object. In other words, the metadata
is meant to contain any information about the fetched object which may be
useful for the administrator, but is not the part of the object
specification from the DHCP server standpoint. In the Kea 1.6.0 release, the
metadata is limited to the <command>server-tag</command>, which describes
the association of the object with the particular server. The server tag
is always set to <command>all</command> in the Kea 1.6.0 beta release because
this release does not provide API calls to make associatiions of the
configuration objects with any specific servers, i.e. every object is
associated with all servers using the particular database instance.
</para>
<para>The following is the example response to the <command>remote-network4-list</command>
including the metadata:
<screen>
{
"result": 0,
"text": "1 IPv4 shared network(s) found.",
"arguments": {
"shared-networks": [
{
"name": "level3",
"metadata": {
"server-tag": "all"
}
}
],
"count": 1
}
}
</screen>
</para>
<para>Client implementations must not assume that the metadata contains
only the <command>server-tag</command> parameter. In the future releases
this map will be extended with additional information, e.g. object
modification time, log message created during the last modification etc.
</para>
</section>
<section id="command-remote-global-parameter4-del">
<title>remote-global-parameter4-del, remote-global-parameter6-del commands</title>
<para id="command-remote-global-parameter6-del">This command is used to
delete a global DHCP parameter from the configuration database. When the
parameter is deleted from the database the server will use the value
specified in the configuration file for this parameter or a default
value if the parameter is not specified in the configuration file.</para>
<para>The following command attempts to delete the DHCPv4
<command>renew-timer</command> parameter from the database:
<screen>
{
@@ -111,12 +185,12 @@
</para>
</section>
<section xml:id="command-remote-global-parameter4-get">
<title>remote-global-parameter4-get</title>
<para>This command is used to fetch a global DHCPv4 parameter from the
configuration database.</para>
<para>The following commands attempt to fetch the
<command>boot-file-name</command> parameter from the database:
<section id="command-remote-global-parameter4-get">
<title>remote-global-parameter4-get, remote-global-parameter6-get commands</title>
<para id="command-remote-global-parameter6-get">These commands are used to
fetch a scalar global DHCP parameter from the configuration database.</para>
<para>The following command attempts to fetch the
<command>boot-file-name</command> parameter:
<screen>
{
"command": "remote-global-parameter4-get",
@@ -130,9 +204,11 @@
</screen>
</para>
<para>
The returned value may have one of 4 types: string, integer, real
or boolean. In case of the <command>boot-file-name</command> the
string value is returned, e.g.:
The returned value has one of the four scalar types: string, integer, real
or boolean. Non scalar global configuration parameters, such as map or list,
are not returned by this command.</para>
<para>In case of the example above the string value is returned, e.g.:
<screen>
{
"result": 0,
@@ -151,7 +227,7 @@
</para>
<para>
The example response for an integer value is:
The example response for the integer value is:
<screen>
{
"result": 0,
@@ -170,7 +246,7 @@
</para>
<para>
The integer value:
The real value:
<screen>
{
"result": 0,
@@ -208,20 +284,20 @@
</para>
</section>
<section xml:id="command-remote-global-parameter4-get-all">
<title>remote-global-parameter4-get-all</title>
<para>This command is used to fetch all global DHCPv4 parameters from
the database. It includes no arguments besides an optional
<command>remote</command> argument.</para>
<section id="command-remote-global-parameter4-get-all">
<title>remote-global-parameter4-get-all, remote-global-parameter6-get-all commands</title>
<para id="command-remote-global-parameter6-get-all">These commands are used to
fetch all global DHCP parameters from the database. They include no arguments
besides the optional <command>remote</command> map.</para>
</section>
<section xml:id="command-remote-global-parameter4-set">
<section id="command-remote-global-parameter4-set">
<title>remote-global-parameter4-set</title>
<para>This command is used to create global DHCPv4 parameters in the database.
If any of the parameters parameter already exists, its value is replaced
as a result of this command. It is possible to set multiple parameters within
a single command, each having one of the 4 types: a string, integer, real
and boolean.
<para id="command-remote-global-parameter6-set">This command is used to
create scalar global DHCP parameters in the database. If any of the parameters
already exists, its value is replaced as a result of this command. It is
possible to set multiple parameters within a single command, each having
one of the four types: a string, integer, real and boolean. For example:
<screen>
{
"command": "remote-global-parameter4-set"
@@ -239,28 +315,36 @@
}
</screen>
</para>
<para>
If any of the parameters is not supported by the DHCPv4 server or its
type doesn't match, an error is returned.
</para>
<para>An error is returned if any of the parameters is not supported by the
DHCP server or its type does not match. Care should be taken when
multiple parameters are specified in a single command because it is
possible that only some of the parameters are stored successfully and
some fail. If an error occurred when processing this command, it is
recommended to use <command>remote-global-parameter[46]-get-all</command>
to check which of the parameters have been stored/updated successfully
and which failed.</para>
</section>
<section xml:id="command-remote-network4-del">
<title>remote-network4-del</title>
<para>This command is used to delete IPv4 shared network from the database.
The optional parameter <command>subnets-action</command> specifies whether
the subnets belonging to the deleted shared network should be also deleted
or preserved. The <command>subnets-action</command> defaults to
<command>keep</command>, which preserves the subnets. If this parameter
is set to <command>delete</command>, the subnets are deleted along with
the shared network. For example:
<section id="command-remote-network4-del">
<title>remote-network4-del, remote-network6-del commands</title>
<para id="command-remote-network6-del">These commands are used to delete an
IPv4 or IPv6 shared network from the database. The optional parameter
<command>subnets-action</command> determines whether the subnets belonging
to the deleted shared network should also be deleted or preserved.
The <command>subnets-action</command> defaults to <command>keep</command>,
which preserves the subnets. If it is set to <command>delete</command>,
the subnets are deleted along with the shared network.</para>
<para>The following command:
<screen>
{
"command": "remote-network4-del",
"command": "remote-network6-del",
"arguments": {
"shared-networks": [ {
"shared-networks": [
{
"name": "level3"
} ],
}
],
"subnets-action": "keep",
"remote": {
"type": "mysql"
@@ -268,30 +352,33 @@
}
}
</screen>
deletes the "level3" shared network but preserves the subnets, which
are disassociated from the deleted shared network and become global.
deletes the "level3" IPv6 shared network. The subnets are preserved
but they are disassociated from the deleted shared network and become
global.
</para>
</section>
<section xml:id="command-remote-network4-get">
<title>remote-network4-get</title>
<para>This command is used to retrieve information about the IPv4 shared
network. The optional parameter <command>subnets-include</command> controls
whether the subnets should be returned together with the shared network
information. This parameter defaults to <command>no</command> which
instructs to not return the subnets. If this parameter is set to
<command>full</command>, the subnets are returned together with the
shared network.</para>
<para>
The following command fetches the subnet "level3" and all subnets
belonging to it:
<section id="command-remote-network4-get">
<title>remote-network4-get, remote-network6-get commands</title>
<para id="command-remote-network6-get">These commands are used to retrieve
the information about an IPv4 or IPv6 shared network. The optional
parameter <command>subnets-include</command> denotes whether the
subnets belonging to the shared network should also be returned. This
parameter defaults to <command>no</command> in which case the subnets are
not returned. If this parameter is set to <command>full</command>,
the subnets are returned together with the shared network.</para>
<para>The following command fetches the "level3" IPv6 shared network along
with the full information about the subnets belonging to it:
<screen>
{
"command": "remote-network4-get",
"command": "remote-network6-get",
"arguments": {
"shared-networks": [ {
"shared-networks": [
{
"name": "level3"
} ],
}
],
"subnets-include": "full",
"remote": {
"type": "mysql"
@@ -302,47 +389,53 @@
</para>
</section>
<section xml:id="command-remote-network4-list">
<title>remote-network4-list</title>
<para>This command is used to list all IPv4 shared networks in the
particular database. The returned information about each shared network
is brief, i.e. it merely contains shared network name and the metadata
for each shared network. In order to fetch the detailed information
about the selected shared network, use the <command>remote-network4-get</command>.
<section id="command-remote-network4-list">
<title>remote-network4-list, remote-network6-list commands</title>
<para id="command-remote-network6-list">These commands are used to list all
IPv4 or IPv6 shared networks in the particular database. The returned information
about each shared network merely contains the shared network name and the metadata. In
order to fetch the detailed information about the selected shared network,
use the <command>remote-network[46]-get</command> command.
</para>
<para>
The <command>remote-network4-list</command> takes no argument except
<para>The <command>remote-network[46]-list</command> takes no argument except
the optional <command>remote</command> map.
</para>
</section>
<section xml:id="command-remote-network4-set">
<section id="command-remote-network4-set">
<title>remote-network4-set</title>
<para>This command creates a new IPv4 shared network or replaces an existing
shared network in the database. The structure of the shared network information
is the same as in the Kea configuration file (see <xref linkend="shared-network4"/>),
with the exception that the <command>subnet4</command> parameter is not allowed
in the shared network specification. The reason for this is that the
<command>remote-network4-set</command> is not meant to manage the subnets
within the shared network. It is merely used to manage shared network specific
parameters and DHCP options. In order to associate and disassociate the
subnets with the shared networks the <command>remote-subnet4-set</command>
command is used.
<para id="command-remote-network6-set">These commands creates new or replaces an
existing IPv4 or IPv6 shared network in the database. The structure of the
shared network information is the same as in the Kea configuration file
(see <xref linkend="shared-network4"/> and <xref linkend="shared-network6"/>
for details), except that it is not allowed to specify subnets along with
the shared network information. Including the <command>subnet4</command>
or <command>subnet6</command> parameter within the shared network information
will result in an error.</para>
<para>These commands are intended to be used for managing the shared network
specific information and DHCP options. In order to associate and disassociate
the subnets with the shared networks the <command>remote-subnet[46]-set</command>
commands should be used.
</para>
<para>
The following command adds the shared network "level3" to the database:
The following command adds the IPv6 shared network "level3" to the database:
<screen>
{
"command": "remote-network4-set",
"command": "remote-network6-set",
"arguments": {
"shared-networks": [ {
"shared-networks": [
{
"name": "level3",
"interface": "eth0",
"option-data": [ {
"name": "log-servers",
"data": "1.2.3.4"
} ],
"name": "sntp-servers",
"data": "2001:db8:1::1"
} ],
}
],
"remote": {
"type": "mysql"
}
@@ -351,40 +444,42 @@
</screen>
</para>
<para>
This command includes the <command>interface</command> parameters which sets
This command includes the <command>interface</command> parameter which sets
the shared network level interface name. Remaining shared network level
parameters, which are not specified with the command, will be marked as
"unspecified" in the database. The DHCP server will use the global values
for those parameters or, if global values are not specified, the default
values will be used.
for unspecified parameters or, if the global values are not specified,
the default values will be used.
</para>
<note>
<para>
Same as for other "set" commands, this command replaces the entire
information about the given shared network in the database if this
information about the given shared network in the database if the
shared network already exists. Therefore, when sending this command,
make sure to always include all parameters that must be specified for
the updated shared network instance. Any unspecified parameter will
be marked unspecified in the database, even if its value was present
prior to sending this command.
prior to sending the command.
</para>
</note>
</section>
<section xml:id="command-remote-option-def4-del">
<title>remote-option-def4-del</title>
<para>This command is used to delete DHCPv4 option definition from the
database. The option definition is identified by an option code and
option space. For example:
<section id="command-remote-option-def4-del">
<title>remote-option-def4-del, remote-option-def6-del commands</title>
<para id="command-remote-option-def6-del">These commands are used to delete
a DHCP option definition from the database. The option definition is
identified by an option code and option space. For example:
<screen>
{
"command": "remote-option-def4-del",
"command": "remote-option-def6-del",
"arguments": {
"option-defs": [ {
"option-defs": [
{
"code": 1,
"space": "isc"
} ],
}
],
"remote": {
"type": "mysql"
}
@@ -392,28 +487,32 @@
}
</screen>
deletes the definition of the option having the code of 1 and
belonging to the option space "isc". The top level option space
where standard DHCPv4 options belong is called "dhcp4".
belonging to the option space "isc". The default option spaces
are "dhcp4" and "dhcp6" for the DHCPv4 and DHCPv6 top level options
respectively.
</para>
</section>
<section xml:id="command-remote-option-def4-get">
<title>remote-option-def4-get</title>
<para>This comamnd is used to fetch a specified DHCPv4 option
definition from the database. The option definition is identified
by option code and option space. The top level option space
where DHCPv4 standard options belong is called "dhcp4".
</para>
<para>The following command retrieves an option definition
<section id="command-remote-option-def4-get">
<title>remote-option-def4-get, remote-option-def6-get commands</title>
<para id="command-remote-option-def6-get">These commands are used to
fetch a specified DHCP option definition from the database. The option
definition is identified by the option code and option space. The default
option spaces are "dhcp4" and "dhcp6" for the DHCPv4 and DHCPv6 top level
options respectively.</para>
<para>The following command retrieves a DHCPv4 option definition
having the code of 1 and belonging to option space "isc":
<screen>
{
"command": "remote-option-def4-get"
"arguments": {
"option-defs": [ {
"option-defs": [
{
"code": 1,
"space": "isc"
} ],
}
],
"remote": {
"type": "mysql"
}
@@ -423,20 +522,22 @@
</para>
</section>
<section xml:id="command-remote-option-def4-get-all">
<title>remote-option-def4-get-all</title>
<para>This command is used to fetch all DHCPv4 option definitions
from the database. It takes no arguments except an optional
<command>remote</command> map.</para>
<section id="command-remote-option-def4-get-all">
<title>remote-option-def4-get-all, remote-option-def6-get-all commands</title>
<para id="command-remote-option-def6-get-all">These commands are used to
fetch all DHCP option definitions from the database. It takes no
arguments except the optional <command>remote</command> map.</para>
</section>
<section xml:id="command-remote-option-def4-set">
<title>remote-option-def4-set</title>
<para>This command creates a new DHCPv4 option definition or
replaces an existing option definition in the database. The structure
of the option definition information is the same as in the Kea
configuration file (see <xref linkend="dhcp4-custom-options"/>).
For example:
<section id="command-remote-option-def4-set">
<title>remote-option-def4-set, remote-option-def6-set commands</title>
<para id="command-remote-option-def6-set">These commands create a new
DHCP option definition or replace an existing option definition in the
database. The structure of the option definition information is the
same as in the Kea configuration file (see <xref linkend="dhcp4-custom-options"/>
and <xref linkend="dhcp6-custom-options"/>).
The following command creates the DHCPv4 option definition in the top
level "dhcp4" option space:
<screen>
{
"command": "remote-option-def4-set",
@@ -461,10 +562,11 @@
</para>
</section>
<section xml:id="command-remote-option4-global-del">
<title>remote-option4-global-del</title>
<para>This command is used to delete global DHCPv4 option from the database.
The option is identified by an option code and option space. For example:
<section id="command-remote-option4-global-del">
<title>remote-option4-global-del, remote-option6-global-del commands</title>
<para id="command-remote-option6-global-del">These commands are used to delete
a global DHCP option from the database. The option is identified by an option
code and option space. For example:
<screen>
{
"command": "remote-option4-global-del",
@@ -488,22 +590,23 @@
</para>
</section>
<section xml:id="command-remote-option4-global-get">
<title>remote-option4-global-get</title>
<para>This command is used to fetch a global DHCPv4 option from the
database. The option is identified by code and option space. The top
level option space where DHCPv4 standard options belong is called
"dhcp4".
<section id="command-remote-option4-global-get">
<title>remote-option4-global-get, remote-option6-global-get commands</title>
<para id="command-remote-option6-global-get">These commands are used to fetch
a global DHCP option from the database. The option is identified by the code
and option space. The top level option spaces where DHCP standard options
belong are called "dhcp4" and "dhcp6" for the DHCPv4 and DHCPv6 servers
respectively.
</para>
<para>
The following command retrieves the "Domain Name" (code 5) option:
The following command retrieves the IPv6 "DNS Servers" (code 23) option:
{
"command": remote-option4-global-get",
"command": remote-option6-global-get",
"arguments": {
"options": [
{
"code": 5,
"space": "dhcp4"
"code": 23,
"space": "dhcp6"
}
],
"remote": {
@@ -514,22 +617,23 @@
</para>
</section>
<section xml:id="command-remote-option4-global-get-all">
<title>remote-option4-global-get-all</title>
<para>This command is used to fetch all global DHCPv4 options from the
database. It takes no arguments except the optional <command>remote</command>
map.</para>
<section id="command-remote-option4-global-get-all">
<title>remote-option4-global-get-all, remote-option6-global-get-all commands</title>
<para id="command-remote-option6-global-get-all">These commands are used to fetch
all global DHCP options from the configuration database. It takes no arguments
except the optional <command>remote</command> map.</para>
</section>
<section xml:id="command-remote-option4-global-set">
<title>remote-option4-global-set</title>
<para>This command creates a new global DHCPv4 option or replaces
an existing option in the database. The structure of the option
information is the same as in the Kea configuration file
(see <xref linkend="dhcp4-std-options"/>). For example:
<section id="command-remote-option4-global-set">
<title>remote-option4-global-set, remote-option6-global-set command</title>
<para id="command-remote-option6-global-set">These commands create a new
global DHCP option or replace an existing option in the database. The
structure of the option information is the same as in the Kea configuration
file (see <xref linkend="dhcp4-std-options"/> and
see <xref linkend="dhcp4-std-options"/>). For example:
<screen>
{
"command": "remote-option4-global-set",
"command": "remote-option6-global-set",
"arguments": {
"options": [
{
@@ -545,13 +649,13 @@
</screen>
</para>
<para>
Note that specifying an option name rather than option code only works
Note that specifying an option name instead of the option code only works
reliably for the standard DHCP options. When specifying a value for the
user defined DHCP option, the option code should be specified instead of
the name. For example:
<screen>
{
"command": "remote-option4-global-set",
"command": "remote-option6-global-set",
"arguments": {
"options": [
{
@@ -566,18 +670,21 @@
</para>
</section>
<section xml:id="command-remote-subnet4-del-by-id">
<title>remote-subnet4-del-by-id</title>
<para>This is the first variant of the command used to delete an IPv4 subnet
from the database. It uses subnet ID to identify the subnet.
For example, in order to delete the subnet with ID of 5:
<section id="command-remote-subnet4-del-by-id">
<title>remote-subnet4-del-by-id, remote-subnet6-del-by-id command</title>
<para id="command-remote-subnet6-del-by-id">This is the first variant of
the commands used to delete an IPv4 or IPv6 subnet from the database.
It uses subnet ID to identify the subnet. For example, in order to
delete the IPv4 subnet with ID of 5:
<screen>
{
"command": "remote-subnet4-del-by-id",
"arguments": {
"subnets": [ {
"subnets": [
{
"id": 5
} ],
}
],
"remote": {
"type": "mysql"
}
@@ -587,18 +694,20 @@
</para>
</section>
<section xml:id="command-remote-subnet4-del-by-prefix">
<title>remote-subnet4-del-by-prefix</title>
<para>This is the second variant of the command used to delete an IPv4 subnet
from the database. It uses the subnet prefix to identify the subnet.
For example:
<section id="command-remote-subnet4-del-by-prefix">
<title>remote-subnet4-del-by-prefix, remote-subnet6-del-by-prefix commands</title>
<para id="command-remote-subnet6-del-by-prefix">This is the second variant
of the commands used to delete an IPv4 or IPv6 subnet from the database.
It uses the subnet prefix to identify the subnet. For example:
<screen>
{
"command": "remote-subnet4-del-by-prefix",
"command": "remote-subnet6-del-by-prefix",
"arguments": {
"subnets": [ {
"subnet": "192.0.2.0/24"
} ],
"subnets": [
{
"subnet": "2001:db8:1::/64"
}
],
"remote": {
"type": "mysql"
}
@@ -608,10 +717,11 @@
</para>
</section>
<section xml:id="command-remote-subnet4-get-by-id">
<title>remote-subnet4-get-by-id</title>
<para>This command is used to fetch a subnet with the specified ID from the
database. For example:
<section id="command-remote-subnet4-get-by-id">
<title>remote-subnet4-get-by-id, remote-subnet6-get-by-id commands</title>
<para id="command-remote-subnet6-get-by-id">This is the first variant of
the commands used to fetch an IPv4 or IPv6 subnet from the database. It
uses a subnet ID to identify the subnet. For example:
<screen>
{
"command": "remote-subnet4-get-by-id",
@@ -630,17 +740,18 @@
</para>
</section>
<section xml:id="command-remote-subnet4-get-by-prefix">
<title>remote-subnet4-get-by-prefix</title>
<para>This command is used to fetch a subnet with the specified prefix from
the database. For example:
<section id="command-remote-subnet4-get-by-prefix">
<title>remote-subnet4-get-by-prefix, remote-subnet6-get-by-prefix command</title>
<para id="command-remote-subnet6-get-by-prefix">This is the second variant
of the commands used to fetch an IPv4 or IPv6 subnet from the database. It
uses a subnet prefix to identify the subnet. For example:
<screen>
{
"command": "remote-subnet4-get-by-prefix",
"command": "remote-subnet6-get-by-prefix",
"arguments": {
"subnets": [
{
"subnet": "192.0.2.0/24"
"subnet": "2001:db8:1::/64"
}
],
"remote": {
@@ -652,29 +763,32 @@
</para>
</section>
<section xml:id="command-remote-subnet4-list">
<title>remote-subnet4-list</title>
<para>This command is used to list all IPv4 subnets from the database.
It takes no parameters except the optional <command>remote</command> map.
<section id="command-remote-subnet4-list">
<title>remote-subnet4-list, remote-subnet6-list commands</title>
<para id="command-remote-subnet6-list">These commands are used to list
all IPv4 or IPv6 subnets from the database. It takes no parameters
except the optional <command>remote</command> map.
The returned information about each subnet is limited to subnet identifier,
prefix and associated shared network name. In order to retrieve full
information about the selected subnet use the
<command>remote-subnet4-get-by-id</command> or
<command>remote-subnet4-get-by-prefix</command>.
<command>remote-subnet[46]-get-by-id</command> or
<command>remote-subnet[46]-get-by-prefix</command>.
</para>
</section>
<section xml:id="command-remote-subnet4-set">
<title>remote-subnet4-set</title>
<para>This command is used to create a new subnet or replace an existing
subnet in the database. Setting the subnet also associates or disassociates
the subnet with/from a shared network.</para>
<section id="command-remote-subnet4-set">
<title>remote-subnet4-set, remote-subnet6-set commands</title>
<para id="command-remote-subnet6-set">These commands are used to create
a new IPv4 or IPv6 subnet or replace an existing subnet in the database.
Setting the subnet also associates or disassociates the subnet with a
shared network.</para>
<para>The structure of the subnet information is similar to the structure
used in the configuration file (see <xref linkend="dhcp4-configuration"/>).
The subnet information conveyed in the <command>remote-subnet4-set</command>
must include additional parameter <command>shared-network-name</command>
which indicates whether the subnet belongs to a shared network or not.
used in the configuration file (see <xref linkend="dhcp4-configuration"/>
and <xref linkend="dhcp6-configuration"/>). The subnet information
conveyed in the <command>remote-subnet[46]-set</command> must include
additional parameter <command>shared-network-name</command> which denotes
whether the subnet belongs to a shared network or not.
</para>
<para>Consider the following example:
@@ -682,7 +796,8 @@
{
"command": "remote-subnet4-set",
"arguments": {
"subnets": [ {
"subnets": [
{
"id": 5,
"subnet": "192.0.2.0/24",
"shared-network-name": "level3",
@@ -691,7 +806,8 @@
"name": "routers",
"data": "192.0.2.1"
} ]
} ],
}
],
"remote": {
"type": "mysql"
}
@@ -712,7 +828,8 @@
{
"command": "remote-subnet4-set",
"arguments": {
"subnets": [ {
"subnets": [
{
"id": 5,
"subnet": "192.0.2.0/24",
"shared-network-name": null,
@@ -721,14 +838,15 @@
"name": "routers",
"data": "192.0.2.1"
} ]
} ]
}
]
}
}
</screen>
</para>
<para>The subnet created in the previous example is replaced with the
new subnet having the same parameters but becomes global.</para>
new subnet having the same parameters but it becomes global.</para>
<para>The <command>shared-network-name</command> parameter is mandatory
for the <command>remote-subnet4-set</command> command.</para>
@@ -748,9 +866,4 @@
</section>
<section xml:id="cb-cmds6">
<title>Control Commands for DHCPv6 Server</title>
<para>TBD</para>
</section>
</section>