2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-29 04:57:52 +00:00
kea/doc/sphinx/grammar/grammar-ca-parser.rst
2022-01-25 18:17:54 +02:00

254 lines
6.7 KiB
ReStructuredText

This grammar is generated from ``agent_parser.yy``. See :ref:`kea-ctrl-agent` for more details.
.. code-block:: BNF
:linenos:
Grammar
$accept ::= start EOF
start ::= START_JSON json
start ::= START_AGENT agent_syntax_map
start ::= START_SUB_AGENT sub_agent
sub_agent ::= "{" global_params "}"
json ::= value
value ::= INTEGER
| FLOAT
| BOOLEAN
| STRING
| NULL
| map
| list_generic
map ::= "{" map_content "}"
map_value ::= map
map_content ::=
| not_empty_map
not_empty_map ::= STRING ":" value
| not_empty_map "," STRING ":" value
| not_empty_map ","
list_generic ::= "[" list_content "]"
list_content ::=
| not_empty_list
not_empty_list ::= value
| not_empty_list "," value
| not_empty_list ","
unknown_map_entry ::= STRING ":"
agent_syntax_map ::= "{" global_object "}"
global_object ::= "Control-agent" ":" "{" global_params "}"
| global_object_comma
global_object_comma ::= global_object ","
global_params ::= global_param
| global_params "," global_param
| global_params ","
global_param ::= http_host
| http_port
| trust_anchor
| cert_file
| key_file
| cert_required
| authentication
| control_sockets
| hooks_libraries
| loggers
| user_context
| comment
| unknown_map_entry
http_host ::= "http-host" ":" STRING
http_port ::= "http-port" ":" INTEGER
trust_anchor ::= "trust-anchor" ":" STRING
cert_file ::= "cert-file" ":" STRING
key_file ::= "key-file" ":" STRING
cert_required ::= "cert-required" ":" BOOLEAN
user_context ::= "user-context" ":" map_value
comment ::= "comment" ":" STRING
hooks_libraries ::= "hooks-libraries" ":" "[" hooks_libraries_list "]"
hooks_libraries_list ::=
| not_empty_hooks_libraries_list
not_empty_hooks_libraries_list ::= hooks_library
| not_empty_hooks_libraries_list "," hooks_library
| not_empty_hooks_libraries_list ","
hooks_library ::= "{" hooks_params "}"
hooks_params ::= hooks_param
| hooks_params "," hooks_param
| hooks_params ","
| unknown_map_entry
hooks_param ::= library
| parameters
library ::= "library" ":" STRING
parameters ::= "parameters" ":" map_value
control_sockets ::= "control-sockets" ":" "{" control_sockets_params "}"
control_sockets_params ::= control_socket
| control_sockets_params "," control_socket
| control_sockets_params ","
control_socket ::= dhcp4_server_socket
| dhcp6_server_socket
| d2_server_socket
| unknown_map_entry
dhcp4_server_socket ::= "dhcp4" ":" "{" control_socket_params "}"
dhcp6_server_socket ::= "dhcp6" ":" "{" control_socket_params "}"
d2_server_socket ::= "d2" ":" "{" control_socket_params "}"
control_socket_params ::= control_socket_param
| control_socket_params "," control_socket_param
| control_socket_params ","
control_socket_param ::= socket_name
| socket_type
| user_context
| comment
| unknown_map_entry
socket_name ::= "socket-name" ":" STRING
socket_type ::= "socket-type" ":" socket_type_value
socket_type_value ::= "unix"
authentication ::= "authentication" ":" "{" auth_params "}"
auth_params ::= auth_param
| auth_params "," auth_param
| auth_params ","
auth_param ::= auth_type
| realm
| directory
| clients
| comment
| user_context
| unknown_map_entry
auth_type ::= "type" ":" auth_type_value
auth_type_value ::= "basic"
realm ::= "realm" ":" STRING
directory ::= "directory" ":" STRING
clients ::= "clients" ":" "[" clients_list "]"
clients_list ::=
| not_empty_clients_list
not_empty_clients_list ::= basic_auth
| not_empty_clients_list "," basic_auth
| not_empty_clients_list ","
basic_auth ::= "{" clients_params "}"
clients_params ::= clients_param
| clients_params "," clients_param
| clients_params ","
clients_param ::= user
| user_file
| password
| password_file
| user_context
| comment
| unknown_map_entry
user ::= "user" ":" STRING
user_file ::= "user-file" ":" STRING
password ::= "password" ":" STRING
password_file ::= "password-file" ":" STRING
loggers ::= "loggers" ":" "[" loggers_entries "]"
loggers_entries ::= logger_entry
| loggers_entries "," logger_entry
| loggers_entries ","
logger_entry ::= "{" logger_params "}"
logger_params ::= logger_param
| logger_params "," logger_param
| logger_params ","
logger_param ::= name
| output_options_list
| debuglevel
| severity
| user_context
| comment
| unknown_map_entry
name ::= "name" ":" STRING
debuglevel ::= "debuglevel" ":" INTEGER
severity ::= "severity" ":" STRING
output_options_list ::= "output_options" ":" "[" output_options_list_content "]"
output_options_list_content ::= output_entry
| output_options_list_content "," output_entry
| output_options_list_content ","
output_entry ::= "{" output_params_list "}"
output_params_list ::= output_params
| output_params_list "," output_params
| output_params_list ","
output_params ::= output
| flush
| maxsize
| maxver
| pattern
output ::= "output" ":" STRING
flush ::= "flush" ":" BOOLEAN
maxsize ::= "maxsize" ":" INTEGER
maxver ::= "maxver" ":" INTEGER
pattern ::= "pattern" ":" STRING