@@ -222,20 +222,49 @@ class TFetchStorageConfigRequest : public TBSConfigRequestGrpc<TFetchStorageConf
222222 }
223223
224224 void FillDistconfQuery (NStorage::TEvNodeConfigInvokeOnRoot& ev) const {
225- ev.Record .MutableFetchStorageConfig ();
225+ auto *record = ev.Record .MutableFetchStorageConfig ();
226+
227+ switch (auto & request = *GetProtoRequest (); request.mode_case ()) {
228+ case Ydb::Config::FetchConfigRequest::ModeCase::kAll :
229+ record->SetMainConfig (true );
230+ record->SetStorageConfig (true );
231+ break ;
232+
233+ case Ydb::Config::FetchConfigRequest::ModeCase::kTarget :
234+ // TODO: implement
235+ break ;
236+
237+ case Ydb::Config::FetchConfigRequest::ModeCase::MODE_NOT_SET:
238+ break ;
239+ }
226240 }
227241
228242 void FillDistconfResult (NKikimrBlobStorage::TEvNodeConfigInvokeOnRootResult& record,
229243 Ydb::Config::FetchConfigResult& result) {
230- auto conf = record.GetFetchStorageConfig ().GetYAML ();
231- auto metadata = NYamlConfig::GetMainMetadata (conf);
232- // TODO: !imp error if empty
233- auto & config = *result.add_config ();
234- auto & identity = *config.mutable_identity ();
235- identity.set_version (*metadata.Version );
236- identity.set_cluster (AppData ()->ClusterName );
237- identity.mutable_main ();
238- config.set_config (conf);
244+ const auto & res = record.GetFetchStorageConfig ();
245+
246+ if (res.HasYAML ()) {
247+ auto conf = record.GetFetchStorageConfig ().GetYAML ();
248+ auto metadata = NYamlConfig::GetMainMetadata (conf);
249+ // TODO: !imp error if empty
250+ auto & config = *result.add_config ();
251+ auto & identity = *config.mutable_identity ();
252+ identity.set_version (*metadata.Version );
253+ identity.set_cluster (AppData ()->ClusterName );
254+ identity.mutable_main ();
255+ config.set_config (conf);
256+ }
257+ if (res.HasStorageYAML ()) {
258+ auto conf = record.GetFetchStorageConfig ().GetStorageYAML ();
259+ auto metadata = NYamlConfig::GetStorageMetadata (conf);
260+ // TODO: !imp error if empty
261+ auto & config = *result.add_config ();
262+ auto & identity = *config.mutable_identity ();
263+ identity.set_version (*metadata.Version );
264+ identity.set_cluster (AppData ()->ClusterName );
265+ identity.mutable_storage ();
266+ config.set_config (conf);
267+ }
239268 }
240269
241270 bool IsDistconfEnableQuery () const {
0 commit comments