docs(schema): Add documentation for the fields and records
This commit is contained in:
parent
ce450b7da7
commit
d8e16b37da
|
@ -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.
|
||||||
|
|
|
@ -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") ->
|
||||||
|
|
|
@ -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) ->
|
||||||
|
|
|
@ -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/(.+)$";
|
||||||
|
|
Loading…
Reference in New Issue