/* * Copyright (c) 2017-2025 Tencent. 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. */ #include #include #include using namespace TencentCloud; using namespace TencentCloud::Dbs::V20211108; using namespace TencentCloud::Dbs::V20211108::Model; using namespace std; namespace { const string VERSION = "2021-11-08"; const string ENDPOINT = "dbs.tencentcloudapi.com"; } DbsClient::DbsClient(const Credential &credential, const string ®ion) : DbsClient(credential, region, ClientProfile()) { } DbsClient::DbsClient(const Credential &credential, const string ®ion, const ClientProfile &profile) : AbstractClient(ENDPOINT, VERSION, credential, region, profile) { } DbsClient::ConfigureBackupPlanOutcome DbsClient::ConfigureBackupPlan(const ConfigureBackupPlanRequest &request) { auto outcome = MakeRequest(request, "ConfigureBackupPlan"); if (outcome.IsSuccess()) { auto r = outcome.GetResult(); string payload = string(r.Body(), r.BodySize()); ConfigureBackupPlanResponse rsp = ConfigureBackupPlanResponse(); auto o = rsp.Deserialize(payload); if (o.IsSuccess()) return ConfigureBackupPlanOutcome(rsp); else return ConfigureBackupPlanOutcome(o.GetError()); } else { return ConfigureBackupPlanOutcome(outcome.GetError()); } } void DbsClient::ConfigureBackupPlanAsync(const ConfigureBackupPlanRequest& request, const ConfigureBackupPlanAsyncHandler& handler, const std::shared_ptr& context) { using Req = const ConfigureBackupPlanRequest&; using Resp = ConfigureBackupPlanResponse; DoRequestAsync( "ConfigureBackupPlan", request, {{{"Content-Type", "application/json"}}}, [this, context, handler](Req req, Outcome resp) { handler(this, req, std::move(resp), context); }); } DbsClient::ConfigureBackupPlanOutcomeCallable DbsClient::ConfigureBackupPlanCallable(const ConfigureBackupPlanRequest &request) { const auto prom = std::make_shared>(); ConfigureBackupPlanAsync( request, [prom]( const DbsClient*, const ConfigureBackupPlanRequest&, ConfigureBackupPlanOutcome resp, const std::shared_ptr& ) { prom->set_value(resp); }); return prom->get_future(); } DbsClient::CreateConnectTestJobOutcome DbsClient::CreateConnectTestJob(const CreateConnectTestJobRequest &request) { auto outcome = MakeRequest(request, "CreateConnectTestJob"); if (outcome.IsSuccess()) { auto r = outcome.GetResult(); string payload = string(r.Body(), r.BodySize()); CreateConnectTestJobResponse rsp = CreateConnectTestJobResponse(); auto o = rsp.Deserialize(payload); if (o.IsSuccess()) return CreateConnectTestJobOutcome(rsp); else return CreateConnectTestJobOutcome(o.GetError()); } else { return CreateConnectTestJobOutcome(outcome.GetError()); } } void DbsClient::CreateConnectTestJobAsync(const CreateConnectTestJobRequest& request, const CreateConnectTestJobAsyncHandler& handler, const std::shared_ptr& context) { using Req = const CreateConnectTestJobRequest&; using Resp = CreateConnectTestJobResponse; DoRequestAsync( "CreateConnectTestJob", request, {{{"Content-Type", "application/json"}}}, [this, context, handler](Req req, Outcome resp) { handler(this, req, std::move(resp), context); }); } DbsClient::CreateConnectTestJobOutcomeCallable DbsClient::CreateConnectTestJobCallable(const CreateConnectTestJobRequest &request) { const auto prom = std::make_shared>(); CreateConnectTestJobAsync( request, [prom]( const DbsClient*, const CreateConnectTestJobRequest&, CreateConnectTestJobOutcome resp, const std::shared_ptr& ) { prom->set_value(resp); }); return prom->get_future(); } DbsClient::DescribeBackupCheckJobOutcome DbsClient::DescribeBackupCheckJob(const DescribeBackupCheckJobRequest &request) { auto outcome = MakeRequest(request, "DescribeBackupCheckJob"); if (outcome.IsSuccess()) { auto r = outcome.GetResult(); string payload = string(r.Body(), r.BodySize()); DescribeBackupCheckJobResponse rsp = DescribeBackupCheckJobResponse(); auto o = rsp.Deserialize(payload); if (o.IsSuccess()) return DescribeBackupCheckJobOutcome(rsp); else return DescribeBackupCheckJobOutcome(o.GetError()); } else { return DescribeBackupCheckJobOutcome(outcome.GetError()); } } void DbsClient::DescribeBackupCheckJobAsync(const DescribeBackupCheckJobRequest& request, const DescribeBackupCheckJobAsyncHandler& handler, const std::shared_ptr& context) { using Req = const DescribeBackupCheckJobRequest&; using Resp = DescribeBackupCheckJobResponse; DoRequestAsync( "DescribeBackupCheckJob", request, {{{"Content-Type", "application/json"}}}, [this, context, handler](Req req, Outcome resp) { handler(this, req, std::move(resp), context); }); } DbsClient::DescribeBackupCheckJobOutcomeCallable DbsClient::DescribeBackupCheckJobCallable(const DescribeBackupCheckJobRequest &request) { const auto prom = std::make_shared>(); DescribeBackupCheckJobAsync( request, [prom]( const DbsClient*, const DescribeBackupCheckJobRequest&, DescribeBackupCheckJobOutcome resp, const std::shared_ptr& ) { prom->set_value(resp); }); return prom->get_future(); } DbsClient::StartBackupCheckJobOutcome DbsClient::StartBackupCheckJob(const StartBackupCheckJobRequest &request) { auto outcome = MakeRequest(request, "StartBackupCheckJob"); if (outcome.IsSuccess()) { auto r = outcome.GetResult(); string payload = string(r.Body(), r.BodySize()); StartBackupCheckJobResponse rsp = StartBackupCheckJobResponse(); auto o = rsp.Deserialize(payload); if (o.IsSuccess()) return StartBackupCheckJobOutcome(rsp); else return StartBackupCheckJobOutcome(o.GetError()); } else { return StartBackupCheckJobOutcome(outcome.GetError()); } } void DbsClient::StartBackupCheckJobAsync(const StartBackupCheckJobRequest& request, const StartBackupCheckJobAsyncHandler& handler, const std::shared_ptr& context) { using Req = const StartBackupCheckJobRequest&; using Resp = StartBackupCheckJobResponse; DoRequestAsync( "StartBackupCheckJob", request, {{{"Content-Type", "application/json"}}}, [this, context, handler](Req req, Outcome resp) { handler(this, req, std::move(resp), context); }); } DbsClient::StartBackupCheckJobOutcomeCallable DbsClient::StartBackupCheckJobCallable(const StartBackupCheckJobRequest &request) { const auto prom = std::make_shared>(); StartBackupCheckJobAsync( request, [prom]( const DbsClient*, const StartBackupCheckJobRequest&, StartBackupCheckJobOutcome resp, const std::shared_ptr& ) { prom->set_value(resp); }); return prom->get_future(); } DbsClient::StartBackupPlanOutcome DbsClient::StartBackupPlan(const StartBackupPlanRequest &request) { auto outcome = MakeRequest(request, "StartBackupPlan"); if (outcome.IsSuccess()) { auto r = outcome.GetResult(); string payload = string(r.Body(), r.BodySize()); StartBackupPlanResponse rsp = StartBackupPlanResponse(); auto o = rsp.Deserialize(payload); if (o.IsSuccess()) return StartBackupPlanOutcome(rsp); else return StartBackupPlanOutcome(o.GetError()); } else { return StartBackupPlanOutcome(outcome.GetError()); } } void DbsClient::StartBackupPlanAsync(const StartBackupPlanRequest& request, const StartBackupPlanAsyncHandler& handler, const std::shared_ptr& context) { using Req = const StartBackupPlanRequest&; using Resp = StartBackupPlanResponse; DoRequestAsync( "StartBackupPlan", request, {{{"Content-Type", "application/json"}}}, [this, context, handler](Req req, Outcome resp) { handler(this, req, std::move(resp), context); }); } DbsClient::StartBackupPlanOutcomeCallable DbsClient::StartBackupPlanCallable(const StartBackupPlanRequest &request) { const auto prom = std::make_shared>(); StartBackupPlanAsync( request, [prom]( const DbsClient*, const StartBackupPlanRequest&, StartBackupPlanOutcome resp, const std::shared_ptr& ) { prom->set_value(resp); }); return prom->get_future(); }