fix(gcp_pubsub_producer): mark connector resource opts fields as deprecated

Fixes https://emqx.atlassian.net/browse/EMQX-11703
This commit is contained in:
Thales Macedo Garitezi 2024-01-11 09:53:36 -03:00
parent 3dd3f4803f
commit 6ddbfd7b43
2 changed files with 51 additions and 1 deletions

View File

@ -81,7 +81,20 @@ fields("config_connector") ->
emqx_connector_schema:common_fields() ++
connector_config_fields();
fields(connector_resource_opts) ->
emqx_connector_schema:resource_opts_fields();
%% for backwards compatibility...
Fields = proplists:get_keys(emqx_connector_schema:resource_opts_fields()),
AllFields = proplists:get_keys(emqx_resource_schema:create_opts([])),
DeprecatedFields = AllFields -- Fields,
Overrides = lists:map(
fun(Field) ->
{Field, #{
importance => ?IMPORTANCE_HIDDEN,
deprecated => {since, "5.5.0"}
}}
end,
DeprecatedFields
),
emqx_resource_schema:create_opts(Overrides);
%%=========================================
%% HTTP API fields: action
%%=========================================

View File

@ -1898,3 +1898,40 @@ t_bad_attributes(Config) ->
end
),
ok.
t_deprecated_connector_resource_opts(Config) ->
?check_trace(
begin
ServiceAccountJSON = ?config(service_account_json, Config),
AllResOpts = #{
<<"batch_size">> => 1,
<<"batch_time">> => <<"0ms">>,
<<"buffer_mode">> => <<"memory_only">>,
<<"buffer_seg_bytes">> => <<"10MB">>,
<<"health_check_interval">> => <<"15s">>,
<<"inflight_window">> => 100,
<<"max_buffer_bytes">> => <<"256MB">>,
<<"metrics_flush_interval">> => <<"1s">>,
<<"query_mode">> => <<"sync">>,
<<"request_ttl">> => <<"45s">>,
<<"resume_interval">> => <<"15s">>,
<<"start_after_created">> => true,
<<"start_timeout">> => <<"5s">>,
<<"worker_pool_size">> => <<"1">>
},
RawConnectorConfig = #{
<<"enable">> => true,
<<"service_account_json">> => ServiceAccountJSON,
<<"resource_opts">> => AllResOpts
},
?assertMatch(
{ok, _},
emqx:update_config([connectors, ?CONNECTOR_TYPE, c], RawConnectorConfig, #{})
),
ok
end,
fun(_Trace) ->
ok
end
),
ok.