fix(statsd schema): a field is not 'required' when it has 'default'
This commit is contained in:
parent
981f75dc73
commit
b30f2ea58b
|
@ -2369,7 +2369,11 @@ non_empty_string(_) -> {error, invalid_string}.
|
|||
%% hosts can be successfully parsed.
|
||||
%% 3. parsing: Done at runtime in each module which uses this config
|
||||
servers_sc(Meta0, ParseOpts) ->
|
||||
Required = maps:get(required, Meta0, true),
|
||||
%% if this filed has a default value
|
||||
%% then it is not NOT required
|
||||
%% NOTE: maps:is_key is not the solution beause #{default => undefined} is legit
|
||||
HasDefault = (maps:get(default, Meta0, undefined) =/= undefined),
|
||||
Required = maps:get(required, Meta0, not HasDefault),
|
||||
Meta = #{
|
||||
required => Required,
|
||||
converter => fun convert_servers/2,
|
||||
|
|
|
@ -41,7 +41,6 @@ fields("statsd") ->
|
|||
boolean(),
|
||||
#{
|
||||
default => false,
|
||||
required => true,
|
||||
desc => ?DESC(enable)
|
||||
}
|
||||
)},
|
||||
|
@ -56,25 +55,22 @@ desc(_) -> undefined.
|
|||
|
||||
server() ->
|
||||
Meta = #{
|
||||
required => true,
|
||||
default => <<"127.0.0.1:8125">>,
|
||||
desc => ?DESC(?FUNCTION_NAME)
|
||||
},
|
||||
emqx_schema:servers_sc(Meta, ?SERVER_PARSE_OPTS).
|
||||
|
||||
sample_interval(type) -> emqx_schema:duration_ms();
|
||||
sample_interval(required) -> true;
|
||||
sample_interval(default) -> "30s";
|
||||
sample_interval(desc) -> ?DESC(?FUNCTION_NAME);
|
||||
sample_interval(_) -> undefined.
|
||||
|
||||
flush_interval(type) -> emqx_schema:duration_ms();
|
||||
flush_interval(required) -> true;
|
||||
flush_interval(default) -> "30s";
|
||||
flush_interval(desc) -> ?DESC(?FUNCTION_NAME);
|
||||
flush_interval(_) -> undefined.
|
||||
|
||||
tags(type) -> map();
|
||||
tags(required) -> false;
|
||||
tags(default) -> #{};
|
||||
tags(desc) -> ?DESC(?FUNCTION_NAME);
|
||||
tags(_) -> undefined.
|
||||
|
|
Loading…
Reference in New Issue