sdk-team пре 3 година
родитељ
комит
d839907367

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1725
+1.36.1726

+ 4 - 0
dds/CMakeLists.txt

@@ -59,6 +59,8 @@ set(dds_public_header_model
 	include/alibabacloud/dds/model/DescribeAuditPolicyResult.h
 	include/alibabacloud/dds/model/DescribeAuditRecordsRequest.h
 	include/alibabacloud/dds/model/DescribeAuditRecordsResult.h
+	include/alibabacloud/dds/model/DescribeAvailabilityZonesRequest.h
+	include/alibabacloud/dds/model/DescribeAvailabilityZonesResult.h
 	include/alibabacloud/dds/model/DescribeAvailableEngineVersionRequest.h
 	include/alibabacloud/dds/model/DescribeAvailableEngineVersionResult.h
 	include/alibabacloud/dds/model/DescribeAvailableResourceRequest.h
@@ -252,6 +254,8 @@ set(dds_src
 	src/model/DescribeAuditPolicyResult.cc
 	src/model/DescribeAuditRecordsRequest.cc
 	src/model/DescribeAuditRecordsResult.cc
+	src/model/DescribeAvailabilityZonesRequest.cc
+	src/model/DescribeAvailabilityZonesResult.cc
 	src/model/DescribeAvailableEngineVersionRequest.cc
 	src/model/DescribeAvailableEngineVersionResult.cc
 	src/model/DescribeAvailableResourceRequest.cc

+ 8 - 0
dds/include/alibabacloud/dds/DdsClient.h

@@ -60,6 +60,8 @@
 #include "model/DescribeAuditPolicyResult.h"
 #include "model/DescribeAuditRecordsRequest.h"
 #include "model/DescribeAuditRecordsResult.h"
+#include "model/DescribeAvailabilityZonesRequest.h"
+#include "model/DescribeAvailabilityZonesResult.h"
 #include "model/DescribeAvailableEngineVersionRequest.h"
 #include "model/DescribeAvailableEngineVersionResult.h"
 #include "model/DescribeAvailableResourceRequest.h"
@@ -278,6 +280,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeAuditRecordsResult> DescribeAuditRecordsOutcome;
 			typedef std::future<DescribeAuditRecordsOutcome> DescribeAuditRecordsOutcomeCallable;
 			typedef std::function<void(const DdsClient*, const Model::DescribeAuditRecordsRequest&, const DescribeAuditRecordsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeAuditRecordsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeAvailabilityZonesResult> DescribeAvailabilityZonesOutcome;
+			typedef std::future<DescribeAvailabilityZonesOutcome> DescribeAvailabilityZonesOutcomeCallable;
+			typedef std::function<void(const DdsClient*, const Model::DescribeAvailabilityZonesRequest&, const DescribeAvailabilityZonesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeAvailabilityZonesAsyncHandler;
 			typedef Outcome<Error, Model::DescribeAvailableEngineVersionResult> DescribeAvailableEngineVersionOutcome;
 			typedef std::future<DescribeAvailableEngineVersionOutcome> DescribeAvailableEngineVersionOutcomeCallable;
 			typedef std::function<void(const DdsClient*, const Model::DescribeAvailableEngineVersionRequest&, const DescribeAvailableEngineVersionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeAvailableEngineVersionAsyncHandler;
@@ -568,6 +573,9 @@ namespace AlibabaCloud
 			DescribeAuditRecordsOutcome describeAuditRecords(const Model::DescribeAuditRecordsRequest &request)const;
 			void describeAuditRecordsAsync(const Model::DescribeAuditRecordsRequest& request, const DescribeAuditRecordsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeAuditRecordsOutcomeCallable describeAuditRecordsCallable(const Model::DescribeAuditRecordsRequest& request) const;
+			DescribeAvailabilityZonesOutcome describeAvailabilityZones(const Model::DescribeAvailabilityZonesRequest &request)const;
+			void describeAvailabilityZonesAsync(const Model::DescribeAvailabilityZonesRequest& request, const DescribeAvailabilityZonesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeAvailabilityZonesOutcomeCallable describeAvailabilityZonesCallable(const Model::DescribeAvailabilityZonesRequest& request) const;
 			DescribeAvailableEngineVersionOutcome describeAvailableEngineVersion(const Model::DescribeAvailableEngineVersionRequest &request)const;
 			void describeAvailableEngineVersionAsync(const Model::DescribeAvailableEngineVersionRequest& request, const DescribeAvailableEngineVersionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeAvailableEngineVersionOutcomeCallable describeAvailableEngineVersionCallable(const Model::DescribeAvailableEngineVersionRequest& request) const;

+ 93 - 0
dds/include/alibabacloud/dds/model/DescribeAvailabilityZonesRequest.h

@@ -0,0 +1,93 @@
+/*
+ * 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_DDS_MODEL_DESCRIBEAVAILABILITYZONESREQUEST_H_
+#define ALIBABACLOUD_DDS_MODEL_DESCRIBEAVAILABILITYZONESREQUEST_H_
+
+#include <alibabacloud/dds/DdsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Dds {
+namespace Model {
+class ALIBABACLOUD_DDS_EXPORT DescribeAvailabilityZonesRequest : public RpcServiceRequest {
+public:
+	DescribeAvailabilityZonesRequest();
+	~DescribeAvailabilityZonesRequest();
+	long getResourceOwnerId() const;
+	void setResourceOwnerId(long resourceOwnerId);
+	std::string getStorageType() const;
+	void setStorageType(const std::string &storageType);
+	std::string getAccessKeyId() const;
+	void setAccessKeyId(const std::string &accessKeyId);
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
+	std::string getSecurityToken() const;
+	void setSecurityToken(const std::string &securityToken);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	std::string getExcludeZoneId() const;
+	void setExcludeZoneId(const std::string &excludeZoneId);
+	std::string getExcludeSecondaryZoneId() const;
+	void setExcludeSecondaryZoneId(const std::string &excludeSecondaryZoneId);
+	std::string getInstanceChargeType() const;
+	void setInstanceChargeType(const std::string &instanceChargeType);
+	std::string getResourceOwnerAccount() const;
+	void setResourceOwnerAccount(const std::string &resourceOwnerAccount);
+	std::string getLevel() const;
+	void setLevel(const std::string &level);
+	std::string getOwnerAccount() const;
+	void setOwnerAccount(const std::string &ownerAccount);
+	std::string getMongoType() const;
+	void setMongoType(const std::string &mongoType);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+	std::string getStorageSupport() const;
+	void setStorageSupport(const std::string &storageSupport);
+	std::string getDbType() const;
+	void setDbType(const std::string &dbType);
+	std::string getAcceptLanguage() const;
+	void setAcceptLanguage(const std::string &acceptLanguage);
+	std::string getZoneId() const;
+	void setZoneId(const std::string &zoneId);
+
+private:
+	long resourceOwnerId_;
+	std::string storageType_;
+	std::string accessKeyId_;
+	std::string resourceGroupId_;
+	std::string securityToken_;
+	std::string regionId_;
+	std::string excludeZoneId_;
+	std::string excludeSecondaryZoneId_;
+	std::string instanceChargeType_;
+	std::string resourceOwnerAccount_;
+	std::string level_;
+	std::string ownerAccount_;
+	std::string mongoType_;
+	long ownerId_;
+	std::string storageSupport_;
+	std::string dbType_;
+	std::string acceptLanguage_;
+	std::string zoneId_;
+};
+} // namespace Model
+} // namespace Dds
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DDS_MODEL_DESCRIBEAVAILABILITYZONESREQUEST_H_

+ 57 - 0
dds/include/alibabacloud/dds/model/DescribeAvailabilityZonesResult.h

@@ -0,0 +1,57 @@
+/*
+ * 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_DDS_MODEL_DESCRIBEAVAILABILITYZONESRESULT_H_
+#define ALIBABACLOUD_DDS_MODEL_DESCRIBEAVAILABILITYZONESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dds/DdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDS_EXPORT DescribeAvailabilityZonesResult : public ServiceResult
+			{
+			public:
+				struct AvailableZone
+				{
+					std::string zoneName;
+					std::string zoneId;
+					std::string regionId;
+				};
+
+
+				DescribeAvailabilityZonesResult();
+				explicit DescribeAvailabilityZonesResult(const std::string &payload);
+				~DescribeAvailabilityZonesResult();
+				std::vector<AvailableZone> getAvailableZones()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<AvailableZone> availableZones_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDS_MODEL_DESCRIBEAVAILABILITYZONESRESULT_H_

+ 36 - 0
dds/src/DdsClient.cc

@@ -735,6 +735,42 @@ DdsClient::DescribeAuditRecordsOutcomeCallable DdsClient::describeAuditRecordsCa
 	return task->get_future();
 }
 
+DdsClient::DescribeAvailabilityZonesOutcome DdsClient::describeAvailabilityZones(const DescribeAvailabilityZonesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeAvailabilityZonesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeAvailabilityZonesOutcome(DescribeAvailabilityZonesResult(outcome.result()));
+	else
+		return DescribeAvailabilityZonesOutcome(outcome.error());
+}
+
+void DdsClient::describeAvailabilityZonesAsync(const DescribeAvailabilityZonesRequest& request, const DescribeAvailabilityZonesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeAvailabilityZones(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdsClient::DescribeAvailabilityZonesOutcomeCallable DdsClient::describeAvailabilityZonesCallable(const DescribeAvailabilityZonesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeAvailabilityZonesOutcome()>>(
+			[this, request]()
+			{
+			return this->describeAvailabilityZones(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 DdsClient::DescribeAvailableEngineVersionOutcome DdsClient::describeAvailableEngineVersion(const DescribeAvailableEngineVersionRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 189 - 0
dds/src/model/DescribeAvailabilityZonesRequest.cc

@@ -0,0 +1,189 @@
+/*
+ * 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/dds/model/DescribeAvailabilityZonesRequest.h>
+
+using AlibabaCloud::Dds::Model::DescribeAvailabilityZonesRequest;
+
+DescribeAvailabilityZonesRequest::DescribeAvailabilityZonesRequest()
+    : RpcServiceRequest("dds", "2015-12-01", "DescribeAvailabilityZones") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeAvailabilityZonesRequest::~DescribeAvailabilityZonesRequest() {}
+
+long DescribeAvailabilityZonesRequest::getResourceOwnerId() const {
+  return resourceOwnerId_;
+}
+
+void DescribeAvailabilityZonesRequest::setResourceOwnerId(long resourceOwnerId) {
+  resourceOwnerId_ = resourceOwnerId;
+  setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
+}
+
+std::string DescribeAvailabilityZonesRequest::getStorageType() const {
+  return storageType_;
+}
+
+void DescribeAvailabilityZonesRequest::setStorageType(const std::string &storageType) {
+  storageType_ = storageType;
+  setParameter(std::string("StorageType"), storageType);
+}
+
+std::string DescribeAvailabilityZonesRequest::getAccessKeyId() const {
+  return accessKeyId_;
+}
+
+void DescribeAvailabilityZonesRequest::setAccessKeyId(const std::string &accessKeyId) {
+  accessKeyId_ = accessKeyId;
+  setParameter(std::string("AccessKeyId"), accessKeyId);
+}
+
+std::string DescribeAvailabilityZonesRequest::getResourceGroupId() const {
+  return resourceGroupId_;
+}
+
+void DescribeAvailabilityZonesRequest::setResourceGroupId(const std::string &resourceGroupId) {
+  resourceGroupId_ = resourceGroupId;
+  setParameter(std::string("ResourceGroupId"), resourceGroupId);
+}
+
+std::string DescribeAvailabilityZonesRequest::getSecurityToken() const {
+  return securityToken_;
+}
+
+void DescribeAvailabilityZonesRequest::setSecurityToken(const std::string &securityToken) {
+  securityToken_ = securityToken;
+  setParameter(std::string("SecurityToken"), securityToken);
+}
+
+std::string DescribeAvailabilityZonesRequest::getRegionId() const {
+  return regionId_;
+}
+
+void DescribeAvailabilityZonesRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+
+std::string DescribeAvailabilityZonesRequest::getExcludeZoneId() const {
+  return excludeZoneId_;
+}
+
+void DescribeAvailabilityZonesRequest::setExcludeZoneId(const std::string &excludeZoneId) {
+  excludeZoneId_ = excludeZoneId;
+  setParameter(std::string("ExcludeZoneId"), excludeZoneId);
+}
+
+std::string DescribeAvailabilityZonesRequest::getExcludeSecondaryZoneId() const {
+  return excludeSecondaryZoneId_;
+}
+
+void DescribeAvailabilityZonesRequest::setExcludeSecondaryZoneId(const std::string &excludeSecondaryZoneId) {
+  excludeSecondaryZoneId_ = excludeSecondaryZoneId;
+  setParameter(std::string("ExcludeSecondaryZoneId"), excludeSecondaryZoneId);
+}
+
+std::string DescribeAvailabilityZonesRequest::getInstanceChargeType() const {
+  return instanceChargeType_;
+}
+
+void DescribeAvailabilityZonesRequest::setInstanceChargeType(const std::string &instanceChargeType) {
+  instanceChargeType_ = instanceChargeType;
+  setParameter(std::string("InstanceChargeType"), instanceChargeType);
+}
+
+std::string DescribeAvailabilityZonesRequest::getResourceOwnerAccount() const {
+  return resourceOwnerAccount_;
+}
+
+void DescribeAvailabilityZonesRequest::setResourceOwnerAccount(const std::string &resourceOwnerAccount) {
+  resourceOwnerAccount_ = resourceOwnerAccount;
+  setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount);
+}
+
+std::string DescribeAvailabilityZonesRequest::getLevel() const {
+  return level_;
+}
+
+void DescribeAvailabilityZonesRequest::setLevel(const std::string &level) {
+  level_ = level;
+  setParameter(std::string("Level"), level);
+}
+
+std::string DescribeAvailabilityZonesRequest::getOwnerAccount() const {
+  return ownerAccount_;
+}
+
+void DescribeAvailabilityZonesRequest::setOwnerAccount(const std::string &ownerAccount) {
+  ownerAccount_ = ownerAccount;
+  setParameter(std::string("OwnerAccount"), ownerAccount);
+}
+
+std::string DescribeAvailabilityZonesRequest::getMongoType() const {
+  return mongoType_;
+}
+
+void DescribeAvailabilityZonesRequest::setMongoType(const std::string &mongoType) {
+  mongoType_ = mongoType;
+  setParameter(std::string("MongoType"), mongoType);
+}
+
+long DescribeAvailabilityZonesRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void DescribeAvailabilityZonesRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+std::string DescribeAvailabilityZonesRequest::getStorageSupport() const {
+  return storageSupport_;
+}
+
+void DescribeAvailabilityZonesRequest::setStorageSupport(const std::string &storageSupport) {
+  storageSupport_ = storageSupport;
+  setParameter(std::string("StorageSupport"), storageSupport);
+}
+
+std::string DescribeAvailabilityZonesRequest::getDbType() const {
+  return dbType_;
+}
+
+void DescribeAvailabilityZonesRequest::setDbType(const std::string &dbType) {
+  dbType_ = dbType;
+  setParameter(std::string("DbType"), dbType);
+}
+
+std::string DescribeAvailabilityZonesRequest::getAcceptLanguage() const {
+  return acceptLanguage_;
+}
+
+void DescribeAvailabilityZonesRequest::setAcceptLanguage(const std::string &acceptLanguage) {
+  acceptLanguage_ = acceptLanguage;
+  setParameter(std::string("AcceptLanguage"), acceptLanguage);
+}
+
+std::string DescribeAvailabilityZonesRequest::getZoneId() const {
+  return zoneId_;
+}
+
+void DescribeAvailabilityZonesRequest::setZoneId(const std::string &zoneId) {
+  zoneId_ = zoneId;
+  setParameter(std::string("ZoneId"), zoneId);
+}
+

+ 61 - 0
dds/src/model/DescribeAvailabilityZonesResult.cc

@@ -0,0 +1,61 @@
+/*
+ * 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/dds/model/DescribeAvailabilityZonesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Dds;
+using namespace AlibabaCloud::Dds::Model;
+
+DescribeAvailabilityZonesResult::DescribeAvailabilityZonesResult() :
+	ServiceResult()
+{}
+
+DescribeAvailabilityZonesResult::DescribeAvailabilityZonesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeAvailabilityZonesResult::~DescribeAvailabilityZonesResult()
+{}
+
+void DescribeAvailabilityZonesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allAvailableZonesNode = value["AvailableZones"]["AvailableZone"];
+	for (auto valueAvailableZonesAvailableZone : allAvailableZonesNode)
+	{
+		AvailableZone availableZonesObject;
+		if(!valueAvailableZonesAvailableZone["ZoneId"].isNull())
+			availableZonesObject.zoneId = valueAvailableZonesAvailableZone["ZoneId"].asString();
+		if(!valueAvailableZonesAvailableZone["ZoneName"].isNull())
+			availableZonesObject.zoneName = valueAvailableZonesAvailableZone["ZoneName"].asString();
+		if(!valueAvailableZonesAvailableZone["RegionId"].isNull())
+			availableZonesObject.regionId = valueAvailableZonesAvailableZone["RegionId"].asString();
+		availableZones_.push_back(availableZonesObject);
+	}
+
+}
+
+std::vector<DescribeAvailabilityZonesResult::AvailableZone> DescribeAvailabilityZonesResult::getAvailableZones()const
+{
+	return availableZones_;
+}
+