Skip to content

Commit c1dd8b1

Browse files
committed
Refactor bsconfig SDK client (#14162)
1 parent cb891ed commit c1dd8b1

File tree

2 files changed

+26
-21
lines changed

2 files changed

+26
-21
lines changed

include/ydb-cpp-sdk/client/bsconfig/storage_config.h

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,27 +36,29 @@ struct TFetchStorageConfigResult : public TStatus {
3636

3737
using TAsyncFetchStorageConfigResult = NThreading::TFuture<TFetchStorageConfigResult>;
3838

39-
struct TStorageConfigSettings : public NYdb::TOperationRequestSettings<TStorageConfigSettings> {};
39+
struct TReplaceStorageConfigSettings : public NYdb::TOperationRequestSettings<TReplaceStorageConfigSettings> {};
40+
struct TFetchStorageConfigSettings : public NYdb::TOperationRequestSettings<TFetchStorageConfigSettings> {};
41+
struct TBootstrapClusterSettings : public NYdb::TOperationRequestSettings<TBootstrapClusterSettings> {};
4042

4143
class TStorageConfigClient {
4244
public:
43-
4445
explicit TStorageConfigClient(const TDriver& driver, const TCommonClientSettings& settings = {});
4546

4647
~TStorageConfigClient();
4748

4849
// Replace config
49-
TAsyncStatus ReplaceStorageConfig(const std::optional<TString>& yaml_config,
50-
const std::optional<TString>& storage_yaml_config,
50+
TAsyncStatus ReplaceStorageConfig(const std::optional<std::string>& yaml_config,
51+
const std::optional<std::string>& storage_yaml_config,
5152
std::optional<bool> switch_dedicated_storage_section,
52-
bool dedicated_config_mode);
53+
bool dedicated_config_mode,
54+
const TReplaceStorageConfigSettings& settings = {});
5355

5456
// Fetch current cluster storage config
5557
TAsyncFetchStorageConfigResult FetchStorageConfig(bool dedicated_storage_section, bool dedicated_cluster_section,
56-
const TStorageConfigSettings& settings = {});
58+
const TFetchStorageConfigSettings& settings = {});
5759

5860
// Bootstrap cluster with automatic configuration
59-
TAsyncStatus BootstrapCluster(const std::string& selfAssemblyUUID);
61+
TAsyncStatus BootstrapCluster(const std::string& selfAssemblyUUID, const TBootstrapClusterSettings& settings = {});
6062

6163
private:
6264
class TImpl;

src/client/bsconfig/storage_config.cpp

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,11 @@ class TStorageConfigClient::TImpl : public TClientImplCommon<TStorageConfigClien
1414
{
1515
}
1616

17-
TAsyncStatus ReplaceStorageConfig(const std::optional<TString>& yaml_config,
18-
const std::optional<TString>& storage_yaml_config,
17+
TAsyncStatus ReplaceStorageConfig(const std::optional<std::string>& yaml_config,
18+
const std::optional<std::string>& storage_yaml_config,
1919
std::optional<bool> switch_dedicated_storage_section,
20-
bool dedicated_config_mode) {
20+
bool dedicated_config_mode,
21+
const TReplaceStorageConfigSettings& settings) {
2122
auto request = MakeRequest<Ydb::BSConfig::ReplaceStorageConfigRequest>();
2223

2324
if (yaml_config) {
@@ -33,11 +34,12 @@ class TStorageConfigClient::TImpl : public TClientImplCommon<TStorageConfigClien
3334

3435
return RunSimple<Ydb::BSConfig::V1::BSConfigService, Ydb::BSConfig::ReplaceStorageConfigRequest, Ydb::BSConfig::ReplaceStorageConfigResponse>(
3536
std::move(request),
36-
&Ydb::BSConfig::V1::BSConfigService::Stub::AsyncReplaceStorageConfig);
37+
&Ydb::BSConfig::V1::BSConfigService::Stub::AsyncReplaceStorageConfig,
38+
TRpcRequestSettings::Make(settings));
3739
}
3840

3941
TAsyncFetchStorageConfigResult FetchStorageConfig(bool dedicated_storage_section, bool dedicated_cluster_section,
40-
const TStorageConfigSettings& settings = {}) {
42+
const TFetchStorageConfigSettings& settings) {
4143
auto request = MakeOperationRequest<Ydb::BSConfig::FetchStorageConfigRequest>(settings);
4244
if (dedicated_storage_section) {
4345
request.set_dedicated_storage_section(true);
@@ -70,12 +72,13 @@ class TStorageConfigClient::TImpl : public TClientImplCommon<TStorageConfigClien
7072
return promise.GetFuture();
7173
}
7274

73-
TAsyncStatus BootstrapCluster(const std::string& selfAssemblyUUID) {
75+
TAsyncStatus BootstrapCluster(const std::string& selfAssemblyUUID, const TBootstrapClusterSettings& settings) {
7476
auto request = MakeRequest<Ydb::BSConfig::BootstrapClusterRequest>();
7577
request.set_self_assembly_uuid(selfAssemblyUUID);
7678
return RunSimple<Ydb::BSConfig::V1::BSConfigService, Ydb::BSConfig::BootstrapClusterRequest,
7779
Ydb::BSConfig::BootstrapClusterResponse>(std::move(request),
78-
&Ydb::BSConfig::V1::BSConfigService::Stub::AsyncBootstrapCluster);
80+
&Ydb::BSConfig::V1::BSConfigService::Stub::AsyncBootstrapCluster,
81+
TRpcRequestSettings::Make(settings));
7982
}
8083
};
8184

@@ -85,20 +88,20 @@ TStorageConfigClient::TStorageConfigClient(const TDriver& driver, const TCommonC
8588

8689
TStorageConfigClient::~TStorageConfigClient() = default;
8790

88-
TAsyncStatus TStorageConfigClient::ReplaceStorageConfig(const std::optional<TString>& yaml_config,
89-
const std::optional<TString>& storage_yaml_config, std::optional<bool> switch_dedicated_storage_section,
90-
bool dedicated_config_mode) {
91+
TAsyncStatus TStorageConfigClient::ReplaceStorageConfig(const std::optional<std::string>& yaml_config,
92+
const std::optional<std::string>& storage_yaml_config, std::optional<bool> switch_dedicated_storage_section,
93+
bool dedicated_config_mode, const TReplaceStorageConfigSettings& settings) {
9194
return Impl_->ReplaceStorageConfig(yaml_config, storage_yaml_config, switch_dedicated_storage_section,
92-
dedicated_config_mode);
95+
dedicated_config_mode, settings);
9396
}
9497

9598
TAsyncFetchStorageConfigResult TStorageConfigClient::FetchStorageConfig(bool dedicated_storage_section,
96-
bool dedicated_cluster_section, const TStorageConfigSettings& settings) {
99+
bool dedicated_cluster_section, const TFetchStorageConfigSettings& settings) {
97100
return Impl_->FetchStorageConfig(dedicated_storage_section, dedicated_cluster_section, settings);
98101
}
99102

100-
TAsyncStatus TStorageConfigClient::BootstrapCluster(const std::string& selfAssemblyUUID) {
101-
return Impl_->BootstrapCluster(selfAssemblyUUID);
103+
TAsyncStatus TStorageConfigClient::BootstrapCluster(const std::string& selfAssemblyUUID, const TBootstrapClusterSettings& settings) {
104+
return Impl_->BootstrapCluster(selfAssemblyUUID, settings);
102105
}
103106

104107

0 commit comments

Comments
 (0)