diff --git a/CHANGELOG b/CHANGELOG index f1f95dda1..b3246fdc6 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,6 @@ +2020-10-16 Version: patch +- Support create for serverlesshbase. + 2020-10-16 Version: patch - Update cert API. diff --git a/hbase/CMakeLists.txt b/hbase/CMakeLists.txt index 85ef31275..1f253875f 100644 --- a/hbase/CMakeLists.txt +++ b/hbase/CMakeLists.txt @@ -45,6 +45,8 @@ set(hbase_public_header_model include/alibabacloud/hbase/model/DeleteInstanceResult.h include/alibabacloud/hbase/model/DeleteMultiZoneClusterRequest.h include/alibabacloud/hbase/model/DeleteMultiZoneClusterResult.h + include/alibabacloud/hbase/model/DeleteServerlessClusterRequest.h + include/alibabacloud/hbase/model/DeleteServerlessClusterResult.h include/alibabacloud/hbase/model/DeleteUserHdfsInfoRequest.h include/alibabacloud/hbase/model/DeleteUserHdfsInfoResult.h include/alibabacloud/hbase/model/DescribeAvailableResourceRequest.h @@ -174,6 +176,8 @@ set(hbase_src src/model/DeleteInstanceResult.cc src/model/DeleteMultiZoneClusterRequest.cc src/model/DeleteMultiZoneClusterResult.cc + src/model/DeleteServerlessClusterRequest.cc + src/model/DeleteServerlessClusterResult.cc src/model/DeleteUserHdfsInfoRequest.cc src/model/DeleteUserHdfsInfoResult.cc src/model/DescribeAvailableResourceRequest.cc diff --git a/hbase/include/alibabacloud/hbase/HBaseClient.h b/hbase/include/alibabacloud/hbase/HBaseClient.h index 86416babf..70db8e471 100644 --- a/hbase/include/alibabacloud/hbase/HBaseClient.h +++ b/hbase/include/alibabacloud/hbase/HBaseClient.h @@ -46,6 +46,8 @@ #include "model/DeleteInstanceResult.h" #include "model/DeleteMultiZoneClusterRequest.h" #include "model/DeleteMultiZoneClusterResult.h" +#include "model/DeleteServerlessClusterRequest.h" +#include "model/DeleteServerlessClusterResult.h" #include "model/DeleteUserHdfsInfoRequest.h" #include "model/DeleteUserHdfsInfoResult.h" #include "model/DescribeAvailableResourceRequest.h" @@ -193,6 +195,9 @@ namespace AlibabaCloud typedef Outcome DeleteMultiZoneClusterOutcome; typedef std::future DeleteMultiZoneClusterOutcomeCallable; typedef std::function&)> DeleteMultiZoneClusterAsyncHandler; + typedef Outcome DeleteServerlessClusterOutcome; + typedef std::future DeleteServerlessClusterOutcomeCallable; + typedef std::function&)> DeleteServerlessClusterAsyncHandler; typedef Outcome DeleteUserHdfsInfoOutcome; typedef std::future DeleteUserHdfsInfoOutcomeCallable; typedef std::function&)> DeleteUserHdfsInfoAsyncHandler; @@ -387,6 +392,9 @@ namespace AlibabaCloud DeleteMultiZoneClusterOutcome deleteMultiZoneCluster(const Model::DeleteMultiZoneClusterRequest &request)const; void deleteMultiZoneClusterAsync(const Model::DeleteMultiZoneClusterRequest& request, const DeleteMultiZoneClusterAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; DeleteMultiZoneClusterOutcomeCallable deleteMultiZoneClusterCallable(const Model::DeleteMultiZoneClusterRequest& request) const; + DeleteServerlessClusterOutcome deleteServerlessCluster(const Model::DeleteServerlessClusterRequest &request)const; + void deleteServerlessClusterAsync(const Model::DeleteServerlessClusterRequest& request, const DeleteServerlessClusterAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + DeleteServerlessClusterOutcomeCallable deleteServerlessClusterCallable(const Model::DeleteServerlessClusterRequest& request) const; DeleteUserHdfsInfoOutcome deleteUserHdfsInfo(const Model::DeleteUserHdfsInfoRequest &request)const; void deleteUserHdfsInfoAsync(const Model::DeleteUserHdfsInfoRequest& request, const DeleteUserHdfsInfoAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; DeleteUserHdfsInfoOutcomeCallable deleteUserHdfsInfoCallable(const Model::DeleteUserHdfsInfoRequest& request) const; diff --git a/hbase/include/alibabacloud/hbase/model/CreateServerlessClusterResult.h b/hbase/include/alibabacloud/hbase/model/CreateServerlessClusterResult.h index 81872e1c7..36c4ae96e 100644 --- a/hbase/include/alibabacloud/hbase/model/CreateServerlessClusterResult.h +++ b/hbase/include/alibabacloud/hbase/model/CreateServerlessClusterResult.h @@ -39,12 +39,14 @@ namespace AlibabaCloud ~CreateServerlessClusterResult(); std::string getClusterId()const; std::string getOrderId()const; + std::string getPassWord()const; protected: void parse(const std::string &payload); private: std::string clusterId_; std::string orderId_; + std::string passWord_; }; } diff --git a/hbase/include/alibabacloud/hbase/model/DeleteServerlessClusterRequest.h b/hbase/include/alibabacloud/hbase/model/DeleteServerlessClusterRequest.h new file mode 100644 index 000000000..904f6afd0 --- /dev/null +++ b/hbase/include/alibabacloud/hbase/model/DeleteServerlessClusterRequest.h @@ -0,0 +1,54 @@ +/* + * Copyright 2009-2017 Alibaba Cloud 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. + */ + +#ifndef ALIBABACLOUD_HBASE_MODEL_DELETESERVERLESSCLUSTERREQUEST_H_ +#define ALIBABACLOUD_HBASE_MODEL_DELETESERVERLESSCLUSTERREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace HBase + { + namespace Model + { + class ALIBABACLOUD_HBASE_EXPORT DeleteServerlessClusterRequest : public RpcServiceRequest + { + + public: + DeleteServerlessClusterRequest(); + ~DeleteServerlessClusterRequest(); + + std::string getClusterId()const; + void setClusterId(const std::string& clusterId); + std::string getRegionId()const; + void setRegionId(const std::string& regionId); + std::string getZoneId()const; + void setZoneId(const std::string& zoneId); + + private: + std::string clusterId_; + std::string regionId_; + std::string zoneId_; + + }; + } + } +} +#endif // !ALIBABACLOUD_HBASE_MODEL_DELETESERVERLESSCLUSTERREQUEST_H_ \ No newline at end of file diff --git a/hbase/include/alibabacloud/hbase/model/DeleteServerlessClusterResult.h b/hbase/include/alibabacloud/hbase/model/DeleteServerlessClusterResult.h new file mode 100644 index 000000000..40b1f60c6 --- /dev/null +++ b/hbase/include/alibabacloud/hbase/model/DeleteServerlessClusterResult.h @@ -0,0 +1,49 @@ +/* + * Copyright 2009-2017 Alibaba Cloud 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. + */ + +#ifndef ALIBABACLOUD_HBASE_MODEL_DELETESERVERLESSCLUSTERRESULT_H_ +#define ALIBABACLOUD_HBASE_MODEL_DELETESERVERLESSCLUSTERRESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace HBase + { + namespace Model + { + class ALIBABACLOUD_HBASE_EXPORT DeleteServerlessClusterResult : public ServiceResult + { + public: + + + DeleteServerlessClusterResult(); + explicit DeleteServerlessClusterResult(const std::string &payload); + ~DeleteServerlessClusterResult(); + + protected: + void parse(const std::string &payload); + private: + + }; + } + } +} +#endif // !ALIBABACLOUD_HBASE_MODEL_DELETESERVERLESSCLUSTERRESULT_H_ \ No newline at end of file diff --git a/hbase/src/HBaseClient.cc b/hbase/src/HBaseClient.cc index c1dfbabd3..d3dad8f31 100644 --- a/hbase/src/HBaseClient.cc +++ b/hbase/src/HBaseClient.cc @@ -483,6 +483,42 @@ HBaseClient::DeleteMultiZoneClusterOutcomeCallable HBaseClient::deleteMultiZoneC return task->get_future(); } +HBaseClient::DeleteServerlessClusterOutcome HBaseClient::deleteServerlessCluster(const DeleteServerlessClusterRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return DeleteServerlessClusterOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return DeleteServerlessClusterOutcome(DeleteServerlessClusterResult(outcome.result())); + else + return DeleteServerlessClusterOutcome(outcome.error()); +} + +void HBaseClient::deleteServerlessClusterAsync(const DeleteServerlessClusterRequest& request, const DeleteServerlessClusterAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, deleteServerlessCluster(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +HBaseClient::DeleteServerlessClusterOutcomeCallable HBaseClient::deleteServerlessClusterCallable(const DeleteServerlessClusterRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->deleteServerlessCluster(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + HBaseClient::DeleteUserHdfsInfoOutcome HBaseClient::deleteUserHdfsInfo(const DeleteUserHdfsInfoRequest &request) const { auto endpointOutcome = endpointProvider_->getEndpoint(); diff --git a/hbase/src/model/CreateServerlessClusterResult.cc b/hbase/src/model/CreateServerlessClusterResult.cc index bfa910ec1..cffb2f4ac 100644 --- a/hbase/src/model/CreateServerlessClusterResult.cc +++ b/hbase/src/model/CreateServerlessClusterResult.cc @@ -43,6 +43,8 @@ void CreateServerlessClusterResult::parse(const std::string &payload) clusterId_ = value["ClusterId"].asString(); if(!value["OrderId"].isNull()) orderId_ = value["OrderId"].asString(); + if(!value["PassWord"].isNull()) + passWord_ = value["PassWord"].asString(); } @@ -56,3 +58,8 @@ std::string CreateServerlessClusterResult::getOrderId()const return orderId_; } +std::string CreateServerlessClusterResult::getPassWord()const +{ + return passWord_; +} + diff --git a/hbase/src/model/DeleteServerlessClusterRequest.cc b/hbase/src/model/DeleteServerlessClusterRequest.cc new file mode 100644 index 000000000..d53c98237 --- /dev/null +++ b/hbase/src/model/DeleteServerlessClusterRequest.cc @@ -0,0 +1,62 @@ +/* + * Copyright 2009-2017 Alibaba Cloud 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 + +using AlibabaCloud::HBase::Model::DeleteServerlessClusterRequest; + +DeleteServerlessClusterRequest::DeleteServerlessClusterRequest() : + RpcServiceRequest("hbase", "2019-01-01", "DeleteServerlessCluster") +{ + setMethod(HttpRequest::Method::Post); +} + +DeleteServerlessClusterRequest::~DeleteServerlessClusterRequest() +{} + +std::string DeleteServerlessClusterRequest::getClusterId()const +{ + return clusterId_; +} + +void DeleteServerlessClusterRequest::setClusterId(const std::string& clusterId) +{ + clusterId_ = clusterId; + setParameter("ClusterId", clusterId); +} + +std::string DeleteServerlessClusterRequest::getRegionId()const +{ + return regionId_; +} + +void DeleteServerlessClusterRequest::setRegionId(const std::string& regionId) +{ + regionId_ = regionId; + setParameter("RegionId", regionId); +} + +std::string DeleteServerlessClusterRequest::getZoneId()const +{ + return zoneId_; +} + +void DeleteServerlessClusterRequest::setZoneId(const std::string& zoneId) +{ + zoneId_ = zoneId; + setParameter("ZoneId", zoneId); +} + diff --git a/hbase/src/model/DeleteServerlessClusterResult.cc b/hbase/src/model/DeleteServerlessClusterResult.cc new file mode 100644 index 000000000..c618c34aa --- /dev/null +++ b/hbase/src/model/DeleteServerlessClusterResult.cc @@ -0,0 +1,44 @@ +/* + * Copyright 2009-2017 Alibaba Cloud 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 + +using namespace AlibabaCloud::HBase; +using namespace AlibabaCloud::HBase::Model; + +DeleteServerlessClusterResult::DeleteServerlessClusterResult() : + ServiceResult() +{} + +DeleteServerlessClusterResult::DeleteServerlessClusterResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +DeleteServerlessClusterResult::~DeleteServerlessClusterResult() +{} + +void DeleteServerlessClusterResult::parse(const std::string &payload) +{ + Json::Reader reader; + Json::Value value; + reader.parse(payload, value); + setRequestId(value["RequestId"].asString()); + +} +