2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-09-01 14:35:29 +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", "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.", "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.",
"description": "See <xref linkend=\"cmd-remote-global-parameter4-del\"/>",
"support": [ "kea-dhcp4" ], "support": [ "kea-dhcp4" ],
"avail": "1.6.0", "avail": "1.6.0",
"hook": "cb_cmds", "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": "{ "resp-syntax": "{
\"result\": 0, \"result\": 0,
\"text\": \"DHCPv4 global parameter successfully deleted.\", \"text\": \"DHCPv4 global parameter(s) deleted.\",
\"arguments\": { \"arguments\": {
\"count\": 1 \"count\": 1
} }

View File

@@ -1,7 +1,6 @@
{ {
"name": "remote-global-parameter4-get-all", "name": "remote-global-parameter4-get-all",
"brief": "This command is used to fetch all global parameters for the server from the specified database.", "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" ], "support": [ "kea-dhcp4" ],
"avail": "1.6.0", "avail": "1.6.0",
"hook": "cb_cmds", "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": "{ "resp-syntax": "{
\"result\": 0, \"result\": 0,
\"text\": \"DHCPv4 global parameters found.\", \"text\": \"DHCPv4 global parameters found.\",

View File

@@ -1,7 +1,6 @@
{ {
"name": "remote-global-parameter4-get", "name": "remote-global-parameter4-get",
"brief": "This command is used to fetch selected global parameter for the server from the specified database.", "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" ], "support": [ "kea-dhcp4" ],
"avail": "1.6.0", "avail": "1.6.0",
"hook": "cb_cmds", "hook": "cb_cmds",
@@ -13,10 +12,8 @@
<specification of the database to connect to> <specification of the database to connect to>
} }
} }
} }",
"cmd-comment": "This command carries a list including exactly one name of the parameter to be fetched.",
",
"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\".",
"resp-syntax": "{ "resp-syntax": "{
\"result\": 0, \"result\": 0,
\"text\": \"DHCPv4 global parameter found.\", \"text\": \"DHCPv4 global parameter found.\",

View File

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

View File

@@ -1,12 +1,23 @@
{ {
"name": "remote-global-parameter6-del", "name": "remote-global-parameter6-del",
"brief": "a sentence or two explaining what this command does", "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.",
"description": "See <xref linkend=\"cmd-\"/>", "support": [ "kea-dhcp6" ],
"support": [ "undocumented" ], "avail": "1.6.0",
"avail": "0.0.0", "hook": "cb_cmds",
"hook": "undocumented", "cmd-syntax": "{
"cmd-syntax": "Syntax of the command", \"command\": \"remote-global-parameter6-del\",
"cmd-comment": "Possibly some extra comments after the syntax.", \"arguments\": {
"resp-syntax": "Syntax of the response", \"parameters\": [ <parameter name> ],
"resp-comment": "Optional extra comments after the resposne syntax." \"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", "name": "remote-global-parameter6-get-all",
"brief": "a sentence or two explaining what this command does", "brief": "This command is used to fetch all global parameters for the server from the specified database.",
"description": "See <xref linkend=\"cmd-\"/>", "support": [ "kea-dhcp6" ],
"support": [ "undocumented" ], "avail": "1.6.0",
"avail": "0.0.0", "hook": "cb_cmds",
"hook": "undocumented", "cmd-syntax": "{
"cmd-syntax": "Syntax of the command", \"command\": \"remote-global-parameter6-get-all\"
"cmd-comment": "Possibly some extra comments after the syntax.", \"arguments\": {
"resp-syntax": "Syntax of the response", \"remote\": {
"resp-comment": "Optional extra comments after the resposne syntax." <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", "name": "remote-global-parameter6-get",
"brief": "a sentence or two explaining what this command does", "brief": "This command is used to fetch selected global parameter for the server from the specified database.",
"description": "See <xref linkend=\"cmd-\"/>", "support": [ "kea-dhcp6" ],
"support": [ "undocumented" ], "avail": "1.6.0",
"avail": "0.0.0", "hook": "cb_cmds",
"hook": "undocumented", "cmd-syntax": "{
"cmd-syntax": "Syntax of the command", \"command\": \"remote-global-parameter6-get\"
"cmd-comment": "Possibly some extra comments after the syntax.", \"arguments\": {
"resp-syntax": "Syntax of the response", \"parameters\": [ <parameter name> ],
"resp-comment": "Optional extra comments after the resposne syntax." \"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", "name": "remote-global-parameter6-set",
"brief": "a sentence or two explaining what this command does", "brief": "This command is used to create or update one more global DHCP parameters in the configuration database.",
"description": "See <xref linkend=\"cmd-\"/>", "support": [ "kea-dhcp6" ],
"support": [ "undocumented" ], "avail": "1.6.0",
"avail": "0.0.0", "hook": "cb_cmds",
"hook": "undocumented", "cmd-syntax": "{
"cmd-syntax": "Syntax of the command", \"command\": \"remote-global-parameter6-set\"
"cmd-comment": "Possibly some extra comments after the syntax.", \"arguments\": {
"resp-syntax": "Syntax of the response", \"parameters\": {
"resp-comment": "Optional extra comments after the resposne syntax." <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", "name": "remote-network4-del",
"brief": "This command is used to delete an IPv4 shared network from the configuration database.", "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" ], "support": [ "kea-dhcp4" ],
"avail": "1.6.0", "avail": "1.6.0",
"hook": "cb_cmds", "hook": "cb_cmds",
"cmd-syntax": "{ "cmd-syntax": "{
\"command\": \"remote-network4-del\", \"command\": \"remote-network4-del\",
\"arguments\": { \"arguments\": {
\"shared-networks\": [ { \"shared-networks\": [
{
\"name\": <shared network name> \"name\": <shared network name>
} ], }
],
\"subnets-action\": \"keep\" | \"delete\", \"subnets-action\": \"keep\" | \"delete\",
\"remote\": { \"remote\": {
<specification of the database to connect to> <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": "{ "resp-syntax": "{
\"result\": 0, \"result\": 0,
\"text\": \"1 IPv4 shared network(s) deleted.\", \"text\": \"1 IPv4 shared network(s) deleted.\",

View File

@@ -1,36 +1,39 @@
{ {
"name": "remote-network4-get", "name": "remote-network4-get",
"brief": "This command is used to fetch selected IPv4 shared network for the server from the specified database.", "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" ], "support": [ "kea-dhcp4" ],
"avail": "1.6.0", "avail": "1.6.0",
"hook": "cb_cmds", "hook": "cb_cmds",
"cmd-syntax": "{ "cmd-syntax": "{
\"command\": \"remote-network4-get\" \"command\": \"remote-network4-get\"
\"arguments\": { \"arguments\": {
\"shared-networks\": [ { \"shared-networks\": [
{
\"name\": <shared network name> \"name\": <shared network name>
} ], }
],
\"subnets-include\": \"full\" | \"no\", \"subnets-include\": \"full\" | \"no\",
\"remote\": { \"remote\": {
<specification of the database to connect to> <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": "{ "resp-syntax": "{
\"result\": 0, \"result\": 0,
\"text\": \"IPv4 shared network 'floor1' found.\", \"text\": \"IPv4 shared network found.\",
\"arguments\": { \"arguments\": {
\"shared-networks\": [ { \"shared-networks\": [
{
\"name\": <shared network name>, \"name\": <shared network name>,
\"metadata\": { \"metadata\": {
\"server-tag\": <server tag> \"server-tag\": <server tag>
}, },
<the rest of the shared network information, potentially including subnets> <the rest of the shared network information, potentially including subnets>
} ], }
],
\"count\": 1 \"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", "name": "remote-network4-list",
"brief": "This command is used to fetch a list of all subnets for the particular server from the specified database.", "brief": "This command is used to fetch a list of all IPv4 shared networks from the configuration database.",
"description": "See <xref linkend=\"cmd-remote-network4-list\"/>",
"support": [ "kea-dhcp4" ], "support": [ "kea-dhcp4" ],
"avail": "1.6.0", "avail": "1.6.0",
"hook": "cb_cmds", "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": "{ "resp-syntax": "{
\"result\": 0, \"result\": 0,
\"text\": \"2 IPv4 shared network(s) found.\", \"text\": \"2 IPv4 shared network(s) found.\",
@@ -35,5 +34,5 @@
\"count\": 2 \"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", "name": "remote-network4-set",
"brief": "This command is used to create or update IPv4 shared network for a server in the specified database.", "brief": "This command is used to create or replace an IPv4 shared network in the configuration database.",
"description": "See <xref linkend=\"cmd-remote-network4-set\"/>",
"support": [ "kea-dhcp4" ], "support": [ "kea-dhcp4" ],
"avail": "1.6.0", "avail": "1.6.0",
"hook": "cb_cmds", "hook": "cb_cmds",
"cmd-syntax": "{ "cmd-syntax": "{
\"command\": \"remote-network4-set\", \"command\": \"remote-network4-set\",
\"arguments\": { \"arguments\": {
\"shared-networks\": [ { \"shared-networks\": [
{
<shared network specification excluding subnets list> <shared network specification excluding subnets list>
} ], }
],
\"remote\": { \"remote\": {
<specification of the database to connect to> <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": "{ "resp-syntax": "{
\"result\": 0, \"result\": 0,
\"text\": \"IPv4 shared network successfully set.\" \"text\": \"IPv4 shared network successfully set.\"

View File

@@ -1,12 +1,29 @@
{ {
"name": "remote-network6-del", "name": "remote-network6-del",
"brief": "a sentence or two explaining what this command does", "brief": "This command is used to delete an IPv6 shared network from the configuration database.",
"description": "See <xref linkend=\"cmd-\"/>", "support": [ "kea-dhcp6" ],
"support": [ "undocumented" ], "avail": "1.6.0",
"avail": "0.0.0", "hook": "cb_cmds",
"hook": "undocumented", "cmd-syntax": "{
"cmd-syntax": "Syntax of the command", \"command\": \"remote-network6-del\",
"cmd-comment": "Possibly some extra comments after the syntax.", \"arguments\": {
"resp-syntax": "Syntax of the response", \"shared-networks\": [
"resp-comment": "Optional extra comments after the resposne syntax." {
\"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", "name": "remote-network6-get",
"brief": "a sentence or two explaining what this command does", "brief": "This command is used to fetch selected IPv6 shared network for the server from the specified database.",
"description": "See <xref linkend=\"cmd-\"/>", "support": [ "kea-dhcp6" ],
"support": [ "undocumented" ], "avail": "1.6.0",
"avail": "0.0.0", "hook": "cb_cmds",
"hook": "undocumented", "cmd-syntax": "{
"cmd-syntax": "Syntax of the command", \"command\": \"remote-network6-get\"
"cmd-comment": "Possibly some extra comments after the syntax.", \"arguments\": {
"resp-syntax": "Syntax of the response", \"shared-networks\": [
"resp-comment": "Optional extra comments after the resposne syntax." {
\"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", "name": "remote-network6-list",
"brief": "a sentence or two explaining what this command does", "brief": "This command is used to fetch a list of all IPv6 shared networks from the configuration database.",
"description": "See <xref linkend=\"cmd-\"/>", "support": [ "kea-dhcp6" ],
"support": [ "undocumented" ], "avail": "1.6.0",
"avail": "0.0.0", "hook": "cb_cmds",
"hook": "undocumented", "cmd-syntax": "{
"cmd-syntax": "Syntax of the command", \"command\": \"remote-network6-list\"
"cmd-comment": "Possibly some extra comments after the syntax.", \"arguments\": {
"resp-syntax": "Syntax of the response", \"remote\": {
"resp-comment": "Optional extra comments after the resposne syntax." <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", "name": "remote-network6-set",
"brief": "a sentence or two explaining what this command does", "brief": "This command is used to create or replace an IPv6 shared network in the configuration database.",
"description": "See <xref linkend=\"cmd-\"/>", "support": [ "kea-dhcp6" ],
"support": [ "undocumented" ], "avail": "1.6.0",
"avail": "0.0.0", "hook": "cb_cmds",
"hook": "undocumented", "cmd-syntax": "{
"cmd-syntax": "Syntax of the command", \"command\": \"remote-network6-set\",
"cmd-comment": "Possibly some extra comments after the syntax.", \"arguments\": {
"resp-syntax": "Syntax of the response", \"shared-networks\": [
"resp-comment": "Optional extra comments after the resposne syntax." {
<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", "name": "remote-option-def4-del",
"brief": "This command is used to delete a DHCPv4 option definition from the configuration database.", "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" ], "support": [ "kea-dhcp4" ],
"avail": "1.6.0", "avail": "1.6.0",
"hook": "cb_cmds", "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": "{ "resp-syntax": "{
\"result\": 0, \"result\": 0,
\"text\": \"1 DHCPv4 option definition(s) deleted.\", \"text\": \"1 DHCPv4 option definition(s) deleted.\",

View File

@@ -1,7 +1,6 @@
{ {
"name": "remote-option-def4-get-all", "name": "remote-option-def4-get-all",
"brief": "This command is used to fetch all option definitions for the server from the specified database.", "brief": "This command is used to fetch all DHCPv4 option definitions from the configuration database.",
"description": "See <xref linkend=\"cmd-remote-option-def4-get-all\"/>",
"support": [ "kea-dhcp4" ], "support": [ "kea-dhcp4" ],
"avail": "1.6.0", "avail": "1.6.0",
"hook": "cb_cmds", "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": "{ "resp-syntax": "{
\"result\": 0, \"result\": 0,
\"text\": \"2 DHCPv4 option definition(s) found.\", \"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." "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", "name": "remote-option-def4-get",
"brief": "This command is used to fetch DHCPv4 option definition for the server from the specified database.", "brief": "This command is used to fetch a DHCPv4 option definition from the configuration database.",
"description": "See <xref linkend=\"cmd-remote-option-def4-get\"/>",
"support": [ "kea-dhcp4" ], "support": [ "kea-dhcp4" ],
"avail": "1.6.0", "avail": "1.6.0",
"hook": "cb_cmds", "hook": "cb_cmds",
"cmd-syntax": "{ "cmd-syntax": "{
\"command\": \"remote-option-def4-get\", \"command\": \"remote-option-def4-get\",
\"arguments\": { \"arguments\": {
\"option-defs\": [ { \"option-defs\": [
{
\"code\": <option code>, \"code\": <option code>,
\"space\": <option space> \"space\": <option space>
} ], }
],
\"remote\": { \"remote\": {
<specification of the database to connect to> <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": "{ "resp-syntax": "{
\"result\": 0, \"result\": 0,
\"text\": \"DHCPv4 option definition 222 in 'dhcp4' found.\", \"text\": \"DHCPv4 option definition found.\",
\"arguments\": { \"arguments\": {
\"option-defs\": [ { \"option-defs\": [
{
<option definition>, <option definition>,
\"metadata\": { \"metadata\": {
\"server-tag\": <server tag> \"server-tag\": <server tag>
} }
} ], }
],
\"count\": 1 \"count\": 1
} }
}", }",

View File

@@ -1,23 +1,23 @@
{ {
"name": "remote-option-def4-set", "name": "remote-option-def4-set",
"brief": "This command is used to create or update DHCPv4 option definition for the server in the specified database.", "brief": "This command is used to create or replace DHCPv4 option definition in the configuration database.",
"description": "See <xref linkend=\"cmd-remote-option-def4-set\"/>",
"support": [ "kea-dhcp4" ], "support": [ "kea-dhcp4" ],
"avail": "1.6.0", "avail": "1.6.0",
"hook": "cb_cmds", "hook": "cb_cmds",
"cmd-syntax": "{ "cmd-syntax": "{
\"command\": \"remote-option-def4-set\", \"command\": \"remote-option-def4-set\",
\"service\": [ \"dhcp4\" ],
\"arguments\": { \"arguments\": {
\"option-defs\": [ { \"option-defs\": [
{
<option definition specification> <option definition specification>
} ], }
],
\"remote\": { \"remote\": {
<specification of the database to connect to> <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": "{ "resp-syntax": "{
\"result\": 0, \"result\": 0,
\"text\": \"DHCPv4 option definition set.\" \"text\": \"DHCPv4 option definition set.\"

View File

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

View File

@@ -1,19 +1,18 @@
{ {
"name": "remote-option4-global-get-all", "name": "remote-option4-global-get-all",
"brief": "This command is used to fetch all DHCPv4 global options for the server from the specified database.", "brief": "This command is used to fetch all DHCPv4 global options for the server from the configuration database.",
"description": "See <xref linkend=\"cmd-remote-option4-global-get-all\"/>",
"support": [ "kea-dhcp4" ], "support": [ "kea-dhcp4" ],
"avail": "1.6.0", "avail": "1.6.0",
"hook": "cb_cmds", "hook": "cb_cmds",
"cmd-syntax": "{ "cmd-syntax": "{
\"command\": \"remote-option4-global-get-all\" \"command\": \"remote-option4-global-get-all\",
\"arguments\": { \"arguments\": {
\"remote\": { \"remote\": {
<specification of the database to connect to> <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": "{ "resp-syntax": "{
\"result\": 0, \"result\": 0,
\"text\": \"2 DHCPv4 option(s) found.\", \"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." "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", "name": "remote-option4-global-get",
"brief": "This command is used to fetch a global DHCPv4 option for the server from the specified database.", "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" ], "support": [ "kea-dhcp4" ],
"avail": "1.6.0", "avail": "1.6.0",
"hook": "cb_cmds", "hook": "cb_cmds",
@@ -18,10 +17,10 @@
<specification of the database to connect to> <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": "{ "resp-syntax": "{
\"result\": 0, \"result\": 0,
\"text\": \"DHCPv4 option <option code> in <option space> found.\", \"text\": \"DHCPv4 option in found.\",
\"arguments\": { \"arguments\": {
\"options\": [ \"options\": [
{ {

View File

@@ -1,23 +1,23 @@
{ {
"name": "remote-option4-global-set", "name": "remote-option4-global-set",
"brief": "This command is used to create or update DHCPv4 global option for the server in the specified database.", "brief": "This command is used to create or replace a DHCPv4 global option in the configuration database.",
"description": "See <xref linkend=\"cmd-remote-option4-global-set\"/>",
"support": [ "kea-dhcp4" ], "support": [ "kea-dhcp4" ],
"avail": "1.6.0", "avail": "1.6.0",
"hook": "cb_cmds", "hook": "cb_cmds",
"cmd-syntax": "{ "cmd-syntax": "{
\"command\": \"remote-option4-global-set\", \"command\": \"remote-option4-global-set\",
\"service\": [ \"dhcp4\" ],
\"arguments\": { \"arguments\": {
\"options\": [ { \"options\": [
{
<global option specification> <global option specification>
} ], }
],
\"remote\": { \"remote\": {
<specification of the database to connect to> <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": "{ "resp-syntax": "{
\"result\": 0, \"result\": 0,
\"text\": \"DHCPv4 option set.\" \"text\": \"DHCPv4 option set.\"

View File

@@ -1,12 +1,29 @@
{ {
"name": "remote-option6-global-del", "name": "remote-option6-global-del",
"brief": "a sentence or two explaining what this command does", "brief": "This command is used to delete a DHCPv6 global option from the configuration database.",
"description": "See <xref linkend=\"cmd-\"/>", "support": [ "kea-dhcp6" ],
"support": [ "undocumented" ], "avail": "1.6.0",
"avail": "0.0.0", "hook": "cb_cmds",
"hook": "undocumented", "cmd-syntax": "{
"cmd-syntax": "Syntax of the command", \"command\": \"remote-option6-global-del\",
"cmd-comment": "Possibly some extra comments after the syntax.", \"arguments\": {
"resp-syntax": "Syntax of the response", \"options\": [
"resp-comment": "Optional extra comments after the resposne syntax." {
\"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", "name": "remote-option6-global-get-all",
"brief": "a sentence or two explaining what this command does", "brief": "This command is used to fetch all DHCPv6 global options for the server from the configuration database.",
"description": "See <xref linkend=\"cmd-\"/>", "support": [ "kea-dhcp6" ],
"support": [ "undocumented" ], "avail": "1.6.0",
"avail": "0.0.0", "hook": "cb_cmds",
"hook": "undocumented", "cmd-syntax": "{
"cmd-syntax": "Syntax of the command", \"command\": \"remote-option6-global-get-all\",
"cmd-comment": "Possibly some extra comments after the syntax.", \"arguments\": {
"resp-syntax": "Syntax of the response", \"remote\": {
"resp-comment": "Optional extra comments after the resposne syntax." <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", "name": "remote-option6-global-get",
"brief": "a sentence or two explaining what this command does", "brief": "This command is used to delete a DHCPv6 global option from the configuration database.",
"description": "See <xref linkend=\"cmd-\"/>", "support": [ "kea-dhcp6" ],
"support": [ "undocumented" ], "avail": "1.6.0",
"avail": "0.0.0", "hook": "cb_cmds",
"hook": "undocumented", "cmd-syntax": "{
"cmd-syntax": "Syntax of the command", \"command\": \"remote-option6-global-get\",
"cmd-comment": "Possibly some extra comments after the syntax.", \"arguments\": {
"resp-syntax": "Syntax of the response", \"options\": [
"resp-comment": "Optional extra comments after the resposne syntax." {
\"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", "name": "remote-option6-global-set",
"brief": "a sentence or two explaining what this command does", "brief": "This command is used to create or replace a DHCPv6 global option in the configuration database.",
"description": "See <xref linkend=\"cmd-\"/>", "support": [ "kea-dhcp6" ],
"support": [ "undocumented" ], "avail": "1.6.0",
"avail": "0.0.0", "hook": "cb_cmds",
"hook": "undocumented", "cmd-syntax": "{
"cmd-syntax": "Syntax of the command", \"command\": \"remote-option6-global-set\",
"cmd-comment": "Possibly some extra comments after the syntax.", \"arguments\": {
"resp-syntax": "Syntax of the response", \"options\": [
"resp-comment": "Optional extra comments after the resposne syntax." {
<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", "name": "remote-subnet4-del-by-id",
"brief": "This command is used to delete an IPv4 subnet by ID from the configuration database.", "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" ], "support": [ "kea-dhcp4" ],
"avail": "1.6.0", "avail": "1.6.0",
"hook": "cb_cmds", "hook": "cb_cmds",
"cmd-syntax": "{ "cmd-syntax": "{
\"command\": \"remote-subnet4-del-by-id\", \"command\": \"remote-subnet4-del-by-id\",
\"service\": [ \"dhcp4\" ],
\"arguments\": { \"arguments\": {
\"subnets\": [ { \"subnets\": [
{
\"id\": <subnet identifier> \"id\": <subnet identifier>
} ], }
],
\"remote\": { \"remote\": {
<specification of the database to connect to> <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": "{ "resp-syntax": "{
\"result\": 0, \"result\": 0,
\"text\": \"1 IPv4 subnet(s) deleted.\", \"text\": \"1 IPv4 subnet(s) deleted.\",

View File

@@ -1,23 +1,23 @@
{ {
"name": "remote-subnet4-del-by-prefix", "name": "remote-subnet4-del-by-prefix",
"brief": "This command is used to delete an IPv4 subnet by prefix from the configuration database.", "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" ], "support": [ "kea-dhcp4" ],
"avail": "1.6.0", "avail": "1.6.0",
"hook": "cb_cmds", "hook": "cb_cmds",
"cmd-syntax": "{ "cmd-syntax": "{
\"command\": \"remote-subnet4-del-by-prefix\", \"command\": \"remote-subnet4-del-by-prefix\",
\"service\": [ \"dhcp4\" ],
\"arguments\": { \"arguments\": {
\"subnets\": [ { \"subnets\": [
{
\"subnet\": <subnet prefix> \"subnet\": <subnet prefix>
} ], }
],
\"remote\": { \"remote\": {
<specification of the database to connect to> <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": "{ "resp-syntax": "{
\"result\": 0, \"result\": 0,
\"text\": \"1 IPv4 subnet(s) deleted.\", \"text\": \"1 IPv4 subnet(s) deleted.\",

View File

@@ -1,7 +1,6 @@
{ {
"name": "remote-subnet4-get-by-id", "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.", "brief": "This command is used to fetch selected IPv4 subnet by ID for the server from the configuration database.",
"description": "See <xref linkend=\"cmd-remote-subnet4-get-by-id\"/>",
"support": [ "kea-dhcp4" ], "support": [ "kea-dhcp4" ],
"avail": "1.6.0", "avail": "1.6.0",
"hook": "cb_cmds", "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": "{ "resp-syntax": "{
\"result\": 0, \"result\": 0,
\"text\": \"IPv4 subnet 123 found.\", \"text\": \"IPv4 subnet found.\",
\"arguments\": { \"arguments\": {
\"subnets\": [ { \"subnets\": [ {
\"id\": <subnet identifier> \"id\": <subnet identifier>
@@ -33,5 +32,5 @@
\"count\": 1 \"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", "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.", "brief": "This command is used to fetch selected IPv4 subnet by prefix from the configuration database.",
"description": "See <xref linkend=\"cmd-remote-subnet4-get-by-prefix\"/>",
"support": [ "kea-dhcp4" ], "support": [ "kea-dhcp4" ],
"avail": "1.6.0", "avail": "1.6.0",
"hook": "cb_cmds", "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": "{ "resp-syntax": "{
\"result\": 0, \"result\": 0,
\"text\": \"IPv4 subnet 123 found.\", \"text\": \"IPv4 subnet found.\",
\"arguments\": { \"arguments\": {
\"subnets\": [ { \"subnets\": [
{
\"id\": <subnet identifier> \"id\": <subnet identifier>
\"subnet\": <subnet prefix>, \"subnet\": <subnet prefix>,
\"shared-network-name\": <shared network name> | null, \"shared-network-name\": <shared network name> | null,
@@ -29,9 +29,10 @@
\"server-tag\": <server tag> \"server-tag\": <server tag>
}, },
<the rest of the subnet specification here> <the rest of the subnet specification here>
} ], }
],
\"count\": 1 \"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", "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.", "brief": "This command is used to fetch a list of all IPv4 subnets from the configuration database.",
"description": "See <xref linkend=\"cmd-remote-subnet4-list\"/>",
"support": [ "kea-dhcp4" ], "support": [ "kea-dhcp4" ],
"avail": "1.6.0", "avail": "1.6.0",
"hook": "cb_cmds", "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": "{ "resp-syntax": "{
\"result\": 0, \"result\": 0,
\"text\": \"2 IPv4 subnets found.\", \"text\": \"2 IPv4 subnets found.\",

View File

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

View File

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