sdk-team 3 жил өмнө
parent
commit
ca9d05cc67
56 өөрчлөгдсөн 1545 нэмэгдсэн , 411 устгасан
  1. 1 1
      VERSION
  2. 24 4
      ens/CMakeLists.txt
  3. 48 8
      ens/include/alibabacloud/ens/EnsClient.h
  4. 51 0
      ens/include/alibabacloud/ens/model/CleanDistDataRequest.h
  5. 49 0
      ens/include/alibabacloud/ens/model/CleanDistDataResult.h
  6. 3 0
      ens/include/alibabacloud/ens/model/CreateDiskRequest.h
  7. 3 3
      ens/include/alibabacloud/ens/model/CreateImageRequest.h
  8. 42 0
      ens/include/alibabacloud/ens/model/DeleteDiskRequest.h
  9. 7 13
      ens/include/alibabacloud/ens/model/DeleteDiskResult.h
  10. 3 0
      ens/include/alibabacloud/ens/model/DescribeDataDistResultRequest.h
  11. 6 0
      ens/include/alibabacloud/ens/model/DescribeDisksRequest.h
  12. 5 4
      ens/include/alibabacloud/ens/model/DescribeDisksResult.h
  13. 3 0
      ens/include/alibabacloud/ens/model/DescribeEnsEipAddressesRequest.h
  14. 1 0
      ens/include/alibabacloud/ens/model/DescribeImageInfosResult.h
  15. 3 3
      ens/include/alibabacloud/ens/model/DescribeImagesRequest.h
  16. 1 0
      ens/include/alibabacloud/ens/model/DescribeImagesResult.h
  17. 12 12
      ens/include/alibabacloud/ens/model/DescribeResourceTimelineResult.h
  18. 3 0
      ens/include/alibabacloud/ens/model/DescribeSelfImagesRequest.h
  19. 2 0
      ens/include/alibabacloud/ens/model/DescribeSelfImagesResult.h
  20. 51 0
      ens/include/alibabacloud/ens/model/GetOssUsageDataRequest.h
  21. 61 0
      ens/include/alibabacloud/ens/model/GetOssUsageDataResult.h
  22. 0 81
      ens/include/alibabacloud/ens/model/PreCreateEnsServiceRequest.h
  23. 42 0
      ens/include/alibabacloud/ens/model/RecoverAICInstanceRequest.h
  24. 49 0
      ens/include/alibabacloud/ens/model/RecoverAICInstanceResult.h
  25. 42 0
      ens/include/alibabacloud/ens/model/ReleaseAICInstanceRequest.h
  26. 49 0
      ens/include/alibabacloud/ens/model/ReleaseAICInstanceResult.h
  27. 45 0
      ens/include/alibabacloud/ens/model/ResetDiskRequest.h
  28. 49 0
      ens/include/alibabacloud/ens/model/ResetDiskResult.h
  29. 3 0
      ens/include/alibabacloud/ens/model/RunInstancesRequest.h
  30. 216 36
      ens/src/EnsClient.cc
  31. 63 0
      ens/src/model/CleanDistDataRequest.cc
  32. 44 0
      ens/src/model/CleanDistDataResult.cc
  33. 9 0
      ens/src/model/CreateDiskRequest.cc
  34. 9 9
      ens/src/model/CreateImageRequest.cc
  35. 36 0
      ens/src/model/DeleteDiskRequest.cc
  36. 6 27
      ens/src/model/DeleteDiskResult.cc
  37. 11 0
      ens/src/model/DescribeDataDistResultRequest.cc
  38. 18 0
      ens/src/model/DescribeDisksRequest.cc
  39. 2 0
      ens/src/model/DescribeDisksResult.cc
  40. 9 0
      ens/src/model/DescribeEnsEipAddressesRequest.cc
  41. 2 0
      ens/src/model/DescribeImageInfosResult.cc
  42. 9 9
      ens/src/model/DescribeImagesRequest.cc
  43. 2 0
      ens/src/model/DescribeImagesResult.cc
  44. 48 48
      ens/src/model/DescribeResourceTimelineResult.cc
  45. 9 0
      ens/src/model/DescribeSelfImagesRequest.cc
  46. 4 0
      ens/src/model/DescribeSelfImagesResult.cc
  47. 63 0
      ens/src/model/GetOssUsageDataRequest.cc
  48. 69 0
      ens/src/model/GetOssUsageDataResult.cc
  49. 0 153
      ens/src/model/PreCreateEnsServiceRequest.cc
  50. 36 0
      ens/src/model/RecoverAICInstanceRequest.cc
  51. 44 0
      ens/src/model/RecoverAICInstanceResult.cc
  52. 36 0
      ens/src/model/ReleaseAICInstanceRequest.cc
  53. 44 0
      ens/src/model/ReleaseAICInstanceResult.cc
  54. 45 0
      ens/src/model/ResetDiskRequest.cc
  55. 44 0
      ens/src/model/ResetDiskResult.cc
  56. 9 0
      ens/src/model/RunInstancesRequest.cc

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1505
+1.36.1506

+ 24 - 4
ens/CMakeLists.txt

@@ -41,6 +41,8 @@ set(ens_public_header_model
 	include/alibabacloud/ens/model/AuthorizeSecurityGroupResult.h
 	include/alibabacloud/ens/model/AuthorizeSecurityGroupEgressRequest.h
 	include/alibabacloud/ens/model/AuthorizeSecurityGroupEgressResult.h
+	include/alibabacloud/ens/model/CleanDistDataRequest.h
+	include/alibabacloud/ens/model/CleanDistDataResult.h
 	include/alibabacloud/ens/model/CreateARMServerInstancesRequest.h
 	include/alibabacloud/ens/model/CreateARMServerInstancesResult.h
 	include/alibabacloud/ens/model/CreateApplicationRequest.h
@@ -99,6 +101,8 @@ set(ens_public_header_model
 	include/alibabacloud/ens/model/DeleteApplicationResult.h
 	include/alibabacloud/ens/model/DeleteDeviceInternetPortRequest.h
 	include/alibabacloud/ens/model/DeleteDeviceInternetPortResult.h
+	include/alibabacloud/ens/model/DeleteDiskRequest.h
+	include/alibabacloud/ens/model/DeleteDiskResult.h
 	include/alibabacloud/ens/model/DeleteEnsRouteEntryRequest.h
 	include/alibabacloud/ens/model/DeleteEnsRouteEntryResult.h
 	include/alibabacloud/ens/model/DeleteEpnInstanceRequest.h
@@ -291,6 +295,8 @@ set(ens_public_header_model
 	include/alibabacloud/ens/model/GetDeviceInternetPortResult.h
 	include/alibabacloud/ens/model/GetOssStorageAndAccByBucketsRequest.h
 	include/alibabacloud/ens/model/GetOssStorageAndAccByBucketsResult.h
+	include/alibabacloud/ens/model/GetOssUsageDataRequest.h
+	include/alibabacloud/ens/model/GetOssUsageDataResult.h
 	include/alibabacloud/ens/model/ImportKeyPairRequest.h
 	include/alibabacloud/ens/model/ImportKeyPairResult.h
 	include/alibabacloud/ens/model/JoinPublicIpsToEpnInstanceRequest.h
@@ -329,8 +335,6 @@ set(ens_public_header_model
 	include/alibabacloud/ens/model/ModifySecurityGroupAttributeResult.h
 	include/alibabacloud/ens/model/ModifyVSwitchAttributeRequest.h
 	include/alibabacloud/ens/model/ModifyVSwitchAttributeResult.h
-	include/alibabacloud/ens/model/PreCreateEnsServiceRequest.h
-	include/alibabacloud/ens/model/PreCreateEnsServiceResult.h
 	include/alibabacloud/ens/model/PushApplicationDataRequest.h
 	include/alibabacloud/ens/model/PushApplicationDataResult.h
 	include/alibabacloud/ens/model/ReInitDiskRequest.h
@@ -343,10 +347,14 @@ set(ens_public_header_model
 	include/alibabacloud/ens/model/RebootInstanceResult.h
 	include/alibabacloud/ens/model/RebootInstancesRequest.h
 	include/alibabacloud/ens/model/RebootInstancesResult.h
+	include/alibabacloud/ens/model/RecoverAICInstanceRequest.h
+	include/alibabacloud/ens/model/RecoverAICInstanceResult.h
 	include/alibabacloud/ens/model/ReinitInstanceRequest.h
 	include/alibabacloud/ens/model/ReinitInstanceResult.h
 	include/alibabacloud/ens/model/ReinitInstancesRequest.h
 	include/alibabacloud/ens/model/ReinitInstancesResult.h
+	include/alibabacloud/ens/model/ReleaseAICInstanceRequest.h
+	include/alibabacloud/ens/model/ReleaseAICInstanceResult.h
 	include/alibabacloud/ens/model/ReleaseARMServerInstanceRequest.h
 	include/alibabacloud/ens/model/ReleaseARMServerInstanceResult.h
 	include/alibabacloud/ens/model/ReleaseInstanceRequest.h
@@ -373,6 +381,8 @@ set(ens_public_header_model
 	include/alibabacloud/ens/model/ResetAICInstanceResult.h
 	include/alibabacloud/ens/model/ResetDeviceInstanceRequest.h
 	include/alibabacloud/ens/model/ResetDeviceInstanceResult.h
+	include/alibabacloud/ens/model/ResetDiskRequest.h
+	include/alibabacloud/ens/model/ResetDiskResult.h
 	include/alibabacloud/ens/model/ResizeDiskRequest.h
 	include/alibabacloud/ens/model/ResizeDiskResult.h
 	include/alibabacloud/ens/model/RestartDeviceInstanceRequest.h
@@ -448,6 +458,8 @@ set(ens_src
 	src/model/AuthorizeSecurityGroupResult.cc
 	src/model/AuthorizeSecurityGroupEgressRequest.cc
 	src/model/AuthorizeSecurityGroupEgressResult.cc
+	src/model/CleanDistDataRequest.cc
+	src/model/CleanDistDataResult.cc
 	src/model/CreateARMServerInstancesRequest.cc
 	src/model/CreateARMServerInstancesResult.cc
 	src/model/CreateApplicationRequest.cc
@@ -506,6 +518,8 @@ set(ens_src
 	src/model/DeleteApplicationResult.cc
 	src/model/DeleteDeviceInternetPortRequest.cc
 	src/model/DeleteDeviceInternetPortResult.cc
+	src/model/DeleteDiskRequest.cc
+	src/model/DeleteDiskResult.cc
 	src/model/DeleteEnsRouteEntryRequest.cc
 	src/model/DeleteEnsRouteEntryResult.cc
 	src/model/DeleteEpnInstanceRequest.cc
@@ -698,6 +712,8 @@ set(ens_src
 	src/model/GetDeviceInternetPortResult.cc
 	src/model/GetOssStorageAndAccByBucketsRequest.cc
 	src/model/GetOssStorageAndAccByBucketsResult.cc
+	src/model/GetOssUsageDataRequest.cc
+	src/model/GetOssUsageDataResult.cc
 	src/model/ImportKeyPairRequest.cc
 	src/model/ImportKeyPairResult.cc
 	src/model/JoinPublicIpsToEpnInstanceRequest.cc
@@ -736,8 +752,6 @@ set(ens_src
 	src/model/ModifySecurityGroupAttributeResult.cc
 	src/model/ModifyVSwitchAttributeRequest.cc
 	src/model/ModifyVSwitchAttributeResult.cc
-	src/model/PreCreateEnsServiceRequest.cc
-	src/model/PreCreateEnsServiceResult.cc
 	src/model/PushApplicationDataRequest.cc
 	src/model/PushApplicationDataResult.cc
 	src/model/ReInitDiskRequest.cc
@@ -750,10 +764,14 @@ set(ens_src
 	src/model/RebootInstanceResult.cc
 	src/model/RebootInstancesRequest.cc
 	src/model/RebootInstancesResult.cc
+	src/model/RecoverAICInstanceRequest.cc
+	src/model/RecoverAICInstanceResult.cc
 	src/model/ReinitInstanceRequest.cc
 	src/model/ReinitInstanceResult.cc
 	src/model/ReinitInstancesRequest.cc
 	src/model/ReinitInstancesResult.cc
+	src/model/ReleaseAICInstanceRequest.cc
+	src/model/ReleaseAICInstanceResult.cc
 	src/model/ReleaseARMServerInstanceRequest.cc
 	src/model/ReleaseARMServerInstanceResult.cc
 	src/model/ReleaseInstanceRequest.cc
@@ -780,6 +798,8 @@ set(ens_src
 	src/model/ResetAICInstanceResult.cc
 	src/model/ResetDeviceInstanceRequest.cc
 	src/model/ResetDeviceInstanceResult.cc
+	src/model/ResetDiskRequest.cc
+	src/model/ResetDiskResult.cc
 	src/model/ResizeDiskRequest.cc
 	src/model/ResizeDiskResult.cc
 	src/model/RestartDeviceInstanceRequest.cc

+ 48 - 8
ens/include/alibabacloud/ens/EnsClient.h

@@ -42,6 +42,8 @@
 #include "model/AuthorizeSecurityGroupResult.h"
 #include "model/AuthorizeSecurityGroupEgressRequest.h"
 #include "model/AuthorizeSecurityGroupEgressResult.h"
+#include "model/CleanDistDataRequest.h"
+#include "model/CleanDistDataResult.h"
 #include "model/CreateARMServerInstancesRequest.h"
 #include "model/CreateARMServerInstancesResult.h"
 #include "model/CreateApplicationRequest.h"
@@ -100,6 +102,8 @@
 #include "model/DeleteApplicationResult.h"
 #include "model/DeleteDeviceInternetPortRequest.h"
 #include "model/DeleteDeviceInternetPortResult.h"
+#include "model/DeleteDiskRequest.h"
+#include "model/DeleteDiskResult.h"
 #include "model/DeleteEnsRouteEntryRequest.h"
 #include "model/DeleteEnsRouteEntryResult.h"
 #include "model/DeleteEpnInstanceRequest.h"
@@ -292,6 +296,8 @@
 #include "model/GetDeviceInternetPortResult.h"
 #include "model/GetOssStorageAndAccByBucketsRequest.h"
 #include "model/GetOssStorageAndAccByBucketsResult.h"
+#include "model/GetOssUsageDataRequest.h"
+#include "model/GetOssUsageDataResult.h"
 #include "model/ImportKeyPairRequest.h"
 #include "model/ImportKeyPairResult.h"
 #include "model/JoinPublicIpsToEpnInstanceRequest.h"
@@ -330,8 +336,6 @@
 #include "model/ModifySecurityGroupAttributeResult.h"
 #include "model/ModifyVSwitchAttributeRequest.h"
 #include "model/ModifyVSwitchAttributeResult.h"
-#include "model/PreCreateEnsServiceRequest.h"
-#include "model/PreCreateEnsServiceResult.h"
 #include "model/PushApplicationDataRequest.h"
 #include "model/PushApplicationDataResult.h"
 #include "model/ReInitDiskRequest.h"
@@ -344,10 +348,14 @@
 #include "model/RebootInstanceResult.h"
 #include "model/RebootInstancesRequest.h"
 #include "model/RebootInstancesResult.h"
+#include "model/RecoverAICInstanceRequest.h"
+#include "model/RecoverAICInstanceResult.h"
 #include "model/ReinitInstanceRequest.h"
 #include "model/ReinitInstanceResult.h"
 #include "model/ReinitInstancesRequest.h"
 #include "model/ReinitInstancesResult.h"
+#include "model/ReleaseAICInstanceRequest.h"
+#include "model/ReleaseAICInstanceResult.h"
 #include "model/ReleaseARMServerInstanceRequest.h"
 #include "model/ReleaseARMServerInstanceResult.h"
 #include "model/ReleaseInstanceRequest.h"
@@ -374,6 +382,8 @@
 #include "model/ResetAICInstanceResult.h"
 #include "model/ResetDeviceInstanceRequest.h"
 #include "model/ResetDeviceInstanceResult.h"
+#include "model/ResetDiskRequest.h"
+#include "model/ResetDiskResult.h"
 #include "model/ResizeDiskRequest.h"
 #include "model/ResizeDiskResult.h"
 #include "model/RestartDeviceInstanceRequest.h"
@@ -465,6 +475,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::AuthorizeSecurityGroupEgressResult> AuthorizeSecurityGroupEgressOutcome;
 			typedef std::future<AuthorizeSecurityGroupEgressOutcome> AuthorizeSecurityGroupEgressOutcomeCallable;
 			typedef std::function<void(const EnsClient*, const Model::AuthorizeSecurityGroupEgressRequest&, const AuthorizeSecurityGroupEgressOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> AuthorizeSecurityGroupEgressAsyncHandler;
+			typedef Outcome<Error, Model::CleanDistDataResult> CleanDistDataOutcome;
+			typedef std::future<CleanDistDataOutcome> CleanDistDataOutcomeCallable;
+			typedef std::function<void(const EnsClient*, const Model::CleanDistDataRequest&, const CleanDistDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CleanDistDataAsyncHandler;
 			typedef Outcome<Error, Model::CreateARMServerInstancesResult> CreateARMServerInstancesOutcome;
 			typedef std::future<CreateARMServerInstancesOutcome> CreateARMServerInstancesOutcomeCallable;
 			typedef std::function<void(const EnsClient*, const Model::CreateARMServerInstancesRequest&, const CreateARMServerInstancesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateARMServerInstancesAsyncHandler;
@@ -552,6 +565,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteDeviceInternetPortResult> DeleteDeviceInternetPortOutcome;
 			typedef std::future<DeleteDeviceInternetPortOutcome> DeleteDeviceInternetPortOutcomeCallable;
 			typedef std::function<void(const EnsClient*, const Model::DeleteDeviceInternetPortRequest&, const DeleteDeviceInternetPortOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteDeviceInternetPortAsyncHandler;
+			typedef Outcome<Error, Model::DeleteDiskResult> DeleteDiskOutcome;
+			typedef std::future<DeleteDiskOutcome> DeleteDiskOutcomeCallable;
+			typedef std::function<void(const EnsClient*, const Model::DeleteDiskRequest&, const DeleteDiskOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteDiskAsyncHandler;
 			typedef Outcome<Error, Model::DeleteEnsRouteEntryResult> DeleteEnsRouteEntryOutcome;
 			typedef std::future<DeleteEnsRouteEntryOutcome> DeleteEnsRouteEntryOutcomeCallable;
 			typedef std::function<void(const EnsClient*, const Model::DeleteEnsRouteEntryRequest&, const DeleteEnsRouteEntryOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteEnsRouteEntryAsyncHandler;
@@ -840,6 +856,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::GetOssStorageAndAccByBucketsResult> GetOssStorageAndAccByBucketsOutcome;
 			typedef std::future<GetOssStorageAndAccByBucketsOutcome> GetOssStorageAndAccByBucketsOutcomeCallable;
 			typedef std::function<void(const EnsClient*, const Model::GetOssStorageAndAccByBucketsRequest&, const GetOssStorageAndAccByBucketsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetOssStorageAndAccByBucketsAsyncHandler;
+			typedef Outcome<Error, Model::GetOssUsageDataResult> GetOssUsageDataOutcome;
+			typedef std::future<GetOssUsageDataOutcome> GetOssUsageDataOutcomeCallable;
+			typedef std::function<void(const EnsClient*, const Model::GetOssUsageDataRequest&, const GetOssUsageDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetOssUsageDataAsyncHandler;
 			typedef Outcome<Error, Model::ImportKeyPairResult> ImportKeyPairOutcome;
 			typedef std::future<ImportKeyPairOutcome> ImportKeyPairOutcomeCallable;
 			typedef std::function<void(const EnsClient*, const Model::ImportKeyPairRequest&, const ImportKeyPairOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ImportKeyPairAsyncHandler;
@@ -897,9 +916,6 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ModifyVSwitchAttributeResult> ModifyVSwitchAttributeOutcome;
 			typedef std::future<ModifyVSwitchAttributeOutcome> ModifyVSwitchAttributeOutcomeCallable;
 			typedef std::function<void(const EnsClient*, const Model::ModifyVSwitchAttributeRequest&, const ModifyVSwitchAttributeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyVSwitchAttributeAsyncHandler;
-			typedef Outcome<Error, Model::PreCreateEnsServiceResult> PreCreateEnsServiceOutcome;
-			typedef std::future<PreCreateEnsServiceOutcome> PreCreateEnsServiceOutcomeCallable;
-			typedef std::function<void(const EnsClient*, const Model::PreCreateEnsServiceRequest&, const PreCreateEnsServiceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> PreCreateEnsServiceAsyncHandler;
 			typedef Outcome<Error, Model::PushApplicationDataResult> PushApplicationDataOutcome;
 			typedef std::future<PushApplicationDataOutcome> PushApplicationDataOutcomeCallable;
 			typedef std::function<void(const EnsClient*, const Model::PushApplicationDataRequest&, const PushApplicationDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> PushApplicationDataAsyncHandler;
@@ -918,12 +934,18 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::RebootInstancesResult> RebootInstancesOutcome;
 			typedef std::future<RebootInstancesOutcome> RebootInstancesOutcomeCallable;
 			typedef std::function<void(const EnsClient*, const Model::RebootInstancesRequest&, const RebootInstancesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RebootInstancesAsyncHandler;
+			typedef Outcome<Error, Model::RecoverAICInstanceResult> RecoverAICInstanceOutcome;
+			typedef std::future<RecoverAICInstanceOutcome> RecoverAICInstanceOutcomeCallable;
+			typedef std::function<void(const EnsClient*, const Model::RecoverAICInstanceRequest&, const RecoverAICInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RecoverAICInstanceAsyncHandler;
 			typedef Outcome<Error, Model::ReinitInstanceResult> ReinitInstanceOutcome;
 			typedef std::future<ReinitInstanceOutcome> ReinitInstanceOutcomeCallable;
 			typedef std::function<void(const EnsClient*, const Model::ReinitInstanceRequest&, const ReinitInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ReinitInstanceAsyncHandler;
 			typedef Outcome<Error, Model::ReinitInstancesResult> ReinitInstancesOutcome;
 			typedef std::future<ReinitInstancesOutcome> ReinitInstancesOutcomeCallable;
 			typedef std::function<void(const EnsClient*, const Model::ReinitInstancesRequest&, const ReinitInstancesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ReinitInstancesAsyncHandler;
+			typedef Outcome<Error, Model::ReleaseAICInstanceResult> ReleaseAICInstanceOutcome;
+			typedef std::future<ReleaseAICInstanceOutcome> ReleaseAICInstanceOutcomeCallable;
+			typedef std::function<void(const EnsClient*, const Model::ReleaseAICInstanceRequest&, const ReleaseAICInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ReleaseAICInstanceAsyncHandler;
 			typedef Outcome<Error, Model::ReleaseARMServerInstanceResult> ReleaseARMServerInstanceOutcome;
 			typedef std::future<ReleaseARMServerInstanceOutcome> ReleaseARMServerInstanceOutcomeCallable;
 			typedef std::function<void(const EnsClient*, const Model::ReleaseARMServerInstanceRequest&, const ReleaseARMServerInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ReleaseARMServerInstanceAsyncHandler;
@@ -963,6 +985,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ResetDeviceInstanceResult> ResetDeviceInstanceOutcome;
 			typedef std::future<ResetDeviceInstanceOutcome> ResetDeviceInstanceOutcomeCallable;
 			typedef std::function<void(const EnsClient*, const Model::ResetDeviceInstanceRequest&, const ResetDeviceInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ResetDeviceInstanceAsyncHandler;
+			typedef Outcome<Error, Model::ResetDiskResult> ResetDiskOutcome;
+			typedef std::future<ResetDiskOutcome> ResetDiskOutcomeCallable;
+			typedef std::function<void(const EnsClient*, const Model::ResetDiskRequest&, const ResetDiskOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ResetDiskAsyncHandler;
 			typedef Outcome<Error, Model::ResizeDiskResult> ResizeDiskOutcome;
 			typedef std::future<ResizeDiskOutcome> ResizeDiskOutcomeCallable;
 			typedef std::function<void(const EnsClient*, const Model::ResizeDiskRequest&, const ResizeDiskOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ResizeDiskAsyncHandler;
@@ -1076,6 +1101,9 @@ namespace AlibabaCloud
 			AuthorizeSecurityGroupEgressOutcome authorizeSecurityGroupEgress(const Model::AuthorizeSecurityGroupEgressRequest &request)const;
 			void authorizeSecurityGroupEgressAsync(const Model::AuthorizeSecurityGroupEgressRequest& request, const AuthorizeSecurityGroupEgressAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			AuthorizeSecurityGroupEgressOutcomeCallable authorizeSecurityGroupEgressCallable(const Model::AuthorizeSecurityGroupEgressRequest& request) const;
+			CleanDistDataOutcome cleanDistData(const Model::CleanDistDataRequest &request)const;
+			void cleanDistDataAsync(const Model::CleanDistDataRequest& request, const CleanDistDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CleanDistDataOutcomeCallable cleanDistDataCallable(const Model::CleanDistDataRequest& request) const;
 			CreateARMServerInstancesOutcome createARMServerInstances(const Model::CreateARMServerInstancesRequest &request)const;
 			void createARMServerInstancesAsync(const Model::CreateARMServerInstancesRequest& request, const CreateARMServerInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateARMServerInstancesOutcomeCallable createARMServerInstancesCallable(const Model::CreateARMServerInstancesRequest& request) const;
@@ -1163,6 +1191,9 @@ namespace AlibabaCloud
 			DeleteDeviceInternetPortOutcome deleteDeviceInternetPort(const Model::DeleteDeviceInternetPortRequest &request)const;
 			void deleteDeviceInternetPortAsync(const Model::DeleteDeviceInternetPortRequest& request, const DeleteDeviceInternetPortAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteDeviceInternetPortOutcomeCallable deleteDeviceInternetPortCallable(const Model::DeleteDeviceInternetPortRequest& request) const;
+			DeleteDiskOutcome deleteDisk(const Model::DeleteDiskRequest &request)const;
+			void deleteDiskAsync(const Model::DeleteDiskRequest& request, const DeleteDiskAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteDiskOutcomeCallable deleteDiskCallable(const Model::DeleteDiskRequest& request) const;
 			DeleteEnsRouteEntryOutcome deleteEnsRouteEntry(const Model::DeleteEnsRouteEntryRequest &request)const;
 			void deleteEnsRouteEntryAsync(const Model::DeleteEnsRouteEntryRequest& request, const DeleteEnsRouteEntryAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteEnsRouteEntryOutcomeCallable deleteEnsRouteEntryCallable(const Model::DeleteEnsRouteEntryRequest& request) const;
@@ -1451,6 +1482,9 @@ namespace AlibabaCloud
 			GetOssStorageAndAccByBucketsOutcome getOssStorageAndAccByBuckets(const Model::GetOssStorageAndAccByBucketsRequest &request)const;
 			void getOssStorageAndAccByBucketsAsync(const Model::GetOssStorageAndAccByBucketsRequest& request, const GetOssStorageAndAccByBucketsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetOssStorageAndAccByBucketsOutcomeCallable getOssStorageAndAccByBucketsCallable(const Model::GetOssStorageAndAccByBucketsRequest& request) const;
+			GetOssUsageDataOutcome getOssUsageData(const Model::GetOssUsageDataRequest &request)const;
+			void getOssUsageDataAsync(const Model::GetOssUsageDataRequest& request, const GetOssUsageDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetOssUsageDataOutcomeCallable getOssUsageDataCallable(const Model::GetOssUsageDataRequest& request) const;
 			ImportKeyPairOutcome importKeyPair(const Model::ImportKeyPairRequest &request)const;
 			void importKeyPairAsync(const Model::ImportKeyPairRequest& request, const ImportKeyPairAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ImportKeyPairOutcomeCallable importKeyPairCallable(const Model::ImportKeyPairRequest& request) const;
@@ -1508,9 +1542,6 @@ namespace AlibabaCloud
 			ModifyVSwitchAttributeOutcome modifyVSwitchAttribute(const Model::ModifyVSwitchAttributeRequest &request)const;
 			void modifyVSwitchAttributeAsync(const Model::ModifyVSwitchAttributeRequest& request, const ModifyVSwitchAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyVSwitchAttributeOutcomeCallable modifyVSwitchAttributeCallable(const Model::ModifyVSwitchAttributeRequest& request) const;
-			PreCreateEnsServiceOutcome preCreateEnsService(const Model::PreCreateEnsServiceRequest &request)const;
-			void preCreateEnsServiceAsync(const Model::PreCreateEnsServiceRequest& request, const PreCreateEnsServiceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			PreCreateEnsServiceOutcomeCallable preCreateEnsServiceCallable(const Model::PreCreateEnsServiceRequest& request) const;
 			PushApplicationDataOutcome pushApplicationData(const Model::PushApplicationDataRequest &request)const;
 			void pushApplicationDataAsync(const Model::PushApplicationDataRequest& request, const PushApplicationDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			PushApplicationDataOutcomeCallable pushApplicationDataCallable(const Model::PushApplicationDataRequest& request) const;
@@ -1529,12 +1560,18 @@ namespace AlibabaCloud
 			RebootInstancesOutcome rebootInstances(const Model::RebootInstancesRequest &request)const;
 			void rebootInstancesAsync(const Model::RebootInstancesRequest& request, const RebootInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			RebootInstancesOutcomeCallable rebootInstancesCallable(const Model::RebootInstancesRequest& request) const;
+			RecoverAICInstanceOutcome recoverAICInstance(const Model::RecoverAICInstanceRequest &request)const;
+			void recoverAICInstanceAsync(const Model::RecoverAICInstanceRequest& request, const RecoverAICInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RecoverAICInstanceOutcomeCallable recoverAICInstanceCallable(const Model::RecoverAICInstanceRequest& request) const;
 			ReinitInstanceOutcome reinitInstance(const Model::ReinitInstanceRequest &request)const;
 			void reinitInstanceAsync(const Model::ReinitInstanceRequest& request, const ReinitInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ReinitInstanceOutcomeCallable reinitInstanceCallable(const Model::ReinitInstanceRequest& request) const;
 			ReinitInstancesOutcome reinitInstances(const Model::ReinitInstancesRequest &request)const;
 			void reinitInstancesAsync(const Model::ReinitInstancesRequest& request, const ReinitInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ReinitInstancesOutcomeCallable reinitInstancesCallable(const Model::ReinitInstancesRequest& request) const;
+			ReleaseAICInstanceOutcome releaseAICInstance(const Model::ReleaseAICInstanceRequest &request)const;
+			void releaseAICInstanceAsync(const Model::ReleaseAICInstanceRequest& request, const ReleaseAICInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ReleaseAICInstanceOutcomeCallable releaseAICInstanceCallable(const Model::ReleaseAICInstanceRequest& request) const;
 			ReleaseARMServerInstanceOutcome releaseARMServerInstance(const Model::ReleaseARMServerInstanceRequest &request)const;
 			void releaseARMServerInstanceAsync(const Model::ReleaseARMServerInstanceRequest& request, const ReleaseARMServerInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ReleaseARMServerInstanceOutcomeCallable releaseARMServerInstanceCallable(const Model::ReleaseARMServerInstanceRequest& request) const;
@@ -1574,6 +1611,9 @@ namespace AlibabaCloud
 			ResetDeviceInstanceOutcome resetDeviceInstance(const Model::ResetDeviceInstanceRequest &request)const;
 			void resetDeviceInstanceAsync(const Model::ResetDeviceInstanceRequest& request, const ResetDeviceInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ResetDeviceInstanceOutcomeCallable resetDeviceInstanceCallable(const Model::ResetDeviceInstanceRequest& request) const;
+			ResetDiskOutcome resetDisk(const Model::ResetDiskRequest &request)const;
+			void resetDiskAsync(const Model::ResetDiskRequest& request, const ResetDiskAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ResetDiskOutcomeCallable resetDiskCallable(const Model::ResetDiskRequest& request) const;
 			ResizeDiskOutcome resizeDisk(const Model::ResizeDiskRequest &request)const;
 			void resizeDiskAsync(const Model::ResizeDiskRequest& request, const ResizeDiskAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ResizeDiskOutcomeCallable resizeDiskCallable(const Model::ResizeDiskRequest& request) const;

+ 51 - 0
ens/include/alibabacloud/ens/model/CleanDistDataRequest.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_CLEANDISTDATAREQUEST_H_
+#define ALIBABACLOUD_ENS_MODEL_CLEANDISTDATAREQUEST_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 CleanDistDataRequest : public RpcServiceRequest {
+public:
+	CleanDistDataRequest();
+	~CleanDistDataRequest();
+	std::string getEnsRegionId() const;
+	void setEnsRegionId(const std::string &ensRegionId);
+	std::string getDataName() const;
+	void setDataName(const std::string &dataName);
+	std::string getDataVersion() const;
+	void setDataVersion(const std::string &dataVersion);
+	std::string getAppId() const;
+	void setAppId(const std::string &appId);
+
+private:
+	std::string ensRegionId_;
+	std::string dataName_;
+	std::string dataVersion_;
+	std::string appId_;
+};
+} // namespace Model
+} // namespace Ens
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ENS_MODEL_CLEANDISTDATAREQUEST_H_

+ 49 - 0
ens/include/alibabacloud/ens/model/CleanDistDataResult.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_ENS_MODEL_CLEANDISTDATARESULT_H_
+#define ALIBABACLOUD_ENS_MODEL_CLEANDISTDATARESULT_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 CleanDistDataResult : public ServiceResult
+			{
+			public:
+
+
+				CleanDistDataResult();
+				explicit CleanDistDataResult(const std::string &payload);
+				~CleanDistDataResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ENS_MODEL_CLEANDISTDATARESULT_H_

+ 3 - 0
ens/include/alibabacloud/ens/model/CreateDiskRequest.h

@@ -30,6 +30,8 @@ class ALIBABACLOUD_ENS_EXPORT CreateDiskRequest : public RpcServiceRequest {
 public:
 	CreateDiskRequest();
 	~CreateDiskRequest();
+	std::string getSnapshotId() const;
+	void setSnapshotId(const std::string &snapshotId);
 	std::string getEnsRegionId() const;
 	void setEnsRegionId(const std::string &ensRegionId);
 	std::string getInstanceChargeType() const;
@@ -40,6 +42,7 @@ public:
 	void setCategory(const std::string &category);
 
 private:
+	std::string snapshotId_;
 	std::string ensRegionId_;
 	std::string instanceChargeType_;
 	std::string size_;

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

@@ -30,19 +30,19 @@ class ALIBABACLOUD_ENS_EXPORT CreateImageRequest : public RpcServiceRequest {
 public:
 	CreateImageRequest();
 	~CreateImageRequest();
+	std::string getSnapshotId() const;
+	void setSnapshotId(const std::string &snapshotId);
 	std::string getDeleteAfterImageUpload() const;
 	void setDeleteAfterImageUpload(const std::string &deleteAfterImageUpload);
 	std::string getImageName() const;
 	void setImageName(const std::string &imageName);
-	std::string getProduct() const;
-	void setProduct(const std::string &product);
 	std::string getInstanceId() const;
 	void setInstanceId(const std::string &instanceId);
 
 private:
+	std::string snapshotId_;
 	std::string deleteAfterImageUpload_;
 	std::string imageName_;
-	std::string product_;
 	std::string instanceId_;
 };
 } // namespace Model

+ 42 - 0
ens/include/alibabacloud/ens/model/DeleteDiskRequest.h

@@ -0,0 +1,42 @@
+/*
+ * 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_DELETEDISKREQUEST_H_
+#define ALIBABACLOUD_ENS_MODEL_DELETEDISKREQUEST_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 DeleteDiskRequest : public RpcServiceRequest {
+public:
+	DeleteDiskRequest();
+	~DeleteDiskRequest();
+	std::string getDiskId() const;
+	void setDiskId(const std::string &diskId);
+
+private:
+	std::string diskId_;
+};
+} // namespace Model
+} // namespace Ens
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ENS_MODEL_DELETEDISKREQUEST_H_

+ 7 - 13
ens/include/alibabacloud/ens/model/PreCreateEnsServiceResult.h → ens/include/alibabacloud/ens/model/DeleteDiskResult.h

@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef ALIBABACLOUD_ENS_MODEL_PRECREATEENSSERVICERESULT_H_
-#define ALIBABACLOUD_ENS_MODEL_PRECREATEENSSERVICERESULT_H_
+#ifndef ALIBABACLOUD_ENS_MODEL_DELETEDISKRESULT_H_
+#define ALIBABACLOUD_ENS_MODEL_DELETEDISKRESULT_H_
 
 #include <string>
 #include <vector>
@@ -29,29 +29,23 @@ namespace AlibabaCloud
 	{
 		namespace Model
 		{
-			class ALIBABACLOUD_ENS_EXPORT PreCreateEnsServiceResult : public ServiceResult
+			class ALIBABACLOUD_ENS_EXPORT DeleteDiskResult : public ServiceResult
 			{
 			public:
 
 
-				PreCreateEnsServiceResult();
-				explicit PreCreateEnsServiceResult(const std::string &payload);
-				~PreCreateEnsServiceResult();
-				std::string getEnsServiceId()const;
-				std::string getNetLevel()const;
+				DeleteDiskResult();
+				explicit DeleteDiskResult(const std::string &payload);
+				~DeleteDiskResult();
 				int getCode()const;
-				std::string getBuyResourcesDetail()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
-				std::string ensServiceId_;
-				std::string netLevel_;
 				int code_;
-				std::string buyResourcesDetail_;
 
 			};
 		}
 	}
 }
-#endif // !ALIBABACLOUD_ENS_MODEL_PRECREATEENSSERVICERESULT_H_
+#endif // !ALIBABACLOUD_ENS_MODEL_DELETEDISKRESULT_H_

+ 3 - 0
ens/include/alibabacloud/ens/model/DescribeDataDistResultRequest.h

@@ -40,6 +40,8 @@ public:
 	void setPageNumber(int pageNumber);
 	int getPageSize() const;
 	void setPageSize(int pageSize);
+	std::vector<std::string> getEnsRegionIds() const;
+	void setEnsRegionIds(const std::vector<std::string> &ensRegionIds);
 	std::string getMinDate() const;
 	void setMinDate(const std::string &minDate);
 	std::string getAppId() const;
@@ -53,6 +55,7 @@ private:
 	std::string maxDate_;
 	int pageNumber_;
 	int pageSize_;
+	std::vector<std::string> ensRegionIds_;
 	std::string minDate_;
 	std::string appId_;
 	std::string dataNames_;

+ 6 - 0
ens/include/alibabacloud/ens/model/DescribeDisksRequest.h

@@ -40,8 +40,12 @@ public:
 	void setDiskChargeType(const std::string &diskChargeType);
 	std::string getEnsRegionId() const;
 	void setEnsRegionId(const std::string &ensRegionId);
+	std::string getInstanceId() const;
+	void setInstanceId(const std::string &instanceId);
 	std::string getStatus() const;
 	void setStatus(const std::string &status);
+	std::string getSnapshotId() const;
+	void setSnapshotId(const std::string &snapshotId);
 	std::string getPageNumber() const;
 	void setPageNumber(const std::string &pageNumber);
 	std::string getPageSize() const;
@@ -63,7 +67,9 @@ private:
 	std::string diskName_;
 	std::string diskChargeType_;
 	std::string ensRegionId_;
+	std::string instanceId_;
 	std::string status_;
+	std::string snapshotId_;
 	std::string pageNumber_;
 	std::string pageSize_;
 	std::string diskIds_;

+ 5 - 4
ens/include/alibabacloud/ens/model/DescribeDisksResult.h

@@ -34,16 +34,17 @@ namespace AlibabaCloud
 			public:
 				struct DisksItem
 				{
-					std::string instanceName;
 					std::string status;
-					bool portable;
-					std::string type;
 					std::string category;
 					std::string instanceId;
 					int size;
-					std::string creationTime;
 					std::string diskChargeType;
 					std::string diskName;
+					std::string instanceName;
+					bool portable;
+					std::string snapshotId;
+					std::string type;
+					std::string creationTime;
 					std::string ensRegionId;
 					std::string diskId;
 				};

+ 3 - 0
ens/include/alibabacloud/ens/model/DescribeEnsEipAddressesRequest.h

@@ -30,6 +30,8 @@ class ALIBABACLOUD_ENS_EXPORT DescribeEnsEipAddressesRequest : public RpcService
 public:
 	DescribeEnsEipAddressesRequest();
 	~DescribeEnsEipAddressesRequest();
+	std::string getEipName() const;
+	void setEipName(const std::string &eipName);
 	std::string getEipAddress() const;
 	void setEipAddress(const std::string &eipAddress);
 	std::string getEnsRegionId() const;
@@ -48,6 +50,7 @@ public:
 	void setAssociatedInstanceId(const std::string &associatedInstanceId);
 
 private:
+	std::string eipName_;
 	std::string eipAddress_;
 	std::string ensRegionId_;
 	std::string status_;

+ 1 - 0
ens/include/alibabacloud/ens/model/DescribeImageInfosResult.h

@@ -40,6 +40,7 @@ namespace AlibabaCloud
 					std::string oSType;
 					std::string imageId;
 					std::string oSName;
+					std::string computeType;
 				};
 
 

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

@@ -36,23 +36,23 @@ public:
 	void setStatus(const std::string &status);
 	std::string getImageId() const;
 	void setImageId(const std::string &imageId);
+	std::string getSnapshotId() const;
+	void setSnapshotId(const std::string &snapshotId);
 	std::string getPageNumber() const;
 	void setPageNumber(const std::string &pageNumber);
 	std::string getImageName() const;
 	void setImageName(const std::string &imageName);
 	std::string getPageSize() const;
 	void setPageSize(const std::string &pageSize);
-	std::string getProduct() const;
-	void setProduct(const std::string &product);
 
 private:
 	std::string ensRegionId_;
 	std::string status_;
 	std::string imageId_;
+	std::string snapshotId_;
 	std::string pageNumber_;
 	std::string imageName_;
 	std::string pageSize_;
-	std::string product_;
 };
 } // namespace Model
 } // namespace Ens

+ 1 - 0
ens/include/alibabacloud/ens/model/DescribeImagesResult.h

@@ -36,6 +36,7 @@ namespace AlibabaCloud
 				{
 					std::string imageOwnerAlias;
 					std::string imageName;
+					std::string snapshotId;
 					std::string architecture;
 					std::string platform;
 					std::string imageSize;

+ 12 - 12
ens/include/alibabacloud/ens/model/DescribeResourceTimelineResult.h

@@ -32,28 +32,28 @@ namespace AlibabaCloud
 			class ALIBABACLOUD_ENS_EXPORT DescribeResourceTimelineResult : public ServiceResult
 			{
 			public:
-				struct 可用性事件
+				struct AvailableEventsItem
 				{
 					std::string occurrenceTime;
 					std::string type;
 					std::string reason;
 					std::string name;
 				};
-				struct 建设状态事件
+				struct BizEventsItem
 				{
 					std::string occurrenceTime;
 					std::string type;
 					std::string reason;
 					std::string name;
 				};
-				struct 资源扣减事件
+				struct InventoryEventsItem
 				{
 					std::string occurrenceTime;
 					std::string type;
 					std::string reason;
 					std::string name;
 				};
-				struct 资源预留事件
+				struct ReserveEventsItem
 				{
 					std::string occurrenceTime;
 					std::string type;
@@ -67,20 +67,20 @@ namespace AlibabaCloud
 				~DescribeResourceTimelineResult();
 				std::string getMsg()const;
 				std::string getDesc()const;
-				std::vector<资源扣减事件> getInventoryEvents()const;
-				std::vector<可用性事件> getAvailableEvents()const;
-				std::vector<建设状态事件> getBizEvents()const;
-				std::vector<资源预留事件> getReserveEvents()const;
+				std::vector<InventoryEventsItem> getInventoryEvents()const;
+				std::vector<AvailableEventsItem> getAvailableEvents()const;
+				std::vector<BizEventsItem> getBizEvents()const;
+				std::vector<ReserveEventsItem> getReserveEvents()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
 				std::string msg_;
 				std::string desc_;
-				std::vector<资源扣减事件> inventoryEvents_;
-				std::vector<可用性事件> availableEvents_;
-				std::vector<建设状态事件> bizEvents_;
-				std::vector<资源预留事件> reserveEvents_;
+				std::vector<InventoryEventsItem> inventoryEvents_;
+				std::vector<AvailableEventsItem> availableEvents_;
+				std::vector<BizEventsItem> bizEvents_;
+				std::vector<ReserveEventsItem> reserveEvents_;
 
 			};
 		}

+ 3 - 0
ens/include/alibabacloud/ens/model/DescribeSelfImagesRequest.h

@@ -32,6 +32,8 @@ public:
 	~DescribeSelfImagesRequest();
 	std::string getImageId() const;
 	void setImageId(const std::string &imageId);
+	std::string getSnapshotId() const;
+	void setSnapshotId(const std::string &snapshotId);
 	int getPageNumber() const;
 	void setPageNumber(int pageNumber);
 	std::string getImageName() const;
@@ -41,6 +43,7 @@ public:
 
 private:
 	std::string imageId_;
+	std::string snapshotId_;
 	int pageNumber_;
 	std::string imageName_;
 	int pageSize_;

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

@@ -37,6 +37,7 @@ namespace AlibabaCloud
 					std::string imageOwnerAlias;
 					std::string status;
 					std::string imageName;
+					std::string snapshotId;
 					std::string architecture;
 					std::string platform;
 					std::string imageSize;
@@ -44,6 +45,7 @@ namespace AlibabaCloud
 					std::string osVersion;
 					std::string creationTime;
 					std::string imageId;
+					std::string computeType;
 				};
 
 

+ 51 - 0
ens/include/alibabacloud/ens/model/GetOssUsageDataRequest.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_GETOSSUSAGEDATAREQUEST_H_
+#define ALIBABACLOUD_ENS_MODEL_GETOSSUSAGEDATAREQUEST_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 GetOssUsageDataRequest : public RpcServiceRequest {
+public:
+	GetOssUsageDataRequest();
+	~GetOssUsageDataRequest();
+	std::string getStartTime() const;
+	void setStartTime(const std::string &startTime);
+	std::string getPeriod() const;
+	void setPeriod(const std::string &period);
+	std::string getEndTime() const;
+	void setEndTime(const std::string &endTime);
+	std::string getBucket() const;
+	void setBucket(const std::string &bucket);
+
+private:
+	std::string startTime_;
+	std::string period_;
+	std::string endTime_;
+	std::string bucket_;
+};
+} // namespace Model
+} // namespace Ens
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ENS_MODEL_GETOSSUSAGEDATAREQUEST_H_

+ 61 - 0
ens/include/alibabacloud/ens/model/GetOssUsageDataResult.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_ENS_MODEL_GETOSSUSAGEDATARESULT_H_
+#define ALIBABACLOUD_ENS_MODEL_GETOSSUSAGEDATARESULT_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 GetOssUsageDataResult : public ServiceResult
+			{
+			public:
+				struct UsageListItem
+				{
+					long lanRxBw;
+					long wanRxBw;
+					long lanTxBw;
+					long wanTxBw;
+					std::string pointTs;
+					long storageUsageByte;
+					long point;
+				};
+
+
+				GetOssUsageDataResult();
+				explicit GetOssUsageDataResult(const std::string &payload);
+				~GetOssUsageDataResult();
+				std::vector<UsageListItem> getUsageList()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<UsageListItem> usageList_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ENS_MODEL_GETOSSUSAGEDATARESULT_H_

+ 0 - 81
ens/include/alibabacloud/ens/model/PreCreateEnsServiceRequest.h

@@ -1,81 +0,0 @@
-/*
- * 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_PRECREATEENSSERVICEREQUEST_H_
-#define ALIBABACLOUD_ENS_MODEL_PRECREATEENSSERVICEREQUEST_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 PreCreateEnsServiceRequest : public RpcServiceRequest {
-public:
-	PreCreateEnsServiceRequest();
-	~PreCreateEnsServiceRequest();
-	std::string getBandwidthType() const;
-	void setBandwidthType(const std::string &bandwidthType);
-	std::string getKeyPairName() const;
-	void setKeyPairName(const std::string &keyPairName);
-	std::string getPassword() const;
-	void setPassword(const std::string &password);
-	std::string getBuyResourcesDetail() const;
-	void setBuyResourcesDetail(const std::string &buyResourcesDetail);
-	std::string getSystemDiskSize() const;
-	void setSystemDiskSize(const std::string &systemDiskSize);
-	std::string getInstanceBandwithdLimit() const;
-	void setInstanceBandwithdLimit(const std::string &instanceBandwithdLimit);
-	std::string getEnsServiceName() const;
-	void setEnsServiceName(const std::string &ensServiceName);
-	std::string getNetLevel() const;
-	void setNetLevel(const std::string &netLevel);
-	std::string getDataDiskSize() const;
-	void setDataDiskSize(const std::string &dataDiskSize);
-	std::string getSchedulingPriceStrategy() const;
-	void setSchedulingPriceStrategy(const std::string &schedulingPriceStrategy);
-	std::string getImageId() const;
-	void setImageId(const std::string &imageId);
-	std::string getInstanceSpec() const;
-	void setInstanceSpec(const std::string &instanceSpec);
-	std::string getUserData() const;
-	void setUserData(const std::string &userData);
-	std::string getSchedulingStrategy() const;
-	void setSchedulingStrategy(const std::string &schedulingStrategy);
-
-private:
-	std::string bandwidthType_;
-	std::string keyPairName_;
-	std::string password_;
-	std::string buyResourcesDetail_;
-	std::string systemDiskSize_;
-	std::string instanceBandwithdLimit_;
-	std::string ensServiceName_;
-	std::string netLevel_;
-	std::string dataDiskSize_;
-	std::string schedulingPriceStrategy_;
-	std::string imageId_;
-	std::string instanceSpec_;
-	std::string userData_;
-	std::string schedulingStrategy_;
-};
-} // namespace Model
-} // namespace Ens
-} // namespace AlibabaCloud
-#endif // !ALIBABACLOUD_ENS_MODEL_PRECREATEENSSERVICEREQUEST_H_

+ 42 - 0
ens/include/alibabacloud/ens/model/RecoverAICInstanceRequest.h

@@ -0,0 +1,42 @@
+/*
+ * 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_RECOVERAICINSTANCEREQUEST_H_
+#define ALIBABACLOUD_ENS_MODEL_RECOVERAICINSTANCEREQUEST_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 RecoverAICInstanceRequest : public RpcServiceRequest {
+public:
+	RecoverAICInstanceRequest();
+	~RecoverAICInstanceRequest();
+	std::string getServerId() const;
+	void setServerId(const std::string &serverId);
+
+private:
+	std::string serverId_;
+};
+} // namespace Model
+} // namespace Ens
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ENS_MODEL_RECOVERAICINSTANCEREQUEST_H_

+ 49 - 0
ens/include/alibabacloud/ens/model/RecoverAICInstanceResult.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_ENS_MODEL_RECOVERAICINSTANCERESULT_H_
+#define ALIBABACLOUD_ENS_MODEL_RECOVERAICINSTANCERESULT_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 RecoverAICInstanceResult : public ServiceResult
+			{
+			public:
+
+
+				RecoverAICInstanceResult();
+				explicit RecoverAICInstanceResult(const std::string &payload);
+				~RecoverAICInstanceResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ENS_MODEL_RECOVERAICINSTANCERESULT_H_

+ 42 - 0
ens/include/alibabacloud/ens/model/ReleaseAICInstanceRequest.h

@@ -0,0 +1,42 @@
+/*
+ * 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_RELEASEAICINSTANCEREQUEST_H_
+#define ALIBABACLOUD_ENS_MODEL_RELEASEAICINSTANCEREQUEST_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 ReleaseAICInstanceRequest : public RpcServiceRequest {
+public:
+	ReleaseAICInstanceRequest();
+	~ReleaseAICInstanceRequest();
+	std::string getServerId() const;
+	void setServerId(const std::string &serverId);
+
+private:
+	std::string serverId_;
+};
+} // namespace Model
+} // namespace Ens
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ENS_MODEL_RELEASEAICINSTANCEREQUEST_H_

+ 49 - 0
ens/include/alibabacloud/ens/model/ReleaseAICInstanceResult.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_ENS_MODEL_RELEASEAICINSTANCERESULT_H_
+#define ALIBABACLOUD_ENS_MODEL_RELEASEAICINSTANCERESULT_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 ReleaseAICInstanceResult : public ServiceResult
+			{
+			public:
+
+
+				ReleaseAICInstanceResult();
+				explicit ReleaseAICInstanceResult(const std::string &payload);
+				~ReleaseAICInstanceResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ENS_MODEL_RELEASEAICINSTANCERESULT_H_

+ 45 - 0
ens/include/alibabacloud/ens/model/ResetDiskRequest.h

@@ -0,0 +1,45 @@
+/*
+ * 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_RESETDISKREQUEST_H_
+#define ALIBABACLOUD_ENS_MODEL_RESETDISKREQUEST_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 ResetDiskRequest : public RpcServiceRequest {
+public:
+	ResetDiskRequest();
+	~ResetDiskRequest();
+	std::string getSnapshotId() const;
+	void setSnapshotId(const std::string &snapshotId);
+	std::string getDiskId() const;
+	void setDiskId(const std::string &diskId);
+
+private:
+	std::string snapshotId_;
+	std::string diskId_;
+};
+} // namespace Model
+} // namespace Ens
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_ENS_MODEL_RESETDISKREQUEST_H_

+ 49 - 0
ens/include/alibabacloud/ens/model/ResetDiskResult.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_ENS_MODEL_RESETDISKRESULT_H_
+#define ALIBABACLOUD_ENS_MODEL_RESETDISKRESULT_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 ResetDiskResult : public ServiceResult
+			{
+			public:
+
+
+				ResetDiskResult();
+				explicit ResetDiskResult(const std::string &payload);
+				~ResetDiskResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ENS_MODEL_RESETDISKRESULT_H_

+ 3 - 0
ens/include/alibabacloud/ens/model/RunInstancesRequest.h

@@ -81,6 +81,8 @@ public:
 	void setInternetMaxBandwidthOut(long internetMaxBandwidthOut);
 	std::string getUserData() const;
 	void setUserData(const std::string &userData);
+	bool getPasswordInherit() const;
+	void setPasswordInherit(bool passwordInherit);
 	std::string getInstanceType() const;
 	void setInstanceType(const std::string &instanceType);
 	std::string getInstanceChargeType() const;
@@ -117,6 +119,7 @@ private:
 	std::string imageId_;
 	long internetMaxBandwidthOut_;
 	std::string userData_;
+	bool passwordInherit_;
 	std::string instanceType_;
 	std::string instanceChargeType_;
 	long amount_;

+ 216 - 36
ens/src/EnsClient.cc

@@ -411,6 +411,42 @@ EnsClient::AuthorizeSecurityGroupEgressOutcomeCallable EnsClient::authorizeSecur
 	return task->get_future();
 }
 
+EnsClient::CleanDistDataOutcome EnsClient::cleanDistData(const CleanDistDataRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CleanDistDataOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CleanDistDataOutcome(CleanDistDataResult(outcome.result()));
+	else
+		return CleanDistDataOutcome(outcome.error());
+}
+
+void EnsClient::cleanDistDataAsync(const CleanDistDataRequest& request, const CleanDistDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, cleanDistData(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EnsClient::CleanDistDataOutcomeCallable EnsClient::cleanDistDataCallable(const CleanDistDataRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CleanDistDataOutcome()>>(
+			[this, request]()
+			{
+			return this->cleanDistData(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EnsClient::CreateARMServerInstancesOutcome EnsClient::createARMServerInstances(const CreateARMServerInstancesRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1455,6 +1491,42 @@ EnsClient::DeleteDeviceInternetPortOutcomeCallable EnsClient::deleteDeviceIntern
 	return task->get_future();
 }
 
+EnsClient::DeleteDiskOutcome EnsClient::deleteDisk(const DeleteDiskRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteDiskOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteDiskOutcome(DeleteDiskResult(outcome.result()));
+	else
+		return DeleteDiskOutcome(outcome.error());
+}
+
+void EnsClient::deleteDiskAsync(const DeleteDiskRequest& request, const DeleteDiskAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteDisk(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EnsClient::DeleteDiskOutcomeCallable EnsClient::deleteDiskCallable(const DeleteDiskRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteDiskOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteDisk(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EnsClient::DeleteEnsRouteEntryOutcome EnsClient::deleteEnsRouteEntry(const DeleteEnsRouteEntryRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -4911,6 +4983,42 @@ EnsClient::GetOssStorageAndAccByBucketsOutcomeCallable EnsClient::getOssStorageA
 	return task->get_future();
 }
 
+EnsClient::GetOssUsageDataOutcome EnsClient::getOssUsageData(const GetOssUsageDataRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetOssUsageDataOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetOssUsageDataOutcome(GetOssUsageDataResult(outcome.result()));
+	else
+		return GetOssUsageDataOutcome(outcome.error());
+}
+
+void EnsClient::getOssUsageDataAsync(const GetOssUsageDataRequest& request, const GetOssUsageDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getOssUsageData(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EnsClient::GetOssUsageDataOutcomeCallable EnsClient::getOssUsageDataCallable(const GetOssUsageDataRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetOssUsageDataOutcome()>>(
+			[this, request]()
+			{
+			return this->getOssUsageData(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EnsClient::ImportKeyPairOutcome EnsClient::importKeyPair(const ImportKeyPairRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -5595,42 +5703,6 @@ EnsClient::ModifyVSwitchAttributeOutcomeCallable EnsClient::modifyVSwitchAttribu
 	return task->get_future();
 }
 
-EnsClient::PreCreateEnsServiceOutcome EnsClient::preCreateEnsService(const PreCreateEnsServiceRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return PreCreateEnsServiceOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return PreCreateEnsServiceOutcome(PreCreateEnsServiceResult(outcome.result()));
-	else
-		return PreCreateEnsServiceOutcome(outcome.error());
-}
-
-void EnsClient::preCreateEnsServiceAsync(const PreCreateEnsServiceRequest& request, const PreCreateEnsServiceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, preCreateEnsService(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-EnsClient::PreCreateEnsServiceOutcomeCallable EnsClient::preCreateEnsServiceCallable(const PreCreateEnsServiceRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<PreCreateEnsServiceOutcome()>>(
-			[this, request]()
-			{
-			return this->preCreateEnsService(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
 EnsClient::PushApplicationDataOutcome EnsClient::pushApplicationData(const PushApplicationDataRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -5847,6 +5919,42 @@ EnsClient::RebootInstancesOutcomeCallable EnsClient::rebootInstancesCallable(con
 	return task->get_future();
 }
 
+EnsClient::RecoverAICInstanceOutcome EnsClient::recoverAICInstance(const RecoverAICInstanceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return RecoverAICInstanceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return RecoverAICInstanceOutcome(RecoverAICInstanceResult(outcome.result()));
+	else
+		return RecoverAICInstanceOutcome(outcome.error());
+}
+
+void EnsClient::recoverAICInstanceAsync(const RecoverAICInstanceRequest& request, const RecoverAICInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, recoverAICInstance(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EnsClient::RecoverAICInstanceOutcomeCallable EnsClient::recoverAICInstanceCallable(const RecoverAICInstanceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<RecoverAICInstanceOutcome()>>(
+			[this, request]()
+			{
+			return this->recoverAICInstance(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EnsClient::ReinitInstanceOutcome EnsClient::reinitInstance(const ReinitInstanceRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -5919,6 +6027,42 @@ EnsClient::ReinitInstancesOutcomeCallable EnsClient::reinitInstancesCallable(con
 	return task->get_future();
 }
 
+EnsClient::ReleaseAICInstanceOutcome EnsClient::releaseAICInstance(const ReleaseAICInstanceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ReleaseAICInstanceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ReleaseAICInstanceOutcome(ReleaseAICInstanceResult(outcome.result()));
+	else
+		return ReleaseAICInstanceOutcome(outcome.error());
+}
+
+void EnsClient::releaseAICInstanceAsync(const ReleaseAICInstanceRequest& request, const ReleaseAICInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, releaseAICInstance(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EnsClient::ReleaseAICInstanceOutcomeCallable EnsClient::releaseAICInstanceCallable(const ReleaseAICInstanceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ReleaseAICInstanceOutcome()>>(
+			[this, request]()
+			{
+			return this->releaseAICInstance(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EnsClient::ReleaseARMServerInstanceOutcome EnsClient::releaseARMServerInstance(const ReleaseARMServerInstanceRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -6387,6 +6531,42 @@ EnsClient::ResetDeviceInstanceOutcomeCallable EnsClient::resetDeviceInstanceCall
 	return task->get_future();
 }
 
+EnsClient::ResetDiskOutcome EnsClient::resetDisk(const ResetDiskRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ResetDiskOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ResetDiskOutcome(ResetDiskResult(outcome.result()));
+	else
+		return ResetDiskOutcome(outcome.error());
+}
+
+void EnsClient::resetDiskAsync(const ResetDiskRequest& request, const ResetDiskAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, resetDisk(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EnsClient::ResetDiskOutcomeCallable EnsClient::resetDiskCallable(const ResetDiskRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ResetDiskOutcome()>>(
+			[this, request]()
+			{
+			return this->resetDisk(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EnsClient::ResizeDiskOutcome EnsClient::resizeDisk(const ResizeDiskRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 63 - 0
ens/src/model/CleanDistDataRequest.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/CleanDistDataRequest.h>
+
+using AlibabaCloud::Ens::Model::CleanDistDataRequest;
+
+CleanDistDataRequest::CleanDistDataRequest()
+    : RpcServiceRequest("ens", "2017-11-10", "CleanDistData") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+CleanDistDataRequest::~CleanDistDataRequest() {}
+
+std::string CleanDistDataRequest::getEnsRegionId() const {
+  return ensRegionId_;
+}
+
+void CleanDistDataRequest::setEnsRegionId(const std::string &ensRegionId) {
+  ensRegionId_ = ensRegionId;
+  setParameter(std::string("EnsRegionId"), ensRegionId);
+}
+
+std::string CleanDistDataRequest::getDataName() const {
+  return dataName_;
+}
+
+void CleanDistDataRequest::setDataName(const std::string &dataName) {
+  dataName_ = dataName;
+  setParameter(std::string("DataName"), dataName);
+}
+
+std::string CleanDistDataRequest::getDataVersion() const {
+  return dataVersion_;
+}
+
+void CleanDistDataRequest::setDataVersion(const std::string &dataVersion) {
+  dataVersion_ = dataVersion;
+  setParameter(std::string("DataVersion"), dataVersion);
+}
+
+std::string CleanDistDataRequest::getAppId() const {
+  return appId_;
+}
+
+void CleanDistDataRequest::setAppId(const std::string &appId) {
+  appId_ = appId;
+  setParameter(std::string("AppId"), appId);
+}
+

+ 44 - 0
ens/src/model/CleanDistDataResult.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/ens/model/CleanDistDataResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ens;
+using namespace AlibabaCloud::Ens::Model;
+
+CleanDistDataResult::CleanDistDataResult() :
+	ServiceResult()
+{}
+
+CleanDistDataResult::CleanDistDataResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CleanDistDataResult::~CleanDistDataResult()
+{}
+
+void CleanDistDataResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+
+}
+

+ 9 - 0
ens/src/model/CreateDiskRequest.cc

@@ -25,6 +25,15 @@ CreateDiskRequest::CreateDiskRequest()
 
 CreateDiskRequest::~CreateDiskRequest() {}
 
+std::string CreateDiskRequest::getSnapshotId() const {
+  return snapshotId_;
+}
+
+void CreateDiskRequest::setSnapshotId(const std::string &snapshotId) {
+  snapshotId_ = snapshotId;
+  setParameter(std::string("SnapshotId"), snapshotId);
+}
+
 std::string CreateDiskRequest::getEnsRegionId() const {
   return ensRegionId_;
 }

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

@@ -25,6 +25,15 @@ CreateImageRequest::CreateImageRequest()
 
 CreateImageRequest::~CreateImageRequest() {}
 
+std::string CreateImageRequest::getSnapshotId() const {
+  return snapshotId_;
+}
+
+void CreateImageRequest::setSnapshotId(const std::string &snapshotId) {
+  snapshotId_ = snapshotId;
+  setParameter(std::string("SnapshotId"), snapshotId);
+}
+
 std::string CreateImageRequest::getDeleteAfterImageUpload() const {
   return deleteAfterImageUpload_;
 }
@@ -43,15 +52,6 @@ void CreateImageRequest::setImageName(const std::string &imageName) {
   setParameter(std::string("ImageName"), imageName);
 }
 
-std::string CreateImageRequest::getProduct() const {
-  return product_;
-}
-
-void CreateImageRequest::setProduct(const std::string &product) {
-  product_ = product;
-  setParameter(std::string("product"), product);
-}
-
 std::string CreateImageRequest::getInstanceId() const {
   return instanceId_;
 }

+ 36 - 0
ens/src/model/DeleteDiskRequest.cc

@@ -0,0 +1,36 @@
+/*
+ * 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/DeleteDiskRequest.h>
+
+using AlibabaCloud::Ens::Model::DeleteDiskRequest;
+
+DeleteDiskRequest::DeleteDiskRequest()
+    : RpcServiceRequest("ens", "2017-11-10", "DeleteDisk") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DeleteDiskRequest::~DeleteDiskRequest() {}
+
+std::string DeleteDiskRequest::getDiskId() const {
+  return diskId_;
+}
+
+void DeleteDiskRequest::setDiskId(const std::string &diskId) {
+  diskId_ = diskId;
+  setParameter(std::string("DiskId"), diskId);
+}
+

+ 6 - 27
ens/src/model/PreCreateEnsServiceResult.cc → ens/src/model/DeleteDiskResult.cc

@@ -14,59 +14,38 @@
  * limitations under the License.
  */
 
-#include <alibabacloud/ens/model/PreCreateEnsServiceResult.h>
+#include <alibabacloud/ens/model/DeleteDiskResult.h>
 #include <json/json.h>
 
 using namespace AlibabaCloud::Ens;
 using namespace AlibabaCloud::Ens::Model;
 
-PreCreateEnsServiceResult::PreCreateEnsServiceResult() :
+DeleteDiskResult::DeleteDiskResult() :
 	ServiceResult()
 {}
 
-PreCreateEnsServiceResult::PreCreateEnsServiceResult(const std::string &payload) :
+DeleteDiskResult::DeleteDiskResult(const std::string &payload) :
 	ServiceResult()
 {
 	parse(payload);
 }
 
-PreCreateEnsServiceResult::~PreCreateEnsServiceResult()
+DeleteDiskResult::~DeleteDiskResult()
 {}
 
-void PreCreateEnsServiceResult::parse(const std::string &payload)
+void DeleteDiskResult::parse(const std::string &payload)
 {
 	Json::Reader reader;
 	Json::Value value;
 	reader.parse(payload, value);
 	setRequestId(value["RequestId"].asString());
-	if(!value["BuyResourcesDetail"].isNull())
-		buyResourcesDetail_ = value["BuyResourcesDetail"].asString();
 	if(!value["Code"].isNull())
 		code_ = std::stoi(value["Code"].asString());
-	if(!value["EnsServiceId"].isNull())
-		ensServiceId_ = value["EnsServiceId"].asString();
-	if(!value["NetLevel"].isNull())
-		netLevel_ = value["NetLevel"].asString();
 
 }
 
-std::string PreCreateEnsServiceResult::getEnsServiceId()const
-{
-	return ensServiceId_;
-}
-
-std::string PreCreateEnsServiceResult::getNetLevel()const
-{
-	return netLevel_;
-}
-
-int PreCreateEnsServiceResult::getCode()const
+int DeleteDiskResult::getCode()const
 {
 	return code_;
 }
 
-std::string PreCreateEnsServiceResult::getBuyResourcesDetail()const
-{
-	return buyResourcesDetail_;
-}
-

+ 11 - 0
ens/src/model/DescribeDataDistResultRequest.cc

@@ -70,6 +70,17 @@ void DescribeDataDistResultRequest::setPageSize(int pageSize) {
   setParameter(std::string("PageSize"), std::to_string(pageSize));
 }
 
+std::vector<DescribeDataDistResultRequest::std::string> DescribeDataDistResultRequest::getEnsRegionIds() const {
+  return ensRegionIds_;
+}
+
+void DescribeDataDistResultRequest::setEnsRegionIds(const std::vector<DescribeDataDistResultRequest::std::string> &ensRegionIds) {
+  ensRegionIds_ = ensRegionIds;
+  for(int dep1 = 0; dep1 != ensRegionIds.size(); dep1++) {
+    setParameter(std::string("EnsRegionIds") + "." + std::to_string(dep1 + 1), ensRegionIds[dep1]);
+  }
+}
+
 std::string DescribeDataDistResultRequest::getMinDate() const {
   return minDate_;
 }

+ 18 - 0
ens/src/model/DescribeDisksRequest.cc

@@ -70,6 +70,15 @@ void DescribeDisksRequest::setEnsRegionId(const std::string &ensRegionId) {
   setParameter(std::string("EnsRegionId"), ensRegionId);
 }
 
+std::string DescribeDisksRequest::getInstanceId() const {
+  return instanceId_;
+}
+
+void DescribeDisksRequest::setInstanceId(const std::string &instanceId) {
+  instanceId_ = instanceId;
+  setParameter(std::string("InstanceId"), instanceId);
+}
+
 std::string DescribeDisksRequest::getStatus() const {
   return status_;
 }
@@ -79,6 +88,15 @@ void DescribeDisksRequest::setStatus(const std::string &status) {
   setParameter(std::string("Status"), status);
 }
 
+std::string DescribeDisksRequest::getSnapshotId() const {
+  return snapshotId_;
+}
+
+void DescribeDisksRequest::setSnapshotId(const std::string &snapshotId) {
+  snapshotId_ = snapshotId;
+  setParameter(std::string("SnapshotId"), snapshotId);
+}
+
 std::string DescribeDisksRequest::getPageNumber() const {
   return pageNumber_;
 }

+ 2 - 0
ens/src/model/DescribeDisksResult.cc

@@ -67,6 +67,8 @@ void DescribeDisksResult::parse(const std::string &payload)
 			disksObject.type = valueDisksDisksItem["Type"].asString();
 		if(!valueDisksDisksItem["Portable"].isNull())
 			disksObject.portable = valueDisksDisksItem["Portable"].asString() == "true";
+		if(!valueDisksDisksItem["SnapshotId"].isNull())
+			disksObject.snapshotId = valueDisksDisksItem["SnapshotId"].asString();
 		disks_.push_back(disksObject);
 	}
 	if(!value["Code"].isNull())

+ 9 - 0
ens/src/model/DescribeEnsEipAddressesRequest.cc

@@ -25,6 +25,15 @@ DescribeEnsEipAddressesRequest::DescribeEnsEipAddressesRequest()
 
 DescribeEnsEipAddressesRequest::~DescribeEnsEipAddressesRequest() {}
 
+std::string DescribeEnsEipAddressesRequest::getEipName() const {
+  return eipName_;
+}
+
+void DescribeEnsEipAddressesRequest::setEipName(const std::string &eipName) {
+  eipName_ = eipName;
+  setParameter(std::string("EipName"), eipName);
+}
+
 std::string DescribeEnsEipAddressesRequest::getEipAddress() const {
   return eipAddress_;
 }

+ 2 - 0
ens/src/model/DescribeImageInfosResult.cc

@@ -55,6 +55,8 @@ void DescribeImageInfosResult::parse(const std::string &payload)
 			imagesObject.oSName = valueImagesImage["OSName"].asString();
 		if(!valueImagesImage["OSType"].isNull())
 			imagesObject.oSType = valueImagesImage["OSType"].asString();
+		if(!valueImagesImage["ComputeType"].isNull())
+			imagesObject.computeType = valueImagesImage["ComputeType"].asString();
 		images_.push_back(imagesObject);
 	}
 	if(!value["Code"].isNull())

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

@@ -52,6 +52,15 @@ void DescribeImagesRequest::setImageId(const std::string &imageId) {
   setParameter(std::string("ImageId"), imageId);
 }
 
+std::string DescribeImagesRequest::getSnapshotId() const {
+  return snapshotId_;
+}
+
+void DescribeImagesRequest::setSnapshotId(const std::string &snapshotId) {
+  snapshotId_ = snapshotId;
+  setParameter(std::string("SnapshotId"), snapshotId);
+}
+
 std::string DescribeImagesRequest::getPageNumber() const {
   return pageNumber_;
 }
@@ -79,12 +88,3 @@ void DescribeImagesRequest::setPageSize(const std::string &pageSize) {
   setParameter(std::string("PageSize"), pageSize);
 }
 
-std::string DescribeImagesRequest::getProduct() const {
-  return product_;
-}
-
-void DescribeImagesRequest::setProduct(const std::string &product) {
-  product_ = product;
-  setParameter(std::string("product"), product);
-}
-

+ 2 - 0
ens/src/model/DescribeImagesResult.cc

@@ -57,6 +57,8 @@ void DescribeImagesResult::parse(const std::string &payload)
 			imagesObject.imageSize = valueImagesImage["ImageSize"].asString();
 		if(!valueImagesImage["Platform"].isNull())
 			imagesObject.platform = valueImagesImage["Platform"].asString();
+		if(!valueImagesImage["SnapshotId"].isNull())
+			imagesObject.snapshotId = valueImagesImage["SnapshotId"].asString();
 		images_.push_back(imagesObject);
 	}
 	if(!value["Code"].isNull())

+ 48 - 48
ens/src/model/DescribeResourceTimelineResult.cc

@@ -39,60 +39,60 @@ void DescribeResourceTimelineResult::parse(const std::string &payload)
 	Json::Value value;
 	reader.parse(payload, value);
 	setRequestId(value["RequestId"].asString());
-	auto allAvailableEventsNode = value["AvailableEvents"]["可用性事件"];
-	for (auto valueAvailableEvents可用性事件 : allAvailableEventsNode)
+	auto allAvailableEventsNode = value["AvailableEvents"]["AvailableEventsItem"];
+	for (auto valueAvailableEventsAvailableEventsItem : allAvailableEventsNode)
 	{
-		可用性事件 availableEventsObject;
-		if(!valueAvailableEvents可用性事件["Name"].isNull())
-			availableEventsObject.name = valueAvailableEvents可用性事件["Name"].asString();
-		if(!valueAvailableEvents可用性事件["OccurrenceTime"].isNull())
-			availableEventsObject.occurrenceTime = valueAvailableEvents可用性事件["OccurrenceTime"].asString();
-		if(!valueAvailableEvents可用性事件["Reason"].isNull())
-			availableEventsObject.reason = valueAvailableEvents可用性事件["Reason"].asString();
-		if(!valueAvailableEvents可用性事件["Type"].isNull())
-			availableEventsObject.type = valueAvailableEvents可用性事件["Type"].asString();
+		AvailableEventsItem availableEventsObject;
+		if(!valueAvailableEventsAvailableEventsItem["Name"].isNull())
+			availableEventsObject.name = valueAvailableEventsAvailableEventsItem["Name"].asString();
+		if(!valueAvailableEventsAvailableEventsItem["OccurrenceTime"].isNull())
+			availableEventsObject.occurrenceTime = valueAvailableEventsAvailableEventsItem["OccurrenceTime"].asString();
+		if(!valueAvailableEventsAvailableEventsItem["Reason"].isNull())
+			availableEventsObject.reason = valueAvailableEventsAvailableEventsItem["Reason"].asString();
+		if(!valueAvailableEventsAvailableEventsItem["Type"].isNull())
+			availableEventsObject.type = valueAvailableEventsAvailableEventsItem["Type"].asString();
 		availableEvents_.push_back(availableEventsObject);
 	}
-	auto allBizEventsNode = value["BizEvents"]["建设状态事件"];
-	for (auto valueBizEvents建设状态事件 : allBizEventsNode)
+	auto allBizEventsNode = value["BizEvents"]["BizEventsItem"];
+	for (auto valueBizEventsBizEventsItem : allBizEventsNode)
 	{
-		建设状态事件 bizEventsObject;
-		if(!valueBizEvents建设状态事件["Name"].isNull())
-			bizEventsObject.name = valueBizEvents建设状态事件["Name"].asString();
-		if(!valueBizEvents建设状态事件["OccurrenceTime"].isNull())
-			bizEventsObject.occurrenceTime = valueBizEvents建设状态事件["OccurrenceTime"].asString();
-		if(!valueBizEvents建设状态事件["Reason"].isNull())
-			bizEventsObject.reason = valueBizEvents建设状态事件["Reason"].asString();
-		if(!valueBizEvents建设状态事件["Type"].isNull())
-			bizEventsObject.type = valueBizEvents建设状态事件["Type"].asString();
+		BizEventsItem bizEventsObject;
+		if(!valueBizEventsBizEventsItem["Name"].isNull())
+			bizEventsObject.name = valueBizEventsBizEventsItem["Name"].asString();
+		if(!valueBizEventsBizEventsItem["OccurrenceTime"].isNull())
+			bizEventsObject.occurrenceTime = valueBizEventsBizEventsItem["OccurrenceTime"].asString();
+		if(!valueBizEventsBizEventsItem["Reason"].isNull())
+			bizEventsObject.reason = valueBizEventsBizEventsItem["Reason"].asString();
+		if(!valueBizEventsBizEventsItem["Type"].isNull())
+			bizEventsObject.type = valueBizEventsBizEventsItem["Type"].asString();
 		bizEvents_.push_back(bizEventsObject);
 	}
-	auto allInventoryEventsNode = value["InventoryEvents"]["资源扣减事件"];
-	for (auto valueInventoryEvents资源扣减事件 : allInventoryEventsNode)
+	auto allInventoryEventsNode = value["InventoryEvents"]["InventoryEventsItem"];
+	for (auto valueInventoryEventsInventoryEventsItem : allInventoryEventsNode)
 	{
-		资源扣减事件 inventoryEventsObject;
-		if(!valueInventoryEvents资源扣减事件["Name"].isNull())
-			inventoryEventsObject.name = valueInventoryEvents资源扣减事件["Name"].asString();
-		if(!valueInventoryEvents资源扣减事件["OccurrenceTime"].isNull())
-			inventoryEventsObject.occurrenceTime = valueInventoryEvents资源扣减事件["OccurrenceTime"].asString();
-		if(!valueInventoryEvents资源扣减事件["Reason"].isNull())
-			inventoryEventsObject.reason = valueInventoryEvents资源扣减事件["Reason"].asString();
-		if(!valueInventoryEvents资源扣减事件["Type"].isNull())
-			inventoryEventsObject.type = valueInventoryEvents资源扣减事件["Type"].asString();
+		InventoryEventsItem inventoryEventsObject;
+		if(!valueInventoryEventsInventoryEventsItem["Name"].isNull())
+			inventoryEventsObject.name = valueInventoryEventsInventoryEventsItem["Name"].asString();
+		if(!valueInventoryEventsInventoryEventsItem["OccurrenceTime"].isNull())
+			inventoryEventsObject.occurrenceTime = valueInventoryEventsInventoryEventsItem["OccurrenceTime"].asString();
+		if(!valueInventoryEventsInventoryEventsItem["Reason"].isNull())
+			inventoryEventsObject.reason = valueInventoryEventsInventoryEventsItem["Reason"].asString();
+		if(!valueInventoryEventsInventoryEventsItem["Type"].isNull())
+			inventoryEventsObject.type = valueInventoryEventsInventoryEventsItem["Type"].asString();
 		inventoryEvents_.push_back(inventoryEventsObject);
 	}
-	auto allReserveEventsNode = value["ReserveEvents"]["资源预留事件"];
-	for (auto valueReserveEvents资源预留事件 : allReserveEventsNode)
+	auto allReserveEventsNode = value["ReserveEvents"]["ReserveEventsItem"];
+	for (auto valueReserveEventsReserveEventsItem : allReserveEventsNode)
 	{
-		资源预留事件 reserveEventsObject;
-		if(!valueReserveEvents资源预留事件["Name"].isNull())
-			reserveEventsObject.name = valueReserveEvents资源预留事件["Name"].asString();
-		if(!valueReserveEvents资源预留事件["OccurrenceTime"].isNull())
-			reserveEventsObject.occurrenceTime = valueReserveEvents资源预留事件["OccurrenceTime"].asString();
-		if(!valueReserveEvents资源预留事件["Reason"].isNull())
-			reserveEventsObject.reason = valueReserveEvents资源预留事件["Reason"].asString();
-		if(!valueReserveEvents资源预留事件["Type"].isNull())
-			reserveEventsObject.type = valueReserveEvents资源预留事件["Type"].asString();
+		ReserveEventsItem reserveEventsObject;
+		if(!valueReserveEventsReserveEventsItem["Name"].isNull())
+			reserveEventsObject.name = valueReserveEventsReserveEventsItem["Name"].asString();
+		if(!valueReserveEventsReserveEventsItem["OccurrenceTime"].isNull())
+			reserveEventsObject.occurrenceTime = valueReserveEventsReserveEventsItem["OccurrenceTime"].asString();
+		if(!valueReserveEventsReserveEventsItem["Reason"].isNull())
+			reserveEventsObject.reason = valueReserveEventsReserveEventsItem["Reason"].asString();
+		if(!valueReserveEventsReserveEventsItem["Type"].isNull())
+			reserveEventsObject.type = valueReserveEventsReserveEventsItem["Type"].asString();
 		reserveEvents_.push_back(reserveEventsObject);
 	}
 	if(!value["Msg"].isNull())
@@ -112,22 +112,22 @@ std::string DescribeResourceTimelineResult::getDesc()const
 	return desc_;
 }
 
-std::vector<DescribeResourceTimelineResult::资源扣减事件> DescribeResourceTimelineResult::getInventoryEvents()const
+std::vector<DescribeResourceTimelineResult::InventoryEventsItem> DescribeResourceTimelineResult::getInventoryEvents()const
 {
 	return inventoryEvents_;
 }
 
-std::vector<DescribeResourceTimelineResult::可用性事件> DescribeResourceTimelineResult::getAvailableEvents()const
+std::vector<DescribeResourceTimelineResult::AvailableEventsItem> DescribeResourceTimelineResult::getAvailableEvents()const
 {
 	return availableEvents_;
 }
 
-std::vector<DescribeResourceTimelineResult::建设状态事件> DescribeResourceTimelineResult::getBizEvents()const
+std::vector<DescribeResourceTimelineResult::BizEventsItem> DescribeResourceTimelineResult::getBizEvents()const
 {
 	return bizEvents_;
 }
 
-std::vector<DescribeResourceTimelineResult::资源预留事件> DescribeResourceTimelineResult::getReserveEvents()const
+std::vector<DescribeResourceTimelineResult::ReserveEventsItem> DescribeResourceTimelineResult::getReserveEvents()const
 {
 	return reserveEvents_;
 }

+ 9 - 0
ens/src/model/DescribeSelfImagesRequest.cc

@@ -34,6 +34,15 @@ void DescribeSelfImagesRequest::setImageId(const std::string &imageId) {
   setParameter(std::string("ImageId"), imageId);
 }
 
+std::string DescribeSelfImagesRequest::getSnapshotId() const {
+  return snapshotId_;
+}
+
+void DescribeSelfImagesRequest::setSnapshotId(const std::string &snapshotId) {
+  snapshotId_ = snapshotId;
+  setParameter(std::string("SnapshotId"), snapshotId);
+}
+
 int DescribeSelfImagesRequest::getPageNumber() const {
   return pageNumber_;
 }

+ 4 - 0
ens/src/model/DescribeSelfImagesResult.cc

@@ -63,6 +63,10 @@ void DescribeSelfImagesResult::parse(const std::string &payload)
 			imagesObject.platform = valueImagesImage["Platform"].asString();
 		if(!valueImagesImage["Status"].isNull())
 			imagesObject.status = valueImagesImage["Status"].asString();
+		if(!valueImagesImage["ComputeType"].isNull())
+			imagesObject.computeType = valueImagesImage["ComputeType"].asString();
+		if(!valueImagesImage["SnapshotId"].isNull())
+			imagesObject.snapshotId = valueImagesImage["SnapshotId"].asString();
 		images_.push_back(imagesObject);
 	}
 	if(!value["Code"].isNull())

+ 63 - 0
ens/src/model/GetOssUsageDataRequest.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/GetOssUsageDataRequest.h>
+
+using AlibabaCloud::Ens::Model::GetOssUsageDataRequest;
+
+GetOssUsageDataRequest::GetOssUsageDataRequest()
+    : RpcServiceRequest("ens", "2017-11-10", "GetOssUsageData") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+GetOssUsageDataRequest::~GetOssUsageDataRequest() {}
+
+std::string GetOssUsageDataRequest::getStartTime() const {
+  return startTime_;
+}
+
+void GetOssUsageDataRequest::setStartTime(const std::string &startTime) {
+  startTime_ = startTime;
+  setParameter(std::string("StartTime"), startTime);
+}
+
+std::string GetOssUsageDataRequest::getPeriod() const {
+  return period_;
+}
+
+void GetOssUsageDataRequest::setPeriod(const std::string &period) {
+  period_ = period;
+  setParameter(std::string("Period"), period);
+}
+
+std::string GetOssUsageDataRequest::getEndTime() const {
+  return endTime_;
+}
+
+void GetOssUsageDataRequest::setEndTime(const std::string &endTime) {
+  endTime_ = endTime;
+  setParameter(std::string("EndTime"), endTime);
+}
+
+std::string GetOssUsageDataRequest::getBucket() const {
+  return bucket_;
+}
+
+void GetOssUsageDataRequest::setBucket(const std::string &bucket) {
+  bucket_ = bucket;
+  setParameter(std::string("Bucket"), bucket);
+}
+

+ 69 - 0
ens/src/model/GetOssUsageDataResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/ens/model/GetOssUsageDataResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ens;
+using namespace AlibabaCloud::Ens::Model;
+
+GetOssUsageDataResult::GetOssUsageDataResult() :
+	ServiceResult()
+{}
+
+GetOssUsageDataResult::GetOssUsageDataResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetOssUsageDataResult::~GetOssUsageDataResult()
+{}
+
+void GetOssUsageDataResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allUsageListNode = value["UsageList"]["UsageListItem"];
+	for (auto valueUsageListUsageListItem : allUsageListNode)
+	{
+		UsageListItem usageListObject;
+		if(!valueUsageListUsageListItem["LanRxBw"].isNull())
+			usageListObject.lanRxBw = std::stol(valueUsageListUsageListItem["LanRxBw"].asString());
+		if(!valueUsageListUsageListItem["LanTxBw"].isNull())
+			usageListObject.lanTxBw = std::stol(valueUsageListUsageListItem["LanTxBw"].asString());
+		if(!valueUsageListUsageListItem["Point"].isNull())
+			usageListObject.point = std::stol(valueUsageListUsageListItem["Point"].asString());
+		if(!valueUsageListUsageListItem["PointTs"].isNull())
+			usageListObject.pointTs = valueUsageListUsageListItem["PointTs"].asString();
+		if(!valueUsageListUsageListItem["StorageUsageByte"].isNull())
+			usageListObject.storageUsageByte = std::stol(valueUsageListUsageListItem["StorageUsageByte"].asString());
+		if(!valueUsageListUsageListItem["WanRxBw"].isNull())
+			usageListObject.wanRxBw = std::stol(valueUsageListUsageListItem["WanRxBw"].asString());
+		if(!valueUsageListUsageListItem["WanTxBw"].isNull())
+			usageListObject.wanTxBw = std::stol(valueUsageListUsageListItem["WanTxBw"].asString());
+		usageList_.push_back(usageListObject);
+	}
+
+}
+
+std::vector<GetOssUsageDataResult::UsageListItem> GetOssUsageDataResult::getUsageList()const
+{
+	return usageList_;
+}
+

+ 0 - 153
ens/src/model/PreCreateEnsServiceRequest.cc

@@ -1,153 +0,0 @@
-/*
- * 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/PreCreateEnsServiceRequest.h>
-
-using AlibabaCloud::Ens::Model::PreCreateEnsServiceRequest;
-
-PreCreateEnsServiceRequest::PreCreateEnsServiceRequest()
-    : RpcServiceRequest("ens", "2017-11-10", "PreCreateEnsService") {
-  setMethod(HttpRequest::Method::Post);
-}
-
-PreCreateEnsServiceRequest::~PreCreateEnsServiceRequest() {}
-
-std::string PreCreateEnsServiceRequest::getBandwidthType() const {
-  return bandwidthType_;
-}
-
-void PreCreateEnsServiceRequest::setBandwidthType(const std::string &bandwidthType) {
-  bandwidthType_ = bandwidthType;
-  setParameter(std::string("BandwidthType"), bandwidthType);
-}
-
-std::string PreCreateEnsServiceRequest::getKeyPairName() const {
-  return keyPairName_;
-}
-
-void PreCreateEnsServiceRequest::setKeyPairName(const std::string &keyPairName) {
-  keyPairName_ = keyPairName;
-  setParameter(std::string("KeyPairName"), keyPairName);
-}
-
-std::string PreCreateEnsServiceRequest::getPassword() const {
-  return password_;
-}
-
-void PreCreateEnsServiceRequest::setPassword(const std::string &password) {
-  password_ = password;
-  setParameter(std::string("Password"), password);
-}
-
-std::string PreCreateEnsServiceRequest::getBuyResourcesDetail() const {
-  return buyResourcesDetail_;
-}
-
-void PreCreateEnsServiceRequest::setBuyResourcesDetail(const std::string &buyResourcesDetail) {
-  buyResourcesDetail_ = buyResourcesDetail;
-  setParameter(std::string("BuyResourcesDetail"), buyResourcesDetail);
-}
-
-std::string PreCreateEnsServiceRequest::getSystemDiskSize() const {
-  return systemDiskSize_;
-}
-
-void PreCreateEnsServiceRequest::setSystemDiskSize(const std::string &systemDiskSize) {
-  systemDiskSize_ = systemDiskSize;
-  setParameter(std::string("SystemDiskSize"), systemDiskSize);
-}
-
-std::string PreCreateEnsServiceRequest::getInstanceBandwithdLimit() const {
-  return instanceBandwithdLimit_;
-}
-
-void PreCreateEnsServiceRequest::setInstanceBandwithdLimit(const std::string &instanceBandwithdLimit) {
-  instanceBandwithdLimit_ = instanceBandwithdLimit;
-  setParameter(std::string("InstanceBandwithdLimit"), instanceBandwithdLimit);
-}
-
-std::string PreCreateEnsServiceRequest::getEnsServiceName() const {
-  return ensServiceName_;
-}
-
-void PreCreateEnsServiceRequest::setEnsServiceName(const std::string &ensServiceName) {
-  ensServiceName_ = ensServiceName;
-  setParameter(std::string("EnsServiceName"), ensServiceName);
-}
-
-std::string PreCreateEnsServiceRequest::getNetLevel() const {
-  return netLevel_;
-}
-
-void PreCreateEnsServiceRequest::setNetLevel(const std::string &netLevel) {
-  netLevel_ = netLevel;
-  setParameter(std::string("NetLevel"), netLevel);
-}
-
-std::string PreCreateEnsServiceRequest::getDataDiskSize() const {
-  return dataDiskSize_;
-}
-
-void PreCreateEnsServiceRequest::setDataDiskSize(const std::string &dataDiskSize) {
-  dataDiskSize_ = dataDiskSize;
-  setParameter(std::string("DataDiskSize"), dataDiskSize);
-}
-
-std::string PreCreateEnsServiceRequest::getSchedulingPriceStrategy() const {
-  return schedulingPriceStrategy_;
-}
-
-void PreCreateEnsServiceRequest::setSchedulingPriceStrategy(const std::string &schedulingPriceStrategy) {
-  schedulingPriceStrategy_ = schedulingPriceStrategy;
-  setParameter(std::string("SchedulingPriceStrategy"), schedulingPriceStrategy);
-}
-
-std::string PreCreateEnsServiceRequest::getImageId() const {
-  return imageId_;
-}
-
-void PreCreateEnsServiceRequest::setImageId(const std::string &imageId) {
-  imageId_ = imageId;
-  setParameter(std::string("ImageId"), imageId);
-}
-
-std::string PreCreateEnsServiceRequest::getInstanceSpec() const {
-  return instanceSpec_;
-}
-
-void PreCreateEnsServiceRequest::setInstanceSpec(const std::string &instanceSpec) {
-  instanceSpec_ = instanceSpec;
-  setParameter(std::string("InstanceSpec"), instanceSpec);
-}
-
-std::string PreCreateEnsServiceRequest::getUserData() const {
-  return userData_;
-}
-
-void PreCreateEnsServiceRequest::setUserData(const std::string &userData) {
-  userData_ = userData;
-  setParameter(std::string("UserData"), userData);
-}
-
-std::string PreCreateEnsServiceRequest::getSchedulingStrategy() const {
-  return schedulingStrategy_;
-}
-
-void PreCreateEnsServiceRequest::setSchedulingStrategy(const std::string &schedulingStrategy) {
-  schedulingStrategy_ = schedulingStrategy;
-  setParameter(std::string("SchedulingStrategy"), schedulingStrategy);
-}
-

+ 36 - 0
ens/src/model/RecoverAICInstanceRequest.cc

@@ -0,0 +1,36 @@
+/*
+ * 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/RecoverAICInstanceRequest.h>
+
+using AlibabaCloud::Ens::Model::RecoverAICInstanceRequest;
+
+RecoverAICInstanceRequest::RecoverAICInstanceRequest()
+    : RpcServiceRequest("ens", "2017-11-10", "RecoverAICInstance") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+RecoverAICInstanceRequest::~RecoverAICInstanceRequest() {}
+
+std::string RecoverAICInstanceRequest::getServerId() const {
+  return serverId_;
+}
+
+void RecoverAICInstanceRequest::setServerId(const std::string &serverId) {
+  serverId_ = serverId;
+  setParameter(std::string("ServerId"), serverId);
+}
+

+ 44 - 0
ens/src/model/RecoverAICInstanceResult.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/ens/model/RecoverAICInstanceResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ens;
+using namespace AlibabaCloud::Ens::Model;
+
+RecoverAICInstanceResult::RecoverAICInstanceResult() :
+	ServiceResult()
+{}
+
+RecoverAICInstanceResult::RecoverAICInstanceResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+RecoverAICInstanceResult::~RecoverAICInstanceResult()
+{}
+
+void RecoverAICInstanceResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+
+}
+

+ 36 - 0
ens/src/model/ReleaseAICInstanceRequest.cc

@@ -0,0 +1,36 @@
+/*
+ * 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/ReleaseAICInstanceRequest.h>
+
+using AlibabaCloud::Ens::Model::ReleaseAICInstanceRequest;
+
+ReleaseAICInstanceRequest::ReleaseAICInstanceRequest()
+    : RpcServiceRequest("ens", "2017-11-10", "ReleaseAICInstance") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+ReleaseAICInstanceRequest::~ReleaseAICInstanceRequest() {}
+
+std::string ReleaseAICInstanceRequest::getServerId() const {
+  return serverId_;
+}
+
+void ReleaseAICInstanceRequest::setServerId(const std::string &serverId) {
+  serverId_ = serverId;
+  setParameter(std::string("ServerId"), serverId);
+}
+

+ 44 - 0
ens/src/model/ReleaseAICInstanceResult.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/ens/model/ReleaseAICInstanceResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ens;
+using namespace AlibabaCloud::Ens::Model;
+
+ReleaseAICInstanceResult::ReleaseAICInstanceResult() :
+	ServiceResult()
+{}
+
+ReleaseAICInstanceResult::ReleaseAICInstanceResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ReleaseAICInstanceResult::~ReleaseAICInstanceResult()
+{}
+
+void ReleaseAICInstanceResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+
+}
+

+ 45 - 0
ens/src/model/ResetDiskRequest.cc

@@ -0,0 +1,45 @@
+/*
+ * 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/ResetDiskRequest.h>
+
+using AlibabaCloud::Ens::Model::ResetDiskRequest;
+
+ResetDiskRequest::ResetDiskRequest()
+    : RpcServiceRequest("ens", "2017-11-10", "ResetDisk") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+ResetDiskRequest::~ResetDiskRequest() {}
+
+std::string ResetDiskRequest::getSnapshotId() const {
+  return snapshotId_;
+}
+
+void ResetDiskRequest::setSnapshotId(const std::string &snapshotId) {
+  snapshotId_ = snapshotId;
+  setParameter(std::string("SnapshotId"), snapshotId);
+}
+
+std::string ResetDiskRequest::getDiskId() const {
+  return diskId_;
+}
+
+void ResetDiskRequest::setDiskId(const std::string &diskId) {
+  diskId_ = diskId;
+  setParameter(std::string("DiskId"), diskId);
+}
+

+ 44 - 0
ens/src/model/ResetDiskResult.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/ens/model/ResetDiskResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ens;
+using namespace AlibabaCloud::Ens::Model;
+
+ResetDiskResult::ResetDiskResult() :
+	ServiceResult()
+{}
+
+ResetDiskResult::ResetDiskResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ResetDiskResult::~ResetDiskResult()
+{}
+
+void ResetDiskResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+
+}
+

+ 9 - 0
ens/src/model/RunInstancesRequest.cc

@@ -223,6 +223,15 @@ void RunInstancesRequest::setUserData(const std::string &userData) {
   setParameter(std::string("UserData"), userData);
 }
 
+bool RunInstancesRequest::getPasswordInherit() const {
+  return passwordInherit_;
+}
+
+void RunInstancesRequest::setPasswordInherit(bool passwordInherit) {
+  passwordInherit_ = passwordInherit;
+  setParameter(std::string("PasswordInherit"), passwordInherit ? "true" : "false");
+}
+
 std::string RunInstancesRequest::getInstanceType() const {
   return instanceType_;
 }