Bläddra i källkod

Support create for serverlesshbase.

sdk-team 6 år sedan
förälder
incheckning
e72934f959

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2020-10-16 Version: patch
+- Support create for serverlesshbase.
+
 2020-10-16 Version: patch
 - Update cert API.
 

+ 4 - 0
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

+ 8 - 0
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<Error, Model::DeleteMultiZoneClusterResult> DeleteMultiZoneClusterOutcome;
 			typedef std::future<DeleteMultiZoneClusterOutcome> DeleteMultiZoneClusterOutcomeCallable;
 			typedef std::function<void(const HBaseClient*, const Model::DeleteMultiZoneClusterRequest&, const DeleteMultiZoneClusterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteMultiZoneClusterAsyncHandler;
+			typedef Outcome<Error, Model::DeleteServerlessClusterResult> DeleteServerlessClusterOutcome;
+			typedef std::future<DeleteServerlessClusterOutcome> DeleteServerlessClusterOutcomeCallable;
+			typedef std::function<void(const HBaseClient*, const Model::DeleteServerlessClusterRequest&, const DeleteServerlessClusterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteServerlessClusterAsyncHandler;
 			typedef Outcome<Error, Model::DeleteUserHdfsInfoResult> DeleteUserHdfsInfoOutcome;
 			typedef std::future<DeleteUserHdfsInfoOutcome> DeleteUserHdfsInfoOutcomeCallable;
 			typedef std::function<void(const HBaseClient*, const Model::DeleteUserHdfsInfoRequest&, const DeleteUserHdfsInfoOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> 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<const AsyncCallerContext>& 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<const AsyncCallerContext>& 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<const AsyncCallerContext>& context = nullptr) const;
 			DeleteUserHdfsInfoOutcomeCallable deleteUserHdfsInfoCallable(const Model::DeleteUserHdfsInfoRequest& request) const;

+ 2 - 0
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_;
 
 			};
 		}

+ 54 - 0
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 <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/hbase/HBaseExport.h>
+
+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_

+ 49 - 0
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 <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/hbase/HBaseExport.h>
+
+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_

+ 36 - 0
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<const AsyncCallerContext>& 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<std::packaged_task<DeleteServerlessClusterOutcome()>>(
+			[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();

+ 7 - 0
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_;
+}
+

+ 62 - 0
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 <alibabacloud/hbase/model/DeleteServerlessClusterRequest.h>
+
+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);
+}
+

+ 44 - 0
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 <alibabacloud/hbase/model/DeleteServerlessClusterResult.h>
+#include <json/json.h>
+
+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());
+
+}
+