Add support for create hbaseue multizone instance.

This commit is contained in:
sdk-team
2020-05-27 14:17:37 +08:00
parent 95a93b89f1
commit ec5269015c
17 changed files with 878 additions and 1 deletions

View File

@@ -231,6 +231,42 @@ HBaseClient::CreateHbaseHaSlbOutcomeCallable HBaseClient::createHbaseHaSlbCallab
return task->get_future();
}
HBaseClient::CreateMultiZoneClusterOutcome HBaseClient::createMultiZoneCluster(const CreateMultiZoneClusterRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();
if (!endpointOutcome.isSuccess())
return CreateMultiZoneClusterOutcome(endpointOutcome.error());
auto outcome = makeRequest(endpointOutcome.result(), request);
if (outcome.isSuccess())
return CreateMultiZoneClusterOutcome(CreateMultiZoneClusterResult(outcome.result()));
else
return CreateMultiZoneClusterOutcome(outcome.error());
}
void HBaseClient::createMultiZoneClusterAsync(const CreateMultiZoneClusterRequest& request, const CreateMultiZoneClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
{
auto fn = [this, request, handler, context]()
{
handler(this, request, createMultiZoneCluster(request), context);
};
asyncExecute(new Runnable(fn));
}
HBaseClient::CreateMultiZoneClusterOutcomeCallable HBaseClient::createMultiZoneClusterCallable(const CreateMultiZoneClusterRequest &request) const
{
auto task = std::make_shared<std::packaged_task<CreateMultiZoneClusterOutcome()>>(
[this, request]()
{
return this->createMultiZoneCluster(request);
});
asyncExecute(new Runnable([task]() { (*task)(); }));
return task->get_future();
}
HBaseClient::CreateRestorePlanOutcome HBaseClient::createRestorePlan(const CreateRestorePlanRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -339,6 +375,42 @@ HBaseClient::DeleteInstanceOutcomeCallable HBaseClient::deleteInstanceCallable(c
return task->get_future();
}
HBaseClient::DeleteMultiZoneClusterOutcome HBaseClient::deleteMultiZoneCluster(const DeleteMultiZoneClusterRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();
if (!endpointOutcome.isSuccess())
return DeleteMultiZoneClusterOutcome(endpointOutcome.error());
auto outcome = makeRequest(endpointOutcome.result(), request);
if (outcome.isSuccess())
return DeleteMultiZoneClusterOutcome(DeleteMultiZoneClusterResult(outcome.result()));
else
return DeleteMultiZoneClusterOutcome(outcome.error());
}
void HBaseClient::deleteMultiZoneClusterAsync(const DeleteMultiZoneClusterRequest& request, const DeleteMultiZoneClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
{
auto fn = [this, request, handler, context]()
{
handler(this, request, deleteMultiZoneCluster(request), context);
};
asyncExecute(new Runnable(fn));
}
HBaseClient::DeleteMultiZoneClusterOutcomeCallable HBaseClient::deleteMultiZoneClusterCallable(const DeleteMultiZoneClusterRequest &request) const
{
auto task = std::make_shared<std::packaged_task<DeleteMultiZoneClusterOutcome()>>(
[this, request]()
{
return this->deleteMultiZoneCluster(request);
});
asyncExecute(new Runnable([task]() { (*task)(); }));
return task->get_future();
}
HBaseClient::DeleteUserHdfsInfoOutcome HBaseClient::deleteUserHdfsInfo(const DeleteUserHdfsInfoRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();