فهرست منبع

Generated 2014-05-26 for Ecs.

sdk-team 6 سال پیش
والد
کامیت
72d59ded68
38فایلهای تغییر یافته به همراه2509 افزوده شده و 0 حذف شده
  1. 3 0
      CHANGELOG
  2. 24 0
      ecs/CMakeLists.txt
  3. 48 0
      ecs/include/alibabacloud/ecs/EcsClient.h
  4. 111 0
      ecs/include/alibabacloud/ecs/model/CreateElasticityAssuranceRequest.h
  5. 53 0
      ecs/include/alibabacloud/ecs/model/CreateElasticityAssuranceResult.h
  6. 6 0
      ecs/include/alibabacloud/ecs/model/CreateInstanceRequest.h
  7. 3 0
      ecs/include/alibabacloud/ecs/model/CreateSecurityGroupRequest.h
  8. 72 0
      ecs/include/alibabacloud/ecs/model/DescribeElasticityAssuranceInstancesRequest.h
  9. 61 0
      ecs/include/alibabacloud/ecs/model/DescribeElasticityAssuranceInstancesResult.h
  10. 72 0
      ecs/include/alibabacloud/ecs/model/DescribeElasticityAssurancesRequest.h
  11. 79 0
      ecs/include/alibabacloud/ecs/model/DescribeElasticityAssurancesResult.h
  12. 69 0
      ecs/include/alibabacloud/ecs/model/DescribeInstanceAttachmentAttributesRequest.h
  13. 63 0
      ecs/include/alibabacloud/ecs/model/DescribeInstanceAttachmentAttributesResult.h
  14. 3 0
      ecs/include/alibabacloud/ecs/model/DescribeInstanceTypesRequest.h
  15. 9 0
      ecs/include/alibabacloud/ecs/model/DescribePriceRequest.h
  16. 69 0
      ecs/include/alibabacloud/ecs/model/ModifyInstanceAttachmentAttributesRequest.h
  17. 49 0
      ecs/include/alibabacloud/ecs/model/ModifyInstanceAttachmentAttributesResult.h
  18. 6 0
      ecs/include/alibabacloud/ecs/model/RunInstancesRequest.h
  19. 63 0
      ecs/include/alibabacloud/ecs/model/StartElasticityAssuranceRequest.h
  20. 49 0
      ecs/include/alibabacloud/ecs/model/StartElasticityAssuranceResult.h
  21. 216 0
      ecs/src/EcsClient.cc
  22. 275 0
      ecs/src/model/CreateElasticityAssuranceRequest.cc
  23. 58 0
      ecs/src/model/CreateElasticityAssuranceResult.cc
  24. 22 0
      ecs/src/model/CreateInstanceRequest.cc
  25. 11 0
      ecs/src/model/CreateSecurityGroupRequest.cc
  26. 128 0
      ecs/src/model/DescribeElasticityAssuranceInstancesRequest.cc
  27. 78 0
      ecs/src/model/DescribeElasticityAssuranceInstancesResult.cc
  28. 128 0
      ecs/src/model/DescribeElasticityAssurancesRequest.cc
  29. 112 0
      ecs/src/model/DescribeElasticityAssurancesResult.cc
  30. 117 0
      ecs/src/model/DescribeInstanceAttachmentAttributesRequest.cc
  31. 82 0
      ecs/src/model/DescribeInstanceAttachmentAttributesResult.cc
  32. 13 0
      ecs/src/model/DescribeInstanceTypesRequest.cc
  33. 35 0
      ecs/src/model/DescribePriceRequest.cc
  34. 117 0
      ecs/src/model/ModifyInstanceAttachmentAttributesRequest.cc
  35. 44 0
      ecs/src/model/ModifyInstanceAttachmentAttributesResult.cc
  36. 22 0
      ecs/src/model/RunInstancesRequest.cc
  37. 95 0
      ecs/src/model/StartElasticityAssuranceRequest.cc
  38. 44 0
      ecs/src/model/StartElasticityAssuranceResult.cc

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2020-10-14 Version: patch
+- Generated 2014-05-26 for `Ecs`.
+
 2020-10-13 Version: patch
 - ListActionData add parameters.
 - PullActionData add parameters.

+ 24 - 0
ecs/CMakeLists.txt

@@ -91,6 +91,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/CreateDeploymentSetResult.h
 	include/alibabacloud/ecs/model/CreateDiskRequest.h
 	include/alibabacloud/ecs/model/CreateDiskResult.h
+	include/alibabacloud/ecs/model/CreateElasticityAssuranceRequest.h
+	include/alibabacloud/ecs/model/CreateElasticityAssuranceResult.h
 	include/alibabacloud/ecs/model/CreateForwardEntryRequest.h
 	include/alibabacloud/ecs/model/CreateForwardEntryResult.h
 	include/alibabacloud/ecs/model/CreateHaVipRequest.h
@@ -243,6 +245,10 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/DescribeEipAddressesResult.h
 	include/alibabacloud/ecs/model/DescribeEipMonitorDataRequest.h
 	include/alibabacloud/ecs/model/DescribeEipMonitorDataResult.h
+	include/alibabacloud/ecs/model/DescribeElasticityAssuranceInstancesRequest.h
+	include/alibabacloud/ecs/model/DescribeElasticityAssuranceInstancesResult.h
+	include/alibabacloud/ecs/model/DescribeElasticityAssurancesRequest.h
+	include/alibabacloud/ecs/model/DescribeElasticityAssurancesResult.h
 	include/alibabacloud/ecs/model/DescribeEniMonitorDataRequest.h
 	include/alibabacloud/ecs/model/DescribeEniMonitorDataResult.h
 	include/alibabacloud/ecs/model/DescribeForwardTableEntriesRequest.h
@@ -259,6 +265,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/DescribeImageSupportInstanceTypesResult.h
 	include/alibabacloud/ecs/model/DescribeImagesRequest.h
 	include/alibabacloud/ecs/model/DescribeImagesResult.h
+	include/alibabacloud/ecs/model/DescribeInstanceAttachmentAttributesRequest.h
+	include/alibabacloud/ecs/model/DescribeInstanceAttachmentAttributesResult.h
 	include/alibabacloud/ecs/model/DescribeInstanceAttributeRequest.h
 	include/alibabacloud/ecs/model/DescribeInstanceAttributeResult.h
 	include/alibabacloud/ecs/model/DescribeInstanceAutoRenewAttributeRequest.h
@@ -465,6 +473,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/ModifyImageShareGroupPermissionResult.h
 	include/alibabacloud/ecs/model/ModifyImageSharePermissionRequest.h
 	include/alibabacloud/ecs/model/ModifyImageSharePermissionResult.h
+	include/alibabacloud/ecs/model/ModifyInstanceAttachmentAttributesRequest.h
+	include/alibabacloud/ecs/model/ModifyInstanceAttachmentAttributesResult.h
 	include/alibabacloud/ecs/model/ModifyInstanceAttributeRequest.h
 	include/alibabacloud/ecs/model/ModifyInstanceAttributeResult.h
 	include/alibabacloud/ecs/model/ModifyInstanceAutoReleaseTimeRequest.h
@@ -577,6 +587,8 @@ set(ecs_public_header_model
 	include/alibabacloud/ecs/model/RunInstancesResult.h
 	include/alibabacloud/ecs/model/SendFileRequest.h
 	include/alibabacloud/ecs/model/SendFileResult.h
+	include/alibabacloud/ecs/model/StartElasticityAssuranceRequest.h
+	include/alibabacloud/ecs/model/StartElasticityAssuranceResult.h
 	include/alibabacloud/ecs/model/StartInstanceRequest.h
 	include/alibabacloud/ecs/model/StartInstanceResult.h
 	include/alibabacloud/ecs/model/StartInstancesRequest.h
@@ -676,6 +688,8 @@ set(ecs_src
 	src/model/CreateDeploymentSetResult.cc
 	src/model/CreateDiskRequest.cc
 	src/model/CreateDiskResult.cc
+	src/model/CreateElasticityAssuranceRequest.cc
+	src/model/CreateElasticityAssuranceResult.cc
 	src/model/CreateForwardEntryRequest.cc
 	src/model/CreateForwardEntryResult.cc
 	src/model/CreateHaVipRequest.cc
@@ -828,6 +842,10 @@ set(ecs_src
 	src/model/DescribeEipAddressesResult.cc
 	src/model/DescribeEipMonitorDataRequest.cc
 	src/model/DescribeEipMonitorDataResult.cc
+	src/model/DescribeElasticityAssuranceInstancesRequest.cc
+	src/model/DescribeElasticityAssuranceInstancesResult.cc
+	src/model/DescribeElasticityAssurancesRequest.cc
+	src/model/DescribeElasticityAssurancesResult.cc
 	src/model/DescribeEniMonitorDataRequest.cc
 	src/model/DescribeEniMonitorDataResult.cc
 	src/model/DescribeForwardTableEntriesRequest.cc
@@ -844,6 +862,8 @@ set(ecs_src
 	src/model/DescribeImageSupportInstanceTypesResult.cc
 	src/model/DescribeImagesRequest.cc
 	src/model/DescribeImagesResult.cc
+	src/model/DescribeInstanceAttachmentAttributesRequest.cc
+	src/model/DescribeInstanceAttachmentAttributesResult.cc
 	src/model/DescribeInstanceAttributeRequest.cc
 	src/model/DescribeInstanceAttributeResult.cc
 	src/model/DescribeInstanceAutoRenewAttributeRequest.cc
@@ -1050,6 +1070,8 @@ set(ecs_src
 	src/model/ModifyImageShareGroupPermissionResult.cc
 	src/model/ModifyImageSharePermissionRequest.cc
 	src/model/ModifyImageSharePermissionResult.cc
+	src/model/ModifyInstanceAttachmentAttributesRequest.cc
+	src/model/ModifyInstanceAttachmentAttributesResult.cc
 	src/model/ModifyInstanceAttributeRequest.cc
 	src/model/ModifyInstanceAttributeResult.cc
 	src/model/ModifyInstanceAutoReleaseTimeRequest.cc
@@ -1162,6 +1184,8 @@ set(ecs_src
 	src/model/RunInstancesResult.cc
 	src/model/SendFileRequest.cc
 	src/model/SendFileResult.cc
+	src/model/StartElasticityAssuranceRequest.cc
+	src/model/StartElasticityAssuranceResult.cc
 	src/model/StartInstanceRequest.cc
 	src/model/StartInstanceResult.cc
 	src/model/StartInstancesRequest.cc

+ 48 - 0
ecs/include/alibabacloud/ecs/EcsClient.h

@@ -92,6 +92,8 @@
 #include "model/CreateDeploymentSetResult.h"
 #include "model/CreateDiskRequest.h"
 #include "model/CreateDiskResult.h"
+#include "model/CreateElasticityAssuranceRequest.h"
+#include "model/CreateElasticityAssuranceResult.h"
 #include "model/CreateForwardEntryRequest.h"
 #include "model/CreateForwardEntryResult.h"
 #include "model/CreateHaVipRequest.h"
@@ -244,6 +246,10 @@
 #include "model/DescribeEipAddressesResult.h"
 #include "model/DescribeEipMonitorDataRequest.h"
 #include "model/DescribeEipMonitorDataResult.h"
+#include "model/DescribeElasticityAssuranceInstancesRequest.h"
+#include "model/DescribeElasticityAssuranceInstancesResult.h"
+#include "model/DescribeElasticityAssurancesRequest.h"
+#include "model/DescribeElasticityAssurancesResult.h"
 #include "model/DescribeEniMonitorDataRequest.h"
 #include "model/DescribeEniMonitorDataResult.h"
 #include "model/DescribeForwardTableEntriesRequest.h"
@@ -260,6 +266,8 @@
 #include "model/DescribeImageSupportInstanceTypesResult.h"
 #include "model/DescribeImagesRequest.h"
 #include "model/DescribeImagesResult.h"
+#include "model/DescribeInstanceAttachmentAttributesRequest.h"
+#include "model/DescribeInstanceAttachmentAttributesResult.h"
 #include "model/DescribeInstanceAttributeRequest.h"
 #include "model/DescribeInstanceAttributeResult.h"
 #include "model/DescribeInstanceAutoRenewAttributeRequest.h"
@@ -466,6 +474,8 @@
 #include "model/ModifyImageShareGroupPermissionResult.h"
 #include "model/ModifyImageSharePermissionRequest.h"
 #include "model/ModifyImageSharePermissionResult.h"
+#include "model/ModifyInstanceAttachmentAttributesRequest.h"
+#include "model/ModifyInstanceAttachmentAttributesResult.h"
 #include "model/ModifyInstanceAttributeRequest.h"
 #include "model/ModifyInstanceAttributeResult.h"
 #include "model/ModifyInstanceAutoReleaseTimeRequest.h"
@@ -578,6 +588,8 @@
 #include "model/RunInstancesResult.h"
 #include "model/SendFileRequest.h"
 #include "model/SendFileResult.h"
+#include "model/StartElasticityAssuranceRequest.h"
+#include "model/StartElasticityAssuranceResult.h"
 #include "model/StartInstanceRequest.h"
 #include "model/StartInstanceResult.h"
 #include "model/StartInstancesRequest.h"
@@ -718,6 +730,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateDiskResult> CreateDiskOutcome;
 			typedef std::future<CreateDiskOutcome> CreateDiskOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::CreateDiskRequest&, const CreateDiskOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateDiskAsyncHandler;
+			typedef Outcome<Error, Model::CreateElasticityAssuranceResult> CreateElasticityAssuranceOutcome;
+			typedef std::future<CreateElasticityAssuranceOutcome> CreateElasticityAssuranceOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::CreateElasticityAssuranceRequest&, const CreateElasticityAssuranceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateElasticityAssuranceAsyncHandler;
 			typedef Outcome<Error, Model::CreateForwardEntryResult> CreateForwardEntryOutcome;
 			typedef std::future<CreateForwardEntryOutcome> CreateForwardEntryOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::CreateForwardEntryRequest&, const CreateForwardEntryOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateForwardEntryAsyncHandler;
@@ -946,6 +961,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeEipMonitorDataResult> DescribeEipMonitorDataOutcome;
 			typedef std::future<DescribeEipMonitorDataOutcome> DescribeEipMonitorDataOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeEipMonitorDataRequest&, const DescribeEipMonitorDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeEipMonitorDataAsyncHandler;
+			typedef Outcome<Error, Model::DescribeElasticityAssuranceInstancesResult> DescribeElasticityAssuranceInstancesOutcome;
+			typedef std::future<DescribeElasticityAssuranceInstancesOutcome> DescribeElasticityAssuranceInstancesOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::DescribeElasticityAssuranceInstancesRequest&, const DescribeElasticityAssuranceInstancesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeElasticityAssuranceInstancesAsyncHandler;
+			typedef Outcome<Error, Model::DescribeElasticityAssurancesResult> DescribeElasticityAssurancesOutcome;
+			typedef std::future<DescribeElasticityAssurancesOutcome> DescribeElasticityAssurancesOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::DescribeElasticityAssurancesRequest&, const DescribeElasticityAssurancesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeElasticityAssurancesAsyncHandler;
 			typedef Outcome<Error, Model::DescribeEniMonitorDataResult> DescribeEniMonitorDataOutcome;
 			typedef std::future<DescribeEniMonitorDataOutcome> DescribeEniMonitorDataOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeEniMonitorDataRequest&, const DescribeEniMonitorDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeEniMonitorDataAsyncHandler;
@@ -970,6 +991,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeImagesResult> DescribeImagesOutcome;
 			typedef std::future<DescribeImagesOutcome> DescribeImagesOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeImagesRequest&, const DescribeImagesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeImagesAsyncHandler;
+			typedef Outcome<Error, Model::DescribeInstanceAttachmentAttributesResult> DescribeInstanceAttachmentAttributesOutcome;
+			typedef std::future<DescribeInstanceAttachmentAttributesOutcome> DescribeInstanceAttachmentAttributesOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::DescribeInstanceAttachmentAttributesRequest&, const DescribeInstanceAttachmentAttributesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeInstanceAttachmentAttributesAsyncHandler;
 			typedef Outcome<Error, Model::DescribeInstanceAttributeResult> DescribeInstanceAttributeOutcome;
 			typedef std::future<DescribeInstanceAttributeOutcome> DescribeInstanceAttributeOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::DescribeInstanceAttributeRequest&, const DescribeInstanceAttributeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeInstanceAttributeAsyncHandler;
@@ -1279,6 +1303,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ModifyImageSharePermissionResult> ModifyImageSharePermissionOutcome;
 			typedef std::future<ModifyImageSharePermissionOutcome> ModifyImageSharePermissionOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::ModifyImageSharePermissionRequest&, const ModifyImageSharePermissionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyImageSharePermissionAsyncHandler;
+			typedef Outcome<Error, Model::ModifyInstanceAttachmentAttributesResult> ModifyInstanceAttachmentAttributesOutcome;
+			typedef std::future<ModifyInstanceAttachmentAttributesOutcome> ModifyInstanceAttachmentAttributesOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::ModifyInstanceAttachmentAttributesRequest&, const ModifyInstanceAttachmentAttributesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyInstanceAttachmentAttributesAsyncHandler;
 			typedef Outcome<Error, Model::ModifyInstanceAttributeResult> ModifyInstanceAttributeOutcome;
 			typedef std::future<ModifyInstanceAttributeOutcome> ModifyInstanceAttributeOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::ModifyInstanceAttributeRequest&, const ModifyInstanceAttributeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyInstanceAttributeAsyncHandler;
@@ -1447,6 +1474,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::SendFileResult> SendFileOutcome;
 			typedef std::future<SendFileOutcome> SendFileOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::SendFileRequest&, const SendFileOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SendFileAsyncHandler;
+			typedef Outcome<Error, Model::StartElasticityAssuranceResult> StartElasticityAssuranceOutcome;
+			typedef std::future<StartElasticityAssuranceOutcome> StartElasticityAssuranceOutcomeCallable;
+			typedef std::function<void(const EcsClient*, const Model::StartElasticityAssuranceRequest&, const StartElasticityAssuranceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StartElasticityAssuranceAsyncHandler;
 			typedef Outcome<Error, Model::StartInstanceResult> StartInstanceOutcome;
 			typedef std::future<StartInstanceOutcome> StartInstanceOutcomeCallable;
 			typedef std::function<void(const EcsClient*, const Model::StartInstanceRequest&, const StartInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StartInstanceAsyncHandler;
@@ -1596,6 +1626,9 @@ namespace AlibabaCloud
 			CreateDiskOutcome createDisk(const Model::CreateDiskRequest &request)const;
 			void createDiskAsync(const Model::CreateDiskRequest& request, const CreateDiskAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateDiskOutcomeCallable createDiskCallable(const Model::CreateDiskRequest& request) const;
+			CreateElasticityAssuranceOutcome createElasticityAssurance(const Model::CreateElasticityAssuranceRequest &request)const;
+			void createElasticityAssuranceAsync(const Model::CreateElasticityAssuranceRequest& request, const CreateElasticityAssuranceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateElasticityAssuranceOutcomeCallable createElasticityAssuranceCallable(const Model::CreateElasticityAssuranceRequest& request) const;
 			CreateForwardEntryOutcome createForwardEntry(const Model::CreateForwardEntryRequest &request)const;
 			void createForwardEntryAsync(const Model::CreateForwardEntryRequest& request, const CreateForwardEntryAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateForwardEntryOutcomeCallable createForwardEntryCallable(const Model::CreateForwardEntryRequest& request) const;
@@ -1824,6 +1857,12 @@ namespace AlibabaCloud
 			DescribeEipMonitorDataOutcome describeEipMonitorData(const Model::DescribeEipMonitorDataRequest &request)const;
 			void describeEipMonitorDataAsync(const Model::DescribeEipMonitorDataRequest& request, const DescribeEipMonitorDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeEipMonitorDataOutcomeCallable describeEipMonitorDataCallable(const Model::DescribeEipMonitorDataRequest& request) const;
+			DescribeElasticityAssuranceInstancesOutcome describeElasticityAssuranceInstances(const Model::DescribeElasticityAssuranceInstancesRequest &request)const;
+			void describeElasticityAssuranceInstancesAsync(const Model::DescribeElasticityAssuranceInstancesRequest& request, const DescribeElasticityAssuranceInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeElasticityAssuranceInstancesOutcomeCallable describeElasticityAssuranceInstancesCallable(const Model::DescribeElasticityAssuranceInstancesRequest& request) const;
+			DescribeElasticityAssurancesOutcome describeElasticityAssurances(const Model::DescribeElasticityAssurancesRequest &request)const;
+			void describeElasticityAssurancesAsync(const Model::DescribeElasticityAssurancesRequest& request, const DescribeElasticityAssurancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeElasticityAssurancesOutcomeCallable describeElasticityAssurancesCallable(const Model::DescribeElasticityAssurancesRequest& request) const;
 			DescribeEniMonitorDataOutcome describeEniMonitorData(const Model::DescribeEniMonitorDataRequest &request)const;
 			void describeEniMonitorDataAsync(const Model::DescribeEniMonitorDataRequest& request, const DescribeEniMonitorDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeEniMonitorDataOutcomeCallable describeEniMonitorDataCallable(const Model::DescribeEniMonitorDataRequest& request) const;
@@ -1848,6 +1887,9 @@ namespace AlibabaCloud
 			DescribeImagesOutcome describeImages(const Model::DescribeImagesRequest &request)const;
 			void describeImagesAsync(const Model::DescribeImagesRequest& request, const DescribeImagesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeImagesOutcomeCallable describeImagesCallable(const Model::DescribeImagesRequest& request) const;
+			DescribeInstanceAttachmentAttributesOutcome describeInstanceAttachmentAttributes(const Model::DescribeInstanceAttachmentAttributesRequest &request)const;
+			void describeInstanceAttachmentAttributesAsync(const Model::DescribeInstanceAttachmentAttributesRequest& request, const DescribeInstanceAttachmentAttributesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeInstanceAttachmentAttributesOutcomeCallable describeInstanceAttachmentAttributesCallable(const Model::DescribeInstanceAttachmentAttributesRequest& request) const;
 			DescribeInstanceAttributeOutcome describeInstanceAttribute(const Model::DescribeInstanceAttributeRequest &request)const;
 			void describeInstanceAttributeAsync(const Model::DescribeInstanceAttributeRequest& request, const DescribeInstanceAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeInstanceAttributeOutcomeCallable describeInstanceAttributeCallable(const Model::DescribeInstanceAttributeRequest& request) const;
@@ -2157,6 +2199,9 @@ namespace AlibabaCloud
 			ModifyImageSharePermissionOutcome modifyImageSharePermission(const Model::ModifyImageSharePermissionRequest &request)const;
 			void modifyImageSharePermissionAsync(const Model::ModifyImageSharePermissionRequest& request, const ModifyImageSharePermissionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyImageSharePermissionOutcomeCallable modifyImageSharePermissionCallable(const Model::ModifyImageSharePermissionRequest& request) const;
+			ModifyInstanceAttachmentAttributesOutcome modifyInstanceAttachmentAttributes(const Model::ModifyInstanceAttachmentAttributesRequest &request)const;
+			void modifyInstanceAttachmentAttributesAsync(const Model::ModifyInstanceAttachmentAttributesRequest& request, const ModifyInstanceAttachmentAttributesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyInstanceAttachmentAttributesOutcomeCallable modifyInstanceAttachmentAttributesCallable(const Model::ModifyInstanceAttachmentAttributesRequest& request) const;
 			ModifyInstanceAttributeOutcome modifyInstanceAttribute(const Model::ModifyInstanceAttributeRequest &request)const;
 			void modifyInstanceAttributeAsync(const Model::ModifyInstanceAttributeRequest& request, const ModifyInstanceAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyInstanceAttributeOutcomeCallable modifyInstanceAttributeCallable(const Model::ModifyInstanceAttributeRequest& request) const;
@@ -2325,6 +2370,9 @@ namespace AlibabaCloud
 			SendFileOutcome sendFile(const Model::SendFileRequest &request)const;
 			void sendFileAsync(const Model::SendFileRequest& request, const SendFileAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SendFileOutcomeCallable sendFileCallable(const Model::SendFileRequest& request) const;
+			StartElasticityAssuranceOutcome startElasticityAssurance(const Model::StartElasticityAssuranceRequest &request)const;
+			void startElasticityAssuranceAsync(const Model::StartElasticityAssuranceRequest& request, const StartElasticityAssuranceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			StartElasticityAssuranceOutcomeCallable startElasticityAssuranceCallable(const Model::StartElasticityAssuranceRequest& request) const;
 			StartInstanceOutcome startInstance(const Model::StartInstanceRequest &request)const;
 			void startInstanceAsync(const Model::StartInstanceRequest& request, const StartInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			StartInstanceOutcomeCallable startInstanceCallable(const Model::StartInstanceRequest& request) const;

+ 111 - 0
ecs/include/alibabacloud/ecs/model/CreateElasticityAssuranceRequest.h

@@ -0,0 +1,111 @@
+/*
+ * 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_ECS_MODEL_CREATEELASTICITYASSURANCEREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_CREATEELASTICITYASSURANCEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ecs/EcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ecs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ECS_EXPORT CreateElasticityAssuranceRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateElasticityAssuranceRequest();
+				~CreateElasticityAssuranceRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getClientToken()const;
+				void setClientToken(const std::string& clientToken);
+				std::string getDescription()const;
+				void setDescription(const std::string& description);
+				std::string getStartTime()const;
+				void setStartTime(const std::string& startTime);
+				std::string getPlatform()const;
+				void setPlatform(const std::string& platform);
+				std::string getPrivatePoolOptionsMatchCriteria()const;
+				void setPrivatePoolOptionsMatchCriteria(const std::string& privatePoolOptionsMatchCriteria);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::vector<std::string> getInstanceType()const;
+				void setInstanceType(const std::vector<std::string>& instanceType);
+				std::string getInstanceChargeType()const;
+				void setInstanceChargeType(const std::string& instanceChargeType);
+				int getPeriod()const;
+				void setPeriod(int period);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getPrivatePoolOptionsName()const;
+				void setPrivatePoolOptionsName(const std::string& privatePoolOptionsName);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				std::string getAssuranceTimes()const;
+				void setAssuranceTimes(const std::string& assuranceTimes);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getResourceType()const;
+				void setResourceType(const std::string& resourceType);
+				int getInstanceCpuCoreCount()const;
+				void setInstanceCpuCoreCount(int instanceCpuCoreCount);
+				std::string getPeriodUnit()const;
+				void setPeriodUnit(const std::string& periodUnit);
+				std::vector<std::string> getZoneId()const;
+				void setZoneId(const std::vector<std::string>& zoneId);
+				std::string getChargeType()const;
+				void setChargeType(const std::string& chargeType);
+				std::string getPackageType()const;
+				void setPackageType(const std::string& packageType);
+				int getInstanceAmount()const;
+				void setInstanceAmount(int instanceAmount);
+
+            private:
+				long resourceOwnerId_;
+				std::string clientToken_;
+				std::string description_;
+				std::string startTime_;
+				std::string platform_;
+				std::string privatePoolOptionsMatchCriteria_;
+				std::string regionId_;
+				std::vector<std::string> instanceType_;
+				std::string instanceChargeType_;
+				int period_;
+				std::string resourceOwnerAccount_;
+				std::string privatePoolOptionsName_;
+				std::string ownerAccount_;
+				std::string assuranceTimes_;
+				long ownerId_;
+				std::string resourceType_;
+				int instanceCpuCoreCount_;
+				std::string periodUnit_;
+				std::vector<std::string> zoneId_;
+				std::string chargeType_;
+				std::string packageType_;
+				int instanceAmount_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_CREATEELASTICITYASSURANCEREQUEST_H_

+ 53 - 0
ecs/include/alibabacloud/ecs/model/CreateElasticityAssuranceResult.h

@@ -0,0 +1,53 @@
+/*
+ * 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_ECS_MODEL_CREATEELASTICITYASSURANCERESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_CREATEELASTICITYASSURANCERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ecs/EcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ecs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ECS_EXPORT CreateElasticityAssuranceResult : public ServiceResult
+			{
+			public:
+
+
+				CreateElasticityAssuranceResult();
+				explicit CreateElasticityAssuranceResult(const std::string &payload);
+				~CreateElasticityAssuranceResult();
+				std::string getOrderId()const;
+				std::string getPrivatePoolOptionsId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string orderId_;
+				std::string privatePoolOptionsId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_CREATEELASTICITYASSURANCERESULT_H_

+ 6 - 0
ecs/include/alibabacloud/ecs/model/CreateInstanceRequest.h

@@ -77,6 +77,8 @@ namespace AlibabaCloud
 				void setDeletionProtection(bool deletionProtection);
 				std::string getResourceGroupId()const;
 				void setResourceGroupId(const std::string& resourceGroupId);
+				std::string getPrivatePoolOptionsMatchCriteria()const;
+				void setPrivatePoolOptionsMatchCriteria(const std::string& privatePoolOptionsMatchCriteria);
 				std::string getHostName()const;
 				void setHostName(const std::string& hostName);
 				std::string getPassword()const;
@@ -87,6 +89,8 @@ namespace AlibabaCloud
 				void setStorageSetPartitionNumber(int storageSetPartitionNumber);
 				std::vector<Tag> getTag()const;
 				void setTag(const std::vector<Tag>& tag);
+				std::string getPrivatePoolOptionsId()const;
+				void setPrivatePoolOptionsId(const std::string& privatePoolOptionsId);
 				int getAutoRenewPeriod()const;
 				void setAutoRenewPeriod(int autoRenewPeriod);
 				std::string getNodeControllerId()const;
@@ -201,11 +205,13 @@ namespace AlibabaCloud
 				float spotPriceLimit_;
 				bool deletionProtection_;
 				std::string resourceGroupId_;
+				std::string privatePoolOptionsMatchCriteria_;
 				std::string hostName_;
 				std::string password_;
 				int deploymentSetGroupNo_;
 				int storageSetPartitionNumber_;
 				std::vector<Tag> tag_;
+				std::string privatePoolOptionsId_;
 				int autoRenewPeriod_;
 				std::string nodeControllerId_;
 				int period_;

+ 3 - 0
ecs/include/alibabacloud/ecs/model/CreateSecurityGroupRequest.h

@@ -45,6 +45,8 @@ namespace AlibabaCloud
 				void setResourceOwnerId(long resourceOwnerId);
 				std::string getClientToken()const;
 				void setClientToken(const std::string& clientToken);
+				bool getServiceManaged()const;
+				void setServiceManaged(bool serviceManaged);
 				std::string getDescription()const;
 				void setDescription(const std::string& description);
 				std::string getSecurityGroupName()const;
@@ -69,6 +71,7 @@ namespace AlibabaCloud
             private:
 				long resourceOwnerId_;
 				std::string clientToken_;
+				bool serviceManaged_;
 				std::string description_;
 				std::string securityGroupName_;
 				std::string resourceGroupId_;

+ 72 - 0
ecs/include/alibabacloud/ecs/model/DescribeElasticityAssuranceInstancesRequest.h

@@ -0,0 +1,72 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ECS_MODEL_DESCRIBEELASTICITYASSURANCEINSTANCESREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_DESCRIBEELASTICITYASSURANCEINSTANCESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ecs/EcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ecs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ECS_EXPORT DescribeElasticityAssuranceInstancesRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeElasticityAssuranceInstancesRequest();
+				~DescribeElasticityAssuranceInstancesRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getNextToken()const;
+				void setNextToken(const std::string& nextToken);
+				std::string getPrivatePoolOptionsId()const;
+				void setPrivatePoolOptionsId(const std::string& privatePoolOptionsId);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				int getMaxResults()const;
+				void setMaxResults(int maxResults);
+				std::string getPackageType()const;
+				void setPackageType(const std::string& packageType);
+
+            private:
+				long resourceOwnerId_;
+				std::string regionId_;
+				std::string nextToken_;
+				std::string privatePoolOptionsId_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				long ownerId_;
+				int maxResults_;
+				std::string packageType_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBEELASTICITYASSURANCEINSTANCESREQUEST_H_

+ 61 - 0
ecs/include/alibabacloud/ecs/model/DescribeElasticityAssuranceInstancesResult.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_ECS_MODEL_DESCRIBEELASTICITYASSURANCEINSTANCESRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_DESCRIBEELASTICITYASSURANCEINSTANCESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ecs/EcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ecs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ECS_EXPORT DescribeElasticityAssuranceInstancesResult : public ServiceResult
+			{
+			public:
+				struct InstanceIdSet
+				{
+					std::string instanceId;
+				};
+
+
+				DescribeElasticityAssuranceInstancesResult();
+				explicit DescribeElasticityAssuranceInstancesResult(const std::string &payload);
+				~DescribeElasticityAssuranceInstancesResult();
+				int getTotalCount()const;
+				std::string getNextToken()const;
+				int getMaxResults()const;
+				std::vector<InstanceIdSet> getElasticityAssuranceItem()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				std::string nextToken_;
+				int maxResults_;
+				std::vector<InstanceIdSet> elasticityAssuranceItem_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBEELASTICITYASSURANCEINSTANCESRESULT_H_

+ 72 - 0
ecs/include/alibabacloud/ecs/model/DescribeElasticityAssurancesRequest.h

@@ -0,0 +1,72 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ECS_MODEL_DESCRIBEELASTICITYASSURANCESREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_DESCRIBEELASTICITYASSURANCESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ecs/EcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ecs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ECS_EXPORT DescribeElasticityAssurancesRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeElasticityAssurancesRequest();
+				~DescribeElasticityAssurancesRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getNextToken()const;
+				void setNextToken(const std::string& nextToken);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getPrivatePoolOptionsIds()const;
+				void setPrivatePoolOptionsIds(const std::string& privatePoolOptionsIds);
+				int getMaxResults()const;
+				void setMaxResults(int maxResults);
+				std::string getPackageType()const;
+				void setPackageType(const std::string& packageType);
+
+            private:
+				long resourceOwnerId_;
+				std::string regionId_;
+				std::string nextToken_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				long ownerId_;
+				std::string privatePoolOptionsIds_;
+				int maxResults_;
+				std::string packageType_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBEELASTICITYASSURANCESREQUEST_H_

+ 79 - 0
ecs/include/alibabacloud/ecs/model/DescribeElasticityAssurancesResult.h

@@ -0,0 +1,79 @@
+/*
+ * 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_ECS_MODEL_DESCRIBEELASTICITYASSURANCESRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_DESCRIBEELASTICITYASSURANCESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ecs/EcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ecs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ECS_EXPORT DescribeElasticityAssurancesResult : public ServiceResult
+			{
+			public:
+				struct ElasticityAssuranceItem
+				{
+					struct AllocatedResource
+					{
+						int usedAmount;
+						std::string zoneId;
+						int totalAmount;
+						std::string instanceType;
+					};
+					std::string totalAssuranceTimes;
+					std::string status;
+					int usedAssuranceTimes;
+					std::string description;
+					std::string endTime;
+					std::string privatePoolOptionsName;
+					std::string latestStartTime;
+					std::string startTime;
+					std::string regionId;
+					std::string privatePoolOptionsMatchCriteria;
+					std::vector<ElasticityAssuranceItem::AllocatedResource> allocatedResources;
+					std::string privatePoolOptionsId;
+				};
+
+
+				DescribeElasticityAssurancesResult();
+				explicit DescribeElasticityAssurancesResult(const std::string &payload);
+				~DescribeElasticityAssurancesResult();
+				std::vector<ElasticityAssuranceItem> getElasticityAssuranceSet()const;
+				int getTotalCount()const;
+				std::string getNextToken()const;
+				int getMaxResults()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<ElasticityAssuranceItem> elasticityAssuranceSet_;
+				int totalCount_;
+				std::string nextToken_;
+				int maxResults_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBEELASTICITYASSURANCESRESULT_H_

+ 69 - 0
ecs/include/alibabacloud/ecs/model/DescribeInstanceAttachmentAttributesRequest.h

@@ -0,0 +1,69 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ECS_MODEL_DESCRIBEINSTANCEATTACHMENTATTRIBUTESREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_DESCRIBEINSTANCEATTACHMENTATTRIBUTESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ecs/EcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ecs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ECS_EXPORT DescribeInstanceAttachmentAttributesRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeInstanceAttachmentAttributesRequest();
+				~DescribeInstanceAttachmentAttributesRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getInstanceIds()const;
+				void setInstanceIds(const std::string& instanceIds);
+
+            private:
+				long resourceOwnerId_;
+				int pageNumber_;
+				std::string regionId_;
+				int pageSize_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				long ownerId_;
+				std::string instanceIds_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBEINSTANCEATTACHMENTATTRIBUTESREQUEST_H_

+ 63 - 0
ecs/include/alibabacloud/ecs/model/DescribeInstanceAttachmentAttributesResult.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_ECS_MODEL_DESCRIBEINSTANCEATTACHMENTATTRIBUTESRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_DESCRIBEINSTANCEATTACHMENTATTRIBUTESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ecs/EcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ecs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ECS_EXPORT DescribeInstanceAttachmentAttributesResult : public ServiceResult
+			{
+			public:
+				struct Instance
+				{
+					std::string instanceId;
+					std::string privatePoolOptionsMatchCriteria;
+					std::string privatePoolOptionsId;
+				};
+
+
+				DescribeInstanceAttachmentAttributesResult();
+				explicit DescribeInstanceAttachmentAttributesResult(const std::string &payload);
+				~DescribeInstanceAttachmentAttributesResult();
+				std::vector<Instance> getInstances()const;
+				int getTotalCount()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<Instance> instances_;
+				int totalCount_;
+				int pageSize_;
+				int pageNumber_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBEINSTANCEATTACHMENTATTRIBUTESRESULT_H_

+ 3 - 0
ecs/include/alibabacloud/ecs/model/DescribeInstanceTypesRequest.h

@@ -37,6 +37,8 @@ namespace AlibabaCloud
 
 				long getResourceOwnerId()const;
 				void setResourceOwnerId(long resourceOwnerId);
+				std::vector<std::string> getInstanceTypes()const;
+				void setInstanceTypes(const std::vector<std::string>& instanceTypes);
 				std::string getResourceOwnerAccount()const;
 				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
 				std::string getOwnerAccount()const;
@@ -48,6 +50,7 @@ namespace AlibabaCloud
 
             private:
 				long resourceOwnerId_;
+				std::vector<std::string> instanceTypes_;
 				std::string resourceOwnerAccount_;
 				std::string ownerAccount_;
 				std::string instanceTypeFamily_;

+ 9 - 0
ecs/include/alibabacloud/ecs/model/DescribePriceRequest.h

@@ -49,14 +49,20 @@ namespace AlibabaCloud
 				void setPeriod(int period);
 				std::string getDataDisk1PerformanceLevel()const;
 				void setDataDisk1PerformanceLevel(const std::string& dataDisk1PerformanceLevel);
+				std::string getAssuranceTimes()const;
+				void setAssuranceTimes(const std::string& assuranceTimes);
 				long getOwnerId()const;
 				void setOwnerId(long ownerId);
+				int getInstanceCpuCoreCount()const;
+				void setInstanceCpuCoreCount(int instanceCpuCoreCount);
 				std::string getInternetChargeType()const;
 				void setInternetChargeType(const std::string& internetChargeType);
 				std::string getInstanceNetworkType()const;
 				void setInstanceNetworkType(const std::string& instanceNetworkType);
 				int getInstanceAmount()const;
 				void setInstanceAmount(int instanceAmount);
+				std::vector<std::string> getInstanceTypeList()const;
+				void setInstanceTypeList(const std::vector<std::string>& instanceTypeList);
 				std::string getDataDisk3PerformanceLevel()const;
 				void setDataDisk3PerformanceLevel(const std::string& dataDisk3PerformanceLevel);
 				std::string getImageId()const;
@@ -114,10 +120,13 @@ namespace AlibabaCloud
 				std::string priceUnit_;
 				int period_;
 				std::string dataDisk1PerformanceLevel_;
+				std::string assuranceTimes_;
 				long ownerId_;
+				int instanceCpuCoreCount_;
 				std::string internetChargeType_;
 				std::string instanceNetworkType_;
 				int instanceAmount_;
+				std::vector<std::string> instanceTypeList_;
 				std::string dataDisk3PerformanceLevel_;
 				std::string imageId_;
 				std::string ioOptimized_;

+ 69 - 0
ecs/include/alibabacloud/ecs/model/ModifyInstanceAttachmentAttributesRequest.h

@@ -0,0 +1,69 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_ECS_MODEL_MODIFYINSTANCEATTACHMENTATTRIBUTESREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_MODIFYINSTANCEATTACHMENTATTRIBUTESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ecs/EcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ecs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ECS_EXPORT ModifyInstanceAttachmentAttributesRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyInstanceAttachmentAttributesRequest();
+				~ModifyInstanceAttachmentAttributesRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getPrivatePoolOptionsMatchCriteria()const;
+				void setPrivatePoolOptionsMatchCriteria(const std::string& privatePoolOptionsMatchCriteria);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getPrivatePoolOptionsId()const;
+				void setPrivatePoolOptionsId(const std::string& privatePoolOptionsId);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+
+            private:
+				long resourceOwnerId_;
+				std::string privatePoolOptionsMatchCriteria_;
+				std::string regionId_;
+				std::string privatePoolOptionsId_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				long ownerId_;
+				std::string instanceId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYINSTANCEATTACHMENTATTRIBUTESREQUEST_H_

+ 49 - 0
ecs/include/alibabacloud/ecs/model/ModifyInstanceAttachmentAttributesResult.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_ECS_MODEL_MODIFYINSTANCEATTACHMENTATTRIBUTESRESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_MODIFYINSTANCEATTACHMENTATTRIBUTESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ecs/EcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ecs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ECS_EXPORT ModifyInstanceAttachmentAttributesResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyInstanceAttachmentAttributesResult();
+				explicit ModifyInstanceAttachmentAttributesResult(const std::string &payload);
+				~ModifyInstanceAttachmentAttributesResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_MODIFYINSTANCEATTACHMENTATTRIBUTESRESULT_H_

+ 6 - 0
ecs/include/alibabacloud/ecs/model/RunInstancesRequest.h

@@ -82,6 +82,8 @@ namespace AlibabaCloud
 				void setDeletionProtection(bool deletionProtection);
 				std::string getResourceGroupId()const;
 				void setResourceGroupId(const std::string& resourceGroupId);
+				std::string getPrivatePoolOptionsMatchCriteria()const;
+				void setPrivatePoolOptionsMatchCriteria(const std::string& privatePoolOptionsMatchCriteria);
 				std::string getHostName()const;
 				void setHostName(const std::string& hostName);
 				std::string getPassword()const;
@@ -166,6 +168,8 @@ namespace AlibabaCloud
 				void setStorageSetPartitionNumber(int storageSetPartitionNumber);
 				std::vector<Tag> getTag()const;
 				void setTag(const std::vector<Tag>& tag);
+				std::string getPrivatePoolOptionsId()const;
+				void setPrivatePoolOptionsId(const std::string& privatePoolOptionsId);
 				int getAutoRenewPeriod()const;
 				void setAutoRenewPeriod(int autoRenewPeriod);
 				std::string getLaunchTemplateId()const;
@@ -235,6 +239,7 @@ namespace AlibabaCloud
 				int minAmount_;
 				bool deletionProtection_;
 				std::string resourceGroupId_;
+				std::string privatePoolOptionsMatchCriteria_;
 				std::string hostName_;
 				std::string password_;
 				int deploymentSetGroupNo_;
@@ -277,6 +282,7 @@ namespace AlibabaCloud
 				float spotPriceLimit_;
 				int storageSetPartitionNumber_;
 				std::vector<Tag> tag_;
+				std::string privatePoolOptionsId_;
 				int autoRenewPeriod_;
 				std::string launchTemplateId_;
 				int ipv6AddressCount_;

+ 63 - 0
ecs/include/alibabacloud/ecs/model/StartElasticityAssuranceRequest.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_ECS_MODEL_STARTELASTICITYASSURANCEREQUEST_H_
+#define ALIBABACLOUD_ECS_MODEL_STARTELASTICITYASSURANCEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/ecs/EcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ecs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ECS_EXPORT StartElasticityAssuranceRequest : public RpcServiceRequest
+			{
+
+			public:
+				StartElasticityAssuranceRequest();
+				~StartElasticityAssuranceRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getPrivatePoolOptionsId()const;
+				void setPrivatePoolOptionsId(const std::string& privatePoolOptionsId);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+
+            private:
+				long resourceOwnerId_;
+				std::string regionId_;
+				std::string privatePoolOptionsId_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				long ownerId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_STARTELASTICITYASSURANCEREQUEST_H_

+ 49 - 0
ecs/include/alibabacloud/ecs/model/StartElasticityAssuranceResult.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_ECS_MODEL_STARTELASTICITYASSURANCERESULT_H_
+#define ALIBABACLOUD_ECS_MODEL_STARTELASTICITYASSURANCERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/ecs/EcsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Ecs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_ECS_EXPORT StartElasticityAssuranceResult : public ServiceResult
+			{
+			public:
+
+
+				StartElasticityAssuranceResult();
+				explicit StartElasticityAssuranceResult(const std::string &payload);
+				~StartElasticityAssuranceResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_ECS_MODEL_STARTELASTICITYASSURANCERESULT_H_

+ 216 - 0
ecs/src/EcsClient.cc

@@ -1311,6 +1311,42 @@ EcsClient::CreateDiskOutcomeCallable EcsClient::createDiskCallable(const CreateD
 	return task->get_future();
 }
 
+EcsClient::CreateElasticityAssuranceOutcome EcsClient::createElasticityAssurance(const CreateElasticityAssuranceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateElasticityAssuranceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateElasticityAssuranceOutcome(CreateElasticityAssuranceResult(outcome.result()));
+	else
+		return CreateElasticityAssuranceOutcome(outcome.error());
+}
+
+void EcsClient::createElasticityAssuranceAsync(const CreateElasticityAssuranceRequest& request, const CreateElasticityAssuranceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createElasticityAssurance(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::CreateElasticityAssuranceOutcomeCallable EcsClient::createElasticityAssuranceCallable(const CreateElasticityAssuranceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateElasticityAssuranceOutcome()>>(
+			[this, request]()
+			{
+			return this->createElasticityAssurance(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::CreateForwardEntryOutcome EcsClient::createForwardEntry(const CreateForwardEntryRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -4047,6 +4083,78 @@ EcsClient::DescribeEipMonitorDataOutcomeCallable EcsClient::describeEipMonitorDa
 	return task->get_future();
 }
 
+EcsClient::DescribeElasticityAssuranceInstancesOutcome EcsClient::describeElasticityAssuranceInstances(const DescribeElasticityAssuranceInstancesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeElasticityAssuranceInstancesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeElasticityAssuranceInstancesOutcome(DescribeElasticityAssuranceInstancesResult(outcome.result()));
+	else
+		return DescribeElasticityAssuranceInstancesOutcome(outcome.error());
+}
+
+void EcsClient::describeElasticityAssuranceInstancesAsync(const DescribeElasticityAssuranceInstancesRequest& request, const DescribeElasticityAssuranceInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeElasticityAssuranceInstances(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::DescribeElasticityAssuranceInstancesOutcomeCallable EcsClient::describeElasticityAssuranceInstancesCallable(const DescribeElasticityAssuranceInstancesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeElasticityAssuranceInstancesOutcome()>>(
+			[this, request]()
+			{
+			return this->describeElasticityAssuranceInstances(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+EcsClient::DescribeElasticityAssurancesOutcome EcsClient::describeElasticityAssurances(const DescribeElasticityAssurancesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeElasticityAssurancesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeElasticityAssurancesOutcome(DescribeElasticityAssurancesResult(outcome.result()));
+	else
+		return DescribeElasticityAssurancesOutcome(outcome.error());
+}
+
+void EcsClient::describeElasticityAssurancesAsync(const DescribeElasticityAssurancesRequest& request, const DescribeElasticityAssurancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeElasticityAssurances(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::DescribeElasticityAssurancesOutcomeCallable EcsClient::describeElasticityAssurancesCallable(const DescribeElasticityAssurancesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeElasticityAssurancesOutcome()>>(
+			[this, request]()
+			{
+			return this->describeElasticityAssurances(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::DescribeEniMonitorDataOutcome EcsClient::describeEniMonitorData(const DescribeEniMonitorDataRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -4335,6 +4443,42 @@ EcsClient::DescribeImagesOutcomeCallable EcsClient::describeImagesCallable(const
 	return task->get_future();
 }
 
+EcsClient::DescribeInstanceAttachmentAttributesOutcome EcsClient::describeInstanceAttachmentAttributes(const DescribeInstanceAttachmentAttributesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeInstanceAttachmentAttributesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeInstanceAttachmentAttributesOutcome(DescribeInstanceAttachmentAttributesResult(outcome.result()));
+	else
+		return DescribeInstanceAttachmentAttributesOutcome(outcome.error());
+}
+
+void EcsClient::describeInstanceAttachmentAttributesAsync(const DescribeInstanceAttachmentAttributesRequest& request, const DescribeInstanceAttachmentAttributesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeInstanceAttachmentAttributes(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::DescribeInstanceAttachmentAttributesOutcomeCallable EcsClient::describeInstanceAttachmentAttributesCallable(const DescribeInstanceAttachmentAttributesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeInstanceAttachmentAttributesOutcome()>>(
+			[this, request]()
+			{
+			return this->describeInstanceAttachmentAttributes(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::DescribeInstanceAttributeOutcome EcsClient::describeInstanceAttribute(const DescribeInstanceAttributeRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -8043,6 +8187,42 @@ EcsClient::ModifyImageSharePermissionOutcomeCallable EcsClient::modifyImageShare
 	return task->get_future();
 }
 
+EcsClient::ModifyInstanceAttachmentAttributesOutcome EcsClient::modifyInstanceAttachmentAttributes(const ModifyInstanceAttachmentAttributesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyInstanceAttachmentAttributesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyInstanceAttachmentAttributesOutcome(ModifyInstanceAttachmentAttributesResult(outcome.result()));
+	else
+		return ModifyInstanceAttachmentAttributesOutcome(outcome.error());
+}
+
+void EcsClient::modifyInstanceAttachmentAttributesAsync(const ModifyInstanceAttachmentAttributesRequest& request, const ModifyInstanceAttachmentAttributesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyInstanceAttachmentAttributes(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::ModifyInstanceAttachmentAttributesOutcomeCallable EcsClient::modifyInstanceAttachmentAttributesCallable(const ModifyInstanceAttachmentAttributesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyInstanceAttachmentAttributesOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyInstanceAttachmentAttributes(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::ModifyInstanceAttributeOutcome EcsClient::modifyInstanceAttribute(const ModifyInstanceAttributeRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -10059,6 +10239,42 @@ EcsClient::SendFileOutcomeCallable EcsClient::sendFileCallable(const SendFileReq
 	return task->get_future();
 }
 
+EcsClient::StartElasticityAssuranceOutcome EcsClient::startElasticityAssurance(const StartElasticityAssuranceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return StartElasticityAssuranceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return StartElasticityAssuranceOutcome(StartElasticityAssuranceResult(outcome.result()));
+	else
+		return StartElasticityAssuranceOutcome(outcome.error());
+}
+
+void EcsClient::startElasticityAssuranceAsync(const StartElasticityAssuranceRequest& request, const StartElasticityAssuranceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, startElasticityAssurance(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+EcsClient::StartElasticityAssuranceOutcomeCallable EcsClient::startElasticityAssuranceCallable(const StartElasticityAssuranceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<StartElasticityAssuranceOutcome()>>(
+			[this, request]()
+			{
+			return this->startElasticityAssurance(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 EcsClient::StartInstanceOutcome EcsClient::startInstance(const StartInstanceRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 275 - 0
ecs/src/model/CreateElasticityAssuranceRequest.cc

@@ -0,0 +1,275 @@
+/*
+ * 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/ecs/model/CreateElasticityAssuranceRequest.h>
+
+using AlibabaCloud::Ecs::Model::CreateElasticityAssuranceRequest;
+
+CreateElasticityAssuranceRequest::CreateElasticityAssuranceRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "CreateElasticityAssurance")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+CreateElasticityAssuranceRequest::~CreateElasticityAssuranceRequest()
+{}
+
+long CreateElasticityAssuranceRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void CreateElasticityAssuranceRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string CreateElasticityAssuranceRequest::getClientToken()const
+{
+	return clientToken_;
+}
+
+void CreateElasticityAssuranceRequest::setClientToken(const std::string& clientToken)
+{
+	clientToken_ = clientToken;
+	setParameter("ClientToken", clientToken);
+}
+
+std::string CreateElasticityAssuranceRequest::getDescription()const
+{
+	return description_;
+}
+
+void CreateElasticityAssuranceRequest::setDescription(const std::string& description)
+{
+	description_ = description;
+	setParameter("Description", description);
+}
+
+std::string CreateElasticityAssuranceRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void CreateElasticityAssuranceRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setParameter("StartTime", startTime);
+}
+
+std::string CreateElasticityAssuranceRequest::getPlatform()const
+{
+	return platform_;
+}
+
+void CreateElasticityAssuranceRequest::setPlatform(const std::string& platform)
+{
+	platform_ = platform;
+	setParameter("Platform", platform);
+}
+
+std::string CreateElasticityAssuranceRequest::getPrivatePoolOptionsMatchCriteria()const
+{
+	return privatePoolOptionsMatchCriteria_;
+}
+
+void CreateElasticityAssuranceRequest::setPrivatePoolOptionsMatchCriteria(const std::string& privatePoolOptionsMatchCriteria)
+{
+	privatePoolOptionsMatchCriteria_ = privatePoolOptionsMatchCriteria;
+	setParameter("PrivatePoolOptionsMatchCriteria", privatePoolOptionsMatchCriteria);
+}
+
+std::string CreateElasticityAssuranceRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void CreateElasticityAssuranceRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+std::vector<std::string> CreateElasticityAssuranceRequest::getInstanceType()const
+{
+	return instanceType_;
+}
+
+void CreateElasticityAssuranceRequest::setInstanceType(const std::vector<std::string>& instanceType)
+{
+	instanceType_ = instanceType;
+	for(int dep1 = 0; dep1!= instanceType.size(); dep1++) {
+		setParameter("InstanceType."+ std::to_string(dep1), instanceType.at(dep1));
+	}
+}
+
+std::string CreateElasticityAssuranceRequest::getInstanceChargeType()const
+{
+	return instanceChargeType_;
+}
+
+void CreateElasticityAssuranceRequest::setInstanceChargeType(const std::string& instanceChargeType)
+{
+	instanceChargeType_ = instanceChargeType;
+	setParameter("InstanceChargeType", instanceChargeType);
+}
+
+int CreateElasticityAssuranceRequest::getPeriod()const
+{
+	return period_;
+}
+
+void CreateElasticityAssuranceRequest::setPeriod(int period)
+{
+	period_ = period;
+	setParameter("Period", std::to_string(period));
+}
+
+std::string CreateElasticityAssuranceRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void CreateElasticityAssuranceRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string CreateElasticityAssuranceRequest::getPrivatePoolOptionsName()const
+{
+	return privatePoolOptionsName_;
+}
+
+void CreateElasticityAssuranceRequest::setPrivatePoolOptionsName(const std::string& privatePoolOptionsName)
+{
+	privatePoolOptionsName_ = privatePoolOptionsName;
+	setParameter("PrivatePoolOptionsName", privatePoolOptionsName);
+}
+
+std::string CreateElasticityAssuranceRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void CreateElasticityAssuranceRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+std::string CreateElasticityAssuranceRequest::getAssuranceTimes()const
+{
+	return assuranceTimes_;
+}
+
+void CreateElasticityAssuranceRequest::setAssuranceTimes(const std::string& assuranceTimes)
+{
+	assuranceTimes_ = assuranceTimes;
+	setParameter("AssuranceTimes", assuranceTimes);
+}
+
+long CreateElasticityAssuranceRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void CreateElasticityAssuranceRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string CreateElasticityAssuranceRequest::getResourceType()const
+{
+	return resourceType_;
+}
+
+void CreateElasticityAssuranceRequest::setResourceType(const std::string& resourceType)
+{
+	resourceType_ = resourceType;
+	setParameter("ResourceType", resourceType);
+}
+
+int CreateElasticityAssuranceRequest::getInstanceCpuCoreCount()const
+{
+	return instanceCpuCoreCount_;
+}
+
+void CreateElasticityAssuranceRequest::setInstanceCpuCoreCount(int instanceCpuCoreCount)
+{
+	instanceCpuCoreCount_ = instanceCpuCoreCount;
+	setParameter("InstanceCpuCoreCount", std::to_string(instanceCpuCoreCount));
+}
+
+std::string CreateElasticityAssuranceRequest::getPeriodUnit()const
+{
+	return periodUnit_;
+}
+
+void CreateElasticityAssuranceRequest::setPeriodUnit(const std::string& periodUnit)
+{
+	periodUnit_ = periodUnit;
+	setParameter("PeriodUnit", periodUnit);
+}
+
+std::vector<std::string> CreateElasticityAssuranceRequest::getZoneId()const
+{
+	return zoneId_;
+}
+
+void CreateElasticityAssuranceRequest::setZoneId(const std::vector<std::string>& zoneId)
+{
+	zoneId_ = zoneId;
+	for(int dep1 = 0; dep1!= zoneId.size(); dep1++) {
+		setParameter("ZoneId."+ std::to_string(dep1), zoneId.at(dep1));
+	}
+}
+
+std::string CreateElasticityAssuranceRequest::getChargeType()const
+{
+	return chargeType_;
+}
+
+void CreateElasticityAssuranceRequest::setChargeType(const std::string& chargeType)
+{
+	chargeType_ = chargeType;
+	setParameter("ChargeType", chargeType);
+}
+
+std::string CreateElasticityAssuranceRequest::getPackageType()const
+{
+	return packageType_;
+}
+
+void CreateElasticityAssuranceRequest::setPackageType(const std::string& packageType)
+{
+	packageType_ = packageType;
+	setParameter("PackageType", packageType);
+}
+
+int CreateElasticityAssuranceRequest::getInstanceAmount()const
+{
+	return instanceAmount_;
+}
+
+void CreateElasticityAssuranceRequest::setInstanceAmount(int instanceAmount)
+{
+	instanceAmount_ = instanceAmount;
+	setParameter("InstanceAmount", std::to_string(instanceAmount));
+}
+

+ 58 - 0
ecs/src/model/CreateElasticityAssuranceResult.cc

@@ -0,0 +1,58 @@
+/*
+ * 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/ecs/model/CreateElasticityAssuranceResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ecs;
+using namespace AlibabaCloud::Ecs::Model;
+
+CreateElasticityAssuranceResult::CreateElasticityAssuranceResult() :
+	ServiceResult()
+{}
+
+CreateElasticityAssuranceResult::CreateElasticityAssuranceResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreateElasticityAssuranceResult::~CreateElasticityAssuranceResult()
+{}
+
+void CreateElasticityAssuranceResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["PrivatePoolOptionsId"].isNull())
+		privatePoolOptionsId_ = value["PrivatePoolOptionsId"].asString();
+	if(!value["OrderId"].isNull())
+		orderId_ = value["OrderId"].asString();
+
+}
+
+std::string CreateElasticityAssuranceResult::getOrderId()const
+{
+	return orderId_;
+}
+
+std::string CreateElasticityAssuranceResult::getPrivatePoolOptionsId()const
+{
+	return privatePoolOptionsId_;
+}
+

+ 22 - 0
ecs/src/model/CreateInstanceRequest.cc

@@ -115,6 +115,17 @@ void CreateInstanceRequest::setResourceGroupId(const std::string& resourceGroupI
 	setParameter("ResourceGroupId", resourceGroupId);
 }
 
+std::string CreateInstanceRequest::getPrivatePoolOptionsMatchCriteria()const
+{
+	return privatePoolOptionsMatchCriteria_;
+}
+
+void CreateInstanceRequest::setPrivatePoolOptionsMatchCriteria(const std::string& privatePoolOptionsMatchCriteria)
+{
+	privatePoolOptionsMatchCriteria_ = privatePoolOptionsMatchCriteria;
+	setParameter("PrivatePoolOptionsMatchCriteria", privatePoolOptionsMatchCriteria);
+}
+
 std::string CreateInstanceRequest::getHostName()const
 {
 	return hostName_;
@@ -175,6 +186,17 @@ void CreateInstanceRequest::setTag(const std::vector<Tag>& tag)
 	}
 }
 
+std::string CreateInstanceRequest::getPrivatePoolOptionsId()const
+{
+	return privatePoolOptionsId_;
+}
+
+void CreateInstanceRequest::setPrivatePoolOptionsId(const std::string& privatePoolOptionsId)
+{
+	privatePoolOptionsId_ = privatePoolOptionsId;
+	setParameter("PrivatePoolOptionsId", privatePoolOptionsId);
+}
+
 int CreateInstanceRequest::getAutoRenewPeriod()const
 {
 	return autoRenewPeriod_;

+ 11 - 0
ecs/src/model/CreateSecurityGroupRequest.cc

@@ -49,6 +49,17 @@ void CreateSecurityGroupRequest::setClientToken(const std::string& clientToken)
 	setParameter("ClientToken", clientToken);
 }
 
+bool CreateSecurityGroupRequest::getServiceManaged()const
+{
+	return serviceManaged_;
+}
+
+void CreateSecurityGroupRequest::setServiceManaged(bool serviceManaged)
+{
+	serviceManaged_ = serviceManaged;
+	setParameter("ServiceManaged", serviceManaged ? "true" : "false");
+}
+
 std::string CreateSecurityGroupRequest::getDescription()const
 {
 	return description_;

+ 128 - 0
ecs/src/model/DescribeElasticityAssuranceInstancesRequest.cc

@@ -0,0 +1,128 @@
+/*
+ * 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/ecs/model/DescribeElasticityAssuranceInstancesRequest.h>
+
+using AlibabaCloud::Ecs::Model::DescribeElasticityAssuranceInstancesRequest;
+
+DescribeElasticityAssuranceInstancesRequest::DescribeElasticityAssuranceInstancesRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "DescribeElasticityAssuranceInstances")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeElasticityAssuranceInstancesRequest::~DescribeElasticityAssuranceInstancesRequest()
+{}
+
+long DescribeElasticityAssuranceInstancesRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeElasticityAssuranceInstancesRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string DescribeElasticityAssuranceInstancesRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void DescribeElasticityAssuranceInstancesRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+std::string DescribeElasticityAssuranceInstancesRequest::getNextToken()const
+{
+	return nextToken_;
+}
+
+void DescribeElasticityAssuranceInstancesRequest::setNextToken(const std::string& nextToken)
+{
+	nextToken_ = nextToken;
+	setParameter("NextToken", nextToken);
+}
+
+std::string DescribeElasticityAssuranceInstancesRequest::getPrivatePoolOptionsId()const
+{
+	return privatePoolOptionsId_;
+}
+
+void DescribeElasticityAssuranceInstancesRequest::setPrivatePoolOptionsId(const std::string& privatePoolOptionsId)
+{
+	privatePoolOptionsId_ = privatePoolOptionsId;
+	setParameter("PrivatePoolOptionsId", privatePoolOptionsId);
+}
+
+std::string DescribeElasticityAssuranceInstancesRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void DescribeElasticityAssuranceInstancesRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string DescribeElasticityAssuranceInstancesRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void DescribeElasticityAssuranceInstancesRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+long DescribeElasticityAssuranceInstancesRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeElasticityAssuranceInstancesRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+int DescribeElasticityAssuranceInstancesRequest::getMaxResults()const
+{
+	return maxResults_;
+}
+
+void DescribeElasticityAssuranceInstancesRequest::setMaxResults(int maxResults)
+{
+	maxResults_ = maxResults;
+	setParameter("MaxResults", std::to_string(maxResults));
+}
+
+std::string DescribeElasticityAssuranceInstancesRequest::getPackageType()const
+{
+	return packageType_;
+}
+
+void DescribeElasticityAssuranceInstancesRequest::setPackageType(const std::string& packageType)
+{
+	packageType_ = packageType;
+	setParameter("PackageType", packageType);
+}
+

+ 78 - 0
ecs/src/model/DescribeElasticityAssuranceInstancesResult.cc

@@ -0,0 +1,78 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/ecs/model/DescribeElasticityAssuranceInstancesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ecs;
+using namespace AlibabaCloud::Ecs::Model;
+
+DescribeElasticityAssuranceInstancesResult::DescribeElasticityAssuranceInstancesResult() :
+	ServiceResult()
+{}
+
+DescribeElasticityAssuranceInstancesResult::DescribeElasticityAssuranceInstancesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeElasticityAssuranceInstancesResult::~DescribeElasticityAssuranceInstancesResult()
+{}
+
+void DescribeElasticityAssuranceInstancesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allElasticityAssuranceItemNode = value["ElasticityAssuranceItem"]["InstanceIdSet"];
+	for (auto valueElasticityAssuranceItemInstanceIdSet : allElasticityAssuranceItemNode)
+	{
+		InstanceIdSet elasticityAssuranceItemObject;
+		if(!valueElasticityAssuranceItemInstanceIdSet["InstanceId"].isNull())
+			elasticityAssuranceItemObject.instanceId = valueElasticityAssuranceItemInstanceIdSet["InstanceId"].asString();
+		elasticityAssuranceItem_.push_back(elasticityAssuranceItemObject);
+	}
+	if(!value["NextToken"].isNull())
+		nextToken_ = value["NextToken"].asString();
+	if(!value["MaxResults"].isNull())
+		maxResults_ = std::stoi(value["MaxResults"].asString());
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+
+}
+
+int DescribeElasticityAssuranceInstancesResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+std::string DescribeElasticityAssuranceInstancesResult::getNextToken()const
+{
+	return nextToken_;
+}
+
+int DescribeElasticityAssuranceInstancesResult::getMaxResults()const
+{
+	return maxResults_;
+}
+
+std::vector<DescribeElasticityAssuranceInstancesResult::InstanceIdSet> DescribeElasticityAssuranceInstancesResult::getElasticityAssuranceItem()const
+{
+	return elasticityAssuranceItem_;
+}
+

+ 128 - 0
ecs/src/model/DescribeElasticityAssurancesRequest.cc

@@ -0,0 +1,128 @@
+/*
+ * 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/ecs/model/DescribeElasticityAssurancesRequest.h>
+
+using AlibabaCloud::Ecs::Model::DescribeElasticityAssurancesRequest;
+
+DescribeElasticityAssurancesRequest::DescribeElasticityAssurancesRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "DescribeElasticityAssurances")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeElasticityAssurancesRequest::~DescribeElasticityAssurancesRequest()
+{}
+
+long DescribeElasticityAssurancesRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeElasticityAssurancesRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string DescribeElasticityAssurancesRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void DescribeElasticityAssurancesRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+std::string DescribeElasticityAssurancesRequest::getNextToken()const
+{
+	return nextToken_;
+}
+
+void DescribeElasticityAssurancesRequest::setNextToken(const std::string& nextToken)
+{
+	nextToken_ = nextToken;
+	setParameter("NextToken", nextToken);
+}
+
+std::string DescribeElasticityAssurancesRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void DescribeElasticityAssurancesRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string DescribeElasticityAssurancesRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void DescribeElasticityAssurancesRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+long DescribeElasticityAssurancesRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeElasticityAssurancesRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeElasticityAssurancesRequest::getPrivatePoolOptionsIds()const
+{
+	return privatePoolOptionsIds_;
+}
+
+void DescribeElasticityAssurancesRequest::setPrivatePoolOptionsIds(const std::string& privatePoolOptionsIds)
+{
+	privatePoolOptionsIds_ = privatePoolOptionsIds;
+	setParameter("PrivatePoolOptionsIds", privatePoolOptionsIds);
+}
+
+int DescribeElasticityAssurancesRequest::getMaxResults()const
+{
+	return maxResults_;
+}
+
+void DescribeElasticityAssurancesRequest::setMaxResults(int maxResults)
+{
+	maxResults_ = maxResults;
+	setParameter("MaxResults", std::to_string(maxResults));
+}
+
+std::string DescribeElasticityAssurancesRequest::getPackageType()const
+{
+	return packageType_;
+}
+
+void DescribeElasticityAssurancesRequest::setPackageType(const std::string& packageType)
+{
+	packageType_ = packageType;
+	setParameter("PackageType", packageType);
+}
+

+ 112 - 0
ecs/src/model/DescribeElasticityAssurancesResult.cc

@@ -0,0 +1,112 @@
+/*
+ * 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/ecs/model/DescribeElasticityAssurancesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ecs;
+using namespace AlibabaCloud::Ecs::Model;
+
+DescribeElasticityAssurancesResult::DescribeElasticityAssurancesResult() :
+	ServiceResult()
+{}
+
+DescribeElasticityAssurancesResult::DescribeElasticityAssurancesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeElasticityAssurancesResult::~DescribeElasticityAssurancesResult()
+{}
+
+void DescribeElasticityAssurancesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allElasticityAssuranceSetNode = value["ElasticityAssuranceSet"]["ElasticityAssuranceItem"];
+	for (auto valueElasticityAssuranceSetElasticityAssuranceItem : allElasticityAssuranceSetNode)
+	{
+		ElasticityAssuranceItem elasticityAssuranceSetObject;
+		if(!valueElasticityAssuranceSetElasticityAssuranceItem["PrivatePoolOptionsId"].isNull())
+			elasticityAssuranceSetObject.privatePoolOptionsId = valueElasticityAssuranceSetElasticityAssuranceItem["PrivatePoolOptionsId"].asString();
+		if(!valueElasticityAssuranceSetElasticityAssuranceItem["PrivatePoolOptionsName"].isNull())
+			elasticityAssuranceSetObject.privatePoolOptionsName = valueElasticityAssuranceSetElasticityAssuranceItem["PrivatePoolOptionsName"].asString();
+		if(!valueElasticityAssuranceSetElasticityAssuranceItem["Description"].isNull())
+			elasticityAssuranceSetObject.description = valueElasticityAssuranceSetElasticityAssuranceItem["Description"].asString();
+		if(!valueElasticityAssuranceSetElasticityAssuranceItem["RegionId"].isNull())
+			elasticityAssuranceSetObject.regionId = valueElasticityAssuranceSetElasticityAssuranceItem["RegionId"].asString();
+		if(!valueElasticityAssuranceSetElasticityAssuranceItem["PrivatePoolOptionsMatchCriteria"].isNull())
+			elasticityAssuranceSetObject.privatePoolOptionsMatchCriteria = valueElasticityAssuranceSetElasticityAssuranceItem["PrivatePoolOptionsMatchCriteria"].asString();
+		if(!valueElasticityAssuranceSetElasticityAssuranceItem["UsedAssuranceTimes"].isNull())
+			elasticityAssuranceSetObject.usedAssuranceTimes = std::stoi(valueElasticityAssuranceSetElasticityAssuranceItem["UsedAssuranceTimes"].asString());
+		if(!valueElasticityAssuranceSetElasticityAssuranceItem["TotalAssuranceTimes"].isNull())
+			elasticityAssuranceSetObject.totalAssuranceTimes = valueElasticityAssuranceSetElasticityAssuranceItem["TotalAssuranceTimes"].asString();
+		if(!valueElasticityAssuranceSetElasticityAssuranceItem["Status"].isNull())
+			elasticityAssuranceSetObject.status = valueElasticityAssuranceSetElasticityAssuranceItem["Status"].asString();
+		if(!valueElasticityAssuranceSetElasticityAssuranceItem["StartTime"].isNull())
+			elasticityAssuranceSetObject.startTime = valueElasticityAssuranceSetElasticityAssuranceItem["StartTime"].asString();
+		if(!valueElasticityAssuranceSetElasticityAssuranceItem["EndTime"].isNull())
+			elasticityAssuranceSetObject.endTime = valueElasticityAssuranceSetElasticityAssuranceItem["EndTime"].asString();
+		if(!valueElasticityAssuranceSetElasticityAssuranceItem["LatestStartTime"].isNull())
+			elasticityAssuranceSetObject.latestStartTime = valueElasticityAssuranceSetElasticityAssuranceItem["LatestStartTime"].asString();
+		auto allAllocatedResourcesNode = allElasticityAssuranceSetNode["AllocatedResources"]["AllocatedResource"];
+		for (auto allElasticityAssuranceSetNodeAllocatedResourcesAllocatedResource : allAllocatedResourcesNode)
+		{
+			ElasticityAssuranceItem::AllocatedResource allocatedResourcesObject;
+			if(!allElasticityAssuranceSetNodeAllocatedResourcesAllocatedResource["zoneId"].isNull())
+				allocatedResourcesObject.zoneId = allElasticityAssuranceSetNodeAllocatedResourcesAllocatedResource["zoneId"].asString();
+			if(!allElasticityAssuranceSetNodeAllocatedResourcesAllocatedResource["InstanceType"].isNull())
+				allocatedResourcesObject.instanceType = allElasticityAssuranceSetNodeAllocatedResourcesAllocatedResource["InstanceType"].asString();
+			if(!allElasticityAssuranceSetNodeAllocatedResourcesAllocatedResource["TotalAmount"].isNull())
+				allocatedResourcesObject.totalAmount = std::stoi(allElasticityAssuranceSetNodeAllocatedResourcesAllocatedResource["TotalAmount"].asString());
+			if(!allElasticityAssuranceSetNodeAllocatedResourcesAllocatedResource["UsedAmount"].isNull())
+				allocatedResourcesObject.usedAmount = std::stoi(allElasticityAssuranceSetNodeAllocatedResourcesAllocatedResource["UsedAmount"].asString());
+			elasticityAssuranceSetObject.allocatedResources.push_back(allocatedResourcesObject);
+		}
+		elasticityAssuranceSet_.push_back(elasticityAssuranceSetObject);
+	}
+	if(!value["NextToken"].isNull())
+		nextToken_ = value["NextToken"].asString();
+	if(!value["MaxResults"].isNull())
+		maxResults_ = std::stoi(value["MaxResults"].asString());
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+
+}
+
+std::vector<DescribeElasticityAssurancesResult::ElasticityAssuranceItem> DescribeElasticityAssurancesResult::getElasticityAssuranceSet()const
+{
+	return elasticityAssuranceSet_;
+}
+
+int DescribeElasticityAssurancesResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+std::string DescribeElasticityAssurancesResult::getNextToken()const
+{
+	return nextToken_;
+}
+
+int DescribeElasticityAssurancesResult::getMaxResults()const
+{
+	return maxResults_;
+}
+

+ 117 - 0
ecs/src/model/DescribeInstanceAttachmentAttributesRequest.cc

@@ -0,0 +1,117 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/ecs/model/DescribeInstanceAttachmentAttributesRequest.h>
+
+using AlibabaCloud::Ecs::Model::DescribeInstanceAttachmentAttributesRequest;
+
+DescribeInstanceAttachmentAttributesRequest::DescribeInstanceAttachmentAttributesRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "DescribeInstanceAttachmentAttributes")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeInstanceAttachmentAttributesRequest::~DescribeInstanceAttachmentAttributesRequest()
+{}
+
+long DescribeInstanceAttachmentAttributesRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeInstanceAttachmentAttributesRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+int DescribeInstanceAttachmentAttributesRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void DescribeInstanceAttachmentAttributesRequest::setPageNumber(int pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setParameter("PageNumber", std::to_string(pageNumber));
+}
+
+std::string DescribeInstanceAttachmentAttributesRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void DescribeInstanceAttachmentAttributesRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+int DescribeInstanceAttachmentAttributesRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribeInstanceAttachmentAttributesRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string DescribeInstanceAttachmentAttributesRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void DescribeInstanceAttachmentAttributesRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string DescribeInstanceAttachmentAttributesRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void DescribeInstanceAttachmentAttributesRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+long DescribeInstanceAttachmentAttributesRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeInstanceAttachmentAttributesRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeInstanceAttachmentAttributesRequest::getInstanceIds()const
+{
+	return instanceIds_;
+}
+
+void DescribeInstanceAttachmentAttributesRequest::setInstanceIds(const std::string& instanceIds)
+{
+	instanceIds_ = instanceIds;
+	setParameter("InstanceIds", instanceIds);
+}
+

+ 82 - 0
ecs/src/model/DescribeInstanceAttachmentAttributesResult.cc

@@ -0,0 +1,82 @@
+/*
+ * 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/ecs/model/DescribeInstanceAttachmentAttributesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Ecs;
+using namespace AlibabaCloud::Ecs::Model;
+
+DescribeInstanceAttachmentAttributesResult::DescribeInstanceAttachmentAttributesResult() :
+	ServiceResult()
+{}
+
+DescribeInstanceAttachmentAttributesResult::DescribeInstanceAttachmentAttributesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeInstanceAttachmentAttributesResult::~DescribeInstanceAttachmentAttributesResult()
+{}
+
+void DescribeInstanceAttachmentAttributesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allInstancesNode = value["Instances"]["Instance"];
+	for (auto valueInstancesInstance : allInstancesNode)
+	{
+		Instance instancesObject;
+		if(!valueInstancesInstance["InstanceId"].isNull())
+			instancesObject.instanceId = valueInstancesInstance["InstanceId"].asString();
+		if(!valueInstancesInstance["PrivatePoolOptionsId"].isNull())
+			instancesObject.privatePoolOptionsId = valueInstancesInstance["PrivatePoolOptionsId"].asString();
+		if(!valueInstancesInstance["PrivatePoolOptionsMatchCriteria"].isNull())
+			instancesObject.privatePoolOptionsMatchCriteria = valueInstancesInstance["PrivatePoolOptionsMatchCriteria"].asString();
+		instances_.push_back(instancesObject);
+	}
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stoi(value["PageNumber"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
+
+}
+
+std::vector<DescribeInstanceAttachmentAttributesResult::Instance> DescribeInstanceAttachmentAttributesResult::getInstances()const
+{
+	return instances_;
+}
+
+int DescribeInstanceAttachmentAttributesResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int DescribeInstanceAttachmentAttributesResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int DescribeInstanceAttachmentAttributesResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+

+ 13 - 0
ecs/src/model/DescribeInstanceTypesRequest.cc

@@ -38,6 +38,19 @@ void DescribeInstanceTypesRequest::setResourceOwnerId(long resourceOwnerId)
 	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
 }
 
+std::vector<std::string> DescribeInstanceTypesRequest::getInstanceTypes()const
+{
+	return instanceTypes_;
+}
+
+void DescribeInstanceTypesRequest::setInstanceTypes(const std::vector<std::string>& instanceTypes)
+{
+	instanceTypes_ = instanceTypes;
+	for(int dep1 = 0; dep1!= instanceTypes.size(); dep1++) {
+		setParameter("InstanceTypes."+ std::to_string(dep1), instanceTypes.at(dep1));
+	}
+}
+
 std::string DescribeInstanceTypesRequest::getResourceOwnerAccount()const
 {
 	return resourceOwnerAccount_;

+ 35 - 0
ecs/src/model/DescribePriceRequest.cc

@@ -104,6 +104,17 @@ void DescribePriceRequest::setDataDisk1PerformanceLevel(const std::string& dataD
 	setParameter("DataDisk1PerformanceLevel", dataDisk1PerformanceLevel);
 }
 
+std::string DescribePriceRequest::getAssuranceTimes()const
+{
+	return assuranceTimes_;
+}
+
+void DescribePriceRequest::setAssuranceTimes(const std::string& assuranceTimes)
+{
+	assuranceTimes_ = assuranceTimes;
+	setParameter("AssuranceTimes", assuranceTimes);
+}
+
 long DescribePriceRequest::getOwnerId()const
 {
 	return ownerId_;
@@ -115,6 +126,17 @@ void DescribePriceRequest::setOwnerId(long ownerId)
 	setParameter("OwnerId", std::to_string(ownerId));
 }
 
+int DescribePriceRequest::getInstanceCpuCoreCount()const
+{
+	return instanceCpuCoreCount_;
+}
+
+void DescribePriceRequest::setInstanceCpuCoreCount(int instanceCpuCoreCount)
+{
+	instanceCpuCoreCount_ = instanceCpuCoreCount;
+	setParameter("InstanceCpuCoreCount", std::to_string(instanceCpuCoreCount));
+}
+
 std::string DescribePriceRequest::getInternetChargeType()const
 {
 	return internetChargeType_;
@@ -148,6 +170,19 @@ void DescribePriceRequest::setInstanceAmount(int instanceAmount)
 	setParameter("InstanceAmount", std::to_string(instanceAmount));
 }
 
+std::vector<std::string> DescribePriceRequest::getInstanceTypeList()const
+{
+	return instanceTypeList_;
+}
+
+void DescribePriceRequest::setInstanceTypeList(const std::vector<std::string>& instanceTypeList)
+{
+	instanceTypeList_ = instanceTypeList;
+	for(int dep1 = 0; dep1!= instanceTypeList.size(); dep1++) {
+		setParameter("InstanceTypeList."+ std::to_string(dep1), instanceTypeList.at(dep1));
+	}
+}
+
 std::string DescribePriceRequest::getDataDisk3PerformanceLevel()const
 {
 	return dataDisk3PerformanceLevel_;

+ 117 - 0
ecs/src/model/ModifyInstanceAttachmentAttributesRequest.cc

@@ -0,0 +1,117 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/ecs/model/ModifyInstanceAttachmentAttributesRequest.h>
+
+using AlibabaCloud::Ecs::Model::ModifyInstanceAttachmentAttributesRequest;
+
+ModifyInstanceAttachmentAttributesRequest::ModifyInstanceAttachmentAttributesRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "ModifyInstanceAttachmentAttributes")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ModifyInstanceAttachmentAttributesRequest::~ModifyInstanceAttachmentAttributesRequest()
+{}
+
+long ModifyInstanceAttachmentAttributesRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void ModifyInstanceAttachmentAttributesRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string ModifyInstanceAttachmentAttributesRequest::getPrivatePoolOptionsMatchCriteria()const
+{
+	return privatePoolOptionsMatchCriteria_;
+}
+
+void ModifyInstanceAttachmentAttributesRequest::setPrivatePoolOptionsMatchCriteria(const std::string& privatePoolOptionsMatchCriteria)
+{
+	privatePoolOptionsMatchCriteria_ = privatePoolOptionsMatchCriteria;
+	setParameter("PrivatePoolOptionsMatchCriteria", privatePoolOptionsMatchCriteria);
+}
+
+std::string ModifyInstanceAttachmentAttributesRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void ModifyInstanceAttachmentAttributesRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+std::string ModifyInstanceAttachmentAttributesRequest::getPrivatePoolOptionsId()const
+{
+	return privatePoolOptionsId_;
+}
+
+void ModifyInstanceAttachmentAttributesRequest::setPrivatePoolOptionsId(const std::string& privatePoolOptionsId)
+{
+	privatePoolOptionsId_ = privatePoolOptionsId;
+	setParameter("PrivatePoolOptionsId", privatePoolOptionsId);
+}
+
+std::string ModifyInstanceAttachmentAttributesRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void ModifyInstanceAttachmentAttributesRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string ModifyInstanceAttachmentAttributesRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void ModifyInstanceAttachmentAttributesRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+long ModifyInstanceAttachmentAttributesRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void ModifyInstanceAttachmentAttributesRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string ModifyInstanceAttachmentAttributesRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void ModifyInstanceAttachmentAttributesRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+

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

+ 22 - 0
ecs/src/model/RunInstancesRequest.cc

@@ -82,6 +82,17 @@ void RunInstancesRequest::setResourceGroupId(const std::string& resourceGroupId)
 	setParameter("ResourceGroupId", resourceGroupId);
 }
 
+std::string RunInstancesRequest::getPrivatePoolOptionsMatchCriteria()const
+{
+	return privatePoolOptionsMatchCriteria_;
+}
+
+void RunInstancesRequest::setPrivatePoolOptionsMatchCriteria(const std::string& privatePoolOptionsMatchCriteria)
+{
+	privatePoolOptionsMatchCriteria_ = privatePoolOptionsMatchCriteria;
+	setParameter("PrivatePoolOptionsMatchCriteria", privatePoolOptionsMatchCriteria);
+}
+
 std::string RunInstancesRequest::getHostName()const
 {
 	return hostName_;
@@ -557,6 +568,17 @@ void RunInstancesRequest::setTag(const std::vector<Tag>& tag)
 	}
 }
 
+std::string RunInstancesRequest::getPrivatePoolOptionsId()const
+{
+	return privatePoolOptionsId_;
+}
+
+void RunInstancesRequest::setPrivatePoolOptionsId(const std::string& privatePoolOptionsId)
+{
+	privatePoolOptionsId_ = privatePoolOptionsId;
+	setParameter("PrivatePoolOptionsId", privatePoolOptionsId);
+}
+
 int RunInstancesRequest::getAutoRenewPeriod()const
 {
 	return autoRenewPeriod_;

+ 95 - 0
ecs/src/model/StartElasticityAssuranceRequest.cc

@@ -0,0 +1,95 @@
+/*
+ * 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/ecs/model/StartElasticityAssuranceRequest.h>
+
+using AlibabaCloud::Ecs::Model::StartElasticityAssuranceRequest;
+
+StartElasticityAssuranceRequest::StartElasticityAssuranceRequest() :
+	RpcServiceRequest("ecs", "2014-05-26", "StartElasticityAssurance")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+StartElasticityAssuranceRequest::~StartElasticityAssuranceRequest()
+{}
+
+long StartElasticityAssuranceRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void StartElasticityAssuranceRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string StartElasticityAssuranceRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void StartElasticityAssuranceRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+std::string StartElasticityAssuranceRequest::getPrivatePoolOptionsId()const
+{
+	return privatePoolOptionsId_;
+}
+
+void StartElasticityAssuranceRequest::setPrivatePoolOptionsId(const std::string& privatePoolOptionsId)
+{
+	privatePoolOptionsId_ = privatePoolOptionsId;
+	setParameter("PrivatePoolOptionsId", privatePoolOptionsId);
+}
+
+std::string StartElasticityAssuranceRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void StartElasticityAssuranceRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string StartElasticityAssuranceRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void StartElasticityAssuranceRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+long StartElasticityAssuranceRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void StartElasticityAssuranceRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+

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