diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_definitions.erl | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/rabbit_definitions.erl b/src/rabbit_definitions.erl index 709bfc0a85..260284d19c 100644 --- a/src/rabbit_definitions.erl +++ b/src/rabbit_definitions.erl @@ -61,13 +61,17 @@ import_raw(Body, VHost) -> {ok, _, Map} -> apply_defs(Map, ?INTERNAL_USER, fun() -> ok end, VHost) end. --spec import_parsed(Defs :: #{any() => any()}) -> ok | {error, term()}. -import_parsed(Body0) -> +-spec import_parsed(Defs :: #{any() => any()} | list()) -> ok | {error, term()}. +import_parsed(Body0) when is_list(Body0) -> + import_parsed(maps:from_list(Body0)); +import_parsed(Body0) when is_map(Body0) -> rabbit_log:info("Asked to import definitions. Acting user: ~s", [?INTERNAL_USER]), Body = atomise_map_keys(Body0), apply_defs(Body, ?INTERNAL_USER). --spec import_parsed(Defs :: #{any() => any()}, VHost :: vhost:name()) -> ok | {error, term()}. +-spec import_parsed(Defs :: #{any() => any() | list()}, VHost :: vhost:name()) -> ok | {error, term()}. +import_parsed(Body0, VHost) when is_list(Body0) -> + import_parsed(maps:from_list(Body0), VHost); import_parsed(Body0, VHost) -> rabbit_log:info("Asked to import definitions. Acting user: ~s", [?INTERNAL_USER]), Body = atomise_map_keys(Body0), |
