From 4ac699d360ddeef2e521f48b79a8fd5094327091 Mon Sep 17 00:00:00 2001 From: Marcin Siodelski Date: Tue, 7 May 2019 12:55:23 +0200 Subject: [PATCH 01/18] [#71,!314] Database and Database Version Numbers updated for CB. --- doc/guide/admin.xml | 41 +++++++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/doc/guide/admin.xml b/doc/guide/admin.xml index f20fea0243..c7e709c0bc 100644 --- a/doc/guide/admin.xml +++ b/doc/guide/admin.xml @@ -1,5 +1,5 @@ + + + Kea Configuration Backend + +
+ Applicability + + + Kea Configuration Backend (abbreviated as CB) is a feature first + introduced in 1.6.0 release, which provides Kea servers with the + ability to manage and fetch their configuration from one or more + databases. In the documentation, the term "Configuration Backend" + may also refer to the particular Kea module implementing support + to manage and fetch the configuration information from the particular + database type. For example: MySQL Configuration Backend is the logic + implemented within the "mysql_cb" hooks library which provides a + complete set of functions to manage and fetch the configuration + information from the MySQL database. + + + + In small deplyments, e.g. comprising a single DHCP server instance + with limited and infrequently changing number of subnets, it may + be impractical to use the CB as a configuration repository because + it requires additional third party software to be installed and + configured, e.g. MySQL server, MySQL client. Once the number of + DHCP servers and/or the number of managed subnets in the network + grows, the usefulness of the CB gets obvious. + + + + A good example is a pair of the Kea DHCP servers which can be + configured to support High Availability as described in + . + The configurations of both servers is almost exactly the same. + It may differ by server identifier and designation of the + server as a primary or standby (or secondary). They may also + differ by the interfaces configuration. Typically, the subnets, + shared networks, option definitions, global parameters are + the same for both servers and can be sourced from a single + database instance to both servers. + + + + Using a database as a single source of configuration for subnets + and/or other configuration information supported by the CB has + the advantage that any modifications to the configuration in + the database is automatically applied to both servers. + + + + Another case when the centralized configuration repository is desired + is in deployments including large number of the DHCP servers, possibly + using a common lease database to provide redundancy. The new servers + can be added to the pool frequently to fulfil growing scalability + requirements. Adding the new server does not require replicating + the entire configuration to the new server when common database is + used. + + + + Using the database as a configuration repository for Kea servers also + brings other benefits such as: + + ability to use database specific tools to access + the configuration information, + ability to create customized statistics based + on the information stored in the database, + ability to backup the configuration information + using database builtin replication mechanisms. + + + +
+ +
+ CB Capabilities and Limitations + + Kea CB has been first introduced in 1.6.0 release, but this + implementation comes with a number of limitations caused by the + overall complexity of this feature and the development time + constraints. The fature will evolve over time and the new + capabilities will be added in subsequent releases. In this + section we present the limitations of the CB present in the + current Kea release: + + + + + Kea CB is currently supported for the MySQL database only. + + + Kea CB is only supported for DHCPv4 and DHCPv6 servers. + Neither Control Agent nor D2 deamon can be configured via the database. + + + Configuration to be stored for the DHCP servers includes: global parameters, + option definitions, global options, shared networks and subnets. Other + configuration parameters aren't stored in the database at the moment. They + have to be configured via the JSON configuration file. + + + It is not supported to differentiate configurations of multiple + DHCP servers within the same database. All servers conected to the + particular database instance share the configuration stored in this + database. This limitation will be removed in Kea 1.6.0 final release. + + + + +
+ +
+ CB Components + + In order to use the Kea CB feature, the Kea 1.6.0 version or later is + required. The mysql_cb open source hooks library + implementing Configuration Backend for MySQL must be compiled and + loaded by the DHCP servers. This hooks library is compiled when the + --with-mysql configuration switch is used during + Kea build. The MySQL C client libraries must be installed + as explained in the . + + + + Any existing MySQL schema must be upgraded to the latest schema + required by the particular Kea version using kea-admin + tool described in . + + + + The cb_cmds premium hooks library is available to + our paid supported customers, which provides a complete set of commands + to manage the servers' configuration information within the database. + This library can be attached to both DHCPv4 and DHCPv6 server instance. + It is still possible to manage the configuration information without the + cb_cmds hooks library with commonly available tools + such as MySQL Workbench or command line MySQL client by directly working + with the database. + +
+ +
diff --git a/doc/guide/config.xml b/doc/guide/config.xml index 284368046b..b574797803 100644 --- a/doc/guide/config.xml +++ b/doc/guide/config.xml @@ -152,7 +152,7 @@
- Configuration Backend + Database as a Configuration Source As of Kea 1.6.0 release, the parts of the DHCP servers' configurations can be sourced from a database. The server using the database as a configuration repository combines the configuration diff --git a/doc/guide/kea-guide.xml b/doc/guide/kea-guide.xml index 73e689fc65..bf3073456b 100644 --- a/doc/guide/kea-guide.xml +++ b/doc/guide/kea-guide.xml @@ -62,6 +62,8 @@ + + -- GitLab From 5540eb90a144c957e53485c051dd0e54b825bb3a Mon Sep 17 00:00:00 2001 From: Marcin Siodelski Date: Thu, 9 May 2019 12:02:16 +0200 Subject: [PATCH 04/18] [#71,!314] Partially documented cb_cmds API. --- doc/api/remote-global-parameter4-del.json | 25 + doc/api/remote-global-parameter4-get-all.json | 39 + doc/api/remote-global-parameter4-get.json | 34 + doc/api/remote-global-parameter4-set.json | 25 + doc/api/remote-global-parameter6-del.json | 12 + doc/api/remote-global-parameter6-get-all.json | 12 + doc/api/remote-global-parameter6-get.json | 12 + doc/api/remote-global-parameter6-set.json | 12 + doc/api/remote-network4-del.json | 28 + doc/api/remote-network4-get.json | 36 + doc/api/remote-network4-list.json | 39 + doc/api/remote-network4-set.json | 24 + doc/api/remote-network6-del.json | 12 + doc/api/remote-network6-get.json | 12 + doc/api/remote-network6-list.json | 12 + doc/api/remote-network6-set.json | 12 + doc/api/remote-option-def4-del.json | 28 + doc/api/remote-option-def4-get-all.json | 39 + doc/api/remote-option-def4-get.json | 36 + doc/api/remote-option-def4-set.json | 25 + doc/api/remote-option-def6-del.json | 12 + doc/api/remote-option-def6-get-all.json | 12 + doc/api/remote-option-def6-get.json | 12 + doc/api/remote-option-def6-set.json | 12 + doc/api/remote-option4-global-del.json | 27 + doc/api/remote-option4-global-get-all.json | 39 + doc/api/remote-option4-global-get.json | 12 + doc/api/remote-option4-global-set.json | 25 + doc/api/remote-option6-global-del.json | 12 + doc/api/remote-option6-global-get-all.json | 12 + doc/api/remote-option6-global-get.json | 12 + doc/api/remote-option6-global-set.json | 12 + doc/api/remote-subnet4-del-by-id.json | 28 + doc/api/remote-subnet4-del-by-prefix.json | 28 + doc/api/remote-subnet4-get-by-id.json | 37 + doc/api/remote-subnet4-get-by-prefix.json | 37 + doc/api/remote-subnet4-list.json | 43 + doc/api/remote-subnet4-set.json | 27 + doc/api/remote-subnet6-del-by-id.json | 12 + doc/api/remote-subnet6-del-by-prefix.json | 12 + doc/api/remote-subnet6-get-by-id.json | 12 + doc/api/remote-subnet6-get-by-prefix.json | 12 + doc/api/remote-subnet6-list.json | 12 + doc/api/remote-subnet6-set.json | 12 + doc/docgen/cmds-list | 44 + doc/guide/Makefile.am | 8 +- doc/guide/api.xml | 2137 ++++++++++++++--- doc/guide/config-backend.xml | 6 + doc/guide/hooks-cb-cmds.xml | 382 +++ doc/guide/hooks.xml | 3 + 50 files changed, 3231 insertions(+), 294 deletions(-) create mode 100644 doc/api/remote-global-parameter4-del.json create mode 100644 doc/api/remote-global-parameter4-get-all.json create mode 100644 doc/api/remote-global-parameter4-get.json create mode 100644 doc/api/remote-global-parameter4-set.json create mode 100644 doc/api/remote-global-parameter6-del.json create mode 100644 doc/api/remote-global-parameter6-get-all.json create mode 100644 doc/api/remote-global-parameter6-get.json create mode 100644 doc/api/remote-global-parameter6-set.json create mode 100644 doc/api/remote-network4-del.json create mode 100644 doc/api/remote-network4-get.json create mode 100644 doc/api/remote-network4-list.json create mode 100644 doc/api/remote-network4-set.json create mode 100644 doc/api/remote-network6-del.json create mode 100644 doc/api/remote-network6-get.json create mode 100644 doc/api/remote-network6-list.json create mode 100644 doc/api/remote-network6-set.json create mode 100644 doc/api/remote-option-def4-del.json create mode 100644 doc/api/remote-option-def4-get-all.json create mode 100644 doc/api/remote-option-def4-get.json create mode 100644 doc/api/remote-option-def4-set.json create mode 100644 doc/api/remote-option-def6-del.json create mode 100644 doc/api/remote-option-def6-get-all.json create mode 100644 doc/api/remote-option-def6-get.json create mode 100644 doc/api/remote-option-def6-set.json create mode 100644 doc/api/remote-option4-global-del.json create mode 100644 doc/api/remote-option4-global-get-all.json create mode 100644 doc/api/remote-option4-global-get.json create mode 100644 doc/api/remote-option4-global-set.json create mode 100644 doc/api/remote-option6-global-del.json create mode 100644 doc/api/remote-option6-global-get-all.json create mode 100644 doc/api/remote-option6-global-get.json create mode 100644 doc/api/remote-option6-global-set.json create mode 100644 doc/api/remote-subnet4-del-by-id.json create mode 100644 doc/api/remote-subnet4-del-by-prefix.json create mode 100644 doc/api/remote-subnet4-get-by-id.json create mode 100644 doc/api/remote-subnet4-get-by-prefix.json create mode 100644 doc/api/remote-subnet4-list.json create mode 100644 doc/api/remote-subnet4-set.json create mode 100644 doc/api/remote-subnet6-del-by-id.json create mode 100644 doc/api/remote-subnet6-del-by-prefix.json create mode 100644 doc/api/remote-subnet6-get-by-id.json create mode 100644 doc/api/remote-subnet6-get-by-prefix.json create mode 100644 doc/api/remote-subnet6-list.json create mode 100644 doc/api/remote-subnet6-set.json create mode 100644 doc/guide/hooks-cb-cmds.xml diff --git a/doc/api/remote-global-parameter4-del.json b/doc/api/remote-global-parameter4-del.json new file mode 100644 index 0000000000..f626ee1f10 --- /dev/null +++ b/doc/api/remote-global-parameter4-del.json @@ -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 ", + "support": [ "kea-dhcp4" ], + "avail": "1.6.0", + "hook": "cb_cmds", + "cmd-syntax": "{ + \"command\": \"remote-global-parameter4-del\", + \"arguments\": { + \"parameters\": [ ], + \"remote\": { + + } + } +}", + "cmd-comment": "This command includes a list with exactly one name of the parameter to be deleted. The remote 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 index 0000000000..469b40aa2b --- /dev/null +++ b/doc/api/remote-global-parameter4-get-all.json @@ -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 ", + "support": [ "kea-dhcp4" ], + "avail": "1.6.0", + "hook": "cb_cmds", + "cmd-syntax": "{ + \"command\": \"remote-global-parameter4-get-all\" + \"arguments\": { + \"remote\": { + + } + } +}", + "cmd-comment": "The remote 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\": [ + { + : , + \"metadata\": { + \"server-tag\": + } + }, + { + : , + \"metadata\": { + \"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 index 0000000000..34e8ee4613 --- /dev/null +++ b/doc/api/remote-global-parameter4-get.json @@ -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 ", + "support": [ "kea-dhcp4" ], + "avail": "1.6.0", + "hook": "cb_cmds", + "cmd-syntax": "{ + \"command\": \"remote-global-parameter4-get\" + \"arguments\": { + \"parameters\": [ ], + \"remote\": { + + } + } +} + +", + "cmd-comment": "The remote 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\": { + : , + \"metadata\": { + \"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 index 0000000000..e57bbfc644 --- /dev/null +++ b/doc/api/remote-global-parameter4-set.json @@ -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 ", + "support": [ "kea-dhcp4" ], + "avail": "1.6.0", + "hook": "cb_cmds", + "cmd-syntax": "{ + \"command\": \"remote-global-parameter4-set\" + \"arguments\": { + \"parameters\": { + : , + : + }, + \"remote\": { + + } + } +}", + "cmd-comment": "The remote 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 index 0000000000..ce280c12c5 --- /dev/null +++ b/doc/api/remote-global-parameter6-del.json @@ -0,0 +1,12 @@ +{ + "name": "remote-global-parameter6-del", + "brief": "a sentence or two explaining what this command does", + "description": "See ", + "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 index 0000000000..b40b4eb847 --- /dev/null +++ b/doc/api/remote-global-parameter6-get-all.json @@ -0,0 +1,12 @@ +{ + "name": "remote-global-parameter6-get-all", + "brief": "a sentence or two explaining what this command does", + "description": "See ", + "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 index 0000000000..4774608b10 --- /dev/null +++ b/doc/api/remote-global-parameter6-get.json @@ -0,0 +1,12 @@ +{ + "name": "remote-global-parameter6-get", + "brief": "a sentence or two explaining what this command does", + "description": "See ", + "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 index 0000000000..6258861bd0 --- /dev/null +++ b/doc/api/remote-global-parameter6-set.json @@ -0,0 +1,12 @@ +{ + "name": "remote-global-parameter6-set", + "brief": "a sentence or two explaining what this command does", + "description": "See ", + "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 index 0000000000..7d4846bbc3 --- /dev/null +++ b/doc/api/remote-network4-del.json @@ -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 ", + "support": [ "kea-dhcp4" ], + "avail": "1.6.0", + "hook": "cb_cmds", + "cmd-syntax": "{ + \"command\": \"remote-network4-del\", + \"arguments\": { + \"shared-networks\": [ { + \"name\": + } ], + \"subnets-action\": \"keep\" | \"delete\", + \"remote\": { + + } + } +}", + "cmd-comment": "This command includes a list with exactly one name of the shared network to be deleted. The subnets-action denotes whether the subnets in this shared network should be deleted or not. The remote 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 index 0000000000..b81098aac6 --- /dev/null +++ b/doc/api/remote-network4-get.json @@ -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 ", + "support": [ "kea-dhcp4" ], + "avail": "1.6.0", + "hook": "cb_cmds", + "cmd-syntax": "{ + \"command\": \"remote-network4-get\" + \"arguments\": { + \"shared-networks\": [ { + \"name\": + } ], + \"subnets-include\": \"full\" | \"no\", + \"remote\": { + + } + } +}", + "cmd-comment": "This command includes a list with exactly one name of the shared network to be returned. The subnets-include optional parameter allows for specifying whether subnets belonging to the shared network should also be returned. The remote 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\": , + \"metadata\": { + \"server-tag\": + }, + + } ], + \"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 index 0000000000..d6f882e5cc --- /dev/null +++ b/doc/api/remote-network4-list.json @@ -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 ", + "support": [ "kea-dhcp4" ], + "avail": "1.6.0", + "hook": "cb_cmds", + "cmd-syntax": "{ + \"command\": \"remote-network4-list\" + \"arguments\": { + \"remote\": { + + } + } +}", + "cmd-comment": "The remote 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\": , + \"metadata\": { + \"server-tag\": + } + }, + { + \"name\": , + \"metadata\": { + \"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 remote-network4-get 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 index 0000000000..0db21abe82 --- /dev/null +++ b/doc/api/remote-network4-set.json @@ -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 ", + "support": [ "kea-dhcp4" ], + "avail": "1.6.0", + "hook": "cb_cmds", + "cmd-syntax": "{ + \"command\": \"remote-network4-set\", + \"arguments\": { + \"shared-networks\": [ { + + } ], + \"remote\": { + + } + } +}", + "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 remote-subnet4-set command. The remote 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 index 0000000000..d92b9f7867 --- /dev/null +++ b/doc/api/remote-network6-del.json @@ -0,0 +1,12 @@ +{ + "name": "remote-network6-del", + "brief": "a sentence or two explaining what this command does", + "description": "See ", + "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 index 0000000000..5e6ff2e7e2 --- /dev/null +++ b/doc/api/remote-network6-get.json @@ -0,0 +1,12 @@ +{ + "name": "remote-network6-get", + "brief": "a sentence or two explaining what this command does", + "description": "See ", + "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 index 0000000000..015c61bcad --- /dev/null +++ b/doc/api/remote-network6-list.json @@ -0,0 +1,12 @@ +{ + "name": "remote-network6-list", + "brief": "a sentence or two explaining what this command does", + "description": "See ", + "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 index 0000000000..5a7c6de438 --- /dev/null +++ b/doc/api/remote-network6-set.json @@ -0,0 +1,12 @@ +{ + "name": "remote-network6-set", + "brief": "a sentence or two explaining what this command does", + "description": "See ", + "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 index 0000000000..0d28d516a6 --- /dev/null +++ b/doc/api/remote-option-def4-del.json @@ -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 ", + "support": [ "kea-dhcp4" ], + "avail": "1.6.0", + "hook": "cb_cmds", + "cmd-syntax": "{ + \"command\": \"remote-option-def4-del\", + \"arguments\": { + \"option-defs\": [ { + \"code\":