From DcConfiguration and commands in BIND10 Specification files ------------------- There is only 1 real mandatory element in the specification, and that is the name of the module. The simplest specification file therefore looks like this: { "module_spec": { "module_name": "my_module" } } This is the specification for a module that has no commands and no configuration options. my_module is the name of the module, and also the name of the command channel it will automatically subscribe to. To add a simple configuration option, let's say an int, we make it the following: { "module_spec": { "module_name": "my_module" "config_data": [ { "item_name": "some_number", "item_type": "integer", "item_optional": False, "item_default": 123 } ] } } "config_data" contains a list of elements of the form { "item_name": "name" "item_type": "integer|real|boolean|string|list|map" "item_optional": true|false "item_default": } You can provide as much options as you need, and can also make compound elements through "list_item_spec" for lists and "map_item_spec" for maps. See [link] for the full documentation on specification files.