Browse Source

Support DescribeAICImages.

sdk-team 3 years ago
parent
commit
82ac445152

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1292
+1.36.1293

+ 8 - 0
ens/CMakeLists.txt

@@ -127,6 +127,8 @@ set(ens_public_header_model
 	include/alibabacloud/ens/model/DeleteSnatEntryResult.h
 	include/alibabacloud/ens/model/DeleteVSwitchRequest.h
 	include/alibabacloud/ens/model/DeleteVSwitchResult.h
+	include/alibabacloud/ens/model/DescribeAICImagesRequest.h
+	include/alibabacloud/ens/model/DescribeAICImagesResult.h
 	include/alibabacloud/ens/model/DescribeARMServerInstancesRequest.h
 	include/alibabacloud/ens/model/DescribeARMServerInstancesResult.h
 	include/alibabacloud/ens/model/DescribeApplicationRequest.h
@@ -193,6 +195,8 @@ set(ens_public_header_model
 	include/alibabacloud/ens/model/DescribeExportImageInfoResult.h
 	include/alibabacloud/ens/model/DescribeExportImageStatusRequest.h
 	include/alibabacloud/ens/model/DescribeExportImageStatusResult.h
+	include/alibabacloud/ens/model/DescribeFileSystemsRequest.h
+	include/alibabacloud/ens/model/DescribeFileSystemsResult.h
 	include/alibabacloud/ens/model/DescribeForwardTableEntriesRequest.h
 	include/alibabacloud/ens/model/DescribeForwardTableEntriesResult.h
 	include/alibabacloud/ens/model/DescribeImageInfosRequest.h
@@ -514,6 +518,8 @@ set(ens_src
 	src/model/DeleteSnatEntryResult.cc
 	src/model/DeleteVSwitchRequest.cc
 	src/model/DeleteVSwitchResult.cc
+	src/model/DescribeAICImagesRequest.cc
+	src/model/DescribeAICImagesResult.cc
 	src/model/DescribeARMServerInstancesRequest.cc
 	src/model/DescribeARMServerInstancesResult.cc
 	src/model/DescribeApplicationRequest.cc
@@ -580,6 +586,8 @@ set(ens_src
 	src/model/DescribeExportImageInfoResult.cc
 	src/model/DescribeExportImageStatusRequest.cc
 	src/model/DescribeExportImageStatusResult.cc
+	src/model/DescribeFileSystemsRequest.cc
+	src/model/DescribeFileSystemsResult.cc
 	src/model/DescribeForwardTableEntriesRequest.cc
 	src/model/DescribeForwardTableEntriesResult.cc
 	src/model/DescribeImageInfosRequest.cc

+ 16 - 0
ens/include/alibabacloud/ens/EnsClient.h

@@ -128,6 +128,8 @@
 #include "model/DeleteSnatEntryResult.h"
 #include "model/DeleteVSwitchRequest.h"
 #include "model/DeleteVSwitchResult.h"
+#include "model/DescribeAICImagesRequest.h"
+#include "model/DescribeAICImagesResult.h"
 #include "model/DescribeARMServerInstancesRequest.h"
 #include "model/DescribeARMServerInstancesResult.h"
 #include "model/DescribeApplicationRequest.h"
@@ -194,6 +196,8 @@
 #include "model/DescribeExportImageInfoResult.h"
 #include "model/DescribeExportImageStatusRequest.h"
 #include "model/DescribeExportImageStatusResult.h"
+#include "model/DescribeFileSystemsRequest.h"
+#include "model/DescribeFileSystemsResult.h"
 #include "model/DescribeForwardTableEntriesRequest.h"
 #include "model/DescribeForwardTableEntriesResult.h"
 #include "model/DescribeImageInfosRequest.h"
@@ -574,6 +578,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteVSwitchResult> DeleteVSwitchOutcome;
 			typedef std::future<DeleteVSwitchOutcome> DeleteVSwitchOutcomeCallable;
 			typedef std::function<void(const EnsClient*, const Model::DeleteVSwitchRequest&, const DeleteVSwitchOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteVSwitchAsyncHandler;
+			typedef Outcome<Error, Model::DescribeAICImagesResult> DescribeAICImagesOutcome;
+			typedef std::future<DescribeAICImagesOutcome> DescribeAICImagesOutcomeCallable;
+			typedef std::function<void(const EnsClient*, const Model::DescribeAICImagesRequest&, const DescribeAICImagesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeAICImagesAsyncHandler;
 			typedef Outcome<Error, Model::DescribeARMServerInstancesResult> DescribeARMServerInstancesOutcome;
 			typedef std::future<DescribeARMServerInstancesOutcome> DescribeARMServerInstancesOutcomeCallable;
 			typedef std::function<void(const EnsClient*, const Model::DescribeARMServerInstancesRequest&, const DescribeARMServerInstancesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeARMServerInstancesAsyncHandler;
@@ -673,6 +680,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeExportImageStatusResult> DescribeExportImageStatusOutcome;
 			typedef std::future<DescribeExportImageStatusOutcome> DescribeExportImageStatusOutcomeCallable;
 			typedef std::function<void(const EnsClient*, const Model::DescribeExportImageStatusRequest&, const DescribeExportImageStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeExportImageStatusAsyncHandler;
+			typedef Outcome<Error, Model::DescribeFileSystemsResult> DescribeFileSystemsOutcome;
+			typedef std::future<DescribeFileSystemsOutcome> DescribeFileSystemsOutcomeCallable;
+			typedef std::function<void(const EnsClient*, const Model::DescribeFileSystemsRequest&, const DescribeFileSystemsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeFileSystemsAsyncHandler;
 			typedef Outcome<Error, Model::DescribeForwardTableEntriesResult> DescribeForwardTableEntriesOutcome;
 			typedef std::future<DescribeForwardTableEntriesOutcome> DescribeForwardTableEntriesOutcomeCallable;
 			typedef std::function<void(const EnsClient*, const Model::DescribeForwardTableEntriesRequest&, const DescribeForwardTableEntriesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeForwardTableEntriesAsyncHandler;
@@ -1155,6 +1165,9 @@ namespace AlibabaCloud
 			DeleteVSwitchOutcome deleteVSwitch(const Model::DeleteVSwitchRequest &request)const;
 			void deleteVSwitchAsync(const Model::DeleteVSwitchRequest& request, const DeleteVSwitchAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteVSwitchOutcomeCallable deleteVSwitchCallable(const Model::DeleteVSwitchRequest& request) const;
+			DescribeAICImagesOutcome describeAICImages(const Model::DescribeAICImagesRequest &request)const;
+			void describeAICImagesAsync(const Model::DescribeAICImagesRequest& request, const DescribeAICImagesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeAICImagesOutcomeCallable describeAICImagesCallable(const Model::DescribeAICImagesRequest& request) const;
 			DescribeARMServerInstancesOutcome describeARMServerInstances(const Model::DescribeARMServerInstancesRequest &request)const;
 			void describeARMServerInstancesAsync(const Model::DescribeARMServerInstancesRequest& request, const DescribeARMServerInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeARMServerInstancesOutcomeCallable describeARMServerInstancesCallable(const Model::DescribeARMServerInstancesRequest& request) const;
@@ -1254,6 +1267,9 @@ namespace AlibabaCloud
 			DescribeExportImageStatusOutcome describeExportImageStatus(const Model::DescribeExportImageStatusRequest &request)const;
 			void describeExportImageStatusAsync(const Model::DescribeExportImageStatusRequest& request, const DescribeExportImageStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeExportImageStatusOutcomeCallable describeExportImageStatusCallable(const Model::DescribeExportImageStatusRequest& request) const;
+			DescribeFileSystemsOutcome describeFileSystems(const Model::DescribeFileSystemsRequest &request)const;
+			void describeFileSystemsAsync(const Model::DescribeFileSystemsRequest& request, const DescribeFileSystemsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeFileSystemsOutcomeCallable describeFileSystemsCallable(const Model::DescribeFileSystemsRequest& request) const;
 			DescribeForwardTableEntriesOutcome describeForwardTableEntries(const Model::DescribeForwardTableEntriesRequest &request)const;
 			void describeForwardTableEntriesAsync(const Model::DescribeForwardTableEntriesRequest& request, const DescribeForwardTableEntriesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeForwardTableEntriesOutcomeCallable describeForwardTableEntriesCallable(const Model::DescribeForwardTableEntriesRequest& request) const;

+ 51 - 0
ens/include/alibabacloud/ens/model/DescribeAICImagesRequest.h

@@ -0,0 +1,51 @@
+/*
+ * 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_ENS_MODEL_DESCRIBEAICIMAGESREQUEST_H_
+#define ALIBABACLOUD_ENS_MODEL_DESCRIBEAICIMAGESREQUEST_H_
+
+#include <alibabacloud/ens/EnsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Ens {
+namespace Model {
+class ALIBABACLOUD_ENS_EXPORT DescribeAICImagesRequest : public RpcServiceRequest {
+public:
+	DescribeAICImagesRequest();
+	~DescribeAICImagesRequest();
+	std::string getImageId() const;
+	void setImageId(const std::string &imageId);
+	std::string getPageNumber() const;
+	void setPageNumber(const std::string &pageNumber);
+	std::string getPageSize() const;
+	void setPageSize(const std::string &pageSize);
+	std::string getImageUrl() const;
+	void setImageUrl(const std::string &imageUrl);
+
+private:
+	std::string imageId_;
+	std::string pageNumber_;
+	std::string pageSize_;
+	std::string imageUrl_;
+};
+} // namespace Model
+} // namespace Ens
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ENS_MODEL_DESCRIBEAICIMAGESREQUEST_H_

+ 59 - 0
ens/include/alibabacloud/ens/model/DescribeAICImagesResult.h

@@ -0,0 +1,59 @@
+/*
+ * 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_ENS_MODEL_DESCRIBEAICIMAGESRESULT_H_
+#define ALIBABACLOUD_ENS_MODEL_DESCRIBEAICIMAGESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ens/EnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ens
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ENS_EXPORT DescribeAICImagesResult : public ServiceResult
+			{
+			public:
+				struct ImagesItem
+				{
+					std::string status;
+					std::string user;
+					std::string imageId;
+					std::string creationTime;
+					std::string imageUrl;
+				};
+
+
+				DescribeAICImagesResult();
+				explicit DescribeAICImagesResult(const std::string &payload);
+				~DescribeAICImagesResult();
+				std::vector<ImagesItem> getImages()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<ImagesItem> images_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ENS_MODEL_DESCRIBEAICIMAGESRESULT_H_

+ 54 - 0
ens/include/alibabacloud/ens/model/DescribeFileSystemsRequest.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_ENS_MODEL_DESCRIBEFILESYSTEMSREQUEST_H_
+#define ALIBABACLOUD_ENS_MODEL_DESCRIBEFILESYSTEMSREQUEST_H_
+
+#include <alibabacloud/ens/EnsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Ens {
+namespace Model {
+class ALIBABACLOUD_ENS_EXPORT DescribeFileSystemsRequest : public RpcServiceRequest {
+public:
+	DescribeFileSystemsRequest();
+	~DescribeFileSystemsRequest();
+	int getPageNumber() const;
+	void setPageNumber(int pageNumber);
+	std::string getFileSystemName() const;
+	void setFileSystemName(const std::string &fileSystemName);
+	std::string getEnsRegionId() const;
+	void setEnsRegionId(const std::string &ensRegionId);
+	int getPageSize() const;
+	void setPageSize(int pageSize);
+	std::string getFileSystemId() const;
+	void setFileSystemId(const std::string &fileSystemId);
+
+private:
+	int pageNumber_;
+	std::string fileSystemName_;
+	std::string ensRegionId_;
+	int pageSize_;
+	std::string fileSystemId_;
+};
+} // namespace Model
+} // namespace Ens
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ENS_MODEL_DESCRIBEFILESYSTEMSREQUEST_H_

+ 78 - 0
ens/include/alibabacloud/ens/model/DescribeFileSystemsResult.h

@@ -0,0 +1,78 @@
+/*
+ * 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_ENS_MODEL_DESCRIBEFILESYSTEMSRESULT_H_
+#define ALIBABACLOUD_ENS_MODEL_DESCRIBEFILESYSTEMSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ens/EnsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ens
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ENS_EXPORT DescribeFileSystemsResult : public ServiceResult
+			{
+			public:
+				struct FileSystemsItem
+				{
+					struct MountTargetsItem
+					{
+						std::string status;
+						std::string netWorkId;
+						std::string mountTargetName;
+						std::string mountTargetDomain;
+					};
+					std::string status;
+					std::string storageType;
+					long capacity;
+					std::string protocolType;
+					std::vector<FileSystemsItem::MountTargetsItem> mountTargets;
+					std::string creationTime;
+					std::string fileSystemId;
+					std::string fileSystemName;
+					std::string payType;
+					std::string ensRegionId;
+					long meteredSize;
+				};
+
+
+				DescribeFileSystemsResult();
+				explicit DescribeFileSystemsResult(const std::string &payload);
+				~DescribeFileSystemsResult();
+				std::vector<FileSystemsItem> getFileSystems()const;
+				int getTotalCount()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<FileSystemsItem> fileSystems_;
+				int totalCount_;
+				int pageSize_;
+				int pageNumber_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ENS_MODEL_DESCRIBEFILESYSTEMSRESULT_H_

+ 2 - 0
ens/include/alibabacloud/ens/model/DescribePrePaidInstanceStockResult.h

@@ -42,6 +42,7 @@ namespace AlibabaCloud
 				std::string getInstanceSpec()const;
 				int getSystemDiskSize()const;
 				int getMemory()const;
+				std::string getResourceGap()const;
 				int getDataDiskSize()const;
 				std::string getEnsRegionId()const;
 
@@ -53,6 +54,7 @@ namespace AlibabaCloud
 				std::string instanceSpec_;
 				int systemDiskSize_;
 				int memory_;
+				std::string resourceGap_;
 				int dataDiskSize_;
 				std::string ensRegionId_;
 

+ 3 - 3
ens/include/alibabacloud/ens/model/DescribeUserBandWidthDataRequest.h

@@ -38,18 +38,18 @@ public:
 	void setEnsRegionId(const std::string &ensRegionId);
 	std::string getPeriod() const;
 	void setPeriod(const std::string &period);
-	std::string getInstanceId() const;
-	void setInstanceId(const std::string &instanceId);
 	std::string getEndTime() const;
 	void setEndTime(const std::string &endTime);
+	std::string getInstanceId() const;
+	void setInstanceId(const std::string &instanceId);
 
 private:
 	std::string isp_;
 	std::string startTime_;
 	std::string ensRegionId_;
 	std::string period_;
-	std::string instanceId_;
 	std::string endTime_;
+	std::string instanceId_;
 };
 } // namespace Model
 } // namespace Ens

+ 4 - 4
ens/include/alibabacloud/ens/model/DescribeUserBandWidthDataResult.h

@@ -36,10 +36,10 @@ namespace AlibabaCloud
 				{
 					struct BandWidthMonitorDataItem
 					{
-						int upBandWidth;
-						int downBandWidth;
-						int internetTX;
-						int internetRX;
+						long upBandWidth;
+						long downBandWidth;
+						long internetTX;
+						long internetRX;
 						std::string timeStamp;
 					};
 					std::string maxDownBandWidth;

+ 72 - 0
ens/src/EnsClient.cc

@@ -1959,6 +1959,42 @@ EnsClient::DeleteVSwitchOutcomeCallable EnsClient::deleteVSwitchCallable(const D
 	return task->get_future();
 }
 
+EnsClient::DescribeAICImagesOutcome EnsClient::describeAICImages(const DescribeAICImagesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeAICImagesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeAICImagesOutcome(DescribeAICImagesResult(outcome.result()));
+	else
+		return DescribeAICImagesOutcome(outcome.error());
+}
+
+void EnsClient::describeAICImagesAsync(const DescribeAICImagesRequest& request, const DescribeAICImagesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeAICImages(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EnsClient::DescribeAICImagesOutcomeCallable EnsClient::describeAICImagesCallable(const DescribeAICImagesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeAICImagesOutcome()>>(
+			[this, request]()
+			{
+			return this->describeAICImages(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EnsClient::DescribeARMServerInstancesOutcome EnsClient::describeARMServerInstances(const DescribeARMServerInstancesRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -3147,6 +3183,42 @@ EnsClient::DescribeExportImageStatusOutcomeCallable EnsClient::describeExportIma
 	return task->get_future();
 }
 
+EnsClient::DescribeFileSystemsOutcome EnsClient::describeFileSystems(const DescribeFileSystemsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeFileSystemsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeFileSystemsOutcome(DescribeFileSystemsResult(outcome.result()));
+	else
+		return DescribeFileSystemsOutcome(outcome.error());
+}
+
+void EnsClient::describeFileSystemsAsync(const DescribeFileSystemsRequest& request, const DescribeFileSystemsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeFileSystems(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EnsClient::DescribeFileSystemsOutcomeCallable EnsClient::describeFileSystemsCallable(const DescribeFileSystemsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeFileSystemsOutcome()>>(
+			[this, request]()
+			{
+			return this->describeFileSystems(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EnsClient::DescribeForwardTableEntriesOutcome EnsClient::describeForwardTableEntries(const DescribeForwardTableEntriesRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 63 - 0
ens/src/model/DescribeAICImagesRequest.cc

@@ -0,0 +1,63 @@
+/*
+ * 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/ens/model/DescribeAICImagesRequest.h>
+
+using AlibabaCloud::Ens::Model::DescribeAICImagesRequest;
+
+DescribeAICImagesRequest::DescribeAICImagesRequest()
+    : RpcServiceRequest("ens", "2017-11-10", "DescribeAICImages") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeAICImagesRequest::~DescribeAICImagesRequest() {}
+
+std::string DescribeAICImagesRequest::getImageId() const {
+  return imageId_;
+}
+
+void DescribeAICImagesRequest::setImageId(const std::string &imageId) {
+  imageId_ = imageId;
+  setParameter(std::string("ImageId"), imageId);
+}
+
+std::string DescribeAICImagesRequest::getPageNumber() const {
+  return pageNumber_;
+}
+
+void DescribeAICImagesRequest::setPageNumber(const std::string &pageNumber) {
+  pageNumber_ = pageNumber;
+  setParameter(std::string("PageNumber"), pageNumber);
+}
+
+std::string DescribeAICImagesRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void DescribeAICImagesRequest::setPageSize(const std::string &pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), pageSize);
+}
+
+std::string DescribeAICImagesRequest::getImageUrl() const {
+  return imageUrl_;
+}
+
+void DescribeAICImagesRequest::setImageUrl(const std::string &imageUrl) {
+  imageUrl_ = imageUrl;
+  setParameter(std::string("ImageUrl"), imageUrl);
+}
+

+ 65 - 0
ens/src/model/DescribeAICImagesResult.cc

@@ -0,0 +1,65 @@
+/*
+ * 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/ens/model/DescribeAICImagesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ens;
+using namespace AlibabaCloud::Ens::Model;
+
+DescribeAICImagesResult::DescribeAICImagesResult() :
+	ServiceResult()
+{}
+
+DescribeAICImagesResult::DescribeAICImagesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeAICImagesResult::~DescribeAICImagesResult()
+{}
+
+void DescribeAICImagesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allImagesNode = value["Images"]["ImagesItem"];
+	for (auto valueImagesImagesItem : allImagesNode)
+	{
+		ImagesItem imagesObject;
+		if(!valueImagesImagesItem["ImageUrl"].isNull())
+			imagesObject.imageUrl = valueImagesImagesItem["ImageUrl"].asString();
+		if(!valueImagesImagesItem["ImageId"].isNull())
+			imagesObject.imageId = valueImagesImagesItem["ImageId"].asString();
+		if(!valueImagesImagesItem["User"].isNull())
+			imagesObject.user = valueImagesImagesItem["User"].asString();
+		if(!valueImagesImagesItem["Status"].isNull())
+			imagesObject.status = valueImagesImagesItem["Status"].asString();
+		if(!valueImagesImagesItem["CreationTime"].isNull())
+			imagesObject.creationTime = valueImagesImagesItem["CreationTime"].asString();
+		images_.push_back(imagesObject);
+	}
+
+}
+
+std::vector<DescribeAICImagesResult::ImagesItem> DescribeAICImagesResult::getImages()const
+{
+	return images_;
+}
+

+ 72 - 0
ens/src/model/DescribeFileSystemsRequest.cc

@@ -0,0 +1,72 @@
+/*
+ * 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/ens/model/DescribeFileSystemsRequest.h>
+
+using AlibabaCloud::Ens::Model::DescribeFileSystemsRequest;
+
+DescribeFileSystemsRequest::DescribeFileSystemsRequest()
+    : RpcServiceRequest("ens", "2017-11-10", "DescribeFileSystems") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+DescribeFileSystemsRequest::~DescribeFileSystemsRequest() {}
+
+int DescribeFileSystemsRequest::getPageNumber() const {
+  return pageNumber_;
+}
+
+void DescribeFileSystemsRequest::setPageNumber(int pageNumber) {
+  pageNumber_ = pageNumber;
+  setParameter(std::string("PageNumber"), std::to_string(pageNumber));
+}
+
+std::string DescribeFileSystemsRequest::getFileSystemName() const {
+  return fileSystemName_;
+}
+
+void DescribeFileSystemsRequest::setFileSystemName(const std::string &fileSystemName) {
+  fileSystemName_ = fileSystemName;
+  setParameter(std::string("FileSystemName"), fileSystemName);
+}
+
+std::string DescribeFileSystemsRequest::getEnsRegionId() const {
+  return ensRegionId_;
+}
+
+void DescribeFileSystemsRequest::setEnsRegionId(const std::string &ensRegionId) {
+  ensRegionId_ = ensRegionId;
+  setParameter(std::string("EnsRegionId"), ensRegionId);
+}
+
+int DescribeFileSystemsRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void DescribeFileSystemsRequest::setPageSize(int pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+
+std::string DescribeFileSystemsRequest::getFileSystemId() const {
+  return fileSystemId_;
+}
+
+void DescribeFileSystemsRequest::setFileSystemId(const std::string &fileSystemId) {
+  fileSystemId_ = fileSystemId;
+  setParameter(std::string("FileSystemId"), fileSystemId);
+}
+

+ 110 - 0
ens/src/model/DescribeFileSystemsResult.cc

@@ -0,0 +1,110 @@
+/*
+ * 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/ens/model/DescribeFileSystemsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ens;
+using namespace AlibabaCloud::Ens::Model;
+
+DescribeFileSystemsResult::DescribeFileSystemsResult() :
+	ServiceResult()
+{}
+
+DescribeFileSystemsResult::DescribeFileSystemsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeFileSystemsResult::~DescribeFileSystemsResult()
+{}
+
+void DescribeFileSystemsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allFileSystemsNode = value["FileSystems"]["FileSystemsItem"];
+	for (auto valueFileSystemsFileSystemsItem : allFileSystemsNode)
+	{
+		FileSystemsItem fileSystemsObject;
+		if(!valueFileSystemsFileSystemsItem["FileSystemId"].isNull())
+			fileSystemsObject.fileSystemId = valueFileSystemsFileSystemsItem["FileSystemId"].asString();
+		if(!valueFileSystemsFileSystemsItem["FileSystemName"].isNull())
+			fileSystemsObject.fileSystemName = valueFileSystemsFileSystemsItem["FileSystemName"].asString();
+		if(!valueFileSystemsFileSystemsItem["EnsRegionId"].isNull())
+			fileSystemsObject.ensRegionId = valueFileSystemsFileSystemsItem["EnsRegionId"].asString();
+		if(!valueFileSystemsFileSystemsItem["StorageType"].isNull())
+			fileSystemsObject.storageType = valueFileSystemsFileSystemsItem["StorageType"].asString();
+		if(!valueFileSystemsFileSystemsItem["ProtocolType"].isNull())
+			fileSystemsObject.protocolType = valueFileSystemsFileSystemsItem["ProtocolType"].asString();
+		if(!valueFileSystemsFileSystemsItem["Capacity"].isNull())
+			fileSystemsObject.capacity = std::stol(valueFileSystemsFileSystemsItem["Capacity"].asString());
+		if(!valueFileSystemsFileSystemsItem["MeteredSize"].isNull())
+			fileSystemsObject.meteredSize = std::stol(valueFileSystemsFileSystemsItem["MeteredSize"].asString());
+		if(!valueFileSystemsFileSystemsItem["Status"].isNull())
+			fileSystemsObject.status = valueFileSystemsFileSystemsItem["Status"].asString();
+		if(!valueFileSystemsFileSystemsItem["PayType"].isNull())
+			fileSystemsObject.payType = valueFileSystemsFileSystemsItem["PayType"].asString();
+		if(!valueFileSystemsFileSystemsItem["CreationTime"].isNull())
+			fileSystemsObject.creationTime = valueFileSystemsFileSystemsItem["CreationTime"].asString();
+		auto allMountTargetsNode = valueFileSystemsFileSystemsItem["MountTargets"]["MountTargetsItem"];
+		for (auto valueFileSystemsFileSystemsItemMountTargetsMountTargetsItem : allMountTargetsNode)
+		{
+			FileSystemsItem::MountTargetsItem mountTargetsObject;
+			if(!valueFileSystemsFileSystemsItemMountTargetsMountTargetsItem["MountTargetDomain"].isNull())
+				mountTargetsObject.mountTargetDomain = valueFileSystemsFileSystemsItemMountTargetsMountTargetsItem["MountTargetDomain"].asString();
+			if(!valueFileSystemsFileSystemsItemMountTargetsMountTargetsItem["MountTargetName"].isNull())
+				mountTargetsObject.mountTargetName = valueFileSystemsFileSystemsItemMountTargetsMountTargetsItem["MountTargetName"].asString();
+			if(!valueFileSystemsFileSystemsItemMountTargetsMountTargetsItem["NetWorkId"].isNull())
+				mountTargetsObject.netWorkId = valueFileSystemsFileSystemsItemMountTargetsMountTargetsItem["NetWorkId"].asString();
+			if(!valueFileSystemsFileSystemsItemMountTargetsMountTargetsItem["Status"].isNull())
+				mountTargetsObject.status = valueFileSystemsFileSystemsItemMountTargetsMountTargetsItem["Status"].asString();
+			fileSystemsObject.mountTargets.push_back(mountTargetsObject);
+		}
+		fileSystems_.push_back(fileSystemsObject);
+	}
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stoi(value["PageNumber"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+
+}
+
+std::vector<DescribeFileSystemsResult::FileSystemsItem> DescribeFileSystemsResult::getFileSystems()const
+{
+	return fileSystems_;
+}
+
+int DescribeFileSystemsResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int DescribeFileSystemsResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int DescribeFileSystemsResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+

+ 7 - 0
ens/src/model/DescribePrePaidInstanceStockResult.cc

@@ -53,6 +53,8 @@ void DescribePrePaidInstanceStockResult::parse(const std::string &payload)
 		memory_ = std::stoi(value["Memory"].asString());
 	if(!value["SystemDiskSize"].isNull())
 		systemDiskSize_ = std::stoi(value["SystemDiskSize"].asString());
+	if(!value["ResourceGap"].isNull())
+		resourceGap_ = value["ResourceGap"].asString();
 
 }
 
@@ -81,6 +83,11 @@ int DescribePrePaidInstanceStockResult::getMemory()const
 	return memory_;
 }
 
+std::string DescribePrePaidInstanceStockResult::getResourceGap()const
+{
+	return resourceGap_;
+}
+
 int DescribePrePaidInstanceStockResult::getDataDiskSize()const
 {
 	return dataDiskSize_;

+ 9 - 9
ens/src/model/DescribeUserBandWidthDataRequest.cc

@@ -61,15 +61,6 @@ void DescribeUserBandWidthDataRequest::setPeriod(const std::string &period) {
   setParameter(std::string("Period"), period);
 }
 
-std::string DescribeUserBandWidthDataRequest::getInstanceId() const {
-  return instanceId_;
-}
-
-void DescribeUserBandWidthDataRequest::setInstanceId(const std::string &instanceId) {
-  instanceId_ = instanceId;
-  setParameter(std::string("InstanceId"), instanceId);
-}
-
 std::string DescribeUserBandWidthDataRequest::getEndTime() const {
   return endTime_;
 }
@@ -79,3 +70,12 @@ void DescribeUserBandWidthDataRequest::setEndTime(const std::string &endTime) {
   setParameter(std::string("EndTime"), endTime);
 }
 
+std::string DescribeUserBandWidthDataRequest::getInstanceId() const {
+  return instanceId_;
+}
+
+void DescribeUserBandWidthDataRequest::setInstanceId(const std::string &instanceId) {
+  instanceId_ = instanceId;
+  setParameter(std::string("InstanceId"), instanceId);
+}
+

+ 4 - 4
ens/src/model/DescribeUserBandWidthDataResult.cc

@@ -49,15 +49,15 @@ void DescribeUserBandWidthDataResult::parse(const std::string &payload)
 	{
 		MonitorData::BandWidthMonitorDataItem bandWidthMonitorDataItemObject;
 		if(!monitorDataNodeBandWidthMonitorDataBandWidthMonitorDataItem["DownBandWidth"].isNull())
-			bandWidthMonitorDataItemObject.downBandWidth = std::stoi(monitorDataNodeBandWidthMonitorDataBandWidthMonitorDataItem["DownBandWidth"].asString());
+			bandWidthMonitorDataItemObject.downBandWidth = std::stol(monitorDataNodeBandWidthMonitorDataBandWidthMonitorDataItem["DownBandWidth"].asString());
 		if(!monitorDataNodeBandWidthMonitorDataBandWidthMonitorDataItem["InternetRX"].isNull())
-			bandWidthMonitorDataItemObject.internetRX = std::stoi(monitorDataNodeBandWidthMonitorDataBandWidthMonitorDataItem["InternetRX"].asString());
+			bandWidthMonitorDataItemObject.internetRX = std::stol(monitorDataNodeBandWidthMonitorDataBandWidthMonitorDataItem["InternetRX"].asString());
 		if(!monitorDataNodeBandWidthMonitorDataBandWidthMonitorDataItem["InternetTX"].isNull())
-			bandWidthMonitorDataItemObject.internetTX = std::stoi(monitorDataNodeBandWidthMonitorDataBandWidthMonitorDataItem["InternetTX"].asString());
+			bandWidthMonitorDataItemObject.internetTX = std::stol(monitorDataNodeBandWidthMonitorDataBandWidthMonitorDataItem["InternetTX"].asString());
 		if(!monitorDataNodeBandWidthMonitorDataBandWidthMonitorDataItem["TimeStamp"].isNull())
 			bandWidthMonitorDataItemObject.timeStamp = monitorDataNodeBandWidthMonitorDataBandWidthMonitorDataItem["TimeStamp"].asString();
 		if(!monitorDataNodeBandWidthMonitorDataBandWidthMonitorDataItem["UpBandWidth"].isNull())
-			bandWidthMonitorDataItemObject.upBandWidth = std::stoi(monitorDataNodeBandWidthMonitorDataBandWidthMonitorDataItem["UpBandWidth"].asString());
+			bandWidthMonitorDataItemObject.upBandWidth = std::stol(monitorDataNodeBandWidthMonitorDataBandWidthMonitorDataItem["UpBandWidth"].asString());
 		monitorData_.bandWidthMonitorData.push_back(bandWidthMonitorDataItemObject);
 	}
 	if(!value["Code"].isNull())