sdk-team 3 лет назад
Родитель
Сommit
ebd79f50ff

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1642
+1.36.1643

+ 4 - 0
rds/CMakeLists.txt

@@ -163,6 +163,8 @@ set(rds_public_header_model
 	include/alibabacloud/rds/model/DescribeBinlogFilesResult.h
 	include/alibabacloud/rds/model/DescribeCharacterSetNameRequest.h
 	include/alibabacloud/rds/model/DescribeCharacterSetNameResult.h
+	include/alibabacloud/rds/model/DescribeClassDetailsRequest.h
+	include/alibabacloud/rds/model/DescribeClassDetailsResult.h
 	include/alibabacloud/rds/model/DescribeCloudMigrationPrecheckResultRequest.h
 	include/alibabacloud/rds/model/DescribeCloudMigrationPrecheckResultResult.h
 	include/alibabacloud/rds/model/DescribeCloudMigrationResultRequest.h
@@ -674,6 +676,8 @@ set(rds_src
 	src/model/DescribeBinlogFilesResult.cc
 	src/model/DescribeCharacterSetNameRequest.cc
 	src/model/DescribeCharacterSetNameResult.cc
+	src/model/DescribeClassDetailsRequest.cc
+	src/model/DescribeClassDetailsResult.cc
 	src/model/DescribeCloudMigrationPrecheckResultRequest.cc
 	src/model/DescribeCloudMigrationPrecheckResultResult.cc
 	src/model/DescribeCloudMigrationResultRequest.cc

+ 8 - 0
rds/include/alibabacloud/rds/RdsClient.h

@@ -164,6 +164,8 @@
 #include "model/DescribeBinlogFilesResult.h"
 #include "model/DescribeCharacterSetNameRequest.h"
 #include "model/DescribeCharacterSetNameResult.h"
+#include "model/DescribeClassDetailsRequest.h"
+#include "model/DescribeClassDetailsResult.h"
 #include "model/DescribeCloudMigrationPrecheckResultRequest.h"
 #include "model/DescribeCloudMigrationPrecheckResultResult.h"
 #include "model/DescribeCloudMigrationResultRequest.h"
@@ -752,6 +754,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeCharacterSetNameResult> DescribeCharacterSetNameOutcome;
 			typedef std::future<DescribeCharacterSetNameOutcome> DescribeCharacterSetNameOutcomeCallable;
 			typedef std::function<void(const RdsClient*, const Model::DescribeCharacterSetNameRequest&, const DescribeCharacterSetNameOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeCharacterSetNameAsyncHandler;
+			typedef Outcome<Error, Model::DescribeClassDetailsResult> DescribeClassDetailsOutcome;
+			typedef std::future<DescribeClassDetailsOutcome> DescribeClassDetailsOutcomeCallable;
+			typedef std::function<void(const RdsClient*, const Model::DescribeClassDetailsRequest&, const DescribeClassDetailsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeClassDetailsAsyncHandler;
 			typedef Outcome<Error, Model::DescribeCloudMigrationPrecheckResultResult> DescribeCloudMigrationPrecheckResultOutcome;
 			typedef std::future<DescribeCloudMigrationPrecheckResultOutcome> DescribeCloudMigrationPrecheckResultOutcomeCallable;
 			typedef std::function<void(const RdsClient*, const Model::DescribeCloudMigrationPrecheckResultRequest&, const DescribeCloudMigrationPrecheckResultOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeCloudMigrationPrecheckResultAsyncHandler;
@@ -1519,6 +1524,9 @@ namespace AlibabaCloud
 			DescribeCharacterSetNameOutcome describeCharacterSetName(const Model::DescribeCharacterSetNameRequest &request)const;
 			void describeCharacterSetNameAsync(const Model::DescribeCharacterSetNameRequest& request, const DescribeCharacterSetNameAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeCharacterSetNameOutcomeCallable describeCharacterSetNameCallable(const Model::DescribeCharacterSetNameRequest& request) const;
+			DescribeClassDetailsOutcome describeClassDetails(const Model::DescribeClassDetailsRequest &request)const;
+			void describeClassDetailsAsync(const Model::DescribeClassDetailsRequest& request, const DescribeClassDetailsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeClassDetailsOutcomeCallable describeClassDetailsCallable(const Model::DescribeClassDetailsRequest& request) const;
 			DescribeCloudMigrationPrecheckResultOutcome describeCloudMigrationPrecheckResult(const Model::DescribeCloudMigrationPrecheckResultRequest &request)const;
 			void describeCloudMigrationPrecheckResultAsync(const Model::DescribeCloudMigrationPrecheckResultRequest& request, const DescribeCloudMigrationPrecheckResultAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeCloudMigrationPrecheckResultOutcomeCallable describeCloudMigrationPrecheckResultCallable(const Model::DescribeCloudMigrationPrecheckResultRequest& request) const;

+ 69 - 0
rds/include/alibabacloud/rds/model/DescribeClassDetailsRequest.h

@@ -0,0 +1,69 @@
+/*
+ * 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_RDS_MODEL_DESCRIBECLASSDETAILSREQUEST_H_
+#define ALIBABACLOUD_RDS_MODEL_DESCRIBECLASSDETAILSREQUEST_H_
+
+#include <alibabacloud/rds/RdsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Rds {
+namespace Model {
+class ALIBABACLOUD_RDS_EXPORT DescribeClassDetailsRequest : public RpcServiceRequest {
+public:
+	DescribeClassDetailsRequest();
+	~DescribeClassDetailsRequest();
+	long getResourceOwnerId() const;
+	void setResourceOwnerId(long resourceOwnerId);
+	std::string getClientToken() const;
+	void setClientToken(const std::string &clientToken);
+	std::string getEngineVersion() const;
+	void setEngineVersion(const std::string &engineVersion);
+	std::string getAccessKeyId() const;
+	void setAccessKeyId(const std::string &accessKeyId);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	std::string getEngine() const;
+	void setEngine(const std::string &engine);
+	std::string getClassCode() const;
+	void setClassCode(const std::string &classCode);
+	std::string getResourceOwnerAccount() const;
+	void setResourceOwnerAccount(const std::string &resourceOwnerAccount);
+	std::string getCommodityCode() const;
+	void setCommodityCode(const std::string &commodityCode);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+
+private:
+	long resourceOwnerId_;
+	std::string clientToken_;
+	std::string engineVersion_;
+	std::string accessKeyId_;
+	std::string regionId_;
+	std::string engine_;
+	std::string classCode_;
+	std::string resourceOwnerAccount_;
+	std::string commodityCode_;
+	long ownerId_;
+};
+} // namespace Model
+} // namespace Rds
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_RDS_MODEL_DESCRIBECLASSDETAILSREQUEST_H_

+ 71 - 0
rds/include/alibabacloud/rds/model/DescribeClassDetailsResult.h

@@ -0,0 +1,71 @@
+/*
+ * 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_RDS_MODEL_DESCRIBECLASSDETAILSRESULT_H_
+#define ALIBABACLOUD_RDS_MODEL_DESCRIBECLASSDETAILSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/rds/RdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Rds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_RDS_EXPORT DescribeClassDetailsResult : public ServiceResult
+			{
+			public:
+
+
+				DescribeClassDetailsResult();
+				explicit DescribeClassDetailsResult(const std::string &payload);
+				~DescribeClassDetailsResult();
+				std::string getMaxIOMBPS()const;
+				std::string getClassCode()const;
+				std::string getCategory()const;
+				std::string getMaxConnections()const;
+				std::string getClassGroup()const;
+				std::string getCpu()const;
+				std::string getInstructionSetArch()const;
+				std::string getMemoryClass()const;
+				std::string getDBInstanceStorageType()const;
+				std::string getReferencePrice()const;
+				std::string getMaxIOPS()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string maxIOMBPS_;
+				std::string classCode_;
+				std::string category_;
+				std::string maxConnections_;
+				std::string classGroup_;
+				std::string cpu_;
+				std::string instructionSetArch_;
+				std::string memoryClass_;
+				std::string dBInstanceStorageType_;
+				std::string referencePrice_;
+				std::string maxIOPS_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_RDS_MODEL_DESCRIBECLASSDETAILSRESULT_H_

+ 39 - 3
rds/src/RdsClient.cc

@@ -31,21 +31,21 @@ RdsClient::RdsClient(const Credentials &credentials, const ClientConfiguration &
 	RpcServiceClient(SERVICE_NAME, std::make_shared<SimpleCredentialsProvider>(credentials), configuration)
 {
 	auto locationClient = std::make_shared<LocationClient>(credentials, configuration);
-	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "rds");
 }
 
 RdsClient::RdsClient(const std::shared_ptr<CredentialsProvider>& credentialsProvider, const ClientConfiguration & configuration) :
 	RpcServiceClient(SERVICE_NAME, credentialsProvider, configuration)
 {
 	auto locationClient = std::make_shared<LocationClient>(credentialsProvider, configuration);
-	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "rds");
 }
 
 RdsClient::RdsClient(const std::string & accessKeyId, const std::string & accessKeySecret, const ClientConfiguration & configuration) :
 	RpcServiceClient(SERVICE_NAME, std::make_shared<SimpleCredentialsProvider>(accessKeyId, accessKeySecret), configuration)
 {
 	auto locationClient = std::make_shared<LocationClient>(accessKeyId, accessKeySecret, configuration);
-	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "rds");
 }
 
 RdsClient::~RdsClient()
@@ -2607,6 +2607,42 @@ RdsClient::DescribeCharacterSetNameOutcomeCallable RdsClient::describeCharacterS
 	return task->get_future();
 }
 
+RdsClient::DescribeClassDetailsOutcome RdsClient::describeClassDetails(const DescribeClassDetailsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeClassDetailsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeClassDetailsOutcome(DescribeClassDetailsResult(outcome.result()));
+	else
+		return DescribeClassDetailsOutcome(outcome.error());
+}
+
+void RdsClient::describeClassDetailsAsync(const DescribeClassDetailsRequest& request, const DescribeClassDetailsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeClassDetails(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+RdsClient::DescribeClassDetailsOutcomeCallable RdsClient::describeClassDetailsCallable(const DescribeClassDetailsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeClassDetailsOutcome()>>(
+			[this, request]()
+			{
+			return this->describeClassDetails(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 RdsClient::DescribeCloudMigrationPrecheckResultOutcome RdsClient::describeCloudMigrationPrecheckResult(const DescribeCloudMigrationPrecheckResultRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 117 - 0
rds/src/model/DescribeClassDetailsRequest.cc

@@ -0,0 +1,117 @@
+/*
+ * 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/rds/model/DescribeClassDetailsRequest.h>
+
+using AlibabaCloud::Rds::Model::DescribeClassDetailsRequest;
+
+DescribeClassDetailsRequest::DescribeClassDetailsRequest()
+    : RpcServiceRequest("rds", "2014-08-15", "DescribeClassDetails") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeClassDetailsRequest::~DescribeClassDetailsRequest() {}
+
+long DescribeClassDetailsRequest::getResourceOwnerId() const {
+  return resourceOwnerId_;
+}
+
+void DescribeClassDetailsRequest::setResourceOwnerId(long resourceOwnerId) {
+  resourceOwnerId_ = resourceOwnerId;
+  setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
+}
+
+std::string DescribeClassDetailsRequest::getClientToken() const {
+  return clientToken_;
+}
+
+void DescribeClassDetailsRequest::setClientToken(const std::string &clientToken) {
+  clientToken_ = clientToken;
+  setParameter(std::string("ClientToken"), clientToken);
+}
+
+std::string DescribeClassDetailsRequest::getEngineVersion() const {
+  return engineVersion_;
+}
+
+void DescribeClassDetailsRequest::setEngineVersion(const std::string &engineVersion) {
+  engineVersion_ = engineVersion;
+  setParameter(std::string("EngineVersion"), engineVersion);
+}
+
+std::string DescribeClassDetailsRequest::getAccessKeyId() const {
+  return accessKeyId_;
+}
+
+void DescribeClassDetailsRequest::setAccessKeyId(const std::string &accessKeyId) {
+  accessKeyId_ = accessKeyId;
+  setParameter(std::string("AccessKeyId"), accessKeyId);
+}
+
+std::string DescribeClassDetailsRequest::getRegionId() const {
+  return regionId_;
+}
+
+void DescribeClassDetailsRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+
+std::string DescribeClassDetailsRequest::getEngine() const {
+  return engine_;
+}
+
+void DescribeClassDetailsRequest::setEngine(const std::string &engine) {
+  engine_ = engine;
+  setParameter(std::string("Engine"), engine);
+}
+
+std::string DescribeClassDetailsRequest::getClassCode() const {
+  return classCode_;
+}
+
+void DescribeClassDetailsRequest::setClassCode(const std::string &classCode) {
+  classCode_ = classCode;
+  setParameter(std::string("ClassCode"), classCode);
+}
+
+std::string DescribeClassDetailsRequest::getResourceOwnerAccount() const {
+  return resourceOwnerAccount_;
+}
+
+void DescribeClassDetailsRequest::setResourceOwnerAccount(const std::string &resourceOwnerAccount) {
+  resourceOwnerAccount_ = resourceOwnerAccount;
+  setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount);
+}
+
+std::string DescribeClassDetailsRequest::getCommodityCode() const {
+  return commodityCode_;
+}
+
+void DescribeClassDetailsRequest::setCommodityCode(const std::string &commodityCode) {
+  commodityCode_ = commodityCode;
+  setParameter(std::string("CommodityCode"), commodityCode);
+}
+
+long DescribeClassDetailsRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void DescribeClassDetailsRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+

+ 121 - 0
rds/src/model/DescribeClassDetailsResult.cc

@@ -0,0 +1,121 @@
+/*
+ * 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/rds/model/DescribeClassDetailsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Rds;
+using namespace AlibabaCloud::Rds::Model;
+
+DescribeClassDetailsResult::DescribeClassDetailsResult() :
+	ServiceResult()
+{}
+
+DescribeClassDetailsResult::DescribeClassDetailsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeClassDetailsResult::~DescribeClassDetailsResult()
+{}
+
+void DescribeClassDetailsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["ClassCode"].isNull())
+		classCode_ = value["ClassCode"].asString();
+	if(!value["MaxIOMBPS"].isNull())
+		maxIOMBPS_ = value["MaxIOMBPS"].asString();
+	if(!value["MaxConnections"].isNull())
+		maxConnections_ = value["MaxConnections"].asString();
+	if(!value["ClassGroup"].isNull())
+		classGroup_ = value["ClassGroup"].asString();
+	if(!value["Cpu"].isNull())
+		cpu_ = value["Cpu"].asString();
+	if(!value["InstructionSetArch"].isNull())
+		instructionSetArch_ = value["InstructionSetArch"].asString();
+	if(!value["MemoryClass"].isNull())
+		memoryClass_ = value["MemoryClass"].asString();
+	if(!value["MaxIOPS"].isNull())
+		maxIOPS_ = value["MaxIOPS"].asString();
+	if(!value["ReferencePrice"].isNull())
+		referencePrice_ = value["ReferencePrice"].asString();
+	if(!value["Category"].isNull())
+		category_ = value["Category"].asString();
+	if(!value["DBInstanceStorageType"].isNull())
+		dBInstanceStorageType_ = value["DBInstanceStorageType"].asString();
+
+}
+
+std::string DescribeClassDetailsResult::getMaxIOMBPS()const
+{
+	return maxIOMBPS_;
+}
+
+std::string DescribeClassDetailsResult::getClassCode()const
+{
+	return classCode_;
+}
+
+std::string DescribeClassDetailsResult::getCategory()const
+{
+	return category_;
+}
+
+std::string DescribeClassDetailsResult::getMaxConnections()const
+{
+	return maxConnections_;
+}
+
+std::string DescribeClassDetailsResult::getClassGroup()const
+{
+	return classGroup_;
+}
+
+std::string DescribeClassDetailsResult::getCpu()const
+{
+	return cpu_;
+}
+
+std::string DescribeClassDetailsResult::getInstructionSetArch()const
+{
+	return instructionSetArch_;
+}
+
+std::string DescribeClassDetailsResult::getMemoryClass()const
+{
+	return memoryClass_;
+}
+
+std::string DescribeClassDetailsResult::getDBInstanceStorageType()const
+{
+	return dBInstanceStorageType_;
+}
+
+std::string DescribeClassDetailsResult::getReferencePrice()const
+{
+	return referencePrice_;
+}
+
+std::string DescribeClassDetailsResult::getMaxIOPS()const
+{
+	return maxIOPS_;
+}
+