|
|
@@ -1,114 +0,0 @@
|
|
|
-%%--------------------------------------------------------------------
|
|
|
-%% Copyright (c) 2022-2023 EMQ Technologies Co., Ltd. All Rights Reserved.
|
|
|
-%%
|
|
|
-%% Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
-%% you may not use this file except in compliance with the License.
|
|
|
-%% You may obtain a copy of the License at
|
|
|
-%%
|
|
|
-%% http://www.apache.org/licenses/LICENSE-2.0
|
|
|
-%%
|
|
|
-%% Unless required by applicable law or agreed to in writing, software
|
|
|
-%% distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
-%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
-%% See the License for the specific language governing permissions and
|
|
|
-%% limitations under the License.
|
|
|
-%%--------------------------------------------------------------------
|
|
|
-
|
|
|
--module(emqx_conf_proto_v3).
|
|
|
-
|
|
|
--behaviour(emqx_bpapi).
|
|
|
-
|
|
|
--export([
|
|
|
- introduced_in/0,
|
|
|
- sync_data_from_node/1,
|
|
|
- get_config/2,
|
|
|
- get_config/3,
|
|
|
- get_all/1,
|
|
|
-
|
|
|
- update/3,
|
|
|
- update/4,
|
|
|
- remove_config/2,
|
|
|
- remove_config/3,
|
|
|
-
|
|
|
- reset/2,
|
|
|
- reset/3,
|
|
|
-
|
|
|
- get_override_config_file/1,
|
|
|
- file_exist/2
|
|
|
-]).
|
|
|
-
|
|
|
--include_lib("emqx/include/bpapi.hrl").
|
|
|
-
|
|
|
-introduced_in() ->
|
|
|
- "5.0.24".
|
|
|
-
|
|
|
--spec sync_data_from_node(node()) -> {ok, binary()} | emqx_rpc:badrpc().
|
|
|
-sync_data_from_node(Node) ->
|
|
|
- rpc:call(Node, emqx_conf_app, sync_data_from_node, [], 20000).
|
|
|
--type update_config_key_path() :: [emqx_utils_maps:config_key(), ...].
|
|
|
-
|
|
|
--spec get_config(node(), emqx_utils_maps:config_key_path()) ->
|
|
|
- term() | emqx_rpc:badrpc().
|
|
|
-get_config(Node, KeyPath) ->
|
|
|
- rpc:call(Node, emqx, get_config, [KeyPath]).
|
|
|
-
|
|
|
--spec get_config(node(), emqx_utils_maps:config_key_path(), _Default) ->
|
|
|
- term() | emqx_rpc:badrpc().
|
|
|
-get_config(Node, KeyPath, Default) ->
|
|
|
- rpc:call(Node, emqx, get_config, [KeyPath, Default]).
|
|
|
-
|
|
|
--spec get_all(emqx_utils_maps:config_key_path()) -> emqx_rpc:multicall_result().
|
|
|
-get_all(KeyPath) ->
|
|
|
- rpc:multicall(emqx_conf, get_node_and_config, [KeyPath], 5000).
|
|
|
-
|
|
|
--spec update(
|
|
|
- update_config_key_path(),
|
|
|
- emqx_config:update_request(),
|
|
|
- emqx_config:update_opts()
|
|
|
-) -> {ok, emqx_config:update_result()} | {error, emqx_config:update_error()}.
|
|
|
-update(KeyPath, UpdateReq, Opts) ->
|
|
|
- emqx_cluster_rpc:multicall(emqx, update_config, [KeyPath, UpdateReq, Opts]).
|
|
|
-
|
|
|
--spec update(
|
|
|
- node(),
|
|
|
- update_config_key_path(),
|
|
|
- emqx_config:update_request(),
|
|
|
- emqx_config:update_opts()
|
|
|
-) ->
|
|
|
- {ok, emqx_config:update_result()}
|
|
|
- | {error, emqx_config:update_error()}
|
|
|
- | emqx_rpc:badrpc().
|
|
|
-update(Node, KeyPath, UpdateReq, Opts) ->
|
|
|
- rpc:call(Node, emqx, update_config, [KeyPath, UpdateReq, Opts], 5000).
|
|
|
-
|
|
|
--spec remove_config(update_config_key_path(), emqx_config:update_opts()) ->
|
|
|
- {ok, emqx_config:update_result()} | {error, emqx_config:update_error()}.
|
|
|
-remove_config(KeyPath, Opts) ->
|
|
|
- emqx_cluster_rpc:multicall(emqx, remove_config, [KeyPath, Opts]).
|
|
|
-
|
|
|
--spec remove_config(node(), update_config_key_path(), emqx_config:update_opts()) ->
|
|
|
- {ok, emqx_config:update_result()}
|
|
|
- | {error, emqx_config:update_error()}
|
|
|
- | emqx_rpc:badrpc().
|
|
|
-remove_config(Node, KeyPath, Opts) ->
|
|
|
- rpc:call(Node, emqx, remove_config, [KeyPath, Opts], 5000).
|
|
|
-
|
|
|
--spec reset(update_config_key_path(), emqx_config:update_opts()) ->
|
|
|
- {ok, emqx_config:update_result()} | {error, emqx_config:update_error()}.
|
|
|
-reset(KeyPath, Opts) ->
|
|
|
- emqx_cluster_rpc:multicall(emqx, reset_config, [KeyPath, Opts]).
|
|
|
-
|
|
|
--spec reset(node(), update_config_key_path(), emqx_config:update_opts()) ->
|
|
|
- {ok, emqx_config:update_result()}
|
|
|
- | {error, emqx_config:update_error()}
|
|
|
- | emqx_rpc:badrpc().
|
|
|
-reset(Node, KeyPath, Opts) ->
|
|
|
- rpc:call(Node, emqx, reset_config, [KeyPath, Opts]).
|
|
|
-
|
|
|
--spec get_override_config_file([node()]) -> emqx_rpc:multicall_result().
|
|
|
-get_override_config_file(Nodes) ->
|
|
|
- rpc:multicall(Nodes, emqx_conf_app, get_override_config_file, [], 20000).
|
|
|
-
|
|
|
--spec file_exist(node(), string()) -> emqx_rpc:badrpc() | boolean().
|
|
|
-file_exist(Node, File) ->
|
|
|
- rpc:call(Node, filelib, is_regular, [File], 5000).
|