docs(schema): Add documentation for the fields and records

This commit is contained in:
ieQu1 2022-03-30 09:55:32 +02:00
parent ce450b7da7
commit d8e16b37da
4 changed files with 54 additions and 15 deletions

View File

@ -20,7 +20,7 @@
-export([ roots/0, fields/1, to_rate/1, to_capacity/1 -export([ roots/0, fields/1, to_rate/1, to_capacity/1
, minimum_period/0, to_burst_rate/1, to_initial/1 , minimum_period/0, to_burst_rate/1, to_initial/1
, namespace/0, get_bucket_cfg_path/2 , namespace/0, get_bucket_cfg_path/2, desc/1
]). ]).
-define(KILOBYTE, 1024). -define(KILOBYTE, 1024).
@ -149,6 +149,17 @@ the check/consume will succeed, but it will be forced to wait for a short period
, default => force})} , default => force})}
]. ].
desc(limiter) ->
"Settings for the rate limiter.";
desc(limiter_opts) ->
"Settings for the limiter.";
desc(bucket_opts) ->
"Settings for the bucket.";
desc(client_bucket) ->
"Settings for the client bucket.";
desc(_) ->
undefined.
%% minimum period is 100ms %% minimum period is 100ms
minimum_period() -> minimum_period() ->
100. 100.

View File

@ -1715,7 +1715,13 @@ base_listener() ->
} }
)}, )},
{"limiter", {"limiter",
sc(map("ratelimit's type", emqx_limiter_schema:bucket_name()), #{default => #{}})} sc(
map("ratelimit's type", emqx_limiter_schema:bucket_name()),
#{
default => #{},
desc => "Type of the rate limit."
}
)}
]. ].
desc("persistent_session_store") -> desc("persistent_session_store") ->

View File

@ -294,18 +294,22 @@ fields(exproto) ->
fields(exproto_grpc_server) -> fields(exproto_grpc_server) ->
[ {bind, [ {bind,
sc(hoconsc:union([ip_port(), integer()]), sc(hoconsc:union([ip_port(), integer()]),
#{required => true})} #{ required => true
, desc => "Listening address and port for the gRPC server."
})}
, {ssl, , {ssl,
sc(ref(ssl_server_opts), sc(ref(ssl_server_opts),
#{ required => {false, recursively} #{ required => {false, recursively}
, desc => "SSL configuration for the gRPC server."
})} })}
]; ];
fields(exproto_grpc_handler) -> fields(exproto_grpc_handler) ->
[ {address, sc(binary(), #{required => true})} [ {address, sc(binary(), #{required => true, desc => "gRPC server address."})}
, {ssl, , {ssl,
sc(ref(emqx_schema, ssl_client_opts), sc(ref(emqx_schema, ssl_client_opts),
#{ required => {false, recursively} #{ required => {false, recursively}
, desc => "SSL configuration for the gRPC client."
})} })}
]; ];
@ -362,25 +366,31 @@ the LwM2M client"
]; ];
fields(translator) -> fields(translator) ->
[ {topic, sc(binary(), #{required => true})} [ {topic, sc(binary(),
, {qos, sc(emqx_schema:qos(), #{default => 0})} #{ required => true
, desc => "Which topic the device's upstream message is published to."
})}
, {qos, sc(emqx_schema:qos(),
#{ default => 0
, desc => "QoS of the published messages."
})}
]; ];
fields(udp_listeners) -> fields(udp_listeners) ->
[ {udp, sc(map(name, ref(udp_listener)))} [ {udp, sc(map(name, ref(udp_listener)), #{desc => "UDP configuration."})}
, {dtls, sc(map(name, ref(dtls_listener)))} , {dtls, sc(map(name, ref(dtls_listener)), #{desc => "DTLS configuration."})}
]; ];
fields(tcp_listeners) -> fields(tcp_listeners) ->
[ {tcp, sc(map(name, ref(tcp_listener)))} [ {tcp, sc(map(name, ref(tcp_listener)), #{desc => "TCP configuration."})}
, {ssl, sc(map(name, ref(ssl_listener)))} , {ssl, sc(map(name, ref(ssl_listener)), #{desc => "SSL configuration."})}
]; ];
fields(udp_tcp_listeners) -> fields(udp_tcp_listeners) ->
[ {udp, sc(map(name, ref(udp_listener)))} [ {udp, sc(map(name, ref(udp_listener)), #{desc => "UDP configuration."})}
, {dtls, sc(map(name, ref(dtls_listener)))} , {dtls, sc(map(name, ref(dtls_listener)), #{desc => "DTLS configuration."})}
, {tcp, sc(map(name, ref(tcp_listener)))} , {tcp, sc(map(name, ref(tcp_listener)), #{desc => "TCP configuration."})}
, {ssl, sc(map(name, ref(ssl_listener)))} , {ssl, sc(map(name, ref(ssl_listener)), #{desc => "SSL configuration."})}
]; ];
fields(tcp_listener) -> fields(tcp_listener) ->

View File

@ -23,7 +23,8 @@
-export([ -export([
namespace/0, namespace/0,
roots/0, roots/0,
fields/1 fields/1,
desc/1
]). ]).
namespace() -> modules. namespace() -> modules.
@ -65,6 +66,17 @@ fields("rewrite") ->
fields("topic_metrics") -> fields("topic_metrics") ->
[{topic, sc(binary(), #{})}]. [{topic, sc(binary(), #{})}].
desc("telemetry") ->
"Settings for the telemetry module.";
desc("delayed") ->
"Settings for the delayed module.";
desc("rewrite") ->
"Settings for the rewrite module.";
desc("topic_metrics") ->
"Settings for the topic metrics module.";
desc(_) ->
undefined.
regular_expression(type) -> binary(); regular_expression(type) -> binary();
regular_expression(desc) -> "Regular expressions"; regular_expression(desc) -> "Regular expressions";
regular_expression(example) -> "^x/y/(.+)$"; regular_expression(example) -> "^x/y/(.+)$";