]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#71,!314] Partially documented cb_cmds API.
authorMarcin Siodelski <marcin@isc.org>
Thu, 9 May 2019 10:02:16 +0000 (12:02 +0200)
committerMarcin Siodelski <marcin@isc.org>
Mon, 27 May 2019 13:23:50 +0000 (15:23 +0200)
50 files changed:
doc/api/remote-global-parameter4-del.json [new file with mode: 0644]
doc/api/remote-global-parameter4-get-all.json [new file with mode: 0644]
doc/api/remote-global-parameter4-get.json [new file with mode: 0644]
doc/api/remote-global-parameter4-set.json [new file with mode: 0644]
doc/api/remote-global-parameter6-del.json [new file with mode: 0644]
doc/api/remote-global-parameter6-get-all.json [new file with mode: 0644]
doc/api/remote-global-parameter6-get.json [new file with mode: 0644]
doc/api/remote-global-parameter6-set.json [new file with mode: 0644]
doc/api/remote-network4-del.json [new file with mode: 0644]
doc/api/remote-network4-get.json [new file with mode: 0644]
doc/api/remote-network4-list.json [new file with mode: 0644]
doc/api/remote-network4-set.json [new file with mode: 0644]
doc/api/remote-network6-del.json [new file with mode: 0644]
doc/api/remote-network6-get.json [new file with mode: 0644]
doc/api/remote-network6-list.json [new file with mode: 0644]
doc/api/remote-network6-set.json [new file with mode: 0644]
doc/api/remote-option-def4-del.json [new file with mode: 0644]
doc/api/remote-option-def4-get-all.json [new file with mode: 0644]
doc/api/remote-option-def4-get.json [new file with mode: 0644]
doc/api/remote-option-def4-set.json [new file with mode: 0644]
doc/api/remote-option-def6-del.json [new file with mode: 0644]
doc/api/remote-option-def6-get-all.json [new file with mode: 0644]
doc/api/remote-option-def6-get.json [new file with mode: 0644]
doc/api/remote-option-def6-set.json [new file with mode: 0644]
doc/api/remote-option4-global-del.json [new file with mode: 0644]
doc/api/remote-option4-global-get-all.json [new file with mode: 0644]
doc/api/remote-option4-global-get.json [new file with mode: 0644]
doc/api/remote-option4-global-set.json [new file with mode: 0644]
doc/api/remote-option6-global-del.json [new file with mode: 0644]
doc/api/remote-option6-global-get-all.json [new file with mode: 0644]
doc/api/remote-option6-global-get.json [new file with mode: 0644]
doc/api/remote-option6-global-set.json [new file with mode: 0644]
doc/api/remote-subnet4-del-by-id.json [new file with mode: 0644]
doc/api/remote-subnet4-del-by-prefix.json [new file with mode: 0644]
doc/api/remote-subnet4-get-by-id.json [new file with mode: 0644]
doc/api/remote-subnet4-get-by-prefix.json [new file with mode: 0644]
doc/api/remote-subnet4-list.json [new file with mode: 0644]
doc/api/remote-subnet4-set.json [new file with mode: 0644]
doc/api/remote-subnet6-del-by-id.json [new file with mode: 0644]
doc/api/remote-subnet6-del-by-prefix.json [new file with mode: 0644]
doc/api/remote-subnet6-get-by-id.json [new file with mode: 0644]
doc/api/remote-subnet6-get-by-prefix.json [new file with mode: 0644]
doc/api/remote-subnet6-list.json [new file with mode: 0644]
doc/api/remote-subnet6-set.json [new file with mode: 0644]
doc/docgen/cmds-list
doc/guide/Makefile.am
doc/guide/api.xml
doc/guide/config-backend.xml
doc/guide/hooks-cb-cmds.xml [new file with mode: 0644]
doc/guide/hooks.xml

diff --git a/doc/api/remote-global-parameter4-del.json b/doc/api/remote-global-parameter4-del.json
new file mode 100644 (file)
index 0000000..f626ee1
--- /dev/null
@@ -0,0 +1,25 @@
+{
+    "name": "remote-global-parameter4-del",
+    "brief": "This command is used to delete a global DHCPv4 parameter from a configuration database. The server will use the value specified in the configuration file or a default value (if the parameter is not specified in the configuration file) after deleting the parameter from the database.",
+    "description": "See <xref linkend=\"cmd-remote-global-parameter4-del\"/>",
+    "support": [ "kea-dhcp4" ],
+    "avail": "1.6.0",
+    "hook": "cb_cmds",
+    "cmd-syntax": "{
+    \"command\": \"remote-global-parameter4-del\",
+    \"arguments\": {
+        \"parameters\": [ <parameter name> ],
+        \"remote\": {
+            <specification of the database to connect to>
+        }
+    }
+}",
+    "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\".",
+    "resp-syntax": "{
+    \"result\": 0,
+    \"text\": \"DHCPv4 global parameter successfully deleted.\",
+    \"arguments\": {
+        \"count\": 1
+    }
+}"
+}
diff --git a/doc/api/remote-global-parameter4-get-all.json b/doc/api/remote-global-parameter4-get-all.json
new file mode 100644 (file)
index 0000000..469b40a
--- /dev/null
@@ -0,0 +1,39 @@
+{
+    "name": "remote-global-parameter4-get-all",
+    "brief": "This command is used to fetch all global parameters for the server from the specified database.",
+    "description": "See <xref linkend=\"cmd-remote-global-parameter4-get-all\"/>",
+    "support": [ "kea-dhcp4" ],
+    "avail": "1.6.0",
+    "hook": "cb_cmds",
+    "cmd-syntax": "{
+    \"command\": \"remote-global-parameter4-get-all\"
+    \"arguments\": {
+        \"remote\": {
+            <specification of the database to connect to>
+        }
+    }
+}",
+    "cmd-comment": "The <command>remote</command> map contains specification of the backend from which the global parameters should be fetched. Typically it contains \"type\": \"mysql\".",
+    "resp-syntax": "{
+    \"result\": 0,
+    \"text\": \"DHCPv4 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."
+}
diff --git a/doc/api/remote-global-parameter4-get.json b/doc/api/remote-global-parameter4-get.json
new file mode 100644 (file)
index 0000000..34e8ee4
--- /dev/null
@@ -0,0 +1,34 @@
+{
+    "name": "remote-global-parameter4-get",
+    "brief": "This command is used to fetch selected global parameter for the server from the specified database.",
+    "description": "See <xref linkend=\"cmd-remote-global-parameter4-get\"/>",
+    "support": [ "kea-dhcp4" ],
+    "avail": "1.6.0",
+    "hook": "cb_cmds",
+    "cmd-syntax": "{
+    \"command\": \"remote-global-parameter4-get\"
+    \"arguments\": {
+        \"parameters\": [ <parameter name> ],
+        \"remote\": {
+            <specification of the database to connect to>
+        }
+    }
+}
+
+",
+    "cmd-comment": "The <command>remote</command> map contains specification of the backend from which the global parameters should be fetched. Typically it contains \"type\": \"mysql\".",
+    "resp-syntax": "{
+    \"result\": 0,
+    \"text\": \"DHCPv4 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."
+}
diff --git a/doc/api/remote-global-parameter4-set.json b/doc/api/remote-global-parameter4-set.json
new file mode 100644 (file)
index 0000000..e57bbfc
--- /dev/null
@@ -0,0 +1,25 @@
+{
+    "name": "remote-global-parameter4-set",
+    "brief": "This command is used to create or update one more global parameters for a server.",
+    "description": "See <xref linkend=\"cmd-remote-global-parameter4-set\"/>",
+    "support": [ "kea-dhcp4" ],
+    "avail": "1.6.0",
+    "hook": "cb_cmds",
+    "cmd-syntax": "{
+    \"command\": \"remote-global-parameter4-set\"
+    \"arguments\": {
+        \"parameters\": {
+            <first parameter name>: <first parameter value>,
+            <second parameter name>: <second parameter value>
+        },
+        \"remote\": {
+            <specification of the database to connect to>
+        }
+    }
+}",
+    "cmd-comment": "The <command>remote</command> map contains specification of the backend where global parameter should be set. Typically it contains \"type\": \"mysql\".",
+    "resp-syntax": "{
+    \"result\": 0,
+    \"text\": \"DHCPv4 global parameter(s) successfully set.\"
+}"
+}
diff --git a/doc/api/remote-global-parameter6-del.json b/doc/api/remote-global-parameter6-del.json
new file mode 100644 (file)
index 0000000..ce280c1
--- /dev/null
@@ -0,0 +1,12 @@
+{
+    "name": "remote-global-parameter6-del",
+    "brief": "a sentence or two explaining what this command does",
+    "description": "See <xref linkend=\"cmd-\"/>",
+    "support": [ "undocumented" ],
+    "avail": "0.0.0",
+    "hook": "undocumented",
+    "cmd-syntax": "Syntax of the command",
+    "cmd-comment": "Possibly some extra comments after the syntax.",
+    "resp-syntax": "Syntax of the response",
+    "resp-comment": "Optional extra comments after the resposne syntax."
+}
diff --git a/doc/api/remote-global-parameter6-get-all.json b/doc/api/remote-global-parameter6-get-all.json
new file mode 100644 (file)
index 0000000..b40b4eb
--- /dev/null
@@ -0,0 +1,12 @@
+{
+    "name": "remote-global-parameter6-get-all",
+    "brief": "a sentence or two explaining what this command does",
+    "description": "See <xref linkend=\"cmd-\"/>",
+    "support": [ "undocumented" ],
+    "avail": "0.0.0",
+    "hook": "undocumented",
+    "cmd-syntax": "Syntax of the command",
+    "cmd-comment": "Possibly some extra comments after the syntax.",
+    "resp-syntax": "Syntax of the response",
+    "resp-comment": "Optional extra comments after the resposne syntax."
+}
diff --git a/doc/api/remote-global-parameter6-get.json b/doc/api/remote-global-parameter6-get.json
new file mode 100644 (file)
index 0000000..4774608
--- /dev/null
@@ -0,0 +1,12 @@
+{
+    "name": "remote-global-parameter6-get",
+    "brief": "a sentence or two explaining what this command does",
+    "description": "See <xref linkend=\"cmd-\"/>",
+    "support": [ "undocumented" ],
+    "avail": "0.0.0",
+    "hook": "undocumented",
+    "cmd-syntax": "Syntax of the command",
+    "cmd-comment": "Possibly some extra comments after the syntax.",
+    "resp-syntax": "Syntax of the response",
+    "resp-comment": "Optional extra comments after the resposne syntax."
+}
diff --git a/doc/api/remote-global-parameter6-set.json b/doc/api/remote-global-parameter6-set.json
new file mode 100644 (file)
index 0000000..6258861
--- /dev/null
@@ -0,0 +1,12 @@
+{
+    "name": "remote-global-parameter6-set",
+    "brief": "a sentence or two explaining what this command does",
+    "description": "See <xref linkend=\"cmd-\"/>",
+    "support": [ "undocumented" ],
+    "avail": "0.0.0",
+    "hook": "undocumented",
+    "cmd-syntax": "Syntax of the command",
+    "cmd-comment": "Possibly some extra comments after the syntax.",
+    "resp-syntax": "Syntax of the response",
+    "resp-comment": "Optional extra comments after the resposne syntax."
+}
diff --git a/doc/api/remote-network4-del.json b/doc/api/remote-network4-del.json
new file mode 100644 (file)
index 0000000..7d4846b
--- /dev/null
@@ -0,0 +1,28 @@
+{
+    "name": "remote-network4-del",
+    "brief": "This command is used to delete an IPv4 shared network from the configuration database.",
+    "description": "See <xref linkend=\"cmd-remote-network4-del\"/>",
+    "support": [ "kea-dhcp4" ],
+    "avail": "1.6.0",
+    "hook": "cb_cmds",
+    "cmd-syntax": "{
+    \"command\": \"remote-network4-del\",
+    \"arguments\": {
+        \"shared-networks\": [ {
+            \"name\": <shared network name>
+        } ],
+        \"subnets-action\": \"keep\" | \"delete\",
+        \"remote\": {
+            <specification of the database to connect to>
+        }
+    }
+}",
+    "cmd-comment": "This command includes a list with exactly one name of the shared network to be deleted. The <command>subnets-action</command> denotes whether the subnets in this shared network should be deleted or not. The <command>remote</command> map contains specification of the backend from which the shared network should be deleted. Typically it contains \"type\": \"mysql\".",
+    "resp-syntax": "{
+    \"result\": 0,
+    \"text\": \"1 IPv4 shared network(s) deleted.\",
+    \"arguments\": {
+        \"count\": 1
+    }
+}"
+}
diff --git a/doc/api/remote-network4-get.json b/doc/api/remote-network4-get.json
new file mode 100644 (file)
index 0000000..b81098a
--- /dev/null
@@ -0,0 +1,36 @@
+{
+    "name": "remote-network4-get",
+    "brief": "This command is used to fetch selected IPv4 shared network for the server from the specified database.",
+    "description": "See <xref linkend=\"cmd-remote-network4-get\"/>",
+    "support": [ "kea-dhcp4" ],
+    "avail": "1.6.0",
+    "hook": "cb_cmds",
+    "cmd-syntax": "{
+    \"command\": \"remote-network4-get\"
+    \"arguments\": {
+        \"shared-networks\": [ {
+            \"name\": <shared network name>
+        } ],
+        \"subnets-include\": \"full\" | \"no\",
+        \"remote\": {
+            <specification of the database to connect to>
+        }
+    }
+}",
+    "cmd-comment": "This command includes a list with exactly one name of the shared network to be returned. The <command>subnets-include</command> optional parameter allows for specifying whether subnets belonging to the shared network should also be returned. The <command>remote</command> map contains specification of the backend from which the shared network should be fetched. Typically it contains \"type\": \"mysql\".",
+    "resp-syntax": "{
+    \"result\": 0,
+    \"text\": \"IPv4 shared network 'floor1' 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": "The metadata is included in the returned shared network definition and it provides database specific information associated with the returned object."
+}
diff --git a/doc/api/remote-network4-list.json b/doc/api/remote-network4-list.json
new file mode 100644 (file)
index 0000000..d6f882e
--- /dev/null
@@ -0,0 +1,39 @@
+{
+    "name": "remote-network4-list",
+    "brief": "This command is used to fetch a list of all subnets for the particular server from the specified database.",
+    "description": "See <xref linkend=\"cmd-remote-network4-list\"/>",
+    "support": [ "kea-dhcp4" ],
+    "avail": "1.6.0",
+    "hook": "cb_cmds",
+    "cmd-syntax": "{
+    \"command\": \"remote-network4-list\"
+    \"arguments\": {
+        \"remote\": {
+            <specification of the database to connect to>
+        }
+    }
+}",
+    "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\".",
+    "resp-syntax": "{
+    \"result\": 0,
+    \"text\": \"2 IPv4 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 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."
+}
diff --git a/doc/api/remote-network4-set.json b/doc/api/remote-network4-set.json
new file mode 100644 (file)
index 0000000..0db21ab
--- /dev/null
@@ -0,0 +1,24 @@
+{
+    "name": "remote-network4-set",
+    "brief": "This command is used to create or update IPv4 shared network for a server in the specified database.",
+    "description": "See <xref linkend=\"cmd-remote-network4-set\"/>",
+    "support": [ "kea-dhcp4" ],
+    "avail": "1.6.0",
+    "hook": "cb_cmds",
+    "cmd-syntax": "{
+    \"command\": \"remote-network4-set\",
+    \"arguments\": {
+        \"shared-networks\": [ {
+            <shared network specification excluding subnets list>
+        } ],
+        \"remote\": {
+            <specification of the database to connect to>
+        }
+    }
+}",
+    "cmd-comment": "The provided list must contain exactly one shared network specification. It must not contain subnets (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\".",
+    "resp-syntax": "{
+    \"result\": 0,
+    \"text\": \"IPv4 shared network successfully set.\"
+}"
+}
diff --git a/doc/api/remote-network6-del.json b/doc/api/remote-network6-del.json
new file mode 100644 (file)
index 0000000..d92b9f7
--- /dev/null
@@ -0,0 +1,12 @@
+{
+    "name": "remote-network6-del",
+    "brief": "a sentence or two explaining what this command does",
+    "description": "See <xref linkend=\"cmd-\"/>",
+    "support": [ "undocumented" ],
+    "avail": "0.0.0",
+    "hook": "undocumented",
+    "cmd-syntax": "Syntax of the command",
+    "cmd-comment": "Possibly some extra comments after the syntax.",
+    "resp-syntax": "Syntax of the response",
+    "resp-comment": "Optional extra comments after the resposne syntax."
+}
diff --git a/doc/api/remote-network6-get.json b/doc/api/remote-network6-get.json
new file mode 100644 (file)
index 0000000..5e6ff2e
--- /dev/null
@@ -0,0 +1,12 @@
+{
+    "name": "remote-network6-get",
+    "brief": "a sentence or two explaining what this command does",
+    "description": "See <xref linkend=\"cmd-\"/>",
+    "support": [ "undocumented" ],
+    "avail": "0.0.0",
+    "hook": "undocumented",
+    "cmd-syntax": "Syntax of the command",
+    "cmd-comment": "Possibly some extra comments after the syntax.",
+    "resp-syntax": "Syntax of the response",
+    "resp-comment": "Optional extra comments after the resposne syntax."
+}
diff --git a/doc/api/remote-network6-list.json b/doc/api/remote-network6-list.json
new file mode 100644 (file)
index 0000000..015c61b
--- /dev/null
@@ -0,0 +1,12 @@
+{
+    "name": "remote-network6-list",
+    "brief": "a sentence or two explaining what this command does",
+    "description": "See <xref linkend=\"cmd-\"/>",
+    "support": [ "undocumented" ],
+    "avail": "0.0.0",
+    "hook": "undocumented",
+    "cmd-syntax": "Syntax of the command",
+    "cmd-comment": "Possibly some extra comments after the syntax.",
+    "resp-syntax": "Syntax of the response",
+    "resp-comment": "Optional extra comments after the resposne syntax."
+}
diff --git a/doc/api/remote-network6-set.json b/doc/api/remote-network6-set.json
new file mode 100644 (file)
index 0000000..5a7c6de
--- /dev/null
@@ -0,0 +1,12 @@
+{
+    "name": "remote-network6-set",
+    "brief": "a sentence or two explaining what this command does",
+    "description": "See <xref linkend=\"cmd-\"/>",
+    "support": [ "undocumented" ],
+    "avail": "0.0.0",
+    "hook": "undocumented",
+    "cmd-syntax": "Syntax of the command",
+    "cmd-comment": "Possibly some extra comments after the syntax.",
+    "resp-syntax": "Syntax of the response",
+    "resp-comment": "Optional extra comments after the resposne syntax."
+}
diff --git a/doc/api/remote-option-def4-del.json b/doc/api/remote-option-def4-del.json
new file mode 100644 (file)
index 0000000..0d28d51
--- /dev/null
@@ -0,0 +1,28 @@
+{
+    "name": "remote-option-def4-del",
+    "brief": "This command is used to delete a DHCPv4 option definition from the configuration database.",
+    "description": "See <xref linkend=\"cmd-remote-option-def4-del\"/>",
+    "support": [ "kea-dhcp4" ],
+    "avail": "1.6.0",
+    "hook": "cb_cmds",
+    "cmd-syntax": "{
+    \"command\": \"remote-option-def4-del\",
+    \"arguments\": {
+        \"option-defs\": [ {
+            \"code\": <option code>,
+            \"space\": <option space
+        } ],
+        \"remote\": {
+            <specification of the database to connect to>
+        }
+    }
+}",
+    "cmd-comment": "This command includes a list with exactly one option definition specification comprising an option name and code. The <command>remote</command> map contains specification of the backend from which the shared network should be deleted. Typically it contains \"type\": \"mysql\".",
+    "resp-syntax": "{
+    \"result\": 0,
+    \"text\": \"1 DHCPv4 option definition(s) deleted.\",
+    \"arguments\": {
+        \"count\": 1
+    }
+}"
+}
diff --git a/doc/api/remote-option-def4-get-all.json b/doc/api/remote-option-def4-get-all.json
new file mode 100644 (file)
index 0000000..29cae42
--- /dev/null
@@ -0,0 +1,39 @@
+{
+    "name": "remote-option-def4-get-all",
+    "brief": "This command is used to fetch all option definitions for the server from the specified database.",
+    "description": "See <xref linkend=\"cmd-remote-option-def4-get-all\"/>",
+    "support": [ "kea-dhcp4" ],
+    "avail": "1.6.0",
+    "hook": "cb_cmds",
+    "cmd-syntax": "{
+    \"command\": \"remote-option-def4-get-all\"
+    \"arguments\": {
+        \"remote\": {
+            <specification of the database to connect to>
+        }
+    }
+}",
+    "cmd-comment": "The <command>remote</command> map contains specification of the backend from which the global parameters should be fetched. Typically it contains \"type\": \"mysql\".",
+    "resp-syntax": "{
+    \"result\": 0,
+    \"text\": \"2 DHCPv4 option definition(s) found.\",
+    \"arguments\": {
+        \"option-defs\": [
+            {
+                <first option definition>,
+                \"metadata\": {
+                    \"server-tag\": <server tag>
+                }
+            },
+            {
+                <second option definition>,
+                \"metadata\": {
+                    \"server-tag\": <server tag>
+                }
+            }
+        ],
+        \"count\": <count of the objects returned>
+    }
+}",
+    "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."
+}
diff --git a/doc/api/remote-option-def4-get.json b/doc/api/remote-option-def4-get.json
new file mode 100644 (file)
index 0000000..15b66d7
--- /dev/null
@@ -0,0 +1,36 @@
+{
+    "name": "remote-option-def4-get",
+    "brief": "This command is used to fetch DHCPv4 option definition for the server from the specified database.",
+    "description": "See <xref linkend=\"cmd-remote-option-def4-get\"/>",
+    "support": [ "kea-dhcp4" ],
+    "avail": "1.6.0",
+    "hook": "cb_cmds",
+    "cmd-syntax": "{
+    \"command\": \"remote-option-def4-get\"
+    \"service\": [ \"dhcp4\" ],
+    \"arguments\": {
+        \"option-defs\": [ {
+            \"code\": <option code>,
+            \"space\": <option space>
+        } ],
+        \"remote\": {
+            <specification of the database to connect to>
+        }
+    }
+}",
+    "cmd-comment": "The desired option definition is identified by the pair of 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\".",
+    "resp-syntax": "{
+    \"result\": 0,
+    \"text\": \"DHCPv4 option definition 222 in 'dhcp4' 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."
+}
diff --git a/doc/api/remote-option-def4-set.json b/doc/api/remote-option-def4-set.json
new file mode 100644 (file)
index 0000000..9fe8c4b
--- /dev/null
@@ -0,0 +1,25 @@
+{
+    "name": "remote-option-def4-set",
+    "brief": "This command is used to create or update DHCPv4 option definition for the server in the specified database.",
+    "description": "See <xref linkend=\"cmd-remote-option-def4-set\"/>",
+    "support": [ "kea-dhcp4" ],
+    "avail": "1.6.0",
+    "hook": "cb_cmds",
+    "cmd-syntax": "{
+    \"command\": \"remote-option-def4-set\",
+    \"service\": [ \"dhcp4\" ],
+    \"arguments\": {
+        \"option-defs\": [ {
+            <option definition specification>
+        } ],
+        \"remote\": {
+            <specification of the database to connect to>
+        }
+    }
+}",
+    "cmd-comment": "The provided list must contain exactly one option definition specification. The <command>remote</command> map contains specification of the backend where shared network should be set. Typically it contains \"type\": \"mysql\".",
+    "resp-syntax": "{
+    \"result\": 0,
+    \"text\": \"DHCPv4 option definition set.\"
+}"
+}
diff --git a/doc/api/remote-option-def6-del.json b/doc/api/remote-option-def6-del.json
new file mode 100644 (file)
index 0000000..7fa0e18
--- /dev/null
@@ -0,0 +1,12 @@
+{
+    "name": "remote-option-def6-del",
+    "brief": "a sentence or two explaining what this command does",
+    "description": "See <xref linkend=\"cmd-\"/>",
+    "support": [ "undocumented" ],
+    "avail": "0.0.0",
+    "hook": "undocumented",
+    "cmd-syntax": "Syntax of the command",
+    "cmd-comment": "Possibly some extra comments after the syntax.",
+    "resp-syntax": "Syntax of the response",
+    "resp-comment": "Optional extra comments after the resposne syntax."
+}
diff --git a/doc/api/remote-option-def6-get-all.json b/doc/api/remote-option-def6-get-all.json
new file mode 100644 (file)
index 0000000..15b061e
--- /dev/null
@@ -0,0 +1,12 @@
+{
+    "name": "remote-option-def6-get-all",
+    "brief": "a sentence or two explaining what this command does",
+    "description": "See <xref linkend=\"cmd-\"/>",
+    "support": [ "undocumented" ],
+    "avail": "0.0.0",
+    "hook": "undocumented",
+    "cmd-syntax": "Syntax of the command",
+    "cmd-comment": "Possibly some extra comments after the syntax.",
+    "resp-syntax": "Syntax of the response",
+    "resp-comment": "Optional extra comments after the resposne syntax."
+}
diff --git a/doc/api/remote-option-def6-get.json b/doc/api/remote-option-def6-get.json
new file mode 100644 (file)
index 0000000..22906d7
--- /dev/null
@@ -0,0 +1,12 @@
+{
+    "name": "remote-option-def6-get",
+    "brief": "a sentence or two explaining what this command does",
+    "description": "See <xref linkend=\"cmd-\"/>",
+    "support": [ "undocumented" ],
+    "avail": "0.0.0",
+    "hook": "undocumented",
+    "cmd-syntax": "Syntax of the command",
+    "cmd-comment": "Possibly some extra comments after the syntax.",
+    "resp-syntax": "Syntax of the response",
+    "resp-comment": "Optional extra comments after the resposne syntax."
+}
diff --git a/doc/api/remote-option-def6-set.json b/doc/api/remote-option-def6-set.json
new file mode 100644 (file)
index 0000000..14aa283
--- /dev/null
@@ -0,0 +1,12 @@
+{
+    "name": "remote-option-def6-set",
+    "brief": "a sentence or two explaining what this command does",
+    "description": "See <xref linkend=\"cmd-\"/>",
+    "support": [ "undocumented" ],
+    "avail": "0.0.0",
+    "hook": "undocumented",
+    "cmd-syntax": "Syntax of the command",
+    "cmd-comment": "Possibly some extra comments after the syntax.",
+    "resp-syntax": "Syntax of the response",
+    "resp-comment": "Optional extra comments after the resposne syntax."
+}
diff --git a/doc/api/remote-option4-global-del.json b/doc/api/remote-option4-global-del.json
new file mode 100644 (file)
index 0000000..e7164fd
--- /dev/null
@@ -0,0 +1,27 @@
+{
+    "name": "remote-option4-global-del",
+    "brief": "This command is used to delete a DHCPv4 global option from the configuration database.",
+    "description": "See <xref linkend=\"cmd-remote-option4-global-del\"/>",
+    "support": [ "kea-dhcp4" ],
+    "avail": "1.6.0",
+    "hook": "cb_cmds",
+    "cmd-syntax": "{
+    \"command\": \"remote-option4-global-del\",
+    \"arguments\": {
+        \"options\": [ {
+            \"code\": <option code>
+            \"space\": <option space>
+        } ],
+        \"remote\": {
+            <specification of the database to connect to>
+        }
+    }
+}",
+    "cmd-comment": "This command includes a list with exactly one option specification comprising an option name and code. The <command>remote</command> map contains specification of the backend from which the shared network should be deleted. Typically it contains \"type\": \"mysql\".",
+    "resp-syntax": "
+    \"result\": 0,
+    \"text\": \"1 DHCPv4 option(s) deleted.\",
+    \"arguments\": {
+        \"count\": 1
+    }"
+}
diff --git a/doc/api/remote-option4-global-get-all.json b/doc/api/remote-option4-global-get-all.json
new file mode 100644 (file)
index 0000000..001fc36
--- /dev/null
@@ -0,0 +1,39 @@
+{
+    "name": "remote-option4-global-get-all",
+    "brief": "This command is used to fetch all DHCPv4 global options for the server from the specified database.",
+    "description": "See <xref linkend=\"cmd-remote-option4-global-get-all\"/>",
+    "support": [ "kea-dhcp4" ],
+    "avail": "1.6.0",
+    "hook": "cb_cmds",
+    "cmd-syntax": "{
+    \"command\": \"remote-option4-global-get-all\"
+    \"arguments\": {
+        \"remote\": {
+            <specification of the database to connect to>
+        }
+    }
+}",
+    "cmd-comment": "The <command>remote</command> map contains specification of the backend from which the global parameters should be fetched. Typically it contains \"type\": \"mysql\".",
+    "resp-syntax": "{
+    \"result\": 0,
+    \"text\": \"2 DHCPv4 option(s) found.\",
+    \"arguments\": {
+        \"options\": [
+            {
+                <first option specification>,
+                \"metadata\": {
+                    \"server-tag\": <server tag>
+                }
+            },
+            {
+                <second option specification>,
+                \"metadata\": {
+                    \"server-tag\": <server tag>
+                }
+            }
+        ],
+        \"count\": <count of the objects returned>
+    }
+}",
+    "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."
+}
diff --git a/doc/api/remote-option4-global-get.json b/doc/api/remote-option4-global-get.json
new file mode 100644 (file)
index 0000000..8b8ed2f
--- /dev/null
@@ -0,0 +1,12 @@
+{
+    "name": "remote-option4-global-get",
+    "brief": "a sentence or two explaining what this command does",
+    "description": "See <xref linkend=\"cmd-\"/>",
+    "support": [ "undocumented" ],
+    "avail": "0.0.0",
+    "hook": "undocumented",
+    "cmd-syntax": "Syntax of the command",
+    "cmd-comment": "Possibly some extra comments after the syntax.",
+    "resp-syntax": "Syntax of the response",
+    "resp-comment": "Optional extra comments after the resposne syntax."
+}
diff --git a/doc/api/remote-option4-global-set.json b/doc/api/remote-option4-global-set.json
new file mode 100644 (file)
index 0000000..cea4d22
--- /dev/null
@@ -0,0 +1,25 @@
+{
+    "name": "remote-option4-global-set",
+    "brief": "This command is used to create or update DHCPv4 global option for the server in the specified database.",
+    "description": "See <xref linkend=\"cmd-remote-option4-global-set\"/>",
+    "support": [ "kea-dhcp4" ],
+    "avail": "1.6.0",
+    "hook": "cb_cmds",
+    "cmd-syntax": "{
+    \"command\": \"remote-option4-global-set\",
+    \"service\": [ \"dhcp4\" ],
+    \"arguments\": {
+        \"options\": [ {
+            <global option specification>
+        } ],
+        \"remote\": {
+            <specification of the database to connect to>
+        }
+    }
+}",
+    "cmd-comment": "The provided list must cotain exactly one option specification. The <command>remote</command> map contains specification of the backend where shared network should be set. Typically it contains \"type\": \"mysql\".",
+    "resp-syntax": "{
+    \"result\": 0,
+    \"text\": \"DHCPv4 option set.\"
+}"
+}
diff --git a/doc/api/remote-option6-global-del.json b/doc/api/remote-option6-global-del.json
new file mode 100644 (file)
index 0000000..1dd6749
--- /dev/null
@@ -0,0 +1,12 @@
+{
+    "name": "remote-option6-global-del",
+    "brief": "a sentence or two explaining what this command does",
+    "description": "See <xref linkend=\"cmd-\"/>",
+    "support": [ "undocumented" ],
+    "avail": "0.0.0",
+    "hook": "undocumented",
+    "cmd-syntax": "Syntax of the command",
+    "cmd-comment": "Possibly some extra comments after the syntax.",
+    "resp-syntax": "Syntax of the response",
+    "resp-comment": "Optional extra comments after the resposne syntax."
+}
diff --git a/doc/api/remote-option6-global-get-all.json b/doc/api/remote-option6-global-get-all.json
new file mode 100644 (file)
index 0000000..15e67c0
--- /dev/null
@@ -0,0 +1,12 @@
+{
+    "name": "remote-option6-global-get-all",
+    "brief": "a sentence or two explaining what this command does",
+    "description": "See <xref linkend=\"cmd-\"/>",
+    "support": [ "undocumented" ],
+    "avail": "0.0.0",
+    "hook": "undocumented",
+    "cmd-syntax": "Syntax of the command",
+    "cmd-comment": "Possibly some extra comments after the syntax.",
+    "resp-syntax": "Syntax of the response",
+    "resp-comment": "Optional extra comments after the resposne syntax."
+}
diff --git a/doc/api/remote-option6-global-get.json b/doc/api/remote-option6-global-get.json
new file mode 100644 (file)
index 0000000..1be1da2
--- /dev/null
@@ -0,0 +1,12 @@
+{
+    "name": "remote-option6-global-get",
+    "brief": "a sentence or two explaining what this command does",
+    "description": "See <xref linkend=\"cmd-\"/>",
+    "support": [ "undocumented" ],
+    "avail": "0.0.0",
+    "hook": "undocumented",
+    "cmd-syntax": "Syntax of the command",
+    "cmd-comment": "Possibly some extra comments after the syntax.",
+    "resp-syntax": "Syntax of the response",
+    "resp-comment": "Optional extra comments after the resposne syntax."
+}
diff --git a/doc/api/remote-option6-global-set.json b/doc/api/remote-option6-global-set.json
new file mode 100644 (file)
index 0000000..635fd96
--- /dev/null
@@ -0,0 +1,12 @@
+{
+    "name": "remote-option6-global-set",
+    "brief": "a sentence or two explaining what this command does",
+    "description": "See <xref linkend=\"cmd-\"/>",
+    "support": [ "undocumented" ],
+    "avail": "0.0.0",
+    "hook": "undocumented",
+    "cmd-syntax": "Syntax of the command",
+    "cmd-comment": "Possibly some extra comments after the syntax.",
+    "resp-syntax": "Syntax of the response",
+    "resp-comment": "Optional extra comments after the resposne syntax."
+}
diff --git a/doc/api/remote-subnet4-del-by-id.json b/doc/api/remote-subnet4-del-by-id.json
new file mode 100644 (file)
index 0000000..cb49307
--- /dev/null
@@ -0,0 +1,28 @@
+{
+    "name": "remote-subnet4-del-by-id",
+    "brief": "This command is used to delete an IPv4 subnet by ID from the configuration database.",
+    "description": "See <xref linkend=\"cmd-remote-subnet4-del-by-id\"/>",
+    "support": [ "kea-dhcp4" ],
+    "avail": "1.6.0",
+    "hook": "cb_cmds",
+    "cmd-syntax": "{
+    \"command\": \"remote-subnet4-del-by-id\",
+    \"service\": [ \"dhcp4\" ],
+    \"arguments\": {
+        \"subnets\": [ {
+            \"id\": <subnet identifier>
+        } ],
+        \"remote\": {
+            <specification of the database to connect to>
+        }
+    }
+}",
+    "cmd-comment": "This command includes a list with exactly one id of the subnet to be deleted. The <command>remote</command> map contains specification of the backend from which the subnet should be deleted. Typically it contains \"type\": \"mysql\".",
+    "resp-syntax": "{
+    \"result\": 0,
+    \"text\": \"1 IPv4 subnet(s) deleted.\",
+    \"arguments\": {
+        \"count\": 1
+    }
+}"
+}
diff --git a/doc/api/remote-subnet4-del-by-prefix.json b/doc/api/remote-subnet4-del-by-prefix.json
new file mode 100644 (file)
index 0000000..d14b609
--- /dev/null
@@ -0,0 +1,28 @@
+{
+    "name": "remote-subnet4-del-by-prefix",
+    "brief": "This command is used to delete an IPv4 subnet by prefix from the configuration database.",
+    "description": "See <xref linkend=\"cmd-remote-subnet4-del-by-id\"/>",
+    "support": [ "kea-dhcp4" ],
+    "avail": "1.6.0",
+    "hook": "cb_cmds",
+    "cmd-syntax": "{
+    \"command\": \"remote-subnet4-del-by-prefix\",
+    \"service\": [ \"dhcp4\" ],
+    \"arguments\": {
+        \"subnets\": [ {
+            \"subnet\": <subnet prefix>
+        } ],
+        \"remote\": {
+            <specification of the database to connect to>
+        }
+    }
+}",
+    "cmd-comment": "This command includes a list with exactly one prefix of the subnet to be deleted. The <command>remote</command> map contains specification of the backend from which the subnet should be deleted. Typically it contains \"type\": \"mysql\".",
+    "resp-syntax": "{
+    \"result\": 0,
+    \"text\": \"1 IPv4 subnet(s) deleted.\",
+    \"arguments\": {
+        \"count\": 1
+    }
+}"
+}
diff --git a/doc/api/remote-subnet4-get-by-id.json b/doc/api/remote-subnet4-get-by-id.json
new file mode 100644 (file)
index 0000000..f2512c3
--- /dev/null
@@ -0,0 +1,37 @@
+{
+    "name": "remote-subnet4-get-by-id",
+    "brief": "This command is used to fetch selected IPv4 subnet by ID for the server from the specified database.",
+    "description": "See <xref linkend=\"cmd-remote-subnet4-get-by-id\"/>",
+    "support": [ "kea-dhcp4" ],
+    "avail": "1.6.0",
+    "hook": "cb_cmds",
+    "cmd-syntax": "{
+    \"command\": \"remote-subnet4-get-by-id\"
+    \"arguments\": {
+        \"subnets\": [ {
+            \"id\": <subnet identifier>
+        } ],
+        \"remote\": {
+            <specification of the database to connect to>
+        }
+    }
+}",
+    "cmd-comment": "This command includes a list with exactly one id of the subnet to be returned. The <command>remote</command> map contains specification of the backend from which the subnet should be fetched. Typically it contains \"type\": \"mysql\".",
+    "resp-syntax": "{
+    \"result\": 0,
+    \"text\": \"IPv4 subnet 123 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": "The metadata is included in the returned subnet definition and it provides database specific information associated with the returned object."
+}
diff --git a/doc/api/remote-subnet4-get-by-prefix.json b/doc/api/remote-subnet4-get-by-prefix.json
new file mode 100644 (file)
index 0000000..ef6c10b
--- /dev/null
@@ -0,0 +1,37 @@
+{
+    "name": "remote-subnet4-get-by-prefix",
+    "brief": "This command is used to fetch selected IPv4 subnet by prefix for the server from the specified database.",
+    "description": "See <xref linkend=\"cmd-remote-subnet4-get-by-prefix\"/>",
+    "support": [ "kea-dhcp4" ],
+    "avail": "1.6.0",
+    "hook": "cb_cmds",
+    "cmd-syntax": "{
+    \"command\": \"remote-subnet4-get-by-prefix\"
+    \"arguments\": {
+        \"subnets\": [ {
+            \"subnet\": <subnet prefix>
+        } ],
+        \"remote\": {
+            <specification of the database to connect to>
+        }
+    }
+}",
+    "cmd-comment": "This command includes a list with exactly one prefix of the subnet to be returned. The <command>remote</command> map contains specification of the backend from which the subnet should be fetched. Typically it contains \"type\": \"mysql\".",
+    "resp-syntax": "{
+    \"result\": 0,
+    \"text\": \"IPv4 subnet 123 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": "The metadata is included in the returned subnet definition and it provides database specific information associated with the returned object."
+}
diff --git a/doc/api/remote-subnet4-list.json b/doc/api/remote-subnet4-list.json
new file mode 100644 (file)
index 0000000..614f181
--- /dev/null
@@ -0,0 +1,43 @@
+{
+    "name": "remote-subnet4-list",
+    "brief": "This command is used to fetch a list of all IPv4 shared networks for the particular server from the specified database.",
+    "description": "See <xref linkend=\"cmd-remote-subnet4-list\"/>",
+    "support": [ "kea-dhcp4" ],
+    "avail": "1.6.0",
+    "hook": "cb_cmds",
+    "cmd-syntax": "{
+    \"command\": \"remote-subnet4-list\"
+    \"arguments\": {
+        \"remote\": {
+            <specification of the database to connect to>
+        }
+    }
+}",
+    "cmd-comment": "The <command>remote</command> map contains specification of the backend from which the subnets should be fetched. Typically it contains \"type\": \"mysql\".",
+    "resp-syntax": "{
+    \"result\": 0,
+    \"text\": \"2 IPv4 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-subnet4-get</command> to fetch the full information about the selected subnets."
+}
diff --git a/doc/api/remote-subnet4-set.json b/doc/api/remote-subnet4-set.json
new file mode 100644 (file)
index 0000000..6fbb780
--- /dev/null
@@ -0,0 +1,27 @@
+{
+    "name": "remote-subnet4-set",
+    "brief": "This command is used to create or update IPv4 subnet for a server in the specified database.",
+    "description": "See <xref linkend=\"cmd-remote-subnet4-set\"/>",
+    "support": [ "kea-dhcp4" ],
+    "avail": "1.6.0",
+    "hook": "cb_cmds",
+    "cmd-syntax": "{
+    \"command\": \"remote-subnet4-set\",
+    \"arguments\": {
+        \"subnets\": [ {
+            \"id\": <subnet identifier>,
+            \"subnet\": <subnet prefix>,
+            \"shared-network-name\": <shared network name>
+            <the rest of the subnet specification here>
+        } ],
+        \"remote\": {
+            <specification of the database to connect to>
+        }
+    }
+}",
+    "cmd-comment": "The provided list must contain exactly one subnet specification. The <command>remote</command> map contains specification of the backend where shared network should be set. Typically it contains \"type\": \"mysql\".",
+    "resp-syntax": "{
+    \"result\": 0,
+    \"text\": \"IPv4 subnet successfully set.\",
+}"
+}
diff --git a/doc/api/remote-subnet6-del-by-id.json b/doc/api/remote-subnet6-del-by-id.json
new file mode 100644 (file)
index 0000000..945fad3
--- /dev/null
@@ -0,0 +1,12 @@
+{
+    "name": "remote-subnet6-del-by-id",
+    "brief": "a sentence or two explaining what this command does",
+    "description": "See <xref linkend=\"cmd-\"/>",
+    "support": [ "undocumented" ],
+    "avail": "0.0.0",
+    "hook": "undocumented",
+    "cmd-syntax": "Syntax of the command",
+    "cmd-comment": "Possibly some extra comments after the syntax.",
+    "resp-syntax": "Syntax of the response",
+    "resp-comment": "Optional extra comments after the resposne syntax."
+}
diff --git a/doc/api/remote-subnet6-del-by-prefix.json b/doc/api/remote-subnet6-del-by-prefix.json
new file mode 100644 (file)
index 0000000..f1fa7d4
--- /dev/null
@@ -0,0 +1,12 @@
+{
+    "name": "remote-subnet6-del-by-prefix",
+    "brief": "a sentence or two explaining what this command does",
+    "description": "See <xref linkend=\"cmd-\"/>",
+    "support": [ "undocumented" ],
+    "avail": "0.0.0",
+    "hook": "undocumented",
+    "cmd-syntax": "Syntax of the command",
+    "cmd-comment": "Possibly some extra comments after the syntax.",
+    "resp-syntax": "Syntax of the response",
+    "resp-comment": "Optional extra comments after the resposne syntax."
+}
diff --git a/doc/api/remote-subnet6-get-by-id.json b/doc/api/remote-subnet6-get-by-id.json
new file mode 100644 (file)
index 0000000..bd83e34
--- /dev/null
@@ -0,0 +1,12 @@
+{
+    "name": "remote-subnet6-get-by-id",
+    "brief": "a sentence or two explaining what this command does",
+    "description": "See <xref linkend=\"cmd-\"/>",
+    "support": [ "undocumented" ],
+    "avail": "0.0.0",
+    "hook": "undocumented",
+    "cmd-syntax": "Syntax of the command",
+    "cmd-comment": "Possibly some extra comments after the syntax.",
+    "resp-syntax": "Syntax of the response",
+    "resp-comment": "Optional extra comments after the resposne syntax."
+}
diff --git a/doc/api/remote-subnet6-get-by-prefix.json b/doc/api/remote-subnet6-get-by-prefix.json
new file mode 100644 (file)
index 0000000..408ec7e
--- /dev/null
@@ -0,0 +1,12 @@
+{
+    "name": "remote-subnet6-get-by-prefix",
+    "brief": "a sentence or two explaining what this command does",
+    "description": "See <xref linkend=\"cmd-\"/>",
+    "support": [ "undocumented" ],
+    "avail": "0.0.0",
+    "hook": "undocumented",
+    "cmd-syntax": "Syntax of the command",
+    "cmd-comment": "Possibly some extra comments after the syntax.",
+    "resp-syntax": "Syntax of the response",
+    "resp-comment": "Optional extra comments after the resposne syntax."
+}
diff --git a/doc/api/remote-subnet6-list.json b/doc/api/remote-subnet6-list.json
new file mode 100644 (file)
index 0000000..8657ab7
--- /dev/null
@@ -0,0 +1,12 @@
+{
+    "name": "remote-subnet6-list",
+    "brief": "a sentence or two explaining what this command does",
+    "description": "See <xref linkend=\"cmd-\"/>",
+    "support": [ "undocumented" ],
+    "avail": "0.0.0",
+    "hook": "undocumented",
+    "cmd-syntax": "Syntax of the command",
+    "cmd-comment": "Possibly some extra comments after the syntax.",
+    "resp-syntax": "Syntax of the response",
+    "resp-comment": "Optional extra comments after the resposne syntax."
+}
diff --git a/doc/api/remote-subnet6-set.json b/doc/api/remote-subnet6-set.json
new file mode 100644 (file)
index 0000000..2e34b32
--- /dev/null
@@ -0,0 +1,12 @@
+{
+    "name": "remote-subnet6-set",
+    "brief": "a sentence or two explaining what this command does",
+    "description": "See <xref linkend=\"cmd-\"/>",
+    "support": [ "undocumented" ],
+    "avail": "0.0.0",
+    "hook": "undocumented",
+    "cmd-syntax": "Syntax of the command",
+    "cmd-comment": "Possibly some extra comments after the syntax.",
+    "resp-syntax": "Syntax of the response",
+    "resp-comment": "Optional extra comments after the resposne syntax."
+}
index 55db2c753acb2369fe2ff666e4b0f755e5d86c04..2a22ef34bb0cf57a983904d1174071aed736d699 100644 (file)
@@ -50,6 +50,50 @@ network6-get
 network6-list
 network6-subnet-add
 network6-subnet-del
+remote-global-parameter4-del
+remote-global-parameter4-get
+remote-global-parameter4-get-all
+remote-global-parameter4-set
+remote-global-parameter6-del
+remote-global-parameter6-get
+remote-global-parameter6-get-all
+remote-global-parameter6-set
+remote-network4-del
+remote-network4-get
+remote-network4-list
+remote-network4-set
+remote-network6-del
+remote-network6-get
+remote-network6-list
+remote-network6-set
+remote-option-def4-del
+remote-option-def4-get
+remote-option-def4-get-all
+remote-option-def4-set
+remote-option-def6-del
+remote-option-def6-get
+remote-option-def6-get-all
+remote-option-def6-set
+remote-option4-global-del
+remote-option4-global-get
+remote-option4-global-get-all
+remote-option4-global-set
+remote-option6-global-del
+remote-option6-global-get
+remote-option6-global-get-all
+remote-option6-global-set
+remote-subnet4-del-by-id
+remote-subnet4-del-by-prefix
+remote-subnet4-get-by-id
+remote-subnet4-get-by-prefix
+remote-subnet4-list
+remote-subnet4-set
+remote-subnet6-del-by-id
+remote-subnet6-del-by-prefix
+remote-subnet6-get-by-id
+remote-subnet6-get-by-prefix
+remote-subnet6-list
+remote-subnet6-set
 reservation-add
 reservation-del
 reservation-get
index a2bb5b0eeccb11b2390a94b687bff88305f1a061..948fc9e58b844386ad6b6a1056c217c4f9f1128e 100644 (file)
@@ -7,10 +7,10 @@ dist_html_DATA = $(HTMLDOCS) kea-guide.css kea-logo-100x70.png
 
 DOCBOOK = kea-guide.xml intro.xml quickstart.xml install.xml admin.xml config.xml
 DOCBOOK += config-backend.xml keactrl.xml dhcp4-srv.xml dhcp6-srv.xml lease-expiration.xml
-DOCBOOK += logging.xml ddns.xml hooks.xml hooks-class-cmds.xml hooks-ha.xml
-DOCBOOK += hooks-host-cache.xml hooks-lease-cmds.xml hooks-radius.xml hooks-stat-cmds.xml
-DOCBOOK += lfc.xml stats.xml ctrl-channel.xml classify.xml shell.xml agent.xml
-DOCBOOK += netconf.xml api.xml congestion-handling.xml hammer.xml
+DOCBOOK += logging.xml ddns.xml hooks.xml hooks-class-cmds.xml hooks-cb-cmds.xml
+DOCBOOK += hooks-ha.xml hooks-host-cache.xml hooks-lease-cmds.xml hooks-radius.xml
+DOCBOOK += hooks-stat-cmds.xml lfc.xml stats.xml ctrl-channel.xml classify.xml shell.xml
+DOCBOOK += agent.xml netconf.xml api.xml congestion-handling.xml hammer.xml
 
 EXTRA_DIST = $(DOCBOOK)
 
index b2512965740f24bd66719532842d7dd016e231f3..aa1f98c9561d6be96d64d2b8234a3ef0fae6650a 100644 (file)
@@ -9,7 +9,7 @@
 <!-- autogenerated using cmd_docgen. Do not edit by hand! -->
 <appendix xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="api">
   <title>API Reference</title>
-  <para>Kea currently supports 71 commands:
+  <para>Kea currently supports 119 commands:
 <command><link linkend="ref-build-report">build-report</link></command>
 , <command><link linkend="ref-cache-clear">cache-clear</link></command>
 , <command><link linkend="ref-cache-get">cache-get</link></command>
 , <command><link linkend="ref-network6-list">network6-list</link></command>
 , <command><link linkend="ref-network6-subnet-add">network6-subnet-add</link></command>
 , <command><link linkend="ref-network6-subnet-del">network6-subnet-del</link></command>
+, <command><link linkend="ref-remote-global-parameter4-del">remote-global-parameter4-del</link></command>
+, <command><link linkend="ref-remote-global-parameter4-get">remote-global-parameter4-get</link></command>
+, <command><link linkend="ref-remote-global-parameter4-get-all">remote-global-parameter4-get-all</link></command>
+, <command><link linkend="ref-remote-global-parameter4-set">remote-global-parameter4-set</link></command>
+, <command><link linkend="ref-remote-global-parameter6-del">remote-global-parameter6-del</link></command>
+, <command><link linkend="ref-remote-global-parameter6-get">remote-global-parameter6-get</link></command>
+, <command><link linkend="ref-remote-global-parameter6-get-all">remote-global-parameter6-get-all</link></command>
+, <command><link linkend="ref-remote-global-parameter6-set">remote-global-parameter6-set</link></command>
+, <command><link linkend="ref-remote-network4-del">remote-network4-del</link></command>
+, <command><link linkend="ref-remote-network4-get">remote-network4-get</link></command>
+, <command><link linkend="ref-remote-network4-list">remote-network4-list</link></command>
+, <command><link linkend="ref-remote-network4-set">remote-network4-set</link></command>
+, <command><link linkend="ref-remote-network6-del">remote-network6-del</link></command>
+, <command><link linkend="ref-remote-network6-get">remote-network6-get</link></command>
+, <command><link linkend="ref-remote-network6-list">remote-network6-list</link></command>
+, <command><link linkend="ref-remote-network6-set">remote-network6-set</link></command>
+, <command><link linkend="ref-remote-option-def4-del">remote-option-def4-del</link></command>
+, <command><link linkend="ref-remote-option-def4-get">remote-option-def4-get</link></command>
+, <command><link linkend="ref-remote-option-def4-get-all">remote-option-def4-get-all</link></command>
+, <command><link linkend="ref-remote-option-def4-set">remote-option-def4-set</link></command>
+, <command><link linkend="ref-remote-option-def6-del">remote-option-def6-del</link></command>
+, <command><link linkend="ref-remote-option-def6-get">remote-option-def6-get</link></command>
+, <command><link linkend="ref-remote-option-def6-get-all">remote-option-def6-get-all</link></command>
+, <command><link linkend="ref-remote-option-def6-set">remote-option-def6-set</link></command>
+, <command><link linkend="ref-remote-option4-global-del">remote-option4-global-del</link></command>
+, <command><link linkend="ref-remote-option4-global-get">remote-option4-global-get</link></command>
+, <command><link linkend="ref-remote-option4-global-get-all">remote-option4-global-get-all</link></command>
+, <command><link linkend="ref-remote-option4-global-set">remote-option4-global-set</link></command>
+, <command><link linkend="ref-remote-option6-global-del">remote-option6-global-del</link></command>
+, <command><link linkend="ref-remote-option6-global-get">remote-option6-global-get</link></command>
+, <command><link linkend="ref-remote-option6-global-get-all">remote-option6-global-get-all</link></command>
+, <command><link linkend="ref-remote-option6-global-set">remote-option6-global-set</link></command>
+, <command><link linkend="ref-remote-subnet4-del-by-id">remote-subnet4-del-by-id</link></command>
+, <command><link linkend="ref-remote-subnet4-del-by-prefix">remote-subnet4-del-by-prefix</link></command>
+, <command><link linkend="ref-remote-subnet4-get-by-id">remote-subnet4-get-by-id</link></command>
+, <command><link linkend="ref-remote-subnet4-get-by-prefix">remote-subnet4-get-by-prefix</link></command>
+, <command><link linkend="ref-remote-subnet4-list">remote-subnet4-list</link></command>
+, <command><link linkend="ref-remote-subnet4-set">remote-subnet4-set</link></command>
+, <command><link linkend="ref-remote-subnet6-del-by-id">remote-subnet6-del-by-id</link></command>
+, <command><link linkend="ref-remote-subnet6-del-by-prefix">remote-subnet6-del-by-prefix</link></command>
+, <command><link linkend="ref-remote-subnet6-get-by-id">remote-subnet6-get-by-id</link></command>
+, <command><link linkend="ref-remote-subnet6-get-by-prefix">remote-subnet6-get-by-prefix</link></command>
+, <command><link linkend="ref-remote-subnet6-list">remote-subnet6-list</link></command>
+, <command><link linkend="ref-remote-subnet6-set">remote-subnet6-set</link></command>
 , <command><link linkend="ref-reservation-add">reservation-add</link></command>
 , <command><link linkend="ref-reservation-del">reservation-del</link></command>
 , <command><link linkend="ref-reservation-get">reservation-get</link></command>
 , <command><link linkend="ref-network4-list">network4-list</link></command>
 , <command><link linkend="ref-network4-subnet-add">network4-subnet-add</link></command>
 , <command><link linkend="ref-network4-subnet-del">network4-subnet-del</link></command>
+, <command><link linkend="ref-remote-global-parameter4-del">remote-global-parameter4-del</link></command>
+, <command><link linkend="ref-remote-global-parameter4-get">remote-global-parameter4-get</link></command>
+, <command><link linkend="ref-remote-global-parameter4-get-all">remote-global-parameter4-get-all</link></command>
+, <command><link linkend="ref-remote-global-parameter4-set">remote-global-parameter4-set</link></command>
+, <command><link linkend="ref-remote-network4-del">remote-network4-del</link></command>
+, <command><link linkend="ref-remote-network4-get">remote-network4-get</link></command>
+, <command><link linkend="ref-remote-network4-list">remote-network4-list</link></command>
+, <command><link linkend="ref-remote-network4-set">remote-network4-set</link></command>
+, <command><link linkend="ref-remote-option-def4-del">remote-option-def4-del</link></command>
+, <command><link linkend="ref-remote-option-def4-get">remote-option-def4-get</link></command>
+, <command><link linkend="ref-remote-option-def4-get-all">remote-option-def4-get-all</link></command>
+, <command><link linkend="ref-remote-option-def4-set">remote-option-def4-set</link></command>
+, <command><link linkend="ref-remote-option4-global-del">remote-option4-global-del</link></command>
+, <command><link linkend="ref-remote-option4-global-get-all">remote-option4-global-get-all</link></command>
+, <command><link linkend="ref-remote-option4-global-set">remote-option4-global-set</link></command>
+, <command><link linkend="ref-remote-subnet4-del-by-id">remote-subnet4-del-by-id</link></command>
+, <command><link linkend="ref-remote-subnet4-del-by-prefix">remote-subnet4-del-by-prefix</link></command>
+, <command><link linkend="ref-remote-subnet4-get-by-id">remote-subnet4-get-by-id</link></command>
+, <command><link linkend="ref-remote-subnet4-get-by-prefix">remote-subnet4-get-by-prefix</link></command>
+, <command><link linkend="ref-remote-subnet4-list">remote-subnet4-list</link></command>
+, <command><link linkend="ref-remote-subnet4-set">remote-subnet4-set</link></command>
 , <command><link linkend="ref-reservation-add">reservation-add</link></command>
 , <command><link linkend="ref-reservation-del">reservation-del</link></command>
 , <command><link linkend="ref-reservation-get">reservation-get</link></command>
 , <command><link linkend="ref-subnet6-update">subnet6-update</link></command>
 , <command><link linkend="ref-version-get">version-get</link></command>
 .</para>
+<para xml:id="commands-undocumented">Commands supported by undocumented daemon: <command><link linkend="ref-remote-global-parameter6-del">remote-global-parameter6-del</link></command>
+, <command><link linkend="ref-remote-global-parameter6-get">remote-global-parameter6-get</link></command>
+, <command><link linkend="ref-remote-global-parameter6-get-all">remote-global-parameter6-get-all</link></command>
+, <command><link linkend="ref-remote-global-parameter6-set">remote-global-parameter6-set</link></command>
+, <command><link linkend="ref-remote-network6-del">remote-network6-del</link></command>
+, <command><link linkend="ref-remote-network6-get">remote-network6-get</link></command>
+, <command><link linkend="ref-remote-network6-list">remote-network6-list</link></command>
+, <command><link linkend="ref-remote-network6-set">remote-network6-set</link></command>
+, <command><link linkend="ref-remote-option-def6-del">remote-option-def6-del</link></command>
+, <command><link linkend="ref-remote-option-def6-get">remote-option-def6-get</link></command>
+, <command><link linkend="ref-remote-option-def6-get-all">remote-option-def6-get-all</link></command>
+, <command><link linkend="ref-remote-option-def6-set">remote-option-def6-set</link></command>
+, <command><link linkend="ref-remote-option4-global-get">remote-option4-global-get</link></command>
+, <command><link linkend="ref-remote-option6-global-del">remote-option6-global-del</link></command>
+, <command><link linkend="ref-remote-option6-global-get">remote-option6-global-get</link></command>
+, <command><link linkend="ref-remote-option6-global-get-all">remote-option6-global-get-all</link></command>
+, <command><link linkend="ref-remote-option6-global-set">remote-option6-global-set</link></command>
+, <command><link linkend="ref-remote-subnet6-del-by-id">remote-subnet6-del-by-id</link></command>
+, <command><link linkend="ref-remote-subnet6-del-by-prefix">remote-subnet6-del-by-prefix</link></command>
+, <command><link linkend="ref-remote-subnet6-get-by-id">remote-subnet6-get-by-id</link></command>
+, <command><link linkend="ref-remote-subnet6-get-by-prefix">remote-subnet6-get-by-prefix</link></command>
+, <command><link linkend="ref-remote-subnet6-list">remote-subnet6-list</link></command>
+, <command><link linkend="ref-remote-subnet6-set">remote-subnet6-set</link></command>
+.</para>
+<para xml:id="commands-cb_cmds-lib">Commands supported by cb_cmds hook library: <command><link linkend="ref-remote-global-parameter4-del">remote-global-parameter4-del</link></command>
+, <command><link linkend="ref-remote-global-parameter4-get">remote-global-parameter4-get</link></command>
+, <command><link linkend="ref-remote-global-parameter4-get-all">remote-global-parameter4-get-all</link></command>
+, <command><link linkend="ref-remote-global-parameter4-set">remote-global-parameter4-set</link></command>
+, <command><link linkend="ref-remote-network4-del">remote-network4-del</link></command>
+, <command><link linkend="ref-remote-network4-get">remote-network4-get</link></command>
+, <command><link linkend="ref-remote-network4-list">remote-network4-list</link></command>
+, <command><link linkend="ref-remote-network4-set">remote-network4-set</link></command>
+, <command><link linkend="ref-remote-option-def4-del">remote-option-def4-del</link></command>
+, <command><link linkend="ref-remote-option-def4-get">remote-option-def4-get</link></command>
+, <command><link linkend="ref-remote-option-def4-get-all">remote-option-def4-get-all</link></command>
+, <command><link linkend="ref-remote-option-def4-set">remote-option-def4-set</link></command>
+, <command><link linkend="ref-remote-option4-global-del">remote-option4-global-del</link></command>
+, <command><link linkend="ref-remote-option4-global-get-all">remote-option4-global-get-all</link></command>
+, <command><link linkend="ref-remote-option4-global-set">remote-option4-global-set</link></command>
+, <command><link linkend="ref-remote-subnet4-del-by-id">remote-subnet4-del-by-id</link></command>
+, <command><link linkend="ref-remote-subnet4-del-by-prefix">remote-subnet4-del-by-prefix</link></command>
+, <command><link linkend="ref-remote-subnet4-get-by-id">remote-subnet4-get-by-id</link></command>
+, <command><link linkend="ref-remote-subnet4-get-by-prefix">remote-subnet4-get-by-prefix</link></command>
+, <command><link linkend="ref-remote-subnet4-list">remote-subnet4-list</link></command>
+, <command><link linkend="ref-remote-subnet4-set">remote-subnet4-set</link></command>
+.</para>
 <para xml:id="commands-class_cmds-lib">Commands supported by class_cmds hook library: <command><link linkend="ref-class-add">class-add</link></command>
 , <command><link linkend="ref-class-del">class-del</link></command>
 , <command><link linkend="ref-class-get">class-get</link></command>
 , <command><link linkend="ref-subnet6-list">subnet6-list</link></command>
 , <command><link linkend="ref-subnet6-update">subnet6-update</link></command>
 .</para>
+<para xml:id="commands-undocumented-lib">Commands supported by undocumented hook library: <command><link linkend="ref-remote-global-parameter6-del">remote-global-parameter6-del</link></command>
+, <command><link linkend="ref-remote-global-parameter6-get">remote-global-parameter6-get</link></command>
+, <command><link linkend="ref-remote-global-parameter6-get-all">remote-global-parameter6-get-all</link></command>
+, <command><link linkend="ref-remote-global-parameter6-set">remote-global-parameter6-set</link></command>
+, <command><link linkend="ref-remote-network6-del">remote-network6-del</link></command>
+, <command><link linkend="ref-remote-network6-get">remote-network6-get</link></command>
+, <command><link linkend="ref-remote-network6-list">remote-network6-list</link></command>
+, <command><link linkend="ref-remote-network6-set">remote-network6-set</link></command>
+, <command><link linkend="ref-remote-option-def6-del">remote-option-def6-del</link></command>
+, <command><link linkend="ref-remote-option-def6-get">remote-option-def6-get</link></command>
+, <command><link linkend="ref-remote-option-def6-get-all">remote-option-def6-get-all</link></command>
+, <command><link linkend="ref-remote-option-def6-set">remote-option-def6-set</link></command>
+, <command><link linkend="ref-remote-option4-global-get">remote-option4-global-get</link></command>
+, <command><link linkend="ref-remote-option6-global-del">remote-option6-global-del</link></command>
+, <command><link linkend="ref-remote-option6-global-get">remote-option6-global-get</link></command>
+, <command><link linkend="ref-remote-option6-global-get-all">remote-option6-global-get-all</link></command>
+, <command><link linkend="ref-remote-option6-global-set">remote-option6-global-set</link></command>
+, <command><link linkend="ref-remote-subnet6-del-by-id">remote-subnet6-del-by-id</link></command>
+, <command><link linkend="ref-remote-subnet6-del-by-prefix">remote-subnet6-del-by-prefix</link></command>
+, <command><link linkend="ref-remote-subnet6-get-by-id">remote-subnet6-get-by-id</link></command>
+, <command><link linkend="ref-remote-subnet6-get-by-prefix">remote-subnet6-get-by-prefix</link></command>
+, <command><link linkend="ref-remote-subnet6-list">remote-subnet6-list</link></command>
+, <command><link linkend="ref-remote-subnet6-set">remote-subnet6-set</link></command>
+.</para>
 <!-- start of build-report -->
 <section xml:id="reference-build-report">
 <title>build-report reference</title>
@@ -376,7 +511,7 @@ Result is an integer representation of the status. Currently supported statuses
   <screen>{
     "result": 0
     "text": "123 entries returned."
-    "arguments": &lt;list of cashed host&gt;
+    "arguments": &lt;list of host reservations&gt;
 }</screen>
 Result is an integer representation of the status. Currently supported statuses are:
 <itemizedlist>
@@ -893,7 +1028,7 @@ This command takes no parameters.</para>
   <screen>{
     "result": &lt;integer&gt;,
     "arguments": {
-        &lt;JSON configuration here, starting with Dhcp4, Dhcp6, Dhcp-ddns, or Control-agent object&gt;
+        &lt;JSON configuration here, starting with Dhcp4, Dhcp6, or Control-agent object&gt;
     }
 }</screen>
 Result is an integer representation of the status. Currently supported statuses are:
@@ -1001,7 +1136,7 @@ Result is an integer representation of the status. Currently supported statuses
         }
      }
 }</screen>
-where &lt;server&gt; is the configuration element name for a given server such as "Dhcp4" or "Dhcp6"</para>
+where &gt;server&lt; is the configuration element name for a given server such as "Dhcp4" or "Dhcp6"</para>
 
 <para>Response syntax:
   <screen>{"result": 0, "text": "Configuration seems sane..." }
@@ -1178,11 +1313,11 @@ Result is an integer representation of the status. Currently supported statuses
 
 <para>Availability: 1.4.0 (<link linkend="commands-high_availability-lib">high_availability</link>  hook)</para>
 
-<para>Description and examples: See <xref linkend="ha-server-states"/></para>
+<para>Description and examples: See <xref linkend="command-ha-heartbeat"/></para>
 
 <para>Command syntax:
   <screen>{
-    "command": "ha-heartbeat"
+    "command": "ha-heartbeat",
     }</screen>
 </para>
 
@@ -1214,8 +1349,7 @@ The response to this command is different from the typical command response. The
     "service": [ &lt;service, typically "dhcp4" or "dhcp6"&gt; ],
     "arguments": {
         "scopes": [ "HA_server1", "HA_server2" ]
-    }
-}</screen>
+    }</screen>
 In the example given, the arguments configure the server to handle traffic from both HA_server1 and HA_server2 scopes.</para>
 
 <para>Response syntax:
@@ -1409,7 +1543,7 @@ lease4-get returns a result that indicates a result of the operation and lease d
 
 <para>Command syntax:
   <screen>{
-    "command": "lease4-get-all",
+    "command": "lease4-get-all"
     "arguments": "subnets"
 }</screen>
 The lease4-get-all command may result in very large responses.</para>
@@ -1521,7 +1655,7 @@ Result is an integer representation of the status. Currently supported statuses
 
 <para>Availability: 1.3.0 (<link linkend="commands-lease_cmds-lib">lease_cmds</link>  hook)</para>
 
-<para>Description and examples: See <xref linkend="command-lease4-add"/></para>
+<para>Description and examples: See <xref linkend="command-lease6-add"/></para>
 
 <para>Command syntax:
   <screen>{
@@ -1536,11 +1670,8 @@ Result is an integer representation of the status. Currently supported statuses
 lease6-add can be also used to add leases for IPv6 prefixes..</para>
 
 <para>Response syntax:
-  <screen>{ "result": 0,
-            "text": "Lease added." }
-
-          { "result": 1,
-            "text": "missing parameter 'ip-address' (&lt;string&gt;:3:19)" }</screen>
+  <screen>{ "result": 0, "text": "Lease added." }
+    { "result": 1, "text": "missing parameter 'ip-address' (&lt;string&gt;:3:19)" }</screen>
 Result is an integer representation of the status. Currently supported statuses are:
 <itemizedlist>
   <listitem><para>0 - success</para></listitem>
@@ -1562,7 +1693,7 @@ Result is an integer representation of the status. Currently supported statuses
 
 <para>Availability: 1.3.0 (<link linkend="commands-lease_cmds-lib">lease_cmds</link>  hook)</para>
 
-<para>Description and examples: See <xref linkend="command-lease4-del"/></para>
+<para>Description and examples: See <xref linkend="command-lease6-del"/></para>
 
 <para>Command syntax:
   <screen>{
@@ -1600,7 +1731,7 @@ Result is an integer representation of the status. Currently supported statuses
 
 <para>Availability: 1.3.0 (<link linkend="commands-lease_cmds-lib">lease_cmds</link>  hook)</para>
 
-<para>Description and examples: See <xref linkend="command-lease4-get"/></para>
+<para>Description and examples: See <xref linkend="command-lease6-get"/></para>
 
 <para>Command syntax:
   <screen>{
@@ -1639,7 +1770,7 @@ Result is an integer representation of the status. Currently supported statuses
 
 <para>Availability: 1.3.0 (<link linkend="commands-lease_cmds-lib">lease_cmds</link>  hook)</para>
 
-<para>Description and examples: See <xref linkend="command-lease4-get-all"/></para>
+<para>Description and examples: See <xref linkend="command-lease6-get-all"/></para>
 
 <para>Command syntax:
   <screen>{
@@ -1703,7 +1834,7 @@ The lease6-get-all command may result in very large responses.</para>
 
 <para>Availability: 1.3.0 (<link linkend="commands-lease_cmds-lib">lease_cmds</link>  hook)</para>
 
-<para>Description and examples: See <xref linkend="command-lease4-update"/></para>
+<para>Description and examples: See <xref linkend="command-lease6-update"/></para>
 
 <para>Command syntax:
   <screen>{
@@ -1747,7 +1878,7 @@ Result is an integer representation of the status. Currently supported statuses
 
 <para>Availability: 1.3.0 (<link linkend="commands-lease_cmds-lib">lease_cmds</link>  hook)</para>
 
-<para>Description and examples: See <xref linkend="command-lease4-wipe"/></para>
+<para>Description and examples: See <xref linkend="command-lease6-wipe"/></para>
 
 <para>Command syntax:
   <screen>{
@@ -2178,7 +2309,7 @@ Result is an integer representation of the status. Currently supported statuses
 
 <para>Availability: 1.3.0 (<link linkend="commands-subnet_cmds-lib">subnet_cmds</link>  hook)</para>
 
-<para>Description and examples: See <xref linkend="command-network4-add"/></para>
+<para>Description and examples: See <xref linkend="command-network6-add"/></para>
 
 <para>Command syntax:
   <screen>{
@@ -2243,7 +2374,7 @@ Result is an integer representation of the status. Currently supported statuses
 
 <para>Availability: 1.3.0 (<link linkend="commands-subnet_cmds-lib">subnet_cmds</link>  hook)</para>
 
-<para>Description and examples: See <xref linkend="command-network4-del"/></para>
+<para>Description and examples: See <xref linkend="command-network6-del"/></para>
 
 <para>Command syntax:
   <screen>{
@@ -2284,7 +2415,7 @@ Result is an integer representation of the status. Currently supported statuses
 
 <para>Availability: 1.3.0 (<link linkend="commands-subnet_cmds-lib">subnet_cmds</link>  hook)</para>
 
-<para>Description and examples: See <xref linkend="command-network4-get"/></para>
+<para>Description and examples: See <xref linkend="command-network6-get"/></para>
 
 <para>Command syntax:
   <screen>{
@@ -2342,7 +2473,7 @@ Note that the actual response contains many additional fields that are omitted h
 
 <para>Availability: 1.3.0 (<link linkend="commands-subnet_cmds-lib">subnet_cmds</link>  hook)</para>
 
-<para>Description and examples: See <xref linkend="command-network4-list"/></para>
+<para>Description and examples: See <xref linkend="command-network6-list"/></para>
 
 <para>Command syntax:
   <screen>{
@@ -2382,7 +2513,7 @@ Result is an integer representation of the status. Currently supported statuses
 
 <para>Availability: 1.3.0 (<link linkend="commands-subnet_cmds-lib">subnet_cmds</link>  hook)</para>
 
-<para>Description and examples: See <xref linkend="command-network4-subnet-add"/></para>
+<para>Description and examples: See <xref linkend="command-network6-subnet-add"/></para>
 
 <para>Command syntax:
   <screen>{
@@ -2420,7 +2551,7 @@ Result is an integer representation of the status. Currently supported statuses
 
 <para>Availability: 1.3.0 (<link linkend="commands-subnet_cmds-lib">subnet_cmds</link>  hook)</para>
 
-<para>Description and examples: See <xref linkend="command-network4-subnet-del"/></para>
+<para>Description and examples: See <xref linkend="command-network6-subnet-del"/></para>
 
 <para>Command syntax:
   <screen>{
@@ -2449,96 +2580,37 @@ Result is an integer representation of the status. Currently supported statuses
 </section>
 <!-- end of network6-subnet-del -->
 
-<!-- start of reservation-add -->
-<section xml:id="reference-reservation-add">
-<title>reservation-add reference</title>
-<para xml:id="ref-reservation-add"><command>reservation-add</command> - adds a new host reservation. The reservation may include IPv4 address,
-        IPv6 addresses, IPv6 prefixes, various identifiers, a class
-        the client will be assigned to, DHCPv4 and DHCPv6 options and
-        more.</para>
+<!-- start of remote-global-parameter4-del -->
+<section xml:id="reference-remote-global-parameter4-del">
+<title>remote-global-parameter4-del reference</title>
+<para xml:id="ref-remote-global-parameter4-del"><command>remote-global-parameter4-del</command> - 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.</para>
 
-<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
+<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
 
-<para>Availability: 1.2.0 (<link linkend="commands-host_cmds-lib">host_cmds</link>  hook)</para>
+<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link>  hook)</para>
 
-<para>Description and examples: See <xref linkend="command-reservation-add"/></para>
+<para>Description and examples: See <xref linkend="command-remote-global-parameter4-del"/></para>
 
 <para>Command syntax:
   <screen>{
-    "command": "reservation-add",
+    "command": "remote-global-parameter4-del",
     "arguments": {
-        "reservation": {
-            "boot-file-name": &lt;string&gt;,
-            "comment": &lt;string&gt;
-            "client-id": &lt;string&gt;,
-            "circuit-id": &lt;string&gt;,
-            "duid": &lt;string&gt;,
-            "flex-id": &lt;string&gt;,
-            "ip-address": &lt;string (IPv4 address)&gt;,
-            "ip-addresses": [ &lt;comma separated strings&gt; ],
-            "hw-address": &lt;string&gt;,
-            "hostname": &lt;string&gt;,
-            "next-server": &lt;string (IPv4 address)&gt;,
-            "option-data-list": [ &lt;comma separated structures defining options&gt; ],
-            "prefixes": [ &lt;comma separated IPv6 prefixes&gt; ],
-            "reservation-client-classes": [ &lt;comma separated strings&gt; ],
-            "server-hostname": &lt;string&gt;,
-            "subnet-id": &lt;integer&gt;,
-            "user-context": &lt;any valid JSON&gt;,
+        "parameters": [ &lt;parameter name&gt; ],
+        "remote": {
+            &lt;specification of the database to connect to&gt;
         }
     }
 }</screen>
-Note the ip-address, client-id, next-server, server-hostname and
-boot-file-name are IPv4 specific. duid, ip-addresses and prefixes are
-IPv6 specific.</para>
+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".</para>
 
 <para>Response syntax:
-  <screen>
-{
-    "result": &lt;integer&gt;,
-    "text": &lt;string&gt;
-}</screen>
-Result is an integer representation of the status. Currently supported statuses are:
-<itemizedlist>
-  <listitem><para>0 - success</para></listitem>
-  <listitem><para>1 - error</para></listitem>
-  <listitem><para>2 - unsupported</para></listitem>
-  <listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)
-  </para></listitem>
-</itemizedlist></para>
-
-</section>
-<!-- end of reservation-add -->
-
-<!-- start of reservation-del -->
-<section xml:id="reference-reservation-del">
-<title>reservation-del reference</title>
-<para xml:id="ref-reservation-del"><command>reservation-del</command> - Deletes an existing host reservation.</para>
-
-<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
-
-<para>Availability: 1.2.0 (<link linkend="commands-host_cmds-lib">host_cmds</link>  hook)</para>
-
-<para>Description and examples: See <xref linkend="command-reservation-del"/></para>
-
-<para>Command syntax:
   <screen>{
-    "command": "reservation-del",
+    "result": 0,
+    "text": "DHCPv4 global parameter successfully deleted.",
     "arguments": {
-        "subnet-id": &lt;integer&gt;,
-        "ip-address": &lt;string&gt;,
-        "identifier-type": &lt;one of "hw-address", "duid", "circuit-id", "client-id" and "flex-id"&gt;,
-        "identifier": &lt;string&gt;
+        "count": 1
     }
 }</screen>
-The host reservation can be identified by either (subnet-id, ip-address) pair or a triplet of (subnet-id, identifier-type, identifier).</para>
-
-<para>Response syntax:
-  <screen>{
-    "result": &lt;integer&gt;,
-    "text": &lt;string&gt;
-}
-</screen>
 Result is an integer representation of the status. Currently supported statuses are:
 <itemizedlist>
   <listitem><para>0 - success</para></listitem>
@@ -2549,204 +2621,132 @@ Result is an integer representation of the status. Currently supported statuses
 </para>
 
 </section>
-<!-- end of reservation-del -->
+<!-- end of remote-global-parameter4-del -->
 
-<!-- start of reservation-get -->
-<section xml:id="reference-reservation-get">
-<title>reservation-get reference</title>
-<para xml:id="ref-reservation-get"><command>reservation-get</command> - Attempts to retrieve an existing host reservation</para>
+<!-- start of remote-global-parameter4-get -->
+<section xml:id="reference-remote-global-parameter4-get">
+<title>remote-global-parameter4-get reference</title>
+<para xml:id="ref-remote-global-parameter4-get"><command>remote-global-parameter4-get</command> - This command is used to fetch selected global parameter for the server from the specified database.</para>
 
-<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
+<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
 
-<para>Availability: 1.2.0 (<link linkend="commands-host_cmds-lib">host_cmds</link>  hook)</para>
+<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link>  hook)</para>
 
-<para>Description and examples: See <xref linkend="command-reservation-get"/></para>
+<para>Description and examples: See <xref linkend="command-remote-global-parameter4-get"/></para>
 
 <para>Command syntax:
   <screen>{
-    "command": "reservation-get",
+    "command": "remote-global-parameter4-get"
     "arguments": {
-        "subnet-id": &lt;integer&gt;,
-        "identifier-type": &lt;string with one value out of: hw-address|duid|circuit-id|client-id|flex-id&gt;,
-        "identifier": &lt;string&gt;;
+        "parameters": [ &lt;parameter name&gt; ],
+        "remote": {
+            &lt;specification of the database to connect to&gt;
+        }
     }
-}</screen>
-The host reservation can be identified by either (subnet-id, ip-address) pair or a triplet of (subnet-id, identifier-type, identifier).</para>
+}
+
+</screen>
+The <command>remote</command> map contains specification of the backend from which the global parameters should be fetched. Typically it contains "type": "mysql".</para>
 
 <para>Response syntax:
   <screen>{
-    "result": &lt;integer&gt;,
-    "text": &lt;string&gt;,
+    "result": 0,
+    "text": "DHCPv4 global parameter found.",
     "arguments": {
-        "boot-file-name": &lt;string&gt;,
-        "comment": &lt;string&gt;
-        "client-id": &lt;string&gt;,
-        "circuit-id": &lt;string&gt;,
-        "duid": &lt;string&gt;,
-        "flex-id": &lt;string&gt;,
-        "ip-address": &lt;string (IPv4 address)&gt;,
-        "ip-addresses": [ &lt;comma separated strings&gt; ],
-        "hw-address": &lt;string&gt;,
-        "hostname": &lt;string&gt;,
-        "next-server": &lt;string (IPv4 address)&gt;,
-        "option-data-list": [ &lt;comma separated structures defining options&gt; ],
-        "prefixes": [ &lt;comma separated IPv6 prefixes&gt; ],
-        "reservation-client-classes": [ &lt;comma separated strings&gt; ],
-        "server-hostname": &lt;string&gt;,
-        "subnet-id": &lt;integer&gt;,
-        "user-context": &lt;any valid JSON&gt;,
+        "parameters": {
+            &lt;parameter name&gt;: &lt;parameter value&gt;,
+            "metadata": {
+                "server-tag": &lt;server tag&gt;
+            }
+        },
+        "count": 1
     }
 }</screen>
-Arguments object appear only if a host is found. Many fields in the arguments
-object appear only if specific field is set.</para>
+The returned response contains a map with a global parameter name/value pair. The value may be a JSON string, integer, real or boolean. The metadata is included and it provides database specific information associated with the returned object.</para>
 
 </section>
-<!-- end of reservation-get -->
+<!-- end of remote-global-parameter4-get -->
 
-<!-- start of reservation-get-all -->
-<section xml:id="reference-reservation-get-all">
-<title>reservation-get-all reference</title>
-<para xml:id="ref-reservation-get-all"><command>reservation-get-all</command> - Retrieve all host reservations for a specified subnet.</para>
+<!-- start of remote-global-parameter4-get-all -->
+<section xml:id="reference-remote-global-parameter4-get-all">
+<title>remote-global-parameter4-get-all reference</title>
+<para xml:id="ref-remote-global-parameter4-get-all"><command>remote-global-parameter4-get-all</command> - This command is used to fetch all global parameters for the server from the specified database.</para>
 
-<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
+<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
 
-<para>Availability: 1.6.0 (<link linkend="commands-host_cmds-lib">host_cmds</link>  hook)</para>
+<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link>  hook)</para>
 
-<para>Description and examples: See <xref linkend="command-reservation-get-all"/></para>
+<para>Description and examples: See <xref linkend="command-remote-global-parameter4-get-all"/></para>
 
 <para>Command syntax:
   <screen>{
-    "command": "reservation-get-all",
+    "command": "remote-global-parameter4-get-all"
     "arguments": {
-        "subnet-id": &lt;integer&gt;
+        "remote": {
+            &lt;specification of the database to connect to&gt;
+        }
     }
 }</screen>
-Host reservations can be identified by subnet-id.</para>
+The <command>remote</command> map contains specification of the backend from which the global parameters should be fetched. Typically it contains "type": "mysql".</para>
 
 <para>Response syntax:
   <screen>{
-    "result": &lt;integer&gt;,
-    "text": &lt;string&gt;,
+    "result": 0,
+    "text": "DHCPv4 global parameters found.",
     "arguments": {
-        "hosts": [
+        "parameters": [
             {
-                "boot-file-name": &lt;string&gt;,
-                "comment": &lt;string&gt;
-                "client-id": &lt;string&gt;,
-                "circuit-id": &lt;string&gt;,
-                "duid": &lt;string&gt;,
-                "flex-id": &lt;string&gt;,
-                "ip-address": &lt;string (IPv4 address)&gt;,
-                "ip-addresses": [ &lt;comma separated strings&gt; ],
-                "hw-address": &lt;string&gt;,
-                "hostname": &lt;string&gt;,
-                "next-server": &lt;string (IPv4 address)&gt;,
-                "option-data-list": [ &lt;comma separated structures defining options&gt; ],
-                "prefixes": [ &lt;comma separated IPv6 prefixes&gt; ],
-                "reservation-client-classes": [ &lt;comma separated strings&gt; ],
-                "server-hostname": &lt;string&gt;,
-                "subnet-id": &lt;integer&gt;,
-                "user-context": &lt;any valid JSON&gt;,
+                &lt;first parameter name&gt;: &lt;first parameter value&gt;,
+                "metadata": {
+                    "server-tag": &lt;server tag&gt;
+                }
             },
-            ...
-        ]
+            {
+                &lt;second parameter name&gt;: &lt;second parameter value&gt;,
+                "metadata": {
+                    "server-tag": &lt;server tag&gt;
+                }
+            }
+        ],
+        "count": 2
     }
 }</screen>
-
-The reservation-get-all command may result in very large responses.</para>
+The returned response contains a list of maps. Each map contains a global parameter name/value pair. The value may be a JSON string, integer, real or boolean. The metadata is appended to each parameter and it provides database specific information associated with the returned objects.</para>
 
 </section>
-<!-- end of reservation-get-all -->
+<!-- end of remote-global-parameter4-get-all -->
 
-<!-- start of reservation-get-page -->
-<section xml:id="reference-reservation-get-page">
-<title>reservation-get-page reference</title>
-<para xml:id="ref-reservation-get-page"><command>reservation-get-page</command> - Retrieve all host reservations for a specified subnet by pages.</para>
+<!-- start of remote-global-parameter4-set -->
+<section xml:id="reference-remote-global-parameter4-set">
+<title>remote-global-parameter4-set reference</title>
+<para xml:id="ref-remote-global-parameter4-set"><command>remote-global-parameter4-set</command> - This command is used to create or update one more global parameters for a server.</para>
 
-<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
+<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
 
-<para>Availability: 1.6.0 (<link linkend="commands-host_cmds-lib">host_cmds</link> hook) at the exception of the Cassandra host backend</para>
+<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link>  hook)</para>
 
-<para>Description and examples: See <xref linkend="command-reservation-get-page"/></para>
+<para>Description and examples: See <xref linkend="command-remote-global-parameter4-set"/></para>
 
 <para>Command syntax:
   <screen>{
-    "command": "reservation-get-page",
+    "command": "remote-global-parameter4-set"
     "arguments": {
-        "subnet-id": &lt;integer&gt;,
-        "limit": &lt;integer&gt;,
-        "source-index": &lt;integer&gt;,
-        "from": &lt;integer&gt;
+        "parameters": {
+            &lt;first parameter name&gt;: &lt;first parameter value&gt;,
+            &lt;second parameter name&gt;: &lt;second parameter value&gt;
+        },
+        "remote": {
+            &lt;specification of the database to connect to&gt;
+        }
     }
 }</screen>
-Returned host reservations are from the specified subnet. Page size is
-limited by the limit parameter. Start of the page is given by the optional
-source index (default 0 i.e. configuration file) and from host id (default
-0).
-</para>
+The <command>remote</command> map contains specification of the backend where global parameter should be set. Typically it contains "type": "mysql".</para>
 
 <para>Response syntax:
   <screen>{
-    "result": &lt;integer&gt;,
-    "text": &lt;string&gt;,
-    "arguments": {
-        "source-index": &lt;string&gt;,
-        "count": &lt;string&gt;,
-        "next": &lt;integer&gt;,
-        "hosts": [
-            {
-                "boot-file-name": &lt;string&gt;,
-                "comment": &lt;string&gt;
-                "client-id": &lt;string&gt;,
-                "circuit-id": &lt;string&gt;,
-                "duid": &lt;string&gt;,
-                "flex-id": &lt;string&gt;,
-                "ip-address": &lt;string (IPv4 address)&gt;,
-                "ip-addresses": [ &lt;comma separated strings&gt; ],
-                "hw-address": &lt;string&gt;,
-                "hostname": &lt;string&gt;,
-                "next-server": &lt;string (IPv4 address)&gt;,
-                "option-data-list": [ &lt;comma separated structures defining options&gt; ],
-                "prefixes": [ &lt;comma separated IPv6 prefixes&gt; ],
-                "reservation-client-classes": [ &lt;comma separated strings&gt; ],
-                "server-hostname": &lt;string&gt;,
-                "subnet-id": &lt;integer&gt;,
-                "user-context": &lt;any valid JSON&gt;,
-            },
-            ...
-        ]
-    }
-}</screen>
-The source index and the next host id should be used getting the next page.
-After the last page the result is 3 (empty).
-</para>
-</section>
-<!-- end of reservation-get-page -->
-
-<!-- start of shutdown -->
-<section xml:id="reference-shutdown">
-<title>shutdown reference</title>
-<para xml:id="ref-shutdown"><command>shutdown</command> - The shutdown command instructs the server to initiate its shutdown procedure.</para>
-
-<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command>, <command><link linkend="commands-kea-dhcp-ddns">kea-dhcp-ddns</link></command>, <command><link linkend="commands-kea-ctrl-agent">kea-ctrl-agent</link></command></para>
-
-<para>Availability: 1.0.0 (built-in)</para>
-
-<para>Description and examples: See <xref linkend="command-shutdown"/></para>
-
-<para>Command syntax:
-  <screen>{
-    "command": "shutdown"
+    "result": 0,
+    "text": "DHCPv4 global parameter(s) successfully set."
 }</screen>
-The server will respond with a confirmation that the shutdown
-                    procedure has been initiated.</para>
-
-<para>Response syntax:
-  <screen>{
-    "result": &lt;integer&gt;,
-    "text": &lt;string&gt;
-}
-</screen>
 Result is an integer representation of the status. Currently supported statuses are:
 <itemizedlist>
   <listitem><para>0 - success</para></listitem>
@@ -2757,55 +2757,1610 @@ Result is an integer representation of the status. Currently supported statuses
 </para>
 
 </section>
-<!-- end of shutdown -->
+<!-- end of remote-global-parameter4-set -->
 
-<!-- start of stat-lease4-get -->
-<section xml:id="reference-stat-lease4-get">
-<title>stat-lease4-get reference</title>
-<para xml:id="ref-stat-lease4-get"><command>stat-lease4-get</command> - The stat-lease4-get command fetches lease statistics for a range
-              of known IPv4 subnets.</para>
+<!-- start of remote-global-parameter6-del -->
+<section xml:id="reference-remote-global-parameter6-del">
+<title>remote-global-parameter6-del reference</title>
+<para xml:id="ref-remote-global-parameter6-del"><command>remote-global-parameter6-del</command> - a sentence or two explaining what this command does</para>
 
-<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
+<para>Supported by: <command><link linkend="commands-undocumented">undocumented</link></command></para>
 
-<para>Availability: 1.4.0 (<link linkend="commands-stat_cmds-lib">stat_cmds</link>  hook)</para>
+<para>Availability: 0.0.0 (<link linkend="commands-undocumented-lib">undocumented</link>  hook)</para>
 
-<para>Description and examples: See <xref linkend="command-stat-lease4-get"/></para>
+<para>Description and examples: See <xref linkend="command-remote-global-parameter6-del"/></para>
 
 <para>Command syntax:
-  <screen>{
-  "command": "stat-lease4-get"
-}</screen>
-</para>
+  <screen>Syntax of the command</screen>
+Possibly some extra comments after the syntax.</para>
 
 <para>Response syntax:
-  <screen>{
-    "result": 0,
-    "text": "stat-lease4-get: 2 rows found",
-    "arguments": {
-      "result-set": {
-        "columns": [ "subnet-id",
-                       "total-addresses",
-                       "assigned-addresses",
-                       "declined-addresses" ]
-        "rows": [
-          [ 10, 256, 111, 0 ],
-          [ 20, 4098, 2034, 4 ]
-        ],
-      "timestamp": "2018-05-04 15:03:37.000000"
-      }
-    }
-  }</screen>
-Result is an integer representation of the status. Currently supported statuses are:
-<itemizedlist>
-  <listitem><para>0 - success</para></listitem>
-  <listitem><para>1 - error</para></listitem>
-  <listitem><para>2 - unsupported</para></listitem>
-  <listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
-</itemizedlist>
-</para>
+  <screen>Syntax of the response</screen>
+Optional extra comments after the resposne syntax.</para>
 
 </section>
-<!-- end of stat-lease4-get -->
+<!-- end of remote-global-parameter6-del -->
+
+<!-- start of remote-global-parameter6-get -->
+<section xml:id="reference-remote-global-parameter6-get">
+<title>remote-global-parameter6-get reference</title>
+<para xml:id="ref-remote-global-parameter6-get"><command>remote-global-parameter6-get</command> - a sentence or two explaining what this command does</para>
+
+<para>Supported by: <command><link linkend="commands-undocumented">undocumented</link></command></para>
+
+<para>Availability: 0.0.0 (<link linkend="commands-undocumented-lib">undocumented</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-global-parameter6-get"/></para>
+
+<para>Command syntax:
+  <screen>Syntax of the command</screen>
+Possibly some extra comments after the syntax.</para>
+
+<para>Response syntax:
+  <screen>Syntax of the response</screen>
+Optional extra comments after the resposne syntax.</para>
+
+</section>
+<!-- end of remote-global-parameter6-get -->
+
+<!-- start of remote-global-parameter6-get-all -->
+<section xml:id="reference-remote-global-parameter6-get-all">
+<title>remote-global-parameter6-get-all reference</title>
+<para xml:id="ref-remote-global-parameter6-get-all"><command>remote-global-parameter6-get-all</command> - a sentence or two explaining what this command does</para>
+
+<para>Supported by: <command><link linkend="commands-undocumented">undocumented</link></command></para>
+
+<para>Availability: 0.0.0 (<link linkend="commands-undocumented-lib">undocumented</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-global-parameter6-get-all"/></para>
+
+<para>Command syntax:
+  <screen>Syntax of the command</screen>
+Possibly some extra comments after the syntax.</para>
+
+<para>Response syntax:
+  <screen>Syntax of the response</screen>
+Optional extra comments after the resposne syntax.</para>
+
+</section>
+<!-- end of remote-global-parameter6-get-all -->
+
+<!-- start of remote-global-parameter6-set -->
+<section xml:id="reference-remote-global-parameter6-set">
+<title>remote-global-parameter6-set reference</title>
+<para xml:id="ref-remote-global-parameter6-set"><command>remote-global-parameter6-set</command> - a sentence or two explaining what this command does</para>
+
+<para>Supported by: <command><link linkend="commands-undocumented">undocumented</link></command></para>
+
+<para>Availability: 0.0.0 (<link linkend="commands-undocumented-lib">undocumented</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-global-parameter6-set"/></para>
+
+<para>Command syntax:
+  <screen>Syntax of the command</screen>
+Possibly some extra comments after the syntax.</para>
+
+<para>Response syntax:
+  <screen>Syntax of the response</screen>
+Optional extra comments after the resposne syntax.</para>
+
+</section>
+<!-- end of remote-global-parameter6-set -->
+
+<!-- start of remote-network4-del -->
+<section xml:id="reference-remote-network4-del">
+<title>remote-network4-del reference</title>
+<para xml:id="ref-remote-network4-del"><command>remote-network4-del</command> - This command is used to delete an IPv4 shared network from the configuration database.</para>
+
+<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
+
+<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-network4-del"/></para>
+
+<para>Command syntax:
+  <screen>{
+    "command": "remote-network4-del",
+    "arguments": {
+        "shared-networks": [ {
+            "name": &lt;shared network name&gt;
+        } ],
+        "subnets-action": "keep" | "delete",
+        "remote": {
+            &lt;specification of the database to connect to&gt;
+        }
+    }
+}</screen>
+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".</para>
+
+<para>Response syntax:
+  <screen>{
+    "result": 0,
+    "text": "1 IPv4 shared network(s) deleted.",
+    "arguments": {
+        "count": 1
+    }
+}</screen>
+Result is an integer representation of the status. Currently supported statuses are:
+<itemizedlist>
+  <listitem><para>0 - success</para></listitem>
+  <listitem><para>1 - error</para></listitem>
+  <listitem><para>2 - unsupported</para></listitem>
+  <listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
+</itemizedlist>
+</para>
+
+</section>
+<!-- end of remote-network4-del -->
+
+<!-- start of remote-network4-get -->
+<section xml:id="reference-remote-network4-get">
+<title>remote-network4-get reference</title>
+<para xml:id="ref-remote-network4-get"><command>remote-network4-get</command> - This command is used to fetch selected IPv4 shared network for the server from the specified database.</para>
+
+<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
+
+<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-network4-get"/></para>
+
+<para>Command syntax:
+  <screen>{
+    "command": "remote-network4-get"
+    "arguments": {
+        "shared-networks": [ {
+            "name": &lt;shared network name&gt;
+        } ],
+        "subnets-include": "full" | "no",
+        "remote": {
+            &lt;specification of the database to connect to&gt;
+        }
+    }
+}</screen>
+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".</para>
+
+<para>Response syntax:
+  <screen>{
+    "result": 0,
+    "text": "IPv4 shared network 'floor1' found.",
+    "arguments": {
+        "shared-networks": [ {
+            "name": &lt;shared network name&gt;,
+            "metadata": {
+                "server-tag": &lt;server tag&gt;
+            },
+            &lt;the rest of the shared network information, potentially including subnets&gt;
+        } ],
+        "count": 1
+    }
+}</screen>
+The metadata is included in the returned shared network definition and it provides database specific information associated with the returned object.</para>
+
+</section>
+<!-- end of remote-network4-get -->
+
+<!-- start of remote-network4-list -->
+<section xml:id="reference-remote-network4-list">
+<title>remote-network4-list reference</title>
+<para xml:id="ref-remote-network4-list"><command>remote-network4-list</command> - This command is used to fetch a list of all subnets for the particular server from the specified database.</para>
+
+<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
+
+<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-network4-list"/></para>
+
+<para>Command syntax:
+  <screen>{
+    "command": "remote-network4-list"
+    "arguments": {
+        "remote": {
+            &lt;specification of the database to connect to&gt;
+        }
+    }
+}</screen>
+The <command>remote</command> map contains specification of the backend from which the shared networks should be fetched. Typically it contains "type": "mysql".</para>
+
+<para>Response syntax:
+  <screen>{
+    "result": 0,
+    "text": "2 IPv4 shared network(s) found.",
+    "arguments": {
+        "shared-networks": [
+            {
+                "name": &lt;first shared network name&gt;,
+                "metadata": {
+                    "server-tag": &lt;server tag&gt;
+                }
+            },
+            {
+                "name": &lt;second shared network name&gt;,
+                "metadata": {
+                    "server-tag": &lt;server tag&gt;
+                }
+            }
+        ],
+        "count": 2
+    }
+}</screen>
+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.</para>
+
+</section>
+<!-- end of remote-network4-list -->
+
+<!-- start of remote-network4-set -->
+<section xml:id="reference-remote-network4-set">
+<title>remote-network4-set reference</title>
+<para xml:id="ref-remote-network4-set"><command>remote-network4-set</command> - This command is used to create or update IPv4 shared network for a server in the specified database.</para>
+
+<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
+
+<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-network4-set"/></para>
+
+<para>Command syntax:
+  <screen>{
+    "command": "remote-network4-set",
+    "arguments": {
+        "shared-networks": [ {
+            &lt;shared network specification excluding subnets list&gt;
+        } ],
+        "remote": {
+            &lt;specification of the database to connect to&gt;
+        }
+    }
+}</screen>
+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".</para>
+
+<para>Response syntax:
+  <screen>{
+    "result": 0,
+    "text": "IPv4 shared network successfully set."
+}</screen>
+Result is an integer representation of the status. Currently supported statuses are:
+<itemizedlist>
+  <listitem><para>0 - success</para></listitem>
+  <listitem><para>1 - error</para></listitem>
+  <listitem><para>2 - unsupported</para></listitem>
+  <listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
+</itemizedlist>
+</para>
+
+</section>
+<!-- end of remote-network4-set -->
+
+<!-- start of remote-network6-del -->
+<section xml:id="reference-remote-network6-del">
+<title>remote-network6-del reference</title>
+<para xml:id="ref-remote-network6-del"><command>remote-network6-del</command> - a sentence or two explaining what this command does</para>
+
+<para>Supported by: <command><link linkend="commands-undocumented">undocumented</link></command></para>
+
+<para>Availability: 0.0.0 (<link linkend="commands-undocumented-lib">undocumented</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-network6-del"/></para>
+
+<para>Command syntax:
+  <screen>Syntax of the command</screen>
+Possibly some extra comments after the syntax.</para>
+
+<para>Response syntax:
+  <screen>Syntax of the response</screen>
+Optional extra comments after the resposne syntax.</para>
+
+</section>
+<!-- end of remote-network6-del -->
+
+<!-- start of remote-network6-get -->
+<section xml:id="reference-remote-network6-get">
+<title>remote-network6-get reference</title>
+<para xml:id="ref-remote-network6-get"><command>remote-network6-get</command> - a sentence or two explaining what this command does</para>
+
+<para>Supported by: <command><link linkend="commands-undocumented">undocumented</link></command></para>
+
+<para>Availability: 0.0.0 (<link linkend="commands-undocumented-lib">undocumented</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-network6-get"/></para>
+
+<para>Command syntax:
+  <screen>Syntax of the command</screen>
+Possibly some extra comments after the syntax.</para>
+
+<para>Response syntax:
+  <screen>Syntax of the response</screen>
+Optional extra comments after the resposne syntax.</para>
+
+</section>
+<!-- end of remote-network6-get -->
+
+<!-- start of remote-network6-list -->
+<section xml:id="reference-remote-network6-list">
+<title>remote-network6-list reference</title>
+<para xml:id="ref-remote-network6-list"><command>remote-network6-list</command> - a sentence or two explaining what this command does</para>
+
+<para>Supported by: <command><link linkend="commands-undocumented">undocumented</link></command></para>
+
+<para>Availability: 0.0.0 (<link linkend="commands-undocumented-lib">undocumented</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-network6-list"/></para>
+
+<para>Command syntax:
+  <screen>Syntax of the command</screen>
+Possibly some extra comments after the syntax.</para>
+
+<para>Response syntax:
+  <screen>Syntax of the response</screen>
+Optional extra comments after the resposne syntax.</para>
+
+</section>
+<!-- end of remote-network6-list -->
+
+<!-- start of remote-network6-set -->
+<section xml:id="reference-remote-network6-set">
+<title>remote-network6-set reference</title>
+<para xml:id="ref-remote-network6-set"><command>remote-network6-set</command> - a sentence or two explaining what this command does</para>
+
+<para>Supported by: <command><link linkend="commands-undocumented">undocumented</link></command></para>
+
+<para>Availability: 0.0.0 (<link linkend="commands-undocumented-lib">undocumented</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-network6-set"/></para>
+
+<para>Command syntax:
+  <screen>Syntax of the command</screen>
+Possibly some extra comments after the syntax.</para>
+
+<para>Response syntax:
+  <screen>Syntax of the response</screen>
+Optional extra comments after the resposne syntax.</para>
+
+</section>
+<!-- end of remote-network6-set -->
+
+<!-- start of remote-option-def4-del -->
+<section xml:id="reference-remote-option-def4-del">
+<title>remote-option-def4-del reference</title>
+<para xml:id="ref-remote-option-def4-del"><command>remote-option-def4-del</command> - This command is used to delete a DHCPv4 option definition from the configuration database.</para>
+
+<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
+
+<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-option-def4-del"/></para>
+
+<para>Command syntax:
+  <screen>{
+    "command": "remote-option-def4-del",
+    "arguments": {
+        "option-defs": [ {
+            "code": &lt;option code&gt;,
+            "space": &lt;option space
+        } ],
+        "remote": {
+            &lt;specification of the database to connect to&gt;
+        }
+    }
+}</screen>
+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".</para>
+
+<para>Response syntax:
+  <screen>{
+    "result": 0,
+    "text": "1 DHCPv4 option definition(s) deleted.",
+    "arguments": {
+        "count": 1
+    }
+}</screen>
+Result is an integer representation of the status. Currently supported statuses are:
+<itemizedlist>
+  <listitem><para>0 - success</para></listitem>
+  <listitem><para>1 - error</para></listitem>
+  <listitem><para>2 - unsupported</para></listitem>
+  <listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
+</itemizedlist>
+</para>
+
+</section>
+<!-- end of remote-option-def4-del -->
+
+<!-- start of remote-option-def4-get -->
+<section xml:id="reference-remote-option-def4-get">
+<title>remote-option-def4-get reference</title>
+<para xml:id="ref-remote-option-def4-get"><command>remote-option-def4-get</command> - This command is used to fetch DHCPv4 option definition for the server from the specified database.</para>
+
+<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
+
+<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-option-def4-get"/></para>
+
+<para>Command syntax:
+  <screen>{
+    "command": "remote-option-def4-get"
+    "service": [ "dhcp4" ],
+    "arguments": {
+        "option-defs": [ {
+            "code": &lt;option code&gt;,
+            "space": &lt;option space&gt;
+        } ],
+        "remote": {
+            &lt;specification of the database to connect to&gt;
+        }
+    }
+}</screen>
+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".</para>
+
+<para>Response syntax:
+  <screen>{
+    "result": 0,
+    "text": "DHCPv4 option definition 222 in 'dhcp4' found.",
+    "arguments": {
+        "option-defs": [ {
+            &lt;option definition&gt;,
+            "metadata": {
+                "server-tag": &lt;server tag&gt;
+            }
+        } ],
+        "count": 1
+    }
+}</screen>
+The metadata is included and it provides database specific information associated with the returned object.</para>
+
+</section>
+<!-- end of remote-option-def4-get -->
+
+<!-- start of remote-option-def4-get-all -->
+<section xml:id="reference-remote-option-def4-get-all">
+<title>remote-option-def4-get-all reference</title>
+<para xml:id="ref-remote-option-def4-get-all"><command>remote-option-def4-get-all</command> - This command is used to fetch all option definitions for the server from the specified database.</para>
+
+<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
+
+<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-option-def4-get-all"/></para>
+
+<para>Command syntax:
+  <screen>{
+    "command": "remote-option-def4-get-all"
+    "arguments": {
+        "remote": {
+            &lt;specification of the database to connect to&gt;
+        }
+    }
+}</screen>
+The <command>remote</command> map contains specification of the backend from which the global parameters should be fetched. Typically it contains "type": "mysql".</para>
+
+<para>Response syntax:
+  <screen>{
+    "result": 0,
+    "text": "2 DHCPv4 option definition(s) found.",
+    "arguments": {
+        "option-defs": [
+            {
+                &lt;first option definition&gt;,
+                "metadata": {
+                    "server-tag": &lt;server tag&gt;
+                }
+            },
+            {
+                &lt;second option definition&gt;,
+                "metadata": {
+                    "server-tag": &lt;server tag&gt;
+                }
+            }
+        ],
+        "count": &lt;count of the objects returned&gt;
+    }
+}</screen>
+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.</para>
+
+</section>
+<!-- end of remote-option-def4-get-all -->
+
+<!-- start of remote-option-def4-set -->
+<section xml:id="reference-remote-option-def4-set">
+<title>remote-option-def4-set reference</title>
+<para xml:id="ref-remote-option-def4-set"><command>remote-option-def4-set</command> - This command is used to create or update DHCPv4 option definition for the server in the specified database.</para>
+
+<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
+
+<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-option-def4-set"/></para>
+
+<para>Command syntax:
+  <screen>{
+    "command": "remote-option-def4-set",
+    "service": [ "dhcp4" ],
+    "arguments": {
+        "option-defs": [ {
+            &lt;option definition specification&gt;
+        } ],
+        "remote": {
+            &lt;specification of the database to connect to&gt;
+        }
+    }
+}</screen>
+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".</para>
+
+<para>Response syntax:
+  <screen>{
+    "result": 0,
+    "text": "DHCPv4 option definition set."
+}</screen>
+Result is an integer representation of the status. Currently supported statuses are:
+<itemizedlist>
+  <listitem><para>0 - success</para></listitem>
+  <listitem><para>1 - error</para></listitem>
+  <listitem><para>2 - unsupported</para></listitem>
+  <listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
+</itemizedlist>
+</para>
+
+</section>
+<!-- end of remote-option-def4-set -->
+
+<!-- start of remote-option-def6-del -->
+<section xml:id="reference-remote-option-def6-del">
+<title>remote-option-def6-del reference</title>
+<para xml:id="ref-remote-option-def6-del"><command>remote-option-def6-del</command> - a sentence or two explaining what this command does</para>
+
+<para>Supported by: <command><link linkend="commands-undocumented">undocumented</link></command></para>
+
+<para>Availability: 0.0.0 (<link linkend="commands-undocumented-lib">undocumented</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-option-def6-del"/></para>
+
+<para>Command syntax:
+  <screen>Syntax of the command</screen>
+Possibly some extra comments after the syntax.</para>
+
+<para>Response syntax:
+  <screen>Syntax of the response</screen>
+Optional extra comments after the resposne syntax.</para>
+
+</section>
+<!-- end of remote-option-def6-del -->
+
+<!-- start of remote-option-def6-get -->
+<section xml:id="reference-remote-option-def6-get">
+<title>remote-option-def6-get reference</title>
+<para xml:id="ref-remote-option-def6-get"><command>remote-option-def6-get</command> - a sentence or two explaining what this command does</para>
+
+<para>Supported by: <command><link linkend="commands-undocumented">undocumented</link></command></para>
+
+<para>Availability: 0.0.0 (<link linkend="commands-undocumented-lib">undocumented</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-option-def6-get"/></para>
+
+<para>Command syntax:
+  <screen>Syntax of the command</screen>
+Possibly some extra comments after the syntax.</para>
+
+<para>Response syntax:
+  <screen>Syntax of the response</screen>
+Optional extra comments after the resposne syntax.</para>
+
+</section>
+<!-- end of remote-option-def6-get -->
+
+<!-- start of remote-option-def6-get-all -->
+<section xml:id="reference-remote-option-def6-get-all">
+<title>remote-option-def6-get-all reference</title>
+<para xml:id="ref-remote-option-def6-get-all"><command>remote-option-def6-get-all</command> - a sentence or two explaining what this command does</para>
+
+<para>Supported by: <command><link linkend="commands-undocumented">undocumented</link></command></para>
+
+<para>Availability: 0.0.0 (<link linkend="commands-undocumented-lib">undocumented</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-option-def6-get-all"/></para>
+
+<para>Command syntax:
+  <screen>Syntax of the command</screen>
+Possibly some extra comments after the syntax.</para>
+
+<para>Response syntax:
+  <screen>Syntax of the response</screen>
+Optional extra comments after the resposne syntax.</para>
+
+</section>
+<!-- end of remote-option-def6-get-all -->
+
+<!-- start of remote-option-def6-set -->
+<section xml:id="reference-remote-option-def6-set">
+<title>remote-option-def6-set reference</title>
+<para xml:id="ref-remote-option-def6-set"><command>remote-option-def6-set</command> - a sentence or two explaining what this command does</para>
+
+<para>Supported by: <command><link linkend="commands-undocumented">undocumented</link></command></para>
+
+<para>Availability: 0.0.0 (<link linkend="commands-undocumented-lib">undocumented</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-option-def6-set"/></para>
+
+<para>Command syntax:
+  <screen>Syntax of the command</screen>
+Possibly some extra comments after the syntax.</para>
+
+<para>Response syntax:
+  <screen>Syntax of the response</screen>
+Optional extra comments after the resposne syntax.</para>
+
+</section>
+<!-- end of remote-option-def6-set -->
+
+<!-- start of remote-option4-global-del -->
+<section xml:id="reference-remote-option4-global-del">
+<title>remote-option4-global-del reference</title>
+<para xml:id="ref-remote-option4-global-del"><command>remote-option4-global-del</command> - This command is used to delete a DHCPv4 global option from the configuration database.</para>
+
+<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
+
+<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-option4-global-del"/></para>
+
+<para>Command syntax:
+  <screen>{
+    "command": "remote-option4-global-del",
+    "arguments": {
+        "options": [ {
+            "code": &lt;option code&gt;
+            "space": &lt;option space&gt;
+        } ],
+        "remote": {
+            &lt;specification of the database to connect to&gt;
+        }
+    }
+}</screen>
+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".</para>
+
+<para>Response syntax:
+  <screen>
+    "result": 0,
+    "text": "1 DHCPv4 option(s) deleted.",
+    "arguments": {
+        "count": 1
+    }</screen>
+Result is an integer representation of the status. Currently supported statuses are:
+<itemizedlist>
+  <listitem><para>0 - success</para></listitem>
+  <listitem><para>1 - error</para></listitem>
+  <listitem><para>2 - unsupported</para></listitem>
+  <listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
+</itemizedlist>
+</para>
+
+</section>
+<!-- end of remote-option4-global-del -->
+
+<!-- start of remote-option4-global-get -->
+<section xml:id="reference-remote-option4-global-get">
+<title>remote-option4-global-get reference</title>
+<para xml:id="ref-remote-option4-global-get"><command>remote-option4-global-get</command> - a sentence or two explaining what this command does</para>
+
+<para>Supported by: <command><link linkend="commands-undocumented">undocumented</link></command></para>
+
+<para>Availability: 0.0.0 (<link linkend="commands-undocumented-lib">undocumented</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-option4-global-get"/></para>
+
+<para>Command syntax:
+  <screen>Syntax of the command</screen>
+Possibly some extra comments after the syntax.</para>
+
+<para>Response syntax:
+  <screen>Syntax of the response</screen>
+Optional extra comments after the resposne syntax.</para>
+
+</section>
+<!-- end of remote-option4-global-get -->
+
+<!-- start of remote-option4-global-get-all -->
+<section xml:id="reference-remote-option4-global-get-all">
+<title>remote-option4-global-get-all reference</title>
+<para xml:id="ref-remote-option4-global-get-all"><command>remote-option4-global-get-all</command> - This command is used to fetch all DHCPv4 global options for the server from the specified database.</para>
+
+<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
+
+<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-option4-global-get-all"/></para>
+
+<para>Command syntax:
+  <screen>{
+    "command": "remote-option4-global-get-all"
+    "arguments": {
+        "remote": {
+            &lt;specification of the database to connect to&gt;
+        }
+    }
+}</screen>
+The <command>remote</command> map contains specification of the backend from which the global parameters should be fetched. Typically it contains "type": "mysql".</para>
+
+<para>Response syntax:
+  <screen>{
+    "result": 0,
+    "text": "2 DHCPv4 option(s) found.",
+    "arguments": {
+        "options": [
+            {
+                &lt;first option specification&gt;,
+                "metadata": {
+                    "server-tag": &lt;server tag&gt;
+                }
+            },
+            {
+                &lt;second option specification&gt;,
+                "metadata": {
+                    "server-tag": &lt;server tag&gt;
+                }
+            }
+        ],
+        "count": &lt;count of the objects returned&gt;
+    }
+}</screen>
+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.</para>
+
+</section>
+<!-- end of remote-option4-global-get-all -->
+
+<!-- start of remote-option4-global-set -->
+<section xml:id="reference-remote-option4-global-set">
+<title>remote-option4-global-set reference</title>
+<para xml:id="ref-remote-option4-global-set"><command>remote-option4-global-set</command> - This command is used to create or update DHCPv4 global option for the server in the specified database.</para>
+
+<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
+
+<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-option4-global-set"/></para>
+
+<para>Command syntax:
+  <screen>{
+    "command": "remote-option4-global-set",
+    "service": [ "dhcp4" ],
+    "arguments": {
+        "options": [ {
+            &lt;global option specification&gt;
+        } ],
+        "remote": {
+            &lt;specification of the database to connect to&gt;
+        }
+    }
+}</screen>
+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".</para>
+
+<para>Response syntax:
+  <screen>{
+    "result": 0,
+    "text": "DHCPv4 option set."
+}</screen>
+Result is an integer representation of the status. Currently supported statuses are:
+<itemizedlist>
+  <listitem><para>0 - success</para></listitem>
+  <listitem><para>1 - error</para></listitem>
+  <listitem><para>2 - unsupported</para></listitem>
+  <listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
+</itemizedlist>
+</para>
+
+</section>
+<!-- end of remote-option4-global-set -->
+
+<!-- start of remote-option6-global-del -->
+<section xml:id="reference-remote-option6-global-del">
+<title>remote-option6-global-del reference</title>
+<para xml:id="ref-remote-option6-global-del"><command>remote-option6-global-del</command> - a sentence or two explaining what this command does</para>
+
+<para>Supported by: <command><link linkend="commands-undocumented">undocumented</link></command></para>
+
+<para>Availability: 0.0.0 (<link linkend="commands-undocumented-lib">undocumented</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-option6-global-del"/></para>
+
+<para>Command syntax:
+  <screen>Syntax of the command</screen>
+Possibly some extra comments after the syntax.</para>
+
+<para>Response syntax:
+  <screen>Syntax of the response</screen>
+Optional extra comments after the resposne syntax.</para>
+
+</section>
+<!-- end of remote-option6-global-del -->
+
+<!-- start of remote-option6-global-get -->
+<section xml:id="reference-remote-option6-global-get">
+<title>remote-option6-global-get reference</title>
+<para xml:id="ref-remote-option6-global-get"><command>remote-option6-global-get</command> - a sentence or two explaining what this command does</para>
+
+<para>Supported by: <command><link linkend="commands-undocumented">undocumented</link></command></para>
+
+<para>Availability: 0.0.0 (<link linkend="commands-undocumented-lib">undocumented</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-option6-global-get"/></para>
+
+<para>Command syntax:
+  <screen>Syntax of the command</screen>
+Possibly some extra comments after the syntax.</para>
+
+<para>Response syntax:
+  <screen>Syntax of the response</screen>
+Optional extra comments after the resposne syntax.</para>
+
+</section>
+<!-- end of remote-option6-global-get -->
+
+<!-- start of remote-option6-global-get-all -->
+<section xml:id="reference-remote-option6-global-get-all">
+<title>remote-option6-global-get-all reference</title>
+<para xml:id="ref-remote-option6-global-get-all"><command>remote-option6-global-get-all</command> - a sentence or two explaining what this command does</para>
+
+<para>Supported by: <command><link linkend="commands-undocumented">undocumented</link></command></para>
+
+<para>Availability: 0.0.0 (<link linkend="commands-undocumented-lib">undocumented</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-option6-global-get-all"/></para>
+
+<para>Command syntax:
+  <screen>Syntax of the command</screen>
+Possibly some extra comments after the syntax.</para>
+
+<para>Response syntax:
+  <screen>Syntax of the response</screen>
+Optional extra comments after the resposne syntax.</para>
+
+</section>
+<!-- end of remote-option6-global-get-all -->
+
+<!-- start of remote-option6-global-set -->
+<section xml:id="reference-remote-option6-global-set">
+<title>remote-option6-global-set reference</title>
+<para xml:id="ref-remote-option6-global-set"><command>remote-option6-global-set</command> - a sentence or two explaining what this command does</para>
+
+<para>Supported by: <command><link linkend="commands-undocumented">undocumented</link></command></para>
+
+<para>Availability: 0.0.0 (<link linkend="commands-undocumented-lib">undocumented</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-option6-global-set"/></para>
+
+<para>Command syntax:
+  <screen>Syntax of the command</screen>
+Possibly some extra comments after the syntax.</para>
+
+<para>Response syntax:
+  <screen>Syntax of the response</screen>
+Optional extra comments after the resposne syntax.</para>
+
+</section>
+<!-- end of remote-option6-global-set -->
+
+<!-- start of remote-subnet4-del-by-id -->
+<section xml:id="reference-remote-subnet4-del-by-id">
+<title>remote-subnet4-del-by-id reference</title>
+<para xml:id="ref-remote-subnet4-del-by-id"><command>remote-subnet4-del-by-id</command> - This command is used to delete an IPv4 subnet by ID from the configuration database.</para>
+
+<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
+
+<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-subnet4-del-by-id"/></para>
+
+<para>Command syntax:
+  <screen>{
+    "command": "remote-subnet4-del-by-id",
+    "service": [ "dhcp4" ],
+    "arguments": {
+        "subnets": [ {
+            "id": &lt;subnet identifier&gt;
+        } ],
+        "remote": {
+            &lt;specification of the database to connect to&gt;
+        }
+    }
+}</screen>
+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".</para>
+
+<para>Response syntax:
+  <screen>{
+    "result": 0,
+    "text": "1 IPv4 subnet(s) deleted.",
+    "arguments": {
+        "count": 1
+    }
+}</screen>
+Result is an integer representation of the status. Currently supported statuses are:
+<itemizedlist>
+  <listitem><para>0 - success</para></listitem>
+  <listitem><para>1 - error</para></listitem>
+  <listitem><para>2 - unsupported</para></listitem>
+  <listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
+</itemizedlist>
+</para>
+
+</section>
+<!-- end of remote-subnet4-del-by-id -->
+
+<!-- start of remote-subnet4-del-by-prefix -->
+<section xml:id="reference-remote-subnet4-del-by-prefix">
+<title>remote-subnet4-del-by-prefix reference</title>
+<para xml:id="ref-remote-subnet4-del-by-prefix"><command>remote-subnet4-del-by-prefix</command> - This command is used to delete an IPv4 subnet by prefix from the configuration database.</para>
+
+<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
+
+<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-subnet4-del-by-prefix"/></para>
+
+<para>Command syntax:
+  <screen>{
+    "command": "remote-subnet4-del-by-prefix",
+    "service": [ "dhcp4" ],
+    "arguments": {
+        "subnets": [ {
+            "subnet": &lt;subnet prefix&gt;
+        } ],
+        "remote": {
+            &lt;specification of the database to connect to&gt;
+        }
+    }
+}</screen>
+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".</para>
+
+<para>Response syntax:
+  <screen>{
+    "result": 0,
+    "text": "1 IPv4 subnet(s) deleted.",
+    "arguments": {
+        "count": 1
+    }
+}</screen>
+Result is an integer representation of the status. Currently supported statuses are:
+<itemizedlist>
+  <listitem><para>0 - success</para></listitem>
+  <listitem><para>1 - error</para></listitem>
+  <listitem><para>2 - unsupported</para></listitem>
+  <listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
+</itemizedlist>
+</para>
+
+</section>
+<!-- end of remote-subnet4-del-by-prefix -->
+
+<!-- start of remote-subnet4-get-by-id -->
+<section xml:id="reference-remote-subnet4-get-by-id">
+<title>remote-subnet4-get-by-id reference</title>
+<para xml:id="ref-remote-subnet4-get-by-id"><command>remote-subnet4-get-by-id</command> - This command is used to fetch selected IPv4 subnet by ID for the server from the specified database.</para>
+
+<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
+
+<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-subnet4-get-by-id"/></para>
+
+<para>Command syntax:
+  <screen>{
+    "command": "remote-subnet4-get-by-id"
+    "arguments": {
+        "subnets": [ {
+            "id": &lt;subnet identifier&gt;
+        } ],
+        "remote": {
+            &lt;specification of the database to connect to&gt;
+        }
+    }
+}</screen>
+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".</para>
+
+<para>Response syntax:
+  <screen>{
+    "result": 0,
+    "text": "IPv4 subnet 123 found.",
+    "arguments": {
+        "subnets": [ {
+            "id": &lt;subnet identifier&gt;
+            "subnet": &lt;subnet prefix&gt;,
+            "shared-network-name": &lt;shared network name&gt; | null,
+            "metadata": {
+                "server-tag": &lt;server tag&gt;
+            },
+            &lt;the rest of the subnet specification here&gt;
+        } ],
+        "count": 1
+    }
+}</screen>
+The metadata is included in the returned subnet definition and it provides database specific information associated with the returned object.</para>
+
+</section>
+<!-- end of remote-subnet4-get-by-id -->
+
+<!-- start of remote-subnet4-get-by-prefix -->
+<section xml:id="reference-remote-subnet4-get-by-prefix">
+<title>remote-subnet4-get-by-prefix reference</title>
+<para xml:id="ref-remote-subnet4-get-by-prefix"><command>remote-subnet4-get-by-prefix</command> - This command is used to fetch selected IPv4 subnet by prefix for the server from the specified database.</para>
+
+<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
+
+<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-subnet4-get-by-prefix"/></para>
+
+<para>Command syntax:
+  <screen>{
+    "command": "remote-subnet4-get-by-prefix"
+    "arguments": {
+        "subnets": [ {
+            "subnet": &lt;subnet prefix&gt;
+        } ],
+        "remote": {
+            &lt;specification of the database to connect to&gt;
+        }
+    }
+}</screen>
+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".</para>
+
+<para>Response syntax:
+  <screen>{
+    "result": 0,
+    "text": "IPv4 subnet 123 found.",
+    "arguments": {
+        "subnets": [ {
+            "id": &lt;subnet identifier&gt;
+            "subnet": &lt;subnet prefix&gt;,
+            "shared-network-name": &lt;shared network name&gt; | null,
+            "metadata": {
+                "server-tag": &lt;server tag&gt;
+            },
+            &lt;the rest of the subnet specification here&gt;
+        } ],
+        "count": 1
+    }
+}</screen>
+The metadata is included in the returned subnet definition and it provides database specific information associated with the returned object.</para>
+
+</section>
+<!-- end of remote-subnet4-get-by-prefix -->
+
+<!-- start of remote-subnet4-list -->
+<section xml:id="reference-remote-subnet4-list">
+<title>remote-subnet4-list reference</title>
+<para xml:id="ref-remote-subnet4-list"><command>remote-subnet4-list</command> - This command is used to fetch a list of all IPv4 shared networks for the particular server from the specified database.</para>
+
+<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
+
+<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-subnet4-list"/></para>
+
+<para>Command syntax:
+  <screen>{
+    "command": "remote-subnet4-list"
+    "arguments": {
+        "remote": {
+            &lt;specification of the database to connect to&gt;
+        }
+    }
+}</screen>
+The <command>remote</command> map contains specification of the backend from which the subnets should be fetched. Typically it contains "type": "mysql".</para>
+
+<para>Response syntax:
+  <screen>{
+    "result": 0,
+    "text": "2 IPv4 subnets found.",
+    "arguments": {
+        "subnets": [
+            {
+                "id": &lt;first subnet identifier&gt;,
+                "subnet": &lt;first subnet prefix&gt;,
+                "shared-network-name": &lt;shared network name&gt; | null,
+                "metadata": {
+                    "server-tag": &lt;server tag&gt;
+                }
+            },
+            {
+                "id": &lt;second subnet identifier&gt;,
+                "subnet": &lt;second subnet prefix&gt;,
+                "shared-network-name": &lt;shared network name&gt; | null,
+                "metadata": {
+                    "server-tag": &lt;server tag&gt;
+                }
+            }
+        ],
+        "count": 2
+    }
+}</screen>
+The returned response contains a list of maps. Each map contains a subnet identifier, prefix and shared network name to which the subnet belongs. If the subnet does not belong to a shared netork the name is null. The metadata includes database specific information associated with the subnets. The returned list does not contain full subnet definitions. Use <command>remote-subnet4-get</command> to fetch the full information about the selected subnets.</para>
+
+</section>
+<!-- end of remote-subnet4-list -->
+
+<!-- start of remote-subnet4-set -->
+<section xml:id="reference-remote-subnet4-set">
+<title>remote-subnet4-set reference</title>
+<para xml:id="ref-remote-subnet4-set"><command>remote-subnet4-set</command> - This command is used to create or update IPv4 subnet for a server in the specified database.</para>
+
+<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
+
+<para>Availability: 1.6.0 (<link linkend="commands-cb_cmds-lib">cb_cmds</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-subnet4-set"/></para>
+
+<para>Command syntax:
+  <screen>{
+    "command": "remote-subnet4-set",
+    "arguments": {
+        "subnets": [ {
+            "id": &lt;subnet identifier&gt;,
+            "subnet": &lt;subnet prefix&gt;,
+            "shared-network-name": &lt;shared network name&gt;
+            &lt;the rest of the subnet specification here&gt;
+        } ],
+        "remote": {
+            &lt;specification of the database to connect to&gt;
+        }
+    }
+}</screen>
+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".</para>
+
+<para>Response syntax:
+  <screen>{
+    "result": 0,
+    "text": "IPv4 subnet successfully set.",
+}</screen>
+Result is an integer representation of the status. Currently supported statuses are:
+<itemizedlist>
+  <listitem><para>0 - success</para></listitem>
+  <listitem><para>1 - error</para></listitem>
+  <listitem><para>2 - unsupported</para></listitem>
+  <listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
+</itemizedlist>
+</para>
+
+</section>
+<!-- end of remote-subnet4-set -->
+
+<!-- start of remote-subnet6-del-by-id -->
+<section xml:id="reference-remote-subnet6-del-by-id">
+<title>remote-subnet6-del-by-id reference</title>
+<para xml:id="ref-remote-subnet6-del-by-id"><command>remote-subnet6-del-by-id</command> - a sentence or two explaining what this command does</para>
+
+<para>Supported by: <command><link linkend="commands-undocumented">undocumented</link></command></para>
+
+<para>Availability: 0.0.0 (<link linkend="commands-undocumented-lib">undocumented</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-subnet6-del-by-id"/></para>
+
+<para>Command syntax:
+  <screen>Syntax of the command</screen>
+Possibly some extra comments after the syntax.</para>
+
+<para>Response syntax:
+  <screen>Syntax of the response</screen>
+Optional extra comments after the resposne syntax.</para>
+
+</section>
+<!-- end of remote-subnet6-del-by-id -->
+
+<!-- start of remote-subnet6-del-by-prefix -->
+<section xml:id="reference-remote-subnet6-del-by-prefix">
+<title>remote-subnet6-del-by-prefix reference</title>
+<para xml:id="ref-remote-subnet6-del-by-prefix"><command>remote-subnet6-del-by-prefix</command> - a sentence or two explaining what this command does</para>
+
+<para>Supported by: <command><link linkend="commands-undocumented">undocumented</link></command></para>
+
+<para>Availability: 0.0.0 (<link linkend="commands-undocumented-lib">undocumented</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-subnet6-del-by-prefix"/></para>
+
+<para>Command syntax:
+  <screen>Syntax of the command</screen>
+Possibly some extra comments after the syntax.</para>
+
+<para>Response syntax:
+  <screen>Syntax of the response</screen>
+Optional extra comments after the resposne syntax.</para>
+
+</section>
+<!-- end of remote-subnet6-del-by-prefix -->
+
+<!-- start of remote-subnet6-get-by-id -->
+<section xml:id="reference-remote-subnet6-get-by-id">
+<title>remote-subnet6-get-by-id reference</title>
+<para xml:id="ref-remote-subnet6-get-by-id"><command>remote-subnet6-get-by-id</command> - a sentence or two explaining what this command does</para>
+
+<para>Supported by: <command><link linkend="commands-undocumented">undocumented</link></command></para>
+
+<para>Availability: 0.0.0 (<link linkend="commands-undocumented-lib">undocumented</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-subnet6-get-by-id"/></para>
+
+<para>Command syntax:
+  <screen>Syntax of the command</screen>
+Possibly some extra comments after the syntax.</para>
+
+<para>Response syntax:
+  <screen>Syntax of the response</screen>
+Optional extra comments after the resposne syntax.</para>
+
+</section>
+<!-- end of remote-subnet6-get-by-id -->
+
+<!-- start of remote-subnet6-get-by-prefix -->
+<section xml:id="reference-remote-subnet6-get-by-prefix">
+<title>remote-subnet6-get-by-prefix reference</title>
+<para xml:id="ref-remote-subnet6-get-by-prefix"><command>remote-subnet6-get-by-prefix</command> - a sentence or two explaining what this command does</para>
+
+<para>Supported by: <command><link linkend="commands-undocumented">undocumented</link></command></para>
+
+<para>Availability: 0.0.0 (<link linkend="commands-undocumented-lib">undocumented</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-subnet6-get-by-prefix"/></para>
+
+<para>Command syntax:
+  <screen>Syntax of the command</screen>
+Possibly some extra comments after the syntax.</para>
+
+<para>Response syntax:
+  <screen>Syntax of the response</screen>
+Optional extra comments after the resposne syntax.</para>
+
+</section>
+<!-- end of remote-subnet6-get-by-prefix -->
+
+<!-- start of remote-subnet6-list -->
+<section xml:id="reference-remote-subnet6-list">
+<title>remote-subnet6-list reference</title>
+<para xml:id="ref-remote-subnet6-list"><command>remote-subnet6-list</command> - a sentence or two explaining what this command does</para>
+
+<para>Supported by: <command><link linkend="commands-undocumented">undocumented</link></command></para>
+
+<para>Availability: 0.0.0 (<link linkend="commands-undocumented-lib">undocumented</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-subnet6-list"/></para>
+
+<para>Command syntax:
+  <screen>Syntax of the command</screen>
+Possibly some extra comments after the syntax.</para>
+
+<para>Response syntax:
+  <screen>Syntax of the response</screen>
+Optional extra comments after the resposne syntax.</para>
+
+</section>
+<!-- end of remote-subnet6-list -->
+
+<!-- start of remote-subnet6-set -->
+<section xml:id="reference-remote-subnet6-set">
+<title>remote-subnet6-set reference</title>
+<para xml:id="ref-remote-subnet6-set"><command>remote-subnet6-set</command> - a sentence or two explaining what this command does</para>
+
+<para>Supported by: <command><link linkend="commands-undocumented">undocumented</link></command></para>
+
+<para>Availability: 0.0.0 (<link linkend="commands-undocumented-lib">undocumented</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-remote-subnet6-set"/></para>
+
+<para>Command syntax:
+  <screen>Syntax of the command</screen>
+Possibly some extra comments after the syntax.</para>
+
+<para>Response syntax:
+  <screen>Syntax of the response</screen>
+Optional extra comments after the resposne syntax.</para>
+
+</section>
+<!-- end of remote-subnet6-set -->
+
+<!-- start of reservation-add -->
+<section xml:id="reference-reservation-add">
+<title>reservation-add reference</title>
+<para xml:id="ref-reservation-add"><command>reservation-add</command> - adds a new host reservation. The reservation may include IPv4 address,
+        IPv6 addresses, IPv6 prefixes, various identifiers, a class
+        the client will be assigned to, DHCPv4 and DHCPv6 options and
+        more.</para>
+
+<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
+
+<para>Availability: 1.2.0 (<link linkend="commands-host_cmds-lib">host_cmds</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-reservation-add"/></para>
+
+<para>Command syntax:
+  <screen>{
+    "command": "reservation-add",
+    "arguments": {
+        "reservation": {
+            "boot-file-name": &lt;string&gt;,
+            "comment": &lt;string&gt;
+            "client-id": &lt;string&gt;,
+            "circuit-id": &lt;string&gt;,
+            "duid": &lt;string&gt;,
+            "flex-id": &lt;string&gt;,
+            "ip-address": &lt;string (IPv4 address)&gt;,
+            "ip-addresses": [ &lt;comma separated strings&gt; ],
+            "hw-address": &lt;string&gt;,
+            "hostname": &lt;string&gt;,
+            "next-server": &lt;string (IPv4 address)&gt;,
+            "option-data-list": [ &lt;comma separated structures defining options&gt; ],
+            "prefixes": [ &lt;comma separated IPv6 prefixes&gt; ],
+            "reservation-client-classes": [ &lt;comma separated strings&gt; ],
+            "server-hostname": &lt;string&gt;,
+            "subnet-id": &lt;integer&gt;,
+            "user-context": &lt;any valid JSON&gt;,
+        }
+    }
+}</screen>
+Note the ip-address, client-id, next-server, server-hostname and
+boot-file-name are IPv4 specific. duid, ip-addresses and prefixes are
+IPv6 specific.</para>
+
+<para>Response syntax:
+  <screen>
+{
+    "result": &lt;integer&gt;,
+    "text": &lt;string&gt;
+}</screen>
+Result is an integer representation of the status. Currently supported statuses are:
+<itemizedlist>
+  <listitem><para>0 - success</para></listitem>
+  <listitem><para>1 - error</para></listitem>
+  <listitem><para>2 - unsupported</para></listitem>
+  <listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)
+  </para></listitem>
+</itemizedlist></para>
+
+</section>
+<!-- end of reservation-add -->
+
+<!-- start of reservation-del -->
+<section xml:id="reference-reservation-del">
+<title>reservation-del reference</title>
+<para xml:id="ref-reservation-del"><command>reservation-del</command> - Deletes an existing host reservation.</para>
+
+<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
+
+<para>Availability: 1.2.0 (<link linkend="commands-host_cmds-lib">host_cmds</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-reservation-del"/></para>
+
+<para>Command syntax:
+  <screen>{
+    "command": "reservation-del",
+    "arguments": {
+        "subnet-id": &lt;integer&gt;,
+        "ip-address": &lt;string&gt;,
+        "identifier-type": &lt;one of "hw-address", "duid", "circuit-id", "client-id" and "flex-id"&gt;,
+        "identifier": &lt;string&gt;
+    }
+}</screen>
+The host reservation can be identified by either (subnet-id, ip-address) pair or a triplet of (subnet-id, identifier-type, identifier).</para>
+
+<para>Response syntax:
+  <screen>{
+    "result": &lt;integer&gt;,
+    "text": &lt;string&gt;
+}
+</screen>
+Result is an integer representation of the status. Currently supported statuses are:
+<itemizedlist>
+  <listitem><para>0 - success</para></listitem>
+  <listitem><para>1 - error</para></listitem>
+  <listitem><para>2 - unsupported</para></listitem>
+  <listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
+</itemizedlist>
+</para>
+
+</section>
+<!-- end of reservation-del -->
+
+<!-- start of reservation-get -->
+<section xml:id="reference-reservation-get">
+<title>reservation-get reference</title>
+<para xml:id="ref-reservation-get"><command>reservation-get</command> - Attempts to retrieve an existing host reservation</para>
+
+<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
+
+<para>Availability: 1.2.0 (<link linkend="commands-host_cmds-lib">host_cmds</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-reservation-get"/></para>
+
+<para>Command syntax:
+  <screen>{
+    "command": "reservation-get",
+    "arguments": {
+        "subnet-id": &lt;integer&gt;,
+        "identifier-type": &lt;string with one value out of: hw-address|duid|circuit-id|client-id|flex-id&gt;,
+        "identifier": &lt;string&gt;;
+    }
+}</screen>
+The host reservation can be identified by either (subnet-id, ip-address) pair or a triplet of (subnet-id, identifier-type, identifier).</para>
+
+<para>Response syntax:
+  <screen>{
+    "result": &lt;integer&gt;,
+    "text": &lt;string&gt;,
+    "arguments": {
+        "boot-file-name": &lt;string&gt;,
+        "comment": &lt;string&gt;
+        "client-id": &lt;string&gt;,
+        "circuit-id": &lt;string&gt;,
+        "duid": &lt;string&gt;,
+        "flex-id": &lt;string&gt;,
+        "ip-address": &lt;string (IPv4 address)&gt;,
+        "ip-addresses": [ &lt;comma separated strings&gt; ],
+        "hw-address": &lt;string&gt;,
+        "hostname": &lt;string&gt;,
+        "next-server": &lt;string (IPv4 address)&gt;,
+        "option-data-list": [ &lt;comma separated structures defining options&gt; ],
+        "prefixes": [ &lt;comma separated IPv6 prefixes&gt; ],
+        "reservation-client-classes": [ &lt;comma separated strings&gt; ],
+        "server-hostname": &lt;string&gt;,
+        "subnet-id": &lt;integer&gt;,
+        "user-context": &lt;any valid JSON&gt;,
+    }
+}</screen>
+Arguments object appear only if a host is found. Many fields in the arguments
+object appear only if specific field is set.</para>
+
+</section>
+<!-- end of reservation-get -->
+
+<!-- start of reservation-get-all -->
+<section xml:id="reference-reservation-get-all">
+<title>reservation-get-all reference</title>
+<para xml:id="ref-reservation-get-all"><command>reservation-get-all</command> - Retrieve all host reservations for a specified subnet.</para>
+
+<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
+
+<para>Availability: 1.6.0 (<link linkend="commands-host_cmds-lib">host_cmds</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-reservation-get-all"/></para>
+
+<para>Command syntax:
+  <screen>{
+    "command": "reservation-get-all",
+    "arguments": {
+        "subnet-id": &lt;integer&gt;
+}</screen>
+</para>
+
+<para>Response syntax:
+  <screen>{
+    "result": &lt;integer&gt;,
+    "text": &lt;string&gt;
+}
+</screen>
+reservation-get-all command may result in very large responses.</para>
+
+</section>
+<!-- end of reservation-get-all -->
+
+<!-- start of reservation-get-page -->
+<section xml:id="reference-reservation-get-page">
+<title>reservation-get-page reference</title>
+<para xml:id="ref-reservation-get-page"><command>reservation-get-page</command> - Retrieve host reservations for a specified subnet by page.</para>
+
+<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command></para>
+
+<para>Availability: 1.6.0 (<link linkend="commands-host_cmds-lib">host_cmds</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-reservation-get-page"/></para>
+
+<para>Command syntax:
+  <screen>{
+    "command": "reservation-get-page",
+    "arguments": {
+        "subnet-id": &lt;integer&gt;,
+        "limit": &lt;integer&gt;,
+        "source-index": &lt;integer&gt;,
+        "from": &lt;integer&gt;
+    }
+}</screen>
+the subnet id and the page size limit are mandatory. The source index and from host id are optional and default to 0. Values to use to next the next page are returned in responses in a next map.</para>
+
+<para>Response syntax:
+  <screen>{
+    "result": &lt;integer&gt;,
+    "text": &lt;string&gt;
+}
+</screen>
+Result is an integer representation of the status. Currently supported statuses are:
+<itemizedlist>
+  <listitem><para>0 - success</para></listitem>
+  <listitem><para>1 - error</para></listitem>
+  <listitem><para>2 - unsupported</para></listitem>
+  <listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
+</itemizedlist>
+</para>
+
+</section>
+<!-- end of reservation-get-page -->
+
+<!-- start of shutdown -->
+<section xml:id="reference-shutdown">
+<title>shutdown reference</title>
+<para xml:id="ref-shutdown"><command>shutdown</command> - The shutdown command instructs the server to initiate its shutdown procedure.</para>
+
+<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command>, <command><link linkend="commands-kea-dhcp6">kea-dhcp6</link></command>, <command><link linkend="commands-kea-dhcp-ddns">kea-dhcp-ddns</link></command>, <command><link linkend="commands-kea-ctrl-agent">kea-ctrl-agent</link></command></para>
+
+<para>Availability: 1.0.0 (built-in)</para>
+
+<para>Description and examples: See <xref linkend="command-shutdown"/></para>
+
+<para>Command syntax:
+  <screen>{
+    "command": "shutdown"
+}</screen>
+The server will respond with a confirmation that the shutdown
+                    procedure has been initiated.</para>
+
+<para>Response syntax:
+  <screen>{
+    "result": &lt;integer&gt;,
+    "text": &lt;string&gt;
+}
+</screen>
+Result is an integer representation of the status. Currently supported statuses are:
+<itemizedlist>
+  <listitem><para>0 - success</para></listitem>
+  <listitem><para>1 - error</para></listitem>
+  <listitem><para>2 - unsupported</para></listitem>
+  <listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
+</itemizedlist>
+</para>
+
+</section>
+<!-- end of shutdown -->
+
+<!-- start of stat-lease4-get -->
+<section xml:id="reference-stat-lease4-get">
+<title>stat-lease4-get reference</title>
+<para xml:id="ref-stat-lease4-get"><command>stat-lease4-get</command> - The stat-lease4-get command fetches lease statistics for a range
+              of known IPv4 subnets.</para>
+
+<para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
+
+<para>Availability: 1.4.0 (<link linkend="commands-stat_cmds-lib">stat_cmds</link>  hook)</para>
+
+<para>Description and examples: See <xref linkend="command-stat-lease4-get"/></para>
+
+<para>Command syntax:
+  <screen>{
+  "command": "stat-lease4-get"
+}</screen>
+</para>
+
+<para>Response syntax:
+  <screen>{
+    "result": 0,
+    "text": "stat-lease4-get: 2 rows found",
+    "arguments": {
+      "result-set": {
+        "columns": [ "subnet-id",
+                       "total-addresses",
+                       "assigned-addresses",
+                       "declined-addresses" ]
+        "rows": [
+          [ 10, 256, 111, 0 ],
+          [ 20, 4098, 2034, 4 ]
+        ],
+      "timestamp": "2018-05-04 15:03:37.000000"
+      }
+    }
+  }</screen>
+Result is an integer representation of the status. Currently supported statuses are:
+<itemizedlist>
+  <listitem><para>0 - success</para></listitem>
+  <listitem><para>1 - error</para></listitem>
+  <listitem><para>2 - unsupported</para></listitem>
+  <listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
+</itemizedlist>
+</para>
+
+</section>
+<!-- end of stat-lease4-get -->
 
 <!-- start of stat-lease6-get -->
 <section xml:id="reference-stat-lease6-get">
@@ -2817,7 +4372,7 @@ Result is an integer representation of the status. Currently supported statuses
 
 <para>Availability: 1.4.0 (<link linkend="commands-stat_cmds-lib">stat_cmds</link>  hook)</para>
 
-<para>Description and examples: See <xref linkend="command-stat-lease4-get"/></para>
+<para>Description and examples: See <xref linkend="command-stat-lease6-get"/></para>
 
 <para>Command syntax:
   <screen>{
@@ -3093,7 +4648,7 @@ Result is an integer representation of the status. Currently supported statuses
   <screen>{
     "command": "subnet4-add",
     "arguments": {
-        "subnet4": [ {
+        "subnets": [ {
             "id": 123,
             "subnet": "10.20.30.0/24",
             ...
@@ -3262,7 +4817,7 @@ If no IPv4 subnets are found, an error code is returned along with the error des
 <!-- start of subnet4-update -->
 <section xml:id="reference-subnet4-update">
 <title>subnet4-update reference</title>
-<para xml:id="ref-subnet4-update"><command>subnet4-update</command> - This command is used to  update a subnet in the existing server configuration.</para>
+<para xml:id="ref-subnet4-update"><command>subnet4-update</command> - This command is used to update a subnet in the existing server configuration.</para>
 
 <para>Supported by: <command><link linkend="commands-kea-dhcp4">kea-dhcp4</link></command></para>
 
@@ -3274,7 +4829,7 @@ If no IPv4 subnets are found, an error code is returned along with the error des
   <screen>{
     "command": "subnet4-update",
     "arguments": {
-        "subnet4": [ {
+        "subnets": [ {
             "id": 123,
             "subnet": "10.20.30.0/24",
             ...
@@ -3301,6 +4856,7 @@ Result is an integer representation of the status. Currently supported statuses
   <listitem><para>0 - success</para></listitem>
   <listitem><para>1 - error</para></listitem>
   <listitem><para>2 - unsupported</para></listitem>
+  <listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
 </itemizedlist>
 </para>
 
@@ -3528,6 +5084,7 @@ Result is an integer representation of the status. Currently supported statuses
   <listitem><para>0 - success</para></listitem>
   <listitem><para>1 - error</para></listitem>
   <listitem><para>2 - unsupported</para></listitem>
+  <listitem><para>3 - empty (command was completed successfully, but no data was affected or returned)</para></listitem>
 </itemizedlist>
 </para>
 
index 31ab8f45c1f391f3936fa8e109fa9721ad3d0a8a..562bdfdb56679d4f0e6496a069ef3f2de101b993 100644 (file)
       such as MySQL Workbench or command line MySQL client by directly working
       with the database.
     </para>
+
+    <para>
+      Refer to the <xref linkend="cb-cmds-library"/> for the details regarding
+      the <command>cb_cmds</command> hooks library.
+    </para>
+
   </section>
 
 </chapter>
diff --git a/doc/guide/hooks-cb-cmds.xml b/doc/guide/hooks-cb-cmds.xml
new file mode 100644 (file)
index 0000000..4b1f733
--- /dev/null
@@ -0,0 +1,382 @@
+<!--
+ - Copyright (C) 2019 Internet Systems Consortium, Inc. ("ISC")
+ -
+ - This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, you can obtain one at http://mozilla.org/MPL/2.0/.
+-->
+
+    <section xml:id="cb-cmds-library">
+      <title>cb_cmds: Configuration Backend Commands</title>
+      <para>
+        This section describes the <command>cb_cmds</command> hooks library
+        which is used to manage Kea servers' configurations in the Configuration
+        Backends. The hooks library uses available CB implementations to
+        perform CRUD operations on the data held in the respective Configuration
+        Backends.
+      </para>
+
+      <para>This library is only available to ISC customers with a
+      support contract.
+
+      <note>
+        <para>This library may only be loaded by the <command>kea-dhcp4</command>
+        or the <command>kea-dhcp6</command> process.
+        </para>
+      </note>
+      </para>
+
+      <section>
+        <title>Commands Structure</title>
+        <para>There are 5 types of commands supported by this library:</para>
+        <itemizedlist>
+          <listitem><simpara><command>del</command> - delete selected object from the
+          database,</simpara></listitem>
+          <listitem><simpara><command>get</command> - fetch selected object from the
+          database,</simpara></listitem>
+          <listitem><simpara><command>get-all</command> - fetch all objects of the
+          particular type from the database,</simpara></listitem>
+          <listitem><simpara><command>list</command> - list all objects of the particular
+          type from the database; brief information about the listed objects is
+          returned, comparing to the output of <command>get-all</command>,</simpara>
+          </listitem>
+          <listitem><simpara><command>set</command> - creates or updates an object
+          of the given type in the database.</simpara></listitem>
+        </itemizedlist>
+
+        <para>All commands accept optional <command>remote</command> map which selects
+        the database instance to which the command refers. For example:
+<screen>
+{
+    "command": "remote-subnet4-list",
+    "arguments": {
+        "remote": {
+            "type": "mysql",
+            "host": "192.0.2.33",
+            "port": 3302
+        }
+    }
+}
+</screen>
+        </para>
+        <para>
+          selects the MySQL database running on host 192.0.2.33 and port 3302 to
+          fetch the list of subnets from. All parameters in the
+          <command>remote</command> are optional. The <command>port</command>
+          parameter can be only specified in conjuction with the
+          <command>host</command>. If no parameters in the <command>remote</command>
+          parameter are to be specified, the parameter should be omitted. In this
+          case the server will use the first backend listed in the
+          <command>config-control</command> map within the configuration of the
+          server receiving the command.
+        </para>
+
+        <note>
+          <para>
+            In Kea 1.6.0 beta release it is possible to configure Kea instance to
+            use only one configuration backend with the <command>config-control</command>
+            parameter. Therefore, in this release the <command>remote</command>
+            parameter is redundant in the commands supported by this library.
+          </para>
+        </note>
+
+      </section>
+
+      <section xml:id="cb-cmds4">
+        <title>Control Commands for DHCPv4 Servers</title>
+        <para>The following commands are supported by the <command>cb_cmds</command>
+        hooks library to manage the configuration information in the configuration
+        backends.</para>
+
+        <section xml:id="command-remote-global-parameter4-del">
+          <title>remote-global-parameter4-del</title>
+          <para>This command is used to delete a global DHCPv4 parameter from the
+          configuration database. When the parameter is deleted from the database
+          the server will use the value specified in the configuration file or
+          a default value, if the parameter is not specified in the configuration
+          file.</para>
+          <para>The following command attempts to delete the
+          <command>renew-timer</command> parameter from the database:
+          <screen>
+{
+    "command": "remote-global-parameter4-del",
+    "arguments": {
+        "parameters": [ "renew-timer" ],
+        "remote": {
+            "type": "mysql"
+         }
+    }
+}
+          </screen>
+          </para>
+        </section>
+
+        <section xml:id="command-remote-global-parameter4-get">
+          <title>remote-global-parameter4-get</title>
+          <para>This command is used to fetch a global DHCPv4 parameter from the
+          configuration database.</para>
+          <para>The following commands attempt to fetch the
+          <command>boot-file-name</command> parameter from the database:
+          <screen>
+{
+    "command": "remote-global-parameter4-get",
+    "arguments": {
+        "parameters": [ "boot-file-name" ],
+         "remote": {
+             "type": "mysql"
+         }
+    }
+}
+          </screen>
+          </para>
+          <para>
+            The returned value may have one of 4 types: string, integer, real
+            or boolean. In case of the <command>boot-file-name</command> the
+            string value is returned, e.g.:
+            <screen>
+{
+    "result": 0,
+    "text": "1 DHCPv4 global parameter found.",
+    "arguments": {
+        "parameters": {
+            "boot-file-name": "/dev/null",
+            "metadata": {
+                "server-tag": "all"
+            }
+        },
+        "count": 1
+    }
+}
+            </screen>
+          </para>
+
+          <para>
+            The example response for an integer value is:
+            <screen>
+{
+    "result": 0,
+    "text": "1 DHCPv4 global parameter found.",
+    "arguments": {
+        "parameters": {
+            "renew-timer": 2000,
+            "metadata": {
+                "server-tag": "all"
+            }
+        },
+        "count": 1
+    }
+}
+            </screen>
+          </para>
+
+          <para>
+            The integer value:
+            <screen>
+{
+    "result": 0,
+    "text": "1 DHCPv4 global parameter found.",
+    "arguments": {
+        "parameters": {
+            "t1-percent": 0.85,
+            "metadata": {
+                "server-tag": "all"
+            }
+        },
+        "count": 1
+    }
+}
+            </screen>
+          </para>
+
+          <para>
+            Finally, the boolean value:
+            <screen>
+{
+    "result": 0,
+    "text": "1 DHCPv4 global parameter found.",
+    "arguments": {
+        "parameters": {
+            "match-client-id": true,
+            "metadata": {
+                "server-tag": "all"
+            }
+        },
+        "count": 1
+    }
+}
+            </screen>
+          </para>
+        </section>
+
+        <section xml:id="command-remote-global-parameter4-get-all">
+          <title>remote-global-parameter4-get-all</title>
+          <para>This command is used to fetch all global DHCPv4 parameters from
+          the database. It includes no arguments besides an optional
+          <command>remote</command> argument.</para>
+        </section>
+
+        <section xml:id="command-remote-global-parameter4-set">
+          <title>remote-global-parameter4-set</title>
+          <para>This command is used to create global DHCPv4 parameters in the database.
+          If any of the parameters parameter already exists, its value is replaced
+          as a result of this command. It is possible to set multiple parameters within
+          a single command, each having one of the 4 types: a string, integer, real
+          and boolean.
+          <screen>
+{
+    "command": "remote-global-parameter4-set"
+    "arguments": {
+        "parameters": {
+            "boot-file-name": "/dev/null",
+            "renew-timer": 2000,
+            "t1-percent": 0.85,
+            "match-client-id": true
+        },
+        "remote": {
+            "type": "mysql"
+        }
+    }
+}
+          </screen>
+          </para>
+          <para>
+            If any of the parameters is not supported by the DHCPv4 server or its
+            type doesn't match, an error is returned.
+          </para>
+        </section>
+
+        <section xml:id="command-remote-network4-del">
+          <title>remote-network4-del</title>
+          <para>This command is used to delete IPv4 shared network from the database.
+          The optional parameter <command>subnets-action</command> specifies whether
+          the subnets belonging to the deleted shared network should be also deleted
+          or preserved. The <command>subnets-action</command> defaults to
+          <command>keep</command>, which preserves the subnets. If this parameter
+          is set to <command>delete</command>, the subnets are deleted along with
+          the shared network. For example:
+          <screen>
+{
+    "command": "remote-network4-del",
+    "arguments": {
+        "shared-networks": [ {
+            "name": "level3"
+        } ],
+        "subnets-action": "keep",
+        "remote": {
+            "type": "mysql"
+        }
+    }
+}
+          </screen>
+            deletes the "level3" shared network but preserves the subnets, which
+            are disassociated from the deleted shared network and become global.
+          </para>
+        </section>
+
+        <section xml:id="command-remote-network4-get">
+          <title>remote-network4-get</title>
+          <para>This command is used to retrieve information about the IPv4 shared
+          network. The optional parameter <command>subnets-include</command> controls
+          whether the subnets should be returned together with the shared network
+          information. This parameter defaults to <command>no</command> which
+          instructs to not return the subnets. If this parameter is set to
+          <command>full</command>, the subnets are returned together with the
+          shared network.</para>
+          <para>
+            The following command fetches the subnet "level3" and all subnets
+            belonging to it:
+            <screen>
+{
+    "command": "remote-network4-get",
+    "arguments": {
+        "shared-networks": [ {
+            "name": "level3"
+        } ],
+        "subnets-include": "full",
+        "remote": {
+            "type": "mysql"
+        }
+    }
+}
+            </screen>
+          </para>
+        </section>
+
+        <section xml:id="command-remote-network4-list">
+          <title>remote-network4-list</title>
+          <para>This command is used to list all IPv4 shared networks in the
+          particular database. The returned information about each shared network
+          is brief, i.e. it merely contains shared network name and the metadata
+          for each shared network. In order to fetch the detailed information
+          about the selected shared network, use the <command>remote-network4-get</command>.
+          </para>
+          <para>
+            The <command>remote-network4-list</command> takes no argument except
+            the optional <command>remote</command> map.
+          </para>
+        </section>
+
+        <section xml:id="command-remote-network4-set">
+          <title>remote-network4-set</title>
+          <para>This command creates a new IPv4 shared network or updates an existing
+          shared network in the database. The structure of the shared network information
+          is the same as in the Kea configuration file (see <xref linkend="shared-network4"/>),
+          with the exception that the <command>subnet4</command> parameter is not allowed
+          in the shared network specification. The reason for this is that the
+          <command>remote-network4-set</command> is not meant to manage the subnets
+          within the shared network. It is merely used to manage shared network specific
+          parameters and DHCP options. In order to associate and disassociate the
+          subnets with the shared networks the <command>remote-subnet4-set</command>
+          command is used.
+          </para>
+          <para>
+            The following command adds the shared network "level3" to the database:
+            <screen>
+{
+    "command": "remote-network4-set",
+    "arguments": {
+        "shared-networks": [ {
+            "name": "level3",
+            "interface": "eth0",
+            "option-data": [ {
+                "name": "log-servers",
+                "data": "1.2.3.4"
+            } ],
+        } ],
+        "remote": {
+            "type": "mysql"
+        }
+    }
+}
+            </screen>
+          </para>
+          <para>
+            This command includes the <command>interface</command> parameters which sets
+            the shared network level interface name. Remaining shared network level
+            parameters, which are not specified with the command, will be marked as
+            "unspecified" in the database. The DHCP server will use the global values
+            for those parameters or, if global values are not specified, the default
+            values will be used.
+          </para>
+
+          <note>
+            <para>
+              Same as for other "set" commands, this command replaces the entire
+              information about the given shared network in the database if this
+              shared network already exists. Therefore, when sending this command,
+              make sure to always include all parameters that must be specified for
+              the updated shared network instance. Any unspecified parameter will
+              be marked unspecified in the database, even if its value was present
+              prior to sending this command.
+            </para>
+          </note>
+        </section>
+
+      </section>
+
+      <section xml:id="cb-cmds6">
+        <title>Control Commands for DHCPv6 Server</title>
+        <para>TBD</para>
+      </section>
+
+    </section>
index a1823ee0e286de0f2e931259e61dd339019257f9..e9afa3e489e5140b911ee01c2e8fd14940a9b3cc 100644 (file)
@@ -2880,6 +2880,9 @@ both the command and the response.
     <!-- section class-cmds-library -->
     <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="hooks-class-cmds.xml"/>
 
+    <!-- section cb-cmds-library -->
+    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="hooks-cb-cmds.xml"/>
+
     <!-- section high-availability-library -->
     <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="hooks-ha.xml"/>